基于PIC18F2580的CAN總線(xiàn)超聲波測距智能節點(diǎn)設計
圖3 超聲波發(fā)射部分電路圖
圖3中,LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應用于錄音機和收音機之中。它是一個(gè)三級放大電路。本部分硬件電路相對簡(jiǎn)單,主要就是利用LM386的驅動(dòng)放大功能將單片機產(chǎn)生的40 kHz方波放大輸出。因為在智能超聲波節點(diǎn)控制系統中單片機的工作相對較少,為節省硬件,不妨將40 kHz方波的產(chǎn)生這部分工作交由單片機的CCP模塊來(lái)完成。TX1為超聲波發(fā)射頭。
3.3 超聲波傳感器接收電路設計
電路采用集成電路CX20106A。這是一款紅外線(xiàn)檢波接收的集成電路,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距超聲波頻率40 kHz較為接近,可以利用它作為超聲波檢測電路。實(shí)驗證明,其具有很高的靈敏度和較強的抗干擾能力。適當改變C11的大小,可改變接收電路的靈敏度和抗干擾能力。R12和C11控制CX20106A內部的放大增益,R14控制帶通濾波器的中心頻率。一般取R12=4.7Ω,C11=1μF。其余元件按圖4取值。RX1為超聲波接收頭,當收到超聲波時(shí)產(chǎn)生一個(gè)下降沿,接到單片機的外部中斷INTO上。
圖4 超聲波接收部分電路圖
當超聲波接收頭接收到40 kHz方波信號時(shí),將會(huì )將此信號通過(guò)CX20106A驅動(dòng)放大送入單片機的外部中斷0口。單片機在得到外部中斷0的中斷請求后,會(huì )轉入外部中斷0的中斷服務(wù)程序進(jìn)行處理,在移動(dòng)機器人的避障工作中,可以在中斷服務(wù)程序設定需要單片機處理的最短距離,比如0.4m。對于距離大于0.4 m的障礙物,可以不做處理直接跳出中斷服務(wù)程序;對于距離小于或等于0.4m的障礙物信息,則在中斷服務(wù)程序中進(jìn)行處理并通過(guò)CAN總線(xiàn)上報機器人系統控制核心,由機器人系統控制核心發(fā)出命令指導機器人的避障動(dòng)作。對于多超聲波傳感器系統,每一個(gè)超聲波傳感器在判斷到對機器人行動(dòng)有障礙物時(shí)可分別在其中斷服務(wù)程序中對障礙物信息進(jìn)行簡(jiǎn)單處理,上報給機器人系統控制核心的信息可以相對簡(jiǎn)單,只需機器人系統控制核心控制機器人的實(shí)際動(dòng)作,比如右轉20°,而不必機器人系統控制核心再次進(jìn)行計算,這樣會(huì )節省大量系統資源去作其它更為復雜的工作。
3.4 CAN總線(xiàn)設計部分
TJAl040是Philips半導體公司生產(chǎn)的高速CAN總線(xiàn)收發(fā)器。該器件提供了CAN協(xié)議控制器和物理總線(xiàn)之間的接口,以及對CAN總線(xiàn)的差動(dòng)發(fā)送和接收功能。TJAl040具有優(yōu)秀的EMC性能,而且在不上電狀態(tài)下有理想的無(wú)源性能;它還提供低功耗管理,支持遠程喚醒。值得一提的是TJAl040的自動(dòng)防故障功能。STB引腳接地工作在正常模式下,引腳TXD提供了一個(gè)向VCC的上拉,使引腳TXD在不使用時(shí)保持隱性電平。如果VCC掉電,引腳TXD、STB和RXD就會(huì )變成懸浮狀態(tài),防止通過(guò)這些引腳產(chǎn)生反向電流。
6N137是光電耦合器,采用光電耦合器6N137的目的是增強CAN總線(xiàn)節點(diǎn)的抗干擾能力,這樣的設計可以很好地實(shí)現總線(xiàn)上各CAN節點(diǎn)間的電氣隔離。但要注意的是,光耦部分電路所采用的兩個(gè)電源VCC和VDD必須完全隔離,否則光耦就失去了意義。
TJAl040作為CAN總線(xiàn)收發(fā)器,與CAN總線(xiàn)的接口部分也采取了抗干擾措施。TJAl040的CANH1和CANL1引腳各自通過(guò)一個(gè)5Ω電阻與CAN總線(xiàn)連接,電阻可以起到一定的限流作用,保護TJAl040不受過(guò)流的沖擊。
評論