步进电机
树莓派连接驱动电机采用28BYJ-48步进电机,电机具体介绍可以参见28BYJ步进电机原理,还需要配套的电机驱动模块,将驱动信号放大,可以使用UNL2003驱动模块,简单又便宜。
树莓派与步进电机连接
电机直接接在驱动模块的ABCD端子上,驱动模块上的“+”和“-”分别接树莓派上的5V电源引脚和GND引脚。树莓派引脚图如下:树莓派与驱动板的连接可以接4个空引脚,需要注意的是树莓派引脚的编号方式有两种,可以任意选择,但后面写代码的时候一定要指定命名规则。
第一种方法是使用 BOARD 编号系统。此方法指的是 Raspberry Pi 主板上 P1 端子的引脚编号。使用此方法的好处是,无论主板的版本如何,硬件始终可用。无需重新接线和更改代码。
第二种方法是使用 BCM 编号。这是一种较低级别的工作方式 – 它指的是 Broadcom SOC 的通道编号。始终确保板上的引脚与图表上标记的通道编号相对应。该脚本可能无法在较新版本的 Raspberry Pi 板上运行。
电机驱动代码
这部分代码是结合Picamera的一段视频录制,我把不相关的部分注释掉了,目前只是实现了一圈,你也可以根据自己的需求控制它以固定角度旋转,正转反转,循环。很多博主都写好了代码,可以参考其他博主的代码。代码其实很好写,最关键的是要了解电机的原理,可以查看电机的用户手册。了解它的驱动方式和基本参数(减速比,步距角),计算出一个脉冲电机在不同的驱动模式下转多少角度,转一圈需要多少个脉冲,这样上面的一些功能就可以实现了。如果之前玩过单片机的话会比较容易理解。
import RPi.GPIO as GPIO
import time
import picamera
IN1 =<