機器人系統(tǒng)控制核心由ARM實現(xiàn)。其主要功能是處理需要復雜計算的信息,將經(jīng)過處理的信息再送回CAN總線,并對整個網(wǎng)絡進行管理。超聲波智能節(jié)點控制系統(tǒng)的主要功能就是判斷障礙物位置,將對移動機器人前進方向有阻礙的障礙物信息通過CAN總線傳回主控系統(tǒng),由主控系統(tǒng)作出相應處理并進行避障動作。本文將著重介紹超聲波智能節(jié)點控制系統(tǒng)。
1 超聲波智能節(jié)點控制系統(tǒng)的硬件設計
超聲波智能節(jié)點控制系統(tǒng)的硬件電路如圖2所示。
P87C591是51系列單片機,對于大部分熟悉51單片機的使用者來說它的使用方法十分簡單。下面分別介紹各個組成部分。
1.1 控制部分
超聲波傳感器的控制部分采用Philips半導體公司生產(chǎn)的P87C591。它是一個單片8位高性能微控制器,具有片內(nèi)CAN控制器,是從80C51微控制器家族派生出來的。它采用了強大的80C51指令集,并成功地包括了Philips半導體公司SJAl000 CAN控制器的PeliCAN功能;全靜態(tài)內(nèi)核提供了擴展的節(jié)電方式;振蕩器可停止和恢復而不會丟失數(shù)據(jù);改進的1:1內(nèi)部時鐘預分頻器在12 MHz外部時鐘速率時,實現(xiàn)500 ns指令周期;內(nèi)部具有的16 KB內(nèi)部程序存儲器完全滿足本系統(tǒng)要求。
作為系統(tǒng)控制核心,P87C591擔負兩個主要任務。其一是作為超聲波傳感器的控制核心,在其普通I/O口上擴展了超聲波傳感器的接收和發(fā)射部分電路,利用單片機軟件功能產(chǎn)生40 kHz信號并通過驅(qū)動放大發(fā)射出去,再利用接收部分電路進行接收。另外可以對其余口線繼續(xù)進行超聲波傳感器的擴展,實現(xiàn)多個超聲波傳感器系統(tǒng)的設計。其二是利用P87C591的片內(nèi)CAN控制器實現(xiàn)與CAN總線的連接。這樣的設計改變了過去在機器人控制核心上進行超聲波測距系統(tǒng)的設計,不但將超聲波檢測與處理的工作轉(zhuǎn)移到了單片機上,大大節(jié)省了機器人控制核心的系統(tǒng)資源,還將CAN總線智能節(jié)點的大部分控制工作也轉(zhuǎn)移到了單片機上,節(jié)省了硬件資源,同時CAN總線的采用大大提升了系統(tǒng)的抗干擾能力,使機器人控制系統(tǒng)更加穩(wěn)定地工作。
1.2 超聲波傳感器發(fā)射部分
超聲波傳感器發(fā)射部分硬件電路如圖3所示。
LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中。它是一個三級放大電路。
本部分硬件電路相對簡單,主要就是利用LM386的驅(qū)動放大功能將單片機產(chǎn)生的40 kHz方波放大輸出。因為在智能超聲波節(jié)點控制系統(tǒng)中單片機的工作相對較少,為節(jié)省硬件,不妨將40 kHz方波的產(chǎn)生這部分工作交由單片機的定時器來完成,這樣只需十分簡單的硬件電路即可完成。US—T1為超聲波發(fā)射頭。
1.3 超聲波傳感器接收部分
超聲波傳感器接收部分的硬件電路如圖4所示。
電路采用集成電路CX20106A。這是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距超聲波頻率40 kHz較為接近,可以利用它作為超聲波檢測電路。實驗證明,其具有很高的靈敏度和較強的抗干擾能力。適當改變C1的大小,可改變接收電路的靈敏度和抗干擾能力。R1和C1控制CX20106A內(nèi)部的放大增益,R2控制帶通濾波器的中心頻率。一般取R2=4.7Ω,C1=1μF。其余元件按圖4取值。US_R1為超聲波接收頭,當收到超聲波時產(chǎn)生一個下降沿,接到單片機的外部中斷INTO上。
當超聲波接收頭接收到40 kHz方波信號時,將會將此信號通過CX20106A驅(qū)動放大送入單片機的外部中斷0口。單片機在得到外部中斷O的中斷請求后,會轉(zhuǎn)入外部中斷O的中斷服務程序進行處理,在移動機器人的避障工作中,可以在中斷服務程序設定需要單片機處理的最短距離,比如O.5 m。對于距離大于0.5 m的障礙物,可以不做處理直接跳出中斷服務程序;對于距離小于或等于0.5 m的障礙物信息,則在中斷服務程序中進行處理并通過CAN總線上報機器人系統(tǒng)控制核心,由機器人系統(tǒng)控制核心發(fā)出命令指導機器人的避障動作。對于多超聲波傳感器系統(tǒng),每一個超聲波傳感器在判斷到對機器人行動有障礙物時可分別在其中斷服務程序中對障礙物信息進行簡單處理,上報給機器人系統(tǒng)控制核心的信息可以相對簡單,只需機器人系統(tǒng)控制核心控制機器人的實際動作,比如左轉(zhuǎn)30°,而不必機器人系統(tǒng)控制核心再次進行計算,這樣會節(jié)省大量系統(tǒng)資源去作其他更為復雜的工作。
1.4 CAN總線設計部分
CAN總線設計部分的硬件電路如圖5所示。
TJAl040是Philips.半導體公司生產(chǎn)的完全可替代PCA82C250的高速CAN總線收發(fā)器。該器件提供了CAN協(xié)議控制器和物理總線之間的接口,以及對CAN總線的差動發(fā)送和接收功能。TJAl040具有優(yōu)秀的EMC性能,而且在不上電狀態(tài)下有理想的無源性能;它還提供低功耗管理,支持遠程喚醒。值得一提的是TJAl040的自動防故障功能,在引腳TXD上提供了一個向VCC的上拉,使引腳TXD在不使用時保持隱性電平。引腳STB提供了一個向VCC的上拉,當不使用引腳STB時,收發(fā)器進入待機模式。如果VCC掉電,引腳TXD、STB和RXD就會變成懸浮狀態(tài),防止通過這些引腳產(chǎn)生反向電流。
這部分電路硬件相對簡單,但對于CAN總線的抗干擾能力需特別注意。本設計主要突出以下幾點:
圖中6N137是光電耦合器,P87C591的。RXDC腳(即P1.O口)作為CAN接收器的輸入腳,TXDC口(即P1.1口)作為CAN發(fā)送器的輸出腳,都通過6N137連接至CAN發(fā)送器TJAl040。采用光電耦合器6N137的目的是增強CAN總線節(jié)點的抗干擾能力,這樣的設計可以很好地實現(xiàn)總線上各CAN節(jié)點間的電氣隔離。但要注意的是,光耦部分電路所采用的兩個電源VCC和V必須完全隔離,否則光耦就失去了意義??刹捎脤S玫碾娫锤綦x模塊來實現(xiàn)。
①TJAl040作為CAN總線收發(fā)器,與CAN總線的接口部分也采取了抗干擾措施。TJAl040的CAN_H和CAN_L引腳各自通過一個5Ω電阻與CAN總線連接,電阻可以起到一定的限流作用,保護TJAl040不受過流的沖擊。
②CAN_H和CAN_L與地之間并聯(lián)了2個30 pF的電容,可以過濾掉總線上的高頻干擾和一定的電磁輻射。
③2根CAN總線接人端與地之間分別反接了一個保護二極管。當CAN總線有較高的負電壓時,通過二極管的續(xù)流可起到一定的過壓保護作用。
④總線兩端接的120Ω電阻起匹配總線阻抗的作用,忽略掉它會使數(shù)據(jù)通信的抗干擾性能及可靠性大大降低甚至無法通信。
1.5 其 他
除以上提到的幾個主要部分之外,還有單片機的復位電路、外部時鐘電路和電源等幾個部分,本文只提供了一種最簡單方案。在實際應用中,對于較為復雜的現(xiàn)場環(huán)境可以相應添加看門狗復位電路和獨立電源設計等復雜電路。值得注意的是,對于復位電路和電源電路應該給予足夠的重視。
2 超聲波智能節(jié)點控制系統(tǒng)的軟件編寫
軟件的編寫工作主要有兩個部分:超聲波測距部分和CAN總線的通信部分。
2.1 超聲波測距部分的軟件設計
超聲波發(fā)射部分的軟件設計相對簡單。在軟件編寫工作中,需要將超聲波持續(xù)發(fā)射一段時間以便被接收器準確接收。以下程序可作參考:
當超聲波接收器接收到回波時,硬件電路產(chǎn)生低電平觸發(fā)P87C591的外部中斷O口。軟件編寫的主要思想是,在中斷服務程序中由寄存器預先設定一個數(shù)值,這個數(shù)值是機器人避障的最短距離。從超聲波發(fā)射頭發(fā)射方波開始,到超聲波接收頭接收到回波為止,把這段時間換算成為距離,與上述最短距離相比較。如大于最短距離,則不作處理,跳出中斷服務程序;如等于或小于最短距離,則執(zhí)行相應動作。圖6是這部分程序的流程。
2.2 CAN總線通信部分的軟件編寫
這部分軟件編寫主要由以下幾部分組成:初始化、接收處理、發(fā)送處理、中斷處理及錯誤處理函數(shù)。由于系統(tǒng)中任意節(jié)點在任意時刻均可主動與其他節(jié)點通信,故各個節(jié)點通信程序大致相同。具體程序的編寫可參考P87C591的用戶手冊。
結(jié) 語
本文論述了以CAN總線擴展多路超聲波傳感器的基本思想,介紹了一種以Philips公司P87C591作為超聲波傳感器控制核心及CAN總線控制器和以TJAl040作為CAN總線收發(fā)器的CAN總線智能超聲波測距系統(tǒng)。與以往移動機器人超聲波傳感器測距系統(tǒng)相比,這個設計增加了CAN總線部分的設計,將多路超聲波傳感器的擴展轉(zhuǎn)移到智能節(jié)點部分上完成,簡化了移動機器人系統(tǒng)控制核心的工作;采取了比較簡單的硬件設計,主要是將超聲波傳感器的控制核心和CAN總線控制器集中到一起,采用P87C591一個器件完成兩種芯片的工作,大大節(jié)省硬件。另外,CAN總線的擴展也會令后續(xù)的移動機器人系統(tǒng)的進一步開發(fā)變得更為靈活。實踐證明這個設計可行,只是對于實際工作中不同應用場合的有些電路(比如復位電路、電源電路等外圍電路)在設計細節(jié)上還有待進一步細化。另外,軟件編寫方面還應特別注意多超聲波傳感器的抗干擾問題。
大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...
關鍵字: 系統(tǒng)設計 技術選型 需求分析(全球TMT2022年8月30日訊)近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部件的最...
關鍵字: 系統(tǒng)設計 英特爾 數(shù)據(jù)中心 生態(tài)系統(tǒng)北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部...
關鍵字: 系統(tǒng)設計 英特爾 數(shù)據(jù)中心 電量摘要:近年來,受人類活動的影響,各大水域的水質(zhì)污染問題越來越嚴重,大部分水資源受到嚴重污染,水質(zhì)處理問題亟需解決。分析水體污染情況對改進水質(zhì)有著重要意義,目前水質(zhì)監(jiān)測主要采用人工或無人船的方式。人工監(jiān)測方式工作量大,影響...
關鍵字: 水質(zhì)監(jiān)測 無人機 系統(tǒng)設計摘要:根據(jù)饒平縣高堂水閘重建工程建設實際需求,對高堂水閘運行管理進行實時在線式監(jiān)控與監(jiān)測,通過閘門控制、視頻監(jiān)控、水情測報、安全監(jiān)測和網(wǎng)絡通信等系統(tǒng)的設計,為高堂水閘的水工建筑物安全、防洪調(diào)度和自動化管理提供技術支持,以...
關鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設計湖州2022年7月26日 /美通社/ -- 近日,浙江省科技創(chuàng)新大會在浙江省人民大會堂隆重舉行。大會正式頒布2021年度浙江省科學技術進步獎,隆重表彰為浙江科技創(chuàng)新事業(yè)和經(jīng)濟社會發(fā)展做出突出貢獻的科技工作者及團隊。...
關鍵字: 電梯 檢測技術 系統(tǒng)設計 零部件摘要:簡要介紹了柴油發(fā)電機組和重油發(fā)電機組的構成和主要特點,以某發(fā)電廠重柴油發(fā)電機組系統(tǒng)設計為例,重點分析了重油發(fā)電機組燃油系統(tǒng)、潤滑油系統(tǒng)、循環(huán)冷卻水系統(tǒng)、壓縮空氣系統(tǒng)的設計要點,以提高柴油、重油發(fā)電機組的運行效率和運...
關鍵字: 重油發(fā)電機組 特性 系統(tǒng)設計摘要:針對一種小型消費級水下機器人,分析了其系統(tǒng)總體設計及各關鍵子系統(tǒng)(推進系統(tǒng)、通信系統(tǒng)、控制系統(tǒng)及其他系統(tǒng)等)設計的要點和方法,舉例介紹了一種五推進器小型消費級水下機器人。經(jīng)驗證,該設計方法可以用于同類型水下機器人的...
關鍵字: 推進器 系統(tǒng)設計 五推進器