树莓派+ 步进电机

使用步进电机需要步进电机步进电机驱动板两样东西,我使用的电机和驱动板型号分别为28BYJ-48-5VUL2003芯片的五线四相步进电机驱动板


首先说明步进电机的驱动原理

驱动板上有IN1, IN2, IN3, IN4四个接口,根据资料得知这四个接口依次设置为低电平就可以驱动,我们分别用杜邦线将GPIO 21(Pin 40),GPIO 20(Pin 38), GPIO 16(Pin 36), GPIO 19(Pin 35)和IN1,IN2,IN3,IN4一一相连。


每次将四个GPIO端口按下表依次设置好电平后,可以sleep几十毫秒来控制转速

序列GPIO 21GPIO 20GPIO 16GPIO 19
0LOWHIGHHIGHHIGH
1HIGHLOWHIGHHIGH
2HIGHHIGHLOWHIGH
3HIGHHIGHHIGHLOW
4LOWHIGHHIGHHIGH






示例代码:

#!/usr/bin/python
#coding: utf8

import RPi.GPIO as GPIO
import time
import sys
from array import *

GPIO.setwarnings(False) 
GPIO.setmode(GPIO.BOARD)

steps    = int(sys.argv[1]);
clockwise = int(sys.argv[2]);

arr = [0,1,2,3];
if clockwise!=1:
    arr = [3,2,1,0];

ports = [40,38,36,35] # GPIO 21(Pin 40) GPIO 20(Pin 38) GPIO 16(Pin 36) GPIO 19(Pin 35)

for p in ports:
    GPIO.setup(p,GPIO.OUT)
    
for x in range(0,steps):
    for j in arr:
        time.sleep(0.01)
        for i in range(0,4):
            if i == j:            
                GPIO.output(ports[i],True)
            else:
                GPIO.output(ports[i],False)

执行 python motor.py 90 0  可以顺时针转动大约80度。

执行 python motor.py 90 1  则可逆时针转动大约80度。


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值