“SKU:RB-01C073A 树莓派电机驱动板”的版本间的差异
(→接口示意图) |
(→产品相关推荐) |
||
(未显示2个用户的12个中间版本) | |||
第4行: | 第4行: | ||
==规格参数== | ==规格参数== | ||
1.电机驱动输出接口:双路双向直流电机驱动<br/> | 1.电机驱动输出接口:双路双向直流电机驱动<br/> | ||
− | 2. | + | 2.电源输入接口:7~12V DC<br/> |
3.OC输出接口:两路集电极开路输出(25mA,5V电平)<br/> | 3.OC输出接口:两路集电极开路输出(25mA,5V电平)<br/> | ||
4.板载指示灯:两个可编程控制LED发光二极管<br/> | 4.板载指示灯:两个可编程控制LED发光二极管<br/> | ||
第16行: | 第16行: | ||
==使用方法== | ==使用方法== | ||
===接口示意图=== | ===接口示意图=== | ||
− | [[文件:rb01c07302.png|700px|有框| | + | [[文件:rb01c07302.png|700px|有框|居中|树莓派驱动板接口定义]] |
− | [[文件:RaspberryDrive.png|700px| | + | [[文件:RaspberryDrive.png|700px|缩略图|居中|树莓派驱动板GPIO接口]]<br/> |
===控制引脚说明=== | ===控制引脚说明=== | ||
<big>1.电源输入端接入7—12V直流电源,电机驱动板会给树莓派提供5V电源,所以树莓派插接电机驱动板后,只需给驱动板进行供电而树莓派无需额外的电源。<br/> | <big>1.电源输入端接入7—12V直流电源,电机驱动板会给树莓派提供5V电源,所以树莓派插接电机驱动板后,只需给驱动板进行供电而树莓派无需额外的电源。<br/> | ||
− | 2. | + | 2.板载 LED1、LED2,对外接口 OC1、OC2 分别是树莓派的 GPIO7、8、22、27 经过 74HC14D 反相器的输出端,OC1、OC2 分别连接一个 LED 模块,使用树莓派的 IO 输出高低电平信号,通过74HC14D 驱动 LED 点亮与熄灭。<br/> |
− | + | GPIO7 输出高电平,LED1 点亮,输出低电平,LED1 熄灭;<br/> | |
− | + | GPIO8 输出高电平,LED2 点亮,输出低电平,LED2 熄灭;<br/> | |
− | + | GPIO22 输出高电平,OC1 外接 LED 点亮,输出低电平,OC1 外接 LED 熄灭;<br/> | |
− | + | GPIO27 输出高电平,OC2 外接 LED 点亮,输出低电平,OC2 外接 LED 熄灭;<br/> | |
− | 3. | + | 3.电机A口的使能接 GPIO10,方向控制接 GPIO25,电机B口的使能接 GPIO17,方向控制接 GPIO4,使用树莓派控制引脚可以进行控制电机的启动停止和调速,通过方向引脚控制电机转向。<br/> |
− | * | + | * A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出高电平,A口电机顺时针旋转;<br/> |
− | * | + | * A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出低电平,A口电机逆时针旋转;<br/> |
− | * | + | * A 口使能 GPIO10 输出低电平,A 口电机停止转动;<br/> |
− | * | + | * B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出高电平,B口电机顺时针旋转;<br/> |
− | * | + | * B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出低电平,B口电机逆时针旋转;<br/> |
− | * | + | * B 口使能 GPIO17 输出低电平,B 口电机停止转动;<br/> |
− | 4. | + | 4.SW1、SW2 接口经过限流电阻后直接连接在树莓派的 GPIO 11、9.在 SW1、GND 之间和 SWD、GND 之间,分别连接一个碰撞开关,GPIO11、9 设置为输入,默认电平为高电平(内部有上拉电阻),当开关闭合时,GPIO 的电平会被拉低。<br/> |
− | 5. | + | 5.I2C 接口直接连接到树莓派的I2C引脚(GPIO2 | SDA,GPIO3 | SCL),可以扩展I2C模块。<br/> |
− | 6. | + | 6.UART 接口直接连接到树莓派的UART引脚(GPIO14 | TX,GPIO15 | RX),可以扩展UART模块。<br/> |
− | 7. | + | 7.URF02(超声波接口)的OUTPUT经过分压直接连接到 GPIO18,INPUT 直接连接到 GPIO23,树莓派的 GPIO23 至高10us以上,然后置低,等待 GPIO18 接收到高电平信号时,高电平结束时停止,计算高电平时间,所测量的距离 = 高电平时间*声速/2。<br/> |
</big> | </big> | ||
第42行: | 第42行: | ||
[[文件:rb01c07303.png|500px|有框|居中|与树莓派控制器的完美配合]] | [[文件:rb01c07303.png|500px|有框|居中|与树莓派控制器的完美配合]] | ||
===基本测试代码=== | ===基本测试代码=== | ||
− | * | + | * 需要在树莓派中新建一个 python 程序文件,然后将代码复制到文件中,保存,但是一定要注意保存的目录是需要记住的。 |
− | + | ||
* 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] | * 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] | ||
− | |||
<pre style='color:blue'> | <pre style='color:blue'> | ||
+ | #!/usr/bin/env python | ||
+ | # encoding: utf-8 | ||
+ | |||
+ | import RPi.GPIO | ||
import time | import time | ||
− | |||
− | + | SW1, SW2=11,9 | |
− | + | OC1, OC2=22,27 | |
− | + | LED1, LED2=7,8 | |
− | + | EA = 10 | |
− | + | EB = 17 | |
− | + | directionA = 25 | |
− | + | directionB = 4 | |
− | + | ||
− | + | RPi.GPIO.setmode(RPi.GPIO.BCM) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | RPi.GPIO.setup(OC1, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(OC2, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(EA, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(EB, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(directionA, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(directionB, RPi.GPIO.OUT) | |
− | + | RPi.GPIO.setup(LED1, RPi.GPIO.OUT) | |
+ | RPi.GPIO.setup(LED2, RPi.GPIO.OUT) | ||
− | + | RPi.GPIO.setup(SW1, RPi.GPIO.IN) | |
− | + | RPi.GPIO.setup(SW2, RPi.GPIO.IN) | |
− | + | ||
− | + | try: | |
− | + | while True: | |
− | + | time.sleep(0.01) | |
− | + | if (RPi.GPIO.input(SW2) == 1 or RPi.GPIO.input(SW1) == 1): | |
− | + | RPi.GPIO.output(OC2, False) | |
− | + | RPi.GPIO.output(LED2,True) | |
− | + | RPi.GPIO.output(OC1, True) | |
− | + | RPi.GPIO.output(LED1,False) | |
− | + | ||
− | + | RPi.GPIO.output(EA, True) | |
− | + | RPi.GPIO.output(EB, True) | |
− | + | RPi.GPIO.output(directionB, False) | |
− | + | RPi.GPIO.output(directionA, False) | |
− | + | time.sleep(1) | |
− | + | RPi.GPIO.output(directionB, True) | |
− | + | RPi.GPIO.output(directionA, True) | |
− | + | time.sleep(1) | |
− | + | ||
− | + | else: | |
− | + | RPi.GPIO.output(OC2, True) | |
− | + | RPi.GPIO.output(LED2,False) | |
+ | RPi.GPIO.output(OC1, False) | ||
+ | RPi.GPIO.output(LED1,True) | ||
+ | |||
+ | RPi.GPIO.output(EA, False) | ||
+ | RPi.GPIO.output(EB, False) | ||
+ | |||
+ | except KeyboardInterrupt: | ||
+ | pass | ||
− | + | RPi.GPIO.cleanup() | |
− | + | ||
</pre> | </pre> | ||
===代码功能=== | ===代码功能=== | ||
− | + | 此代码主要为了功能测试,在代码上传后 LED2 亮起,如果 OC2 外接一个 LED ,也会亮起,电机不会转动。<br/> | |
+ | 按下 SW1 外接的按键或者 SW2 外接的按键,LED2 熄灭,如果 OC2 外接一个 LED ,也会熄灭。LED1 亮起,如果 OC1 外接一个 LED ,也会亮起。 | ||
===超声波测试例程=== | ===超声波测试例程=== | ||
− | * | + | * 程序链接:https://pan.baidu.com/s/1bHs4vo23CNdl0NVBpCUODQ 提取码:6o0d |
+ | |||
需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。 | 需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。 | ||
* 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] | * 使用 Putty 登录到 Raspberry Pi 方法可以参考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基础教程汇总] | ||
第172行: | 第159行: | ||
===程序效果=== | ===程序效果=== | ||
程序执行后,在 Putty 的登录窗口会持续显示出当前超声波检测的前方障碍物距离,单位"cm",如果要退出程序,可以使用“Ctrl + C”组合键。 | 程序执行后,在 Putty 的登录窗口会持续显示出当前超声波检测的前方障碍物距离,单位"cm",如果要退出程序,可以使用“Ctrl + C”组合键。 | ||
+ | |||
==产品相关推荐== | ==产品相关推荐== | ||
[[文件:erweima.png|230px|无框|右]] | [[文件:erweima.png|230px|无框|右]] | ||
+ | === 产品资料 === | ||
+ | 下载链接 :https://pan.baidu.com/s/1ijljRpy9TpDyGWcDmrg8ww?pwd=shop | ||
+ | 提取码:shop | ||
===产品购买地址=== | ===产品购买地址=== | ||
[https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.15.ybN45R&id=37571891821 树莓派电机驱动板]<br/> | [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.15.ybN45R&id=37571891821 树莓派电机驱动板]<br/> |
2022年7月14日 (四) 16:54的最后版本
目录 |
产品概述
新版树莓派电机驱动板采用的电路和接口设计,版型符合树莓派2代的设计,与树莓派完美结合。供电电源采用LM2596开关稳压电源,具有更高效率,更大输出电流,更低的发热量等特点。电机驱动板新品采用L293D,更小的封装尺寸,更合理的电路设计。对外接口方面,采用了奥松新一代防插反接口,和奥松的系列传感器模块匹配,更可以直接安装URF02超声波传感器和蓝牙模块,制作树莓派小车更加方便、简洁。如果您想制作树莓派小车,无需东奔西走,奥松机器人配套全都有!
规格参数
1.电机驱动输出接口:双路双向直流电机驱动
2.电源输入接口:7~12V DC
3.OC输出接口:两路集电极开路输出(25mA,5V电平)
4.板载指示灯:两个可编程控制LED发光二极管
5.开关量接口:两路开关量输入/输出(3.3V电平)
6.UART接口:3.3V电平6Pin串行接口,可直接连接蓝牙模块
7.I2C接口:5V电平I2C接口,可驳接各类I2C接口模块
8.超声波模块接口:可直接连接URF02超声波模块
9.树莓派接口:支持树莓派、树莓派B+、树莓派2等
10.外形尺寸:56*40mm
使用方法
接口示意图
控制引脚说明
1.电源输入端接入7—12V直流电源,电机驱动板会给树莓派提供5V电源,所以树莓派插接电机驱动板后,只需给驱动板进行供电而树莓派无需额外的电源。
2.板载 LED1、LED2,对外接口 OC1、OC2 分别是树莓派的 GPIO7、8、22、27 经过 74HC14D 反相器的输出端,OC1、OC2 分别连接一个 LED 模块,使用树莓派的 IO 输出高低电平信号,通过74HC14D 驱动 LED 点亮与熄灭。
GPIO7 输出高电平,LED1 点亮,输出低电平,LED1 熄灭;
GPIO8 输出高电平,LED2 点亮,输出低电平,LED2 熄灭;
GPIO22 输出高电平,OC1 外接 LED 点亮,输出低电平,OC1 外接 LED 熄灭;
GPIO27 输出高电平,OC2 外接 LED 点亮,输出低电平,OC2 外接 LED 熄灭;
3.电机A口的使能接 GPIO10,方向控制接 GPIO25,电机B口的使能接 GPIO17,方向控制接 GPIO4,使用树莓派控制引脚可以进行控制电机的启动停止和调速,通过方向引脚控制电机转向。
- A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出高电平,A口电机顺时针旋转;
- A 口使能 GPIO10 输出高电平,A 口方向 GPIO25 输出低电平,A口电机逆时针旋转;
- A 口使能 GPIO10 输出低电平,A 口电机停止转动;
- B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出高电平,B口电机顺时针旋转;
- B 口使能 GPIO17 输出高电平,B 口方向 GPIO4 输出低电平,B口电机逆时针旋转;
- B 口使能 GPIO17 输出低电平,B 口电机停止转动;
4.SW1、SW2 接口经过限流电阻后直接连接在树莓派的 GPIO 11、9.在 SW1、GND 之间和 SWD、GND 之间,分别连接一个碰撞开关,GPIO11、9 设置为输入,默认电平为高电平(内部有上拉电阻),当开关闭合时,GPIO 的电平会被拉低。
5.I2C 接口直接连接到树莓派的I2C引脚(GPIO2 | SDA,GPIO3 | SCL),可以扩展I2C模块。
6.UART 接口直接连接到树莓派的UART引脚(GPIO14 | TX,GPIO15 | RX),可以扩展UART模块。
7.URF02(超声波接口)的OUTPUT经过分压直接连接到 GPIO18,INPUT 直接连接到 GPIO23,树莓派的 GPIO23 至高10us以上,然后置低,等待 GPIO18 接收到高电平信号时,高电平结束时停止,计算高电平时间,所测量的距离 = 高电平时间*声速/2。
插接方法
基本测试代码
- 需要在树莓派中新建一个 python 程序文件,然后将代码复制到文件中,保存,但是一定要注意保存的目录是需要记住的。
- 使用 Putty 登录到 Raspberry Pi 方法可以参考:Raspberry Pi 基础教程汇总
#!/usr/bin/env python # encoding: utf-8 import RPi.GPIO import time SW1, SW2=11,9 OC1, OC2=22,27 LED1, LED2=7,8 EA = 10 EB = 17 directionA = 25 directionB = 4 RPi.GPIO.setmode(RPi.GPIO.BCM) RPi.GPIO.setup(OC1, RPi.GPIO.OUT) RPi.GPIO.setup(OC2, RPi.GPIO.OUT) RPi.GPIO.setup(EA, RPi.GPIO.OUT) RPi.GPIO.setup(EB, RPi.GPIO.OUT) RPi.GPIO.setup(directionA, RPi.GPIO.OUT) RPi.GPIO.setup(directionB, RPi.GPIO.OUT) RPi.GPIO.setup(LED1, RPi.GPIO.OUT) RPi.GPIO.setup(LED2, RPi.GPIO.OUT) RPi.GPIO.setup(SW1, RPi.GPIO.IN) RPi.GPIO.setup(SW2, RPi.GPIO.IN) try: while True: time.sleep(0.01) if (RPi.GPIO.input(SW2) == 1 or RPi.GPIO.input(SW1) == 1): RPi.GPIO.output(OC2, False) RPi.GPIO.output(LED2,True) RPi.GPIO.output(OC1, True) RPi.GPIO.output(LED1,False) RPi.GPIO.output(EA, True) RPi.GPIO.output(EB, True) RPi.GPIO.output(directionB, False) RPi.GPIO.output(directionA, False) time.sleep(1) RPi.GPIO.output(directionB, True) RPi.GPIO.output(directionA, True) time.sleep(1) else: RPi.GPIO.output(OC2, True) RPi.GPIO.output(LED2,False) RPi.GPIO.output(OC1, False) RPi.GPIO.output(LED1,True) RPi.GPIO.output(EA, False) RPi.GPIO.output(EB, False) except KeyboardInterrupt: pass RPi.GPIO.cleanup()
代码功能
此代码主要为了功能测试,在代码上传后 LED2 亮起,如果 OC2 外接一个 LED ,也会亮起,电机不会转动。
按下 SW1 外接的按键或者 SW2 外接的按键,LED2 熄灭,如果 OC2 外接一个 LED ,也会熄灭。LED1 亮起,如果 OC1 外接一个 LED ,也会亮起。
超声波测试例程
- 程序链接:https://pan.baidu.com/s/1bHs4vo23CNdl0NVBpCUODQ 提取码:6o0d
需要将下载的示例程序复制到树莓派的 pi 目录下,可以使用 putty 登录到 Raspberry Pi 控制器,输入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"进入程序目录,然后输入"sudo python URF02.py"命令来执行程序。
- 使用 Putty 登录到 Raspberry Pi 方法可以参考:Raspberry Pi 基础教程汇总
- 注意程序中我们使用了一个库文件"botbook_gpio",库文件可以直接从上面的例子程序下载中获取到,如果不使用库文件或者库文件和程序文件不是在同一个目录下,会造成程序执行失败。
import time import botbook_gpio as gpio def readDistanceCm(): triggerPin = 23 echoPin = 18 v=(331.5+0.6*20) # m/s gpio.mode(triggerPin, "out") gpio.mode(echoPin, "in") gpio.interruptMode(echoPin, "both") gpio.write(triggerPin, gpio.LOW) time.sleep(0.5) gpio.write(triggerPin, gpio.HIGH) time.sleep(1/1000.0/1000.0) gpio.write(triggerPin, gpio.LOW) t = gpio.pulseInHigh(echoPin) # s d = t*v d = d/2 return d*100 # cm def main(): while True: d = readDistanceCm() print "Distance is %.2f cm" % d time.sleep(0.5) if __name__ == "__main__": main()
程序效果
程序执行后,在 Putty 的登录窗口会持续显示出当前超声波检测的前方障碍物距离,单位"cm",如果要退出程序,可以使用“Ctrl + C”组合键。
产品相关推荐
产品资料
下载链接 :https://pan.baidu.com/s/1ijljRpy9TpDyGWcDmrg8ww?pwd=shop 提取码:shop
产品购买地址
周边产品推荐
相关问题解答
新买的树莓派2,HDMI无信号,ACT灯常亮
Raspberry Pi 常见问题的解决方法
相关学习资料
玩转树莓派系列视频教程(一)
玩转树莓派系列视频教程(二)
玩转树莓派系列视频教程(三)
玩转树莓派系列视频教程(四)
玩转树莓派系列视频教程(五)
树莓派新手教程三---使用raspi-config工具配置树莓派
树莓派新手教程二---如何安装和启动你的树莓派!
奥松机器人技术论坛树莓派控制器版块