
摘要
步进电机介于传统的DC电机和伺服电机之间。它们的优点是可以精确定位,可以一次向前或向后移动一步,但也可以连续旋转。
在本课程中,您将学习如何使用Arduino和Arduino来控制步进电机。与第15课中DC电机使用的L293D电机控制芯片相同。
成分
要构建本课中描述的项目,您将需要以下部分。
零件数量
5V步进电机1
L293D集成电路
一个
半尺寸面包板
一个
Arduino Uno R3
一个
跳线束
一个
电路板布局
步进电机有五条引线,这次我们用L293D的两半。这意味着面包板上有许多连接。
电机末端有一个5通插座。
我》
请注意,步进电机的红色引线没有连接到任何东西。
Arduino代码
下图使用了一个串行监视器。安装并运行草图后,打开串行监视器并输入many 步骤。尝试将其设置为大约500,这将导致电机旋转大约360度。输入-500,它会反方向返回。
Stepper库包含在较新的Arduino IDE发行版中-您可能需要升级。
下载:文件
复制代码
#包括
int in1Pin=12
int in2Pin=11
int in3Pin=10
int in 4 pin=9;
步进电机(512,in1Pin,in2Pin,in3Pin,in4 pin);
无效设置()
{
pinMode(in1Pin,输出);
pinMode(in2Pin,输出);
pinMode(in3Pin,输出);
pinMode(in4Pin,输出);
//这一行是给莱昂纳多的,它延迟了串行接口
//直到终端窗口打开
而(!连载);
serial . begin(9600);
motor . set speed(20);
}
无效循环()
{
if (Serial.available())
{
int steps=serial . parse int();
motor.step(步骤);
}
}
#包括
int in1Pin=12
int in2Pin=11
int in3Pin=10
int in 4 pin=9;
步进电机(512,in1Pin,in2Pin,in3Pin,in4 pin);
无效设置()
{
pinMode(in1Pin,输出);
pinMode(in2Pin,输出);
pinMode(in3Pin,输出);
pinMode(in4Pin,输出);
//这一行是给莱昂纳多的,它延迟了串行接口
//直到终端窗口打开
而(!连载);
serial . begin(9600);
motor . set speed(20);
}
无效循环()
{
if (Serial.available())
{
int steps=serial . parse int();
motor.step(步骤);
}
}
如你所料,有一个Arduino库支持步进电机。
在踏步机包括库,四个控制引脚in1 到in4 被定义了。
告诉ArduinoStepper哪些引脚连接到电机控制器的库,并使用以下命令:
下载:文件
复制代码
步进电机(768,in1Pin,in2Pin,in3Pin,in4 pin);步进电机(768,in1Pin,in2Pin,in3Pin,in4 pin);
第一个参数是步数电机完成一次旋转所需的时间。电机可以一次移动一步,以实现非常精确的定位。
然后启动串行通信,以便Arduino准备好接收来自串行监视器的命令。
最后,下面的命令设置我们希望步进电机移动的速度,然后我们告诉它旋转多少步。
下载:文件
复制代码
motor . set speed(10);motor . set speed(10);
循环功能很简单。它等待来自SerialMonitor的命令输入,然后使用parseint 将发送的数字文本转换成int。然后,它指示电机旋转步数。
步进电动机
步进电机使用齿形轮和电磁铁将轮微调到步骤曾经。
通过以正确的顺序激励线圈,电动机被驱动。步进电机360度旋转的步数,其实就是齿轮上的齿数。
我们正在使用的电机有48步,但电机还集成了减速齿轮箱:1: 16意味着它需要16 x 48=768步。
在本课程中,我们不不要使用公共红色连接。仅当使用不同类型的驱动电路时才提供这种连接,这不允许每个线圈中的电流反向。每个线圈都有一个中心连接,这意味着你可以在线圈的左侧或右侧通电,并获得反向电流的效果,而无需使用可以反向电流的电路。
如果用L293D有非常好的反向电流,就不需要这个公共连接了,我们可以给每个线圈全方向供电。
其他事情要做。
尝试更改命令来设置步进电机速度:
下载:文件
复制代码
motor . set speed(20);motor . set speed(20);
将草图上传到一个较低的值(如5),注意步进器旋转得更慢。
现在,通过将速度提高到20以上,尝试找到步进器的最大速度。确认一点后,你会发现电机根本不动。这是因为它可以跟不上要求它前进的脉冲流。
尝试断开步进器的橙色和粉色导线。它应该还会转,但是你我会注意到。它之所以弱,是因为它不不要让两个线圈都驱动电机。








