Arduino 教程--第四十一课 Arduino 直流电机

(8页)

'Arduino 教程--第四十一课 Arduino 直流电机'
第四十一课 Arduino 直流电机在本章中,我们将使用Arduino板(UNO)连接不同类型的电机,并向你展示如何连接电机并从电路板上驱动它。有三种不同类型的电机:· DC motor 直流电机· Servo motor 伺服电机· Stepper motor 步进电机直流电机(DC—Direct Current motor)是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。警告 - 不要直接从Arduino板引脚驱动电机。这可能会损坏电路板。使用驱动电路或IC。我们将本章分为三个部分:· 只让你的电机旋转· 控制电机速度· 控制直流电机的旋转方向必需的组件你将需要以下组件:· 1x Arduino UNO 板· 1x PN2222 晶体管· 1x 小型6V直流电机· 1x 1N4001二极管· 1x 270Ω电阻程序按照电路图进行连接,如下图所示。预防措施进行连接时,请采取以下预防措施:· 首先,确保晶体管以正确的方式连接。如图所示,晶体管的扁平面应该面向Arduino板! 其次,根据图像中所示的排列,二极管的条纹端应朝向+5V电源线。Arduino旋转控制代码int motorPin = 3;void setup() {}void loop() { digitalWrite(motorPin, HIGH);}代码说明晶体管就像一个开关,控制电机的功率。Arduino引脚3用于打开和关闭晶体管,并在草图中命名为“motorPin”。结果当Arduino引脚3变为高电平时,电机将全速旋转。电机速度控制以下是连接到Arduino板的直流电机的原理图。Arduino代码int motorPin = 9;void setup() { pinMode(motorPin, OUTPUT); Serial.begin(9600); while (! Serial); Serial.println("Speed 0 to 255");}void loop() { if (Serial.available()) { int speed = Serial.parseInt(); if (speed >= 0 && speed <= 255) { analogWrite(motorPin, speed); } }}代码说明晶体管就像一个开关,控制电机的功率。Arduino引脚3用于打开和关闭晶体管,并在草图中命名为“motorPin”。当程序启动时,它会提示你提供值以控制电机的速度。你需要在串口监视器中输入介于0和255之间的值。在“loop”函数中,命令“Serial.parseInt”用于读取在串口监视器中作为文本输入的数字,并将其转换为“int”。你可以在此处输入任何数字。如果数字在0到255之间,下一行中的“if”语句只使用此数字进行模拟写入。结果直流电机将根据通过串口接收的值(0到250)以不同的速度旋转。旋转方向控制为了控制直流电机的旋转方向,无需互换引线,可以使用称为H桥的电路。H桥是可以双向驱动电机的电子电路。H桥用于许多不同的应用中。最常见的应用之一是控制机器人中的电机。它被称为H桥,是因为它使用四个晶体管连接,使示意图看起来像一个“H”。我们将在这里使用L298 H桥 IC。L298可以控制直流电机和步进电机的速度和方向,并可以同时控制两个电机。每个电机的额定电流为2A。然而,在这些电流下,你将需要使用散热片。必需的组件你将需要以下组件:· 1 × L298桥式IC· 1 × 直流电机· 1 × Arduino UNO· 1 × 面包板· 10 × 跳线程序以下是Arduino Uno板的直流电机接口示意图。上图显示了如何连接L298 IC控制两个电机。每个电机有三个输入引脚,Motor1的Input1(IN1),Input2(IN2)和Enable1(EN1);Motor2的Input3,Input4和Enable2。由于在这个例子中我们只控制一个电机,因此我们将把Arduino连接到L298 IC的IN1(引脚5),IN2(引脚7)和Enable1(引脚6)。引脚5和7是数字的,即ON或OFF输入,而引脚6需要脉冲宽度调制(PWM)信号来控制电机速度。下表显示了电机根据IN1和IN2的数字值转动的方向。IN1IN2电机行为  制动1 向前 1向后11制动IC L298的引脚IN1连接到Arduino的引脚8,而IN2连接到引脚9。Arduino的这两个数字引脚控制电机的方向。IC的EN A引脚连接到Arduino的PWM引脚2。这将控制电机的速度。为了设置Arduino引脚8和9的值,我们使用了digitalWrite()函数,而设置引脚2的值,我们必须使用analogWrite()函数。连接步骤· 将IC的5V和接地分别连接到Arduino的5V和接地! 将电机连接到IC的引脚2和3! 将IC的IN1连接到Arduino的引脚8! 将IC的IN2连接到Arduino的引脚9! 将IC的EN1连接到Arduino的引脚2! 将ICD的SENS A引脚接地! 使用Arduino USB线连接Arduino,并使用Arduino IDE软件将程序上传到Arduino! 使用电源,电池或USB线为Arduino板供电。Arduino代码const int pwm = 2 ; //initializing pin 2 as pwmconst int in_1 = 8 ;const int in_2 = 9 ;//For providing logic to L298 IC to choose the direction of the DC motorvoid setup() { pinMode(pwm,OUTPUT) ; //we have to set PWM pin as output pinMode(in_1,OUTPUT) ; //Logic pins are also set as output pinMode(in_2,OUTPUT) ;}void loop() { //For Clock wise motion , in_1 = High , in_2 = Low digitalWrite(in_1,HIGH) ; digitalWrite(in_2,LOW) ;
关 键 词:
Arduino教程--第四十一课Arduino直流电机
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Arduino 教程--第四十一课 Arduino 直流电机
链接地址: //www.wenku365.com/p-43737982.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开