SKU:RB-01C073A 樹莓派電機(jī)驅(qū)動(dòng)板

來自ALSROBOT WiKi
2016年7月12日 (二) 17:18Arduino77討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航、 搜索
Rb01c07301.png

目錄

產(chǎn)品概述

新版樹莓派電機(jī)驅(qū)動(dòng)板采用的電路和接口設(shè)計(jì),版型符合樹莓派2代的設(shè)計(jì),與樹莓派完美結(jié)合。供電電源采用LM2596開關(guān)穩(wěn)壓電源,具有更高效率,更大輸出電流,更低的發(fā)熱量等特點(diǎn)。電機(jī)驅(qū)動(dòng)板新品采用L293D,更小的封裝尺寸,更合理的電路設(shè)計(jì)。對(duì)外接口方面,采用了奧松新一代防插反接口,和奧松的系列傳感器模塊匹配,更可以直接安裝URF02超聲波傳感器和藍(lán)牙模塊,制作樹莓派小車更加方便、簡潔。如果您想制作樹莓派小車,無需東奔西走,奧松機(jī)器人配套全都有!

規(guī)格參數(shù)

1.電機(jī)驅(qū)動(dòng)輸出接口:雙路雙向直流電機(jī)驅(qū)動(dòng)
2.電源輸出接口:7~12V DC
3.OC輸出接口:兩路集電極開路輸出(25mA,5V電平)
4.板載指示燈:兩個(gè)可編程控制LED發(fā)光二極管
5.開關(guān)量接口:兩路開關(guān)量輸入/輸出(3.3V電平)
6.UART接口:3.3V電平6Pin串行接口,可直接連接藍(lán)牙模塊
7.I2C接口:5V電平I2C接口,可駁接各類I2C接口模塊
8.超聲波模塊接口:可直接連接URF02超聲波模塊
9.樹莓派接口:支持樹莓派、樹莓派B+、樹莓派2等
10.外形尺寸:56*40mm

使用方法

接口示意圖

樹莓派驅(qū)動(dòng)板接口定義

控制引腳說明

1.電源輸入端接入7—12V直流電源,電機(jī)驅(qū)動(dòng)板會(huì)給樹莓派提供5V電源,所以樹莓派插接電機(jī)驅(qū)動(dòng)板后,只需給驅(qū)動(dòng)板進(jìn)行供電而樹莓派無需額外的電源。
2.板載LED1、LED2,對(duì)外接口OC1、OC2分別是樹莓派的GPIO7、8、21、23經(jīng)過74HC14D反相器的輸出端,OC1、OC2分別連接一個(gè)LED模塊,使用樹莓派的IO輸出高低電平信號(hào),通過74HC14D驅(qū)動(dòng)LED點(diǎn)亮與熄滅。
GPIO7輸出高電平,LED1點(diǎn)亮,輸出低電平,LED1熄滅;
GPIO8輸出高電平,LED2點(diǎn)亮,輸出低電平,LED2熄滅;
GPIO22輸出高電平,OC1外接LED點(diǎn)亮,輸出低電平,OC1外接LED熄滅;
GPIO27輸出高電平,OC2外接LED點(diǎn)亮,輸出低電平,OC2外接LED熄滅;
3.電機(jī)A口的使能接GPIO10,方向控制接GPIO25,電機(jī)B口的使能接GPIO17,方向控制接GPIO4,使用樹莓派控制引腳可以進(jìn)行控制電機(jī)的啟動(dòng)停止和調(diào)速,通過方向引腳控制電機(jī)轉(zhuǎn)向。

  • A口使能GPIO17輸出高電平,A口方向GPIO25輸出高電平,A口電機(jī)順時(shí)針旋轉(zhuǎn);
  • A口使能GPIO17輸出高電平,A口方向GPIO25輸出低電平,A口電機(jī)逆時(shí)針旋轉(zhuǎn);
  • A口使能GPIO17輸出低電平,A口電機(jī)停止轉(zhuǎn)動(dòng);
  • B口使能GPIO10輸出高電平,B口方向GPIO4輸出高電平,B口電機(jī)順時(shí)針旋轉(zhuǎn);
  • B口使能GPIO10輸出高電平,B口方向GPIO4輸出低電平,B口電機(jī)逆時(shí)針旋轉(zhuǎn);
  • B口使能GPIO10輸出低電平,B口電機(jī)停止轉(zhuǎn)動(dòng);

4.SW1、SW2接口經(jīng)過限流電阻后直接連接在樹莓派的GPIO 11、9.在SW1、GND之間和SWD、GND之間,分別連接一個(gè)碰撞開關(guān),GPIO11、9設(shè)置為輸入,默認(rèn)電平為高電平(內(nèi)部有上拉電阻),當(dāng)開關(guān)閉合時(shí),GPIO的電平會(huì)被拉低。
5.I2C接口直接連接到樹莓派的I2C引腳(GPIO2 |SDA,GPIO 3|SCL),可以擴(kuò)展I2C模塊。
6.UART接口直接連接到樹莓派的UART引腳(GPIO 14|TX,GPIO 15|RX),可以擴(kuò)展UART模塊。
7.URF(超聲波接口)的OUTPUT經(jīng)過分壓直接連接到GPIO18,INPUT直接連接到GPIO23,樹莓派的GPIO 23至高10us以上,然后置低,等待GPIO 18接收到高電平信號(hào)時(shí),高電平結(jié)束時(shí)停止,計(jì)算高電平時(shí)間,所測量的距離 = 高電平時(shí)間*聲速/2。

插接方法

與樹莓派控制器的完美配合

基本測試代碼

需要將下載的示例程序復(fù)制到樹莓派的 pi 目錄下,可以使用 putty 登錄到 Raspberry Pi 控制器,輸入命令"cd RB-01C073A Raspberry Pi Motor Driver"進(jìn)入程序目錄,然后輸入"sudo python dianji1.py"命令來執(zhí)行程序。

  • 使用 Putty 登錄到 Raspberry Pi 方法可以參考:Raspberry Pi 基礎(chǔ)教程匯總
  • 注意程序中我們使用了一個(gè)庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個(gè)目錄下,會(huì)造成程序執(zhí)行失敗。
import time
import botbook_gpio as gpio

shinengA = 10	# <1>
fangxiangA = 25
shinengB = 17	# <1>
fangxiangB = 4
		
gpio.mode(shinengA, "out")
gpio.mode(shinengB, "out")
gpio.mode(fangxiangA, "out")
gpio.mode(fangxiangB, "out")
	
def qianjin()	
	gpio.write(shinengA, gpio.HIGH)
	gpio.write(fangxiangA, gpio.HIGH)
	gpio.write(shinengB, gpio.HIGH)
	gpio.write(fangxiangB, gpio.HIGH)
	print "qianjin" 
	time.sleep(1)
	
def houtui()
	gpio.write(shinengA, gpio.HIGH)
	gpio.write(fangxiangA, gpio.LOW)
	gpio.write(shinengB, gpio.HIGH)
	gpio.write(fangxiangB, gpio.LOW)
	print "houtui"
	time.sleep(1)
	
def zuozhuan()
	gpio.write(shinengA, gpio.HIGH)
	gpio.write(fangxiangA, gpio.LOW)
	gpio.write(shinengB, gpio.HIGH)
	gpio.write(fangxiangB, gpio.HIGH)
	print "zuozhuan"
	time.sleep(1)

def youzhuan()
	gpio.write(shinengA, gpio.HIGH)
	gpio.write(fangxiangA, gpio.HIGH)
	gpio.write(shinengB, gpio.HIGH)
	gpio.write(fangxiangB, gpio.LOW)
	print "youzhuan"
	time.sleep(1)	

def tingzhi()
	gpio.write(shinengA, gpio.LOW)
	gpio.write(fangxiangA, gpio.LOW)
	gpio.write(shinengB, gpio.LOW)
	gpio.write(fangxiangB, gpio.HIGH)
	print "tingzhi"
	time.sleep(1)
def main:
	qianjin()
	time.sleep(1)
	tingzhi()
	time.sleep(0.5)
	houtui()
	time.sleep(1)
	tingzhi()
	time.sleep(0.5)
	zuozhuan()
	time.sleep(1)
	tingzhi()
	time.sleep(0.5)
	youzhaun()
	time.sleep(1)
	tingzhi()
	time.sleep(0.5)
	
if __name__ == "__main__":
	main()            

代碼功能

代碼使用樹莓派執(zhí)行后,小車實(shí)現(xiàn)前后左右的運(yùn)動(dòng)。

超聲波測試?yán)?/span>

需要將下載的示例程序復(fù)制到樹莓派的 pi 目錄下,可以使用 putty 登錄到 Raspberry Pi 控制器,輸入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"進(jìn)入程序目錄,然后輸入"sudo python URF02.py"命令來執(zhí)行程序。

  • 使用 Putty 登錄到 Raspberry Pi 方法可以參考:Raspberry Pi 基礎(chǔ)教程匯總
  • 注意程序中我們使用了一個(gè)庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個(gè)目錄下,會(huì)造成程序執(zhí)行失敗。
import time
import botbook_gpio as gpio

def readDistanceCm():
	triggerPin = 23	# <1>
	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()	# <2>
		print "Distance is %.2f cm" % d
		time.sleep(0.5)

if __name__ == "__main__":
	main()

程序效果

程序執(zhí)行后,在 Putty 的登錄窗口會(huì)持續(xù)顯示出當(dāng)前超聲波檢測的前方障礙物距離,單位"cm",如果要退出程序,可以使用“Ctrl + C”組合鍵。

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購買地址

樹莓派電機(jī)驅(qū)動(dòng)板

周邊產(chǎn)品推薦

URF02超聲波傳感器
無線藍(lán)牙模塊
樹莓派二代控制器

相關(guān)問題解答

新買的樹莓派2,HDMI無信號(hào),ACT燈常亮
Raspberry Pi 常見問題的解決方法

相關(guān)學(xué)習(xí)資料

玩轉(zhuǎn)樹莓派系列視頻教程(一)
玩轉(zhuǎn)樹莓派系列視頻教程(二)
玩轉(zhuǎn)樹莓派系列視頻教程(三)
玩轉(zhuǎn)樹莓派系列視頻教程(四)
玩轉(zhuǎn)樹莓派系列視頻教程(五)
樹莓派新手教程三---使用raspi-config工具配置樹莓派
樹莓派新手教程二---如何安裝和啟動(dòng)你的樹莓派!
奧松機(jī)器人技術(shù)論壇樹莓派控制器版塊