概述
如果您还记得以前的Raspberry Pi教程,我们已经看到如何使用RASPBERRY PI控制直流电机以及如何使用RASPBERRY PI控制伺服电机。
步进电机可以分为伺服电机和直流电机,因为您可以控制角度位置轴以及沿任一方向自由旋转轴。
我已经讨论了步进电机,步进电机的类型电动机,步进电动机的内部结构以及如何设计步进电动机在使用ARDUINO 项目的步进电机控制中进行滚动循环。
因此,我建议您在继续使用Raspberry Pi步进电机之前参考该项目一次接口。
驱动步进电机
识别步进器非常重要电动机,即它是单极步进电动机还是双极步进电动机。因为,这些电动机的驱动技术是不同的。
在这个项目中,我将使用一个简单的12V双极步进电机。为了驱动这个步进电机,我们需要一个电机驱动模块,如L293D或L298N。这两个模块都适用于12V步进电机。因此,选择驱动程序模块取决于您。对于这个项目,我选择了L298N电机驱动器模块。
步进电机优于伺服电机的主要优点是电机轴完全旋转分为几步并且您可以通过小心地给电机线圈通电来精确定位步进电机。
即使没有像伺服电机那样的反馈机制,步进电机的步进角也会更小提供非常精确的角度定位。
通常,几乎所有市售的步进电机都具有1.8 0 的步进角。因此,对于完整的360 0 度旋转,其步数将为200.
为了提高步进电机的精度即为了实现轴的更精确的角度定位,您可以使用称为“半步进”的技术。
半步进是一种技术,我们将使用一相和两相激励的组合,而不是一次激励单相。使用这种技术,您可以实现更小的400步分辨率和更平稳的操作。
Raspberry Pi步进电机接口
几乎所有先进的数控机床和工业贴片机器人都使用步进电机。另一方面,Raspberry Pi是一台小型计算机,可用于机器人,家庭自动化,工业自动化等众多应用中。
因此,连接使用Raspberry Pi的步进电机将非常有趣,因为您可以在上述所有应用中实现此接口。
12V双极步进电机可吸收约350mA至500mA的电流。因此,我们在使用Raspberry Pi步进电机接口时需要一个专用的驱动电路。
由于我使用的是双极步进电机,我只需要四根控制线。这可以通过许多不同的模块或驱动程序(如L293D,ULN或L298N)来完成。
如果是单极步进电机,有多种方法可以连接它到驱动程序模块。通常,单极步进电机将具有5或6根电线。因此,您需要使用ULN或将其连接到双极步进电机。
电路图
下图显示了使用L298N的Raspberry Pi步进电机控制的连接图。它使用Fritzing Application实现。
所需组件
Raspberry Pi 3 B型
12V双极步进电机
L298N电机驱动器模块
12V电机电源
Raspberry Pi的电源
连接电线
计算机
电路设计
电机驱动器模块的输入,即IN1,IN2,IN3和IN4连接到物理引脚11,12,13和15,即Raspberry Pi的GPIO17,GPIO18,GPIO27和GPIO22 。
一组电机线圈连接到电机驱动器的OUT1和OUT2,另一组连接到OUT3和OUT4。
为电机驱动器模块提供12V外部电源,L298N电机驱动器模块和Raspberry Pi的接地端子是通用的。
为Raspberry Pi提供单独的5V电源。
代码
项目的编程部分是使用Python实现的。下面给出了使用Raspberry Pi和L298N电机驱动器模块控制步进电机的Python脚本。
项目工作
这个简单项目的目的只是为了理解如何使用Raspberry Pi和L298N连接步进电机。该项目的工作非常简单,并在此处进行说明。
最初,您需要通过提供一些随机值来校准步进电机,以便锁定步骤。这里,正值(例如30)将使步进电机顺时针旋转,负值(如-30)将使其沿逆时针方向旋转。
初始校准后,您可以输入任何值,步进电机将移动到该位置。由于我们正在实施半步进技术,因此总步数为400.因此,如果输入100,则步进电机将以顺时针方向旋转90 0 。
同样,通过输入其他值(正数或负数),您可以准确控制步进电机的位置。
应用程序
使用Raspberry Pi控制步进电机将使我们能够在各种项目和应用中使用此接口,例如:
机器人
CNC绘图仪
家庭自动化
工业自动化