找回密码
 立即注册

QQ登录

树莓派及双H桥驱动板实现小车调速

来源: 奥松-Neil 2018-1-19 10:44 显示全部楼层 |阅读模式
之前的教程中,我们已经可以控制平台的前后左右运动,但是平台是全速运动状态,本节课中我们将使用 PWM 信号来改变小车的车速
一、使用硬件

* 4WD 移动平台
* 双H桥电机驱动板
* 树莓派控制器(已经正常开机,并通过 putty 进行登陆)

二、硬件接线
(1)锂电池正极连接电机驱动板 VMS,负极连接电机驱动板 GND
(2)电机驱动板 GND 连接树莓派 GND
(3)同侧电机分别接在双H桥驱动板的红色和绿色端子上
(4)树莓派 GPIO 接口与双H桥驱动板的信号引脚连接

* I2 —— GPIO22
* I1 —— GPIO27
* I3 —— GPIO17
* I4 —— GPIO4
* EA —— GPIO5
* EB —— GPIO6



二、程序编辑
1、新建 python 代码
在终端输入下列命令,使用 nano 编辑器编辑代码

  1. sudo nano robot4.py
复制代码
2、示例代码
  1. #!/usr/bin/python

  2. import RPi.GPIO as gpio
  3. import time

  4. EA = 5
  5. I2 = 22
  6. I1 = 27
  7. EB = 6
  8. I4 = 17
  9. I3 = 4

  10. def init ():
  11.     gpio.setmode (gpio.BCM)
  12.     gpio.setup (I3, gpio.OUT)
  13.     gpio.setup (I4,gpio.OUT)
  14.     gpio.setup (I1,gpio.OUT)
  15.     gpio.setup (I2,gpio.OUT)
  16.     gpio.setup (EA,gpio.OUT)
  17.     gpio.setup (EB,gpio.OUT)

  18. def forward (tf):
  19.     init ()
  20.     gpio.output (I3,False)
  21.     gpio.output (I4,True)
  22.     gpio.output (I1,True)
  23.     gpio.output (I2,False)
  24.     pwm = gpio.PWM (EA,50)
  25.     pwm.start(0)
  26.     pwm.ChangeDutyCycle(30)
  27.     pwm1 = gpio.PWM (EB,50)
  28.     pwm1.start(0)
  29.     pwm1.ChangeDutyCycle(30)
  30.     time.sleep (tf)
  31.     gpio.cleanup ()

  32. def stop (tf):
  33.     gpio.output (EA,False)
  34.     gpio.output (EB,False)

  35. forward (2)
  36. stop(5)

复制代码

说明:(1)本代码中只控制了小车的前进,左转右转的调速方式是相同的。
(2)通过修改 pwm.ChangeDutyCycle 语句内的值来调节 PWM 信号的占空比,可以达到调速的目的,取值范围 0 - 100。

3、保存程序并运行
(1)使用 Ctrl + X 组合键
(2)输入“Y”保存代码
(3)输入下列代码运行程序

  1. sudo python robot4.py
复制代码

4、程序下载






回复

使用道具 举报

您可能感兴趣的文章

您需要登录后才可以回帖 登录 | 立即注册

关注0

粉丝6

帖子147

发布主题
社区热门 MORE+
    社区热帖 MORE+