欢迎来到天天文库
浏览记录
ID:49974276
大小:767.84 KB
页数:8页
时间:2020-03-03
《Arduino 教程 第四十一课 Arduino 直流电机.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第四十一课Arduino直流电机在本章中,我们将使用Arduino板(UNO)连接不同类型的电机,并向你展示如何连接电机并从电路板上驱动它。有三种不同类型的电机:·DCmotor 直流电机·Servomotor 伺服电机·Steppermotor 步进电机直流电机(DC—Direct Current motor)是最常见的电机类型。直流电动机通常只有两个引线,一个正极和一个负极。如果将这两根引线直接连接到电池,电机将旋转。如果切换引线,电机将以相反的方向旋转。警告 -不要直接从Arduino板引脚驱动电机。这可能会损坏电
2、路板。使用驱动电路或IC。我们将本章分为三个部分:·只让你的电机旋转·控制电机速度·控制直流电机的旋转方向必需的组件你将需要以下组件:·1xArduinoUNO板·1xPN2222晶体管·1x小型6V直流电机·1x1N4001二极管·1x270Ω电阻程序按照电路图进行连接,如下图所示。预防措施进行连接时,请采取以下预防措施:·首先,确保晶体管以正确的方式连接。如图所示,晶体管的扁平面应该面向Arduino板。·其次,根据图像中所示的排列,二极管的条纹端应朝向+5V电源线。Arduino旋转控制代码intmotorPin=
3、3;voidsetup(){}voidloop(){digitalWrite(motorPin,HIGH);}代码说明晶体管就像一个开关,控制电机的功率。Arduino引脚3用于打开和关闭晶体管,并在草图中命名为“motorPin”。结果当Arduino引脚3变为高电平时,电机将全速旋转。电机速度控制以下是连接到Arduino板的直流电机的原理图。Arduino代码intmotorPin=9;voidsetup(){pinMode(motorPin,OUTPUT);Serial.begin(9600);while(!Se
4、rial);Serial.println("Speed0to255");}voidloop(){if(Serial.available()){intspeed=Serial.parseInt();if(speed>=0&&speed<=255){analogWrite(motorPin,speed);}}}代码说明晶体管就像一个开关,控制电机的功率。Arduino引脚3用于打开和关闭晶体管,并在草图中命名为“motorPin”。当程序启动时,它会提示你提供值以控制电机的速度。你需要在串口监视器中输入介于0和255之间的值
5、。在“loop”函数中,命令“Serial.parseInt”用于读取在串口监视器中作为文本输入的数字,并将其转换为“int”。你可以在此处输入任何数字。如果数字在0到255之间,下一行中的“if”语句只使用此数字进行模拟写入。结果直流电机将根据通过串口接收的值(0到250)以不同的速度旋转。旋转方向控制为了控制直流电机的旋转方向,无需互换引线,可以使用称为H桥的电路。H桥是可以双向驱动电机的电子电路。H桥用于许多不同的应用中。最常见的应用之一是控制机器人中的电机。它被称为H桥,是因为它使用四个晶体管连接,使示意图看起来
6、像一个“H”。我们将在这里使用L298H桥IC。L298可以控制直流电机和步进电机的速度和方向,并可以同时控制两个电机。每个电机的额定电流为2A。然而,在这些电流下,你将需要使用散热片。必需的组件你将需要以下组件:·1× L298桥式IC·1×直流电机·1×ArduinoUNO·1×面包板·10×跳线程序以下是ArduinoUno板的直流电机接口示意图。上图显示了如何连接L298IC控制两个电机。每个电机有三个输入引脚,Motor1的Input1(IN1),Input2(IN2)和Enable1(EN1);Motor2的
7、Input3,Input4和Enable2。由于在这个例子中我们只控制一个电机,因此我们将把Arduino连接到L298IC的IN1(引脚5),IN2(引脚7)和Enable1(引脚6)。引脚5和7是数字的,即ON或OFF输入,而引脚6需要脉冲宽度调制(PWM)信号来控制电机速度。下表显示了电机根据IN1和IN2的数字值转动的方向。IN1IN2电机行为 制动1 向前 1向后11制动ICL298的引脚IN1连接到Arduino的引脚8,而IN2连接到引脚9。Arduino的这两个数字引脚控制电机的方向。IC的ENA引脚连
8、接到Arduino的PWM引脚2。这将控制电机的速度。为了设置Arduino引脚8和9的值,我们使用了digitalWrite()函数,而设置引脚2的值,我们必须使用analogWrite()函数。连接步骤·将IC的5V和接地分别连接到Arduino的5V和接地。·将电机连接到IC的引脚2和3。·将IC的IN1连接到
此文档下载收益归作者所有