树莓派Python控制步进电机

步进电机控制在Python

树莓派Python控制步进电机

玩了LED,开关和蜂鸣器后,我觉得自然的下一步是用步进电机或两个。这可能构成了一个想法的一部分,我不得不创建一个自动停止动画动画“转台”,用于旋转和拍摄对象。

有大量的电机可供选择,但我决定用ULN2003控制板实验一台28BJY-48。

我选择这个设备的原因在哪里:

  • 它很便宜

  • 广泛供应海外和英国卖家

  • 使用控制板轻松获取

  • 小但比较强大

  • 运行在5V

  • 易于界面

我在eBay上从“4tronix_uk”下订了两个,第二天到了。步进电机28BJY-48数据手册中还有其他细节

与Pi接口

树莓派Python控制步进电机

电机通过预先提供的连接器连接到控制器板。控制器板有4 + 2个引脚需要连接到Pi头(P1)。

  • 5V(P1-02)

  • GND(P1-06)

  • Inp1(P1-11)

  • Inp2(P1-15)

  • Inp3(P1-16)

  • Inp4(P1-18)

上面的P1-XX参考表示我使用的Pi头引脚。这些在下面的StepPins列表中的Python示例中进行了定义,因此如果使用不同的引脚,一定要更新Python列表。如果需要,您可以使用其他GPIO引脚,只需记住更新您的Python脚本。

为了旋转步进电机,您可以按顺序为每个4个输入提供“高”和“低”电平序列。通过设置正确的高低电平顺序,电机主轴将旋转。方向可以通过反转顺序来反转。

Python脚本

树莓派Python控制步进电机

树莓派Python控制步进电机

以下是用于旋转步进电机的步进电机脚本的副本。它使用RPi.GPIO库并定义了4步和8步序列。

#!/usr/bin/python

您可以直接下载到您的Pi使用:

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/stepper.py

与使用GPIO库的所有Python脚本一样,它需要使用“sudo”运行:

sudo python stepper.py

按Ctrl-C退出。

要指定不同的等待时间,您可以使用以下命令在命令行中传递几毫秒作为参数:

sudo python stepper.py
 20

其中20是毫秒数。

在此示例中,默认等待时间设置为0.01秒(10毫秒)。要更改旋转速度,您可以更改此值。我发现在电机停止工作之前,我可以将其减小到4ms。如果脚本运行太快,电机控制器不能跟上。这种性能可能因您的电机及其控制器而异。

4步序列更快,但转矩较低。握住电机主轴很容易停止旋转。8步顺序较慢,但扭矩要高得多。对于我的转盘应用,我更喜欢扭矩超速,所以我将使用8步序列。

您现在可以使用Raspberry Pi和一些Python脚本控制步进电机。添加另一个电机,你已经开始一个小机器人!

树莓派Python控制步进电机

原文始发于:树莓派Python控制步进电机

|

发表评论