如何使用Arduino和Arduino控制步进电机

概述
步进电机介于常规直流电机和伺服电机之间。它们的优点是可以精确定位,一次可以向前或向后移动一个“步”,但是它们也可以连续旋转。
在本课程中,您将学习如何使用arduino和arduino控制步进电机。与第15课中的直流电动机一起使用的相同的l293d电动机控制芯片。
零件
要构建本课中描述的项目,您将需要以下零件。
零件 数量
5v步进电机 1
l293d ic
1
半尺寸面包板
1
arduino uno r3
1
跳线束
1
电路板布局
步进电机有五根引线,这次我们将使用l293d的两半。这意味着面包板上有很多连接。
电动机的末端有一个5路插座。
i》
请注意,步进电机的红色导线未连接任何东西。
arduino代码
下面的草图使用串行监视器,在草图安装并运行后,打开串行监视器并输入许多“步骤”。尝试将其设置为大约500,这将导致电动机旋转大约360度。输入-500,它将向反方向返回。
stepper库是包含在较新的arduino ide发行版中-您可能需要升级。
下载:文件
复制代码
/*
adafruit arduino - lesson 16. stepper
*/
#include
int in1pin = 12;
int in2pin = 11;
int in3pin = 10;
int in4pin = 9;
stepper motor(512, in1pin, in2pin, in3pin, in4pin);
void setup()
{
pinmode(in1pin, output);
pinmode(in2pin, output);
pinmode(in3pin, output);
pinmode(in4pin, output);
// this line is for leonardo‘s, it delays the serial interface
// until the terminal window is opened
while (!serial);
serial.begin(9600);
motor.setspeed(20);
}
void loop()
{
if (serial.available())
{
int steps = serial.parseint();
motor.step(steps);
}
} /*
adafruit arduino - lesson 16. stepper
*/
#include
int in1pin = 12;
int in2pin = 11;
int in3pin = 10;
int in4pin = 9;
stepper motor(512, in1pin, in2pin, in3pin, in4pin);
void setup()
{
pinmode(in1pin, output);
pinmode(in2pin, output);
pinmode(in3pin, output);
pinmode(in4pin, output);
// this line is for leonardo’s, it delays the serial interface
// until the terminal window is opened
while (!serial);
serial.begin(9600);
motor.setspeed(20);
}
void loop()
{
if (serial.available())
{
int steps = serial.parseint();
motor.step(steps);
}
}
正如您所期望的,有一个支持步进电机的arduino库。
在包括“ stepper”库之后,定义了四个控制引脚“ in1”至“ in4”。
告诉arduinostepper哪些引脚连接到电机控制器的库,使用以下命令:
下载:文件
复制代码
stepper motor(768, in1pin, in2pin, in3pin, in4pin); stepper motor(768, in1pin, in2pin, in3pin, in4pin);
第一个参数是电机完成一次公转所需要的“步数”。电机可以一次移动一步,以进行非常精确的定位。
然后开始串行通信,以便arduino准备从串行监视器接收命令。
最后, followingcommand设置我们希望步进电动机移动的速度,随后我们告诉它旋转多少步。
下载:文件
复制代码
motor.setspeed(10); motor.setspeed(10);
“循环”功能非常简单。它等待来自serialmonitor的命令输入,然后使用‘parseint’将发送的数字文本转换为int。然后,它指示电动机旋转该步数。
步进电机
步进电机使用带齿的轮和电磁体一次将轮微调为“步进”。
通过以正确的顺序给线圈通电,电动机被驱赶。步进电机在360度旋转中的步数实际上就是齿轮上的齿数。
我们正在使用的电机具有48步,但是该电机还集成了一个减速齿轮箱:1: 16表示它需要16 x 48 = 768步。
在本课程中,我们不使用公共redconnection。仅在使用不同类型的驱动电路时才提供此连接,该驱动电路不允许每个线圈中的电流反向。每个线圈都有一个中心连接,这意味着您可以为线圈的左侧或右侧通电,并获得反向电流的效果,而无需使用可以反向电流的电路。
如果使用l293d具有非常好的反向电流,则不需要这种公共连接,我们可以向每个线圈的整个方向提供电流。
其他要做的事情
尝试更改设置步进电动机速度的命令:
下载:文件
复制代码
motor.setspeed(20); motor.setspeed(20);
到较低的值(例如5)上传草图,并注意步进器旋转得更慢。
现在尝试通过将速度提高到20以上来找到步进器的最大速度。在确定一点之后,您会发现电机完全不动。这是因为它跟不上要求它步进的脉冲流。
尝试断开步进器的橙色和粉红色引线。它仍然应该转动,但是您会注意到它较弱,因为它没有两个线圈都在推动电机运转。


美国运营商称已完成覆盖全国的5G网络
单片机中晶振的工作原理是什么?
西门子贴片机操作时的相关注意事项都有哪些
适用于智能汽车并发实时仿真的高效率传感器功能模型
shijidianli电缆绝缘电阻多少合格
如何使用Arduino和Arduino控制步进电机
云测试自动化中的Python
浅析二分法查找在实际电路中的应用
学生最需要的一款数码产品,性价比蓝牙耳机!
GD32VF103:采用RISC-V内核设计的MCU
OPPOK5高清图集
市电220V说的是峰峰值还是有效值呢
今日新闻:小米Play自带流量 荣耀V20即将发布
可测毫安级别的小电流探头都有哪些?
中华映管现已采用涂覆iXsenic金属氧化物的半导体涂层
DDR、DDR2、DDR3、DDR4、LPDDR的区别
戴尔PCIe 5.0来了,企业用户需要知道什么?
发布《5G核心技术开源开放白皮书》
红外热成像技术由于疫情有什么改变的
Firefox添加了价格明智的测试试验实验