四时宝库

程序员的知识宝库

树莓派GPIO驱动-步进电机(元件驱动)

今天给大家开更一个新的教程合集树莓派->"元件驱动",主要是让大家对元件底层驱动有个好的理解,摆脱"只知其一,不知其二"的困境,废话不多说,直接上教程。

树莓派GPIO驱动-步进电机(元件驱动)

· 准备器件

· 器件原理

· 树莓派准备

· 实验


1、 准备器件



器件准备好了,我们开始了解一下步进电机的原理;

2、 器件原理

· 步进电机是什么,和伺服电机、普通电机有什么区别?

这就是步进电机,最简单的方法,查百科。

那它和伺服有什么区别呢?

总体来看,步进是不如伺服的,但是步进价格要比伺服便宜很多、很多,所以你懂得。


· 他是如何被驱动的


这是步进电机的内部原理图,外面的A B C D 就是我们所说的四相,也是电机的定子(就是不动的),里面的1~6是转子(可以旋转的轴),他是一颗永磁铁;

每次我们给一相一定的脉冲,就会就行通电生磁,吸引对应的转子,只要我们不停的给相应的相通电,我们就可以控制它;

1. 顺序控制方向 BCDA 是顺时针,相反 ADCB 就是逆时针方向。

2. 每次通几项控制力矩,单拍,双拍,八拍

3、树莓派需要准备什么

只要有python的GPIO库就可以

4、开始实验


这是树莓派的管脚图,寻找可以用的相邻的4个管脚,5,6,13,19。

开始编程:

import RPi.GPIO as GPIO
import time
ma = 5
mb = 6
mc = 13
md = 19
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup([ma,mb,mc,md],GPIO.OUT)
#GPIO.setup(6,GPIO.OUT)
#GPIO.setup(13,GPIO.OUT)
#GPIO.setup(19,GPIO.OUT)
#单拍
def posRotate():
GPIO.output(ma,GPIO.HIGH)
GPIO.output(mb,GPIO.LOW)
GPIO.output(mc,GPIO.LOW)
GPIO.output(md,GPIO.LOW)
time.sleep(0.002)

GPIO.output(ma,GPIO.LOW)
GPIO.output(mb,GPIO.HIGH)
GPIO.output(mc,GPIO.LOW)

GPIO.output(mc,GPIO.LOW)
GPIO.output(md,GPIO.LOW)
time.sleep(0.002)

GPIO.output(ma,GPIO.LOW)
GPIO.output(mb,GPIO.LOW)
GPIO.output(mc,GPIO.HIGH)
GPIO.output(md,GPIO.LOW)
time.sleep(0.002)

GPIO.output(ma,GPIO.LOW)
GPIO.output(mb,GPIO.LOW)
GPIO.output(mc,GPIO.LOW)
GPIO.output(md,GPIO.HIGH)
time.sleep(0.002)

while True:
posedd()

OK,大功告成!中间对于树莓派GPIO的控制,我准备出一章详讲。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接