完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
树莓派4B控制步进电机 进阶教程(一)
步进电机 树莓派与步进电机连接 电机驱动代码 参考资料 步进电机 本次树莓派与驱动电机连接采用的是28BYJ-48步进电机。电机相关介绍可以看28BYJ步进电机原理。还需要配套的电机驱动模块一起使用来放大驱动信号。可以采用UNL2003驱动模块,简单便宜。 树莓派与步进电机连接 电机直接接驱动模块ABCD端,驱动模块上的”+、-“接树莓上一个5V电源引脚和一个GND引脚。树莓派引脚图如下图所示:树莓派与驱动板的连接可以选择四个空引脚连接。需要注意的是,树莓派引脚有两种方式编号。选择哪一种都可以,只是在后面编码的时候要强制指定命名规则。 第一种方式是使用 BOARD 编号系统。该方式参考 Raspberry Pi 主板上 P1 接线柱的针脚编号。使用该方式的优点是无需考虑主板的修订版本,硬件始终都是可用的状态。无需重新连接线路和更改代码。 第二种方式是使用BCM编号。这是一种较底层的工作方式—该方式参考Broadcom SOC的通道编号。使用过程中,始终要保证主板上的针脚与图表上标注的通道编号相对应。脚本可能在Raspberry Pi 主板上进行修订版本更新时无法工作。 电机驱动代码 这部分代码是结合Picamera的一个录像,我已经注释掉了无关的。目前就是实现转一圈,自己也可以根据需求,控制它转固定角度,正反转,循环。代码很多博主都有写出来,可以参考一下其他博主的代码,代码其实很好写,最重要的是要理解电机的原理。可以查看电机的使用手册。了解它驱动方法和基本参数(减速比、步距角度),在不同的驱动模式下,算出1个脉冲电机旋转多少角度,旋转一圈需要多少个脉冲,就可以达到上述一些功能。如果之前有用单片机玩过的同学那就更好理解了。 import RPi.GPIO as GPIOimport timeimport picamera IN1 = 29IN2 = 31 #树莓派的物理引脚与驱动模块连接IN3 = 33IN4 = 35 def setStep(h1, h2, h3, h4): GPIO.output(IN1, h1) GPIO.output(IN2, h2) GPIO.output(IN3, h3) GPIO.output(IN4, h4) def setup():GPIO.setwarnings(False)GPIO.setmode(GPIO.BOARD) # 强制定义命名规则GPIO.setup(IN1, GPIO.OUT) # 设置为输出模式GPIO.setup(IN2, GPIO.OUT)GPIO.setup(IN3, GPIO.OUT)GPIO.setup(IN4, GPIO.OUT)def stop(): setStep(0, 0, 0, 0) def forward(delay, steps): #A-B-C-D-A通电方式 for i in range(0, steps): setStep(1, 0, 0, 0) time.sleep(delay) setStep(0, 1, 0, 0) time.sleep(delay) setStep(0, 0, 1, 0) time.sleep(delay) setStep(0, 0, 0, 1) time.sleep(delay) def backward(delay, steps): for i in range(0, steps): setStep(0, 0, 0, 1) time.sleep(delay) setStep(0, 0, 1, 0) time.sleep(delay) setStep(0, 1, 0, 0) time.sleep(delay) setStep(1, 0, 0, 0) time.sleep(delay) def loop(): while True: backward(0.003, 512) # 旋转1圈 循环512次 stop() time.sleep(3) def destroy(): GPIO.cleanup() # 释放 with picamera.PiCamera() as camera: setup() #camera.resolution = (1024,960) #camera.start_recording(‘1.h264’) #camera.wait_recording() backward(0.003, 512) 反向旋转一圈后暂停 #camera.stop_recording() stop() |
|
|
|
只有小组成员才能发言,加入小组>>
590浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:31 , Processed in 0.664009 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号