(八)树莓派进阶:步进电机与Raspberry Pi连接

介绍

(八)树莓派进阶:步进电机与Raspberry Pi连接

步进电机

  • 步进电机是一种无刷直流电机,可将360°的完整旋转角度分成相等的步数。
  • 通过施加一定量的控制信号来旋转电动机。可以通过改变施加控制信号的速率来改变旋转速度。
  • 有关步进电机及其控制顺序及其使用方法的更多信息,请参阅传感器和模块部分中的步进电机主题。
  • Raspberry Pi的GPIO可用于控制步进电机的旋转。我们可以在Raspberry Pi的GPIO引脚上生成一系列控制信号。

电路连接图

(八)树莓派进阶:步进电机与Raspberry Pi连接

步进电机与Raspberry Pi连接

让我们顺时针和逆时针方向交替旋转步进电机。

  • 在这里,我们使用的是六线单极步进电机。控制该步进电机只需要四根电线。步进电机的两根中心抽头线连接到5V电源。
  • ULN2003驱动器用于驱动单极步进电机。
  • 我们将使用Python语言将Stepper Motor与Raspberry Pi连接起来。在此程序中,我们使用键盘键作为输入来选择电机旋转方向(即顺时针或逆时针)。

注意:要找到绕组线圈及其中心抽头引线,请测量引线之间的电阻。从中心引线开始,与绕组端之间的电阻相比,我们将获得一半的电阻值。

Python程序

'''
    Stepper Motor interfacing with Raspberry Pi
    https:///www.qutaojiao.com
'''
import RPi.GPIO as GPIO
from time import sleep
import sys

#assign GPIO pins for motor
motor_channel = (29,31,33,35)  
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
#for defining more than 1 GPIO channel as input/output use
GPIO.setup(motor_channel, GPIO.OUT)

motor_direction = input('select motor direction a=anticlockwise, c=clockwise: ')
while True:
    try:
        if(motor_direction == 'c'):
            print('motor running clockwise\n')
            GPIO.output(motor_channel, (GPIO.HIGH,GPIO.LOW,GPIO.LOW,GPIO.HIGH))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.HIGH,GPIO.HIGH,GPIO.LOW,GPIO.LOW))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.LOW,GPIO.HIGH,GPIO.HIGH,GPIO.LOW))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.LOW,GPIO.LOW,GPIO.HIGH,GPIO.HIGH))
            sleep(0.02)
elif(motor_direction == 'a'):
            print('motor running anti-clockwise\n')
            GPIO.output(motor_channel, (GPIO.HIGH,GPIO.LOW,GPIO.LOW,GPIO.HIGH))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.LOW,GPIO.LOW,GPIO.HIGH,GPIO.HIGH))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.LOW,GPIO.HIGH,GPIO.HIGH,GPIO.LOW))
            sleep(0.02)
            GPIO.output(motor_channel, (GPIO.HIGH,GPIO.HIGH,GPIO.LOW,GPIO.LOW))
            sleep(0.02)

余下程序:

隐藏内容,您需要满足以下条件方可查看
End

本教程完整程序:

隐藏内容,您需要满足以下条件方可查看
End

人已赞赏
高级进阶python

(七)树莓派进阶:PIR运动传感器与Raspberry Pi连接教程

2019-4-18 10:18:23

免费项目

通过 NodeMCU (ESP8266) 将传感器数据上传至 MQTT 云服务

2020-7-11 22:27:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索