“SKU:RB-01C073A 樹莓派電機驅動板”的版本間的差異
(以“右 ==產品概述== 新版樹莓派電機驅動板采用的電路和接口設計,版型符合樹莓派2代的設計,與...”為內容創(chuàng)建頁面) |
(→?產品相關推薦) |
||
(未顯示2個用戶的21個中間版本) | |||
第4行: | 第4行: | ||
==規(guī)格參數(shù)== | ==規(guī)格參數(shù)== | ||
1.電機驅動輸出接口:雙路雙向直流電機驅動<br/> | 1.電機驅動輸出接口:雙路雙向直流電機驅動<br/> | ||
? | 2. | + | 2.電源輸入接口:7~12V DC<br/> |
3.OC輸出接口:兩路集電極開路輸出(25mA,5V電平)<br/> | 3.OC輸出接口:兩路集電極開路輸出(25mA,5V電平)<br/> | ||
4.板載指示燈:兩個可編程控制LED發(fā)光二極管<br/> | 4.板載指示燈:兩個可編程控制LED發(fā)光二極管<br/> | ||
第17行: | 第17行: | ||
===接口示意圖=== | ===接口示意圖=== | ||
[[文件:rb01c07302.png|700px|有框|居中|樹莓派驅動板接口定義]] | [[文件:rb01c07302.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> | ||
===插接方法=== | ===插接方法=== | ||
[[文件: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 基礎教程匯總] | ||
+ | |||
<pre style='color:blue'> | <pre style='color:blue'> | ||
? | import RPi. | + | #!/usr/bin/env python |
+ | # encoding: utf-8 | ||
+ | |||
+ | import RPi.GPIO | ||
import time | import time | ||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | |||
? | GPIO. | + | SW1, SW2=11,9 |
? | GPIO. | + | OC1, OC2=22,27 |
? | GPIO. | + | LED1, LED2=7,8 |
? | GPIO. | + | EA = 10 |
? | GPIO. | + | EB = 17 |
? | GPIO. | + | directionA = 25 |
? | GPIO. | + | directionB = 4 |
? | GPIO. | + | |
? | + | 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: | 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: | 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"命令來執(zhí)行程序。 | ||
+ | * 使用 Putty 登錄到 Raspberry Pi 方法可以參考:[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5681&extra=page%3D1 Raspberry Pi 基礎教程匯總] | ||
+ | * 注意程序中我們使用了一個庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個目錄下,會造成程序執(zhí)行失敗。 | ||
+ | |||
+ | <pre style='color:blue'> | ||
+ | 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() | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ===程序效果=== | ||
+ | 程序執(zhí)行后,在 Putty 的登錄窗口會持續(xù)顯示出當前超聲波檢測的前方障礙物距離,單位"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開關穩(wěn)壓電源,具有更高效率,更大輸出電流,更低的發(fā)熱量等特點。電機驅動板新品采用L293D,更小的封裝尺寸,更合理的電路設計。對外接口方面,采用了奧松新一代防插反接口,和奧松的系列傳感器模塊匹配,更可以直接安裝URF02超聲波傳感器和藍牙模塊,制作樹莓派小車更加方便、簡潔。如果您想制作樹莓派小車,無需東奔西走,奧松機器人配套全都有!
規(guī)格參數(shù)
1.電機驅動輸出接口:雙路雙向直流電機驅動
2.電源輸入接口:7~12V DC
3.OC輸出接口:兩路集電極開路輸出(25mA,5V電平)
4.板載指示燈:兩個可編程控制LED發(fā)光二極管
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"命令來執(zhí)行程序。
- 使用 Putty 登錄到 Raspberry Pi 方法可以參考:Raspberry Pi 基礎教程匯總
- 注意程序中我們使用了一個庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個目錄下,會造成程序執(zhí)行失敗。
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()
程序效果
程序執(zhí)行后,在 Putty 的登錄窗口會持續(xù)顯示出當前超聲波檢測的前方障礙物距離,單位"cm",如果要退出程序,可以使用“Ctrl + C”組合鍵。
產品相關推薦
產品資料
下載鏈接 :https://pan.baidu.com/s/1ijljRpy9TpDyGWcDmrg8ww?pwd=shop 提取碼:shop
產品購買地址
周邊產品推薦
相關問題解答
新買的樹莓派2,HDMI無信號,ACT燈常亮
Raspberry Pi 常見問題的解決方法
相關學習資料
玩轉樹莓派系列視頻教程(一)
玩轉樹莓派系列視頻教程(二)
玩轉樹莓派系列視頻教程(三)
玩轉樹莓派系列視頻教程(四)
玩轉樹莓派系列視頻教程(五)
樹莓派新手教程三---使用raspi-config工具配置樹莓派
樹莓派新手教程二---如何安裝和啟動你的樹莓派!
奧松機器人技術論壇樹莓派控制器版塊