树莓派3B控制28步进电机

       由于项目需要楼主需要利用步进电机来实现一个开关拉门的动作。由于,控制精度要求不高,所以只需要树莓派做控制器即可。网上树莓派控制步进电机的教程大多局限于如图所示的小功率步进电机,不符合项目需求。所以,楼主自行购买了28步进电机及相应的驱动器,完成了对步进电机的控制。


硬件设备:树莓派3B

                28步进电机及其驱动

                12V开关电源

                 3.3V-5V电平转换器

由于驱动器输入需要5V的脉冲,而树莓派可控管脚的输出电压为3.3V,所以楼主在网上购买了3.3V-5V的电平转换模块。



       树莓派管教示意图如图所示,其中管脚2或4作为电源为电平转换装置供电,驱动器采用共阳极接法。管脚38作为换向电平,经过电平放大模块与驱动器方向信号线连接。管脚40作为脉冲输出端经过电平放大模块与驱动器信号线连接,实物图如下所示

树莓派(Raspberry Pi 4)上使用PiGPIO或pigpio库来控制步进电机,相比GPIO Zero,直接操控硬件GPIO更为精细。以下是基本步骤: 1. 安装必要的库:如果你还没有安装pigpio库,可以通过终端运行 `sudo apt-get update && sudo apt-get install pigpio` 来安装。 2. 引入库:在Python脚本中,需要先导入pigpio库: ```python import pigpio ``` 3. 连接到树莓派:打开一个shell会话,输入 `pigpiod` 启动pigpio daemon服务。 4. 创建Pigpio对象:连接到GPIO口,设置为工作模式,例如: ```python pi = pigpio.pi() # 使用默认的本地端口 if not pi.connected: print("Failed to connect to pigpio.") exit() # 确保步进电机的GPIO线已配置为输出 step_pins = [18, 23, 24, 25] # 这些是你步进电机的驱动信号线 for pin in step_pins: pi.set_mode(pin, pigpio.OUTPUT) ``` 5. 配置步进电机:确定步进电机的细节,比如步数、脉冲频率等。常见的步进电机有800微步或200微步,每一步需要发送多少个脉冲取决于此。 6. 控制步进电机:通过改变GPIO线的状态来控制电机前进或后退。例如,正向走一步: ```python def step(direction, steps=1): for _ in range(steps): if direction == "forward": pi.write(step_pins[0], True) pi.write(step_pins[1], False) pi.write(step_pins[2], True) pi.write(step_pins[3], False) time.sleep(pulse_duration) # 持续时间(脉冲周期) pi.write(step_pins[0], False) pi.write(step_pins[1], True) pi.write(step_pins[2], False) pi.write(step_pins[3], True) else: # 如果direction是"reverse" # 修改pin状态以反向行走 ``` 7. 关闭连接:任务完成后,别忘了关闭连接: ```python pi.stop() pi.halt() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值