《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于P87C591的CAN總線超聲測距系統(tǒng)設計方案
基于P87C591的CAN總線超聲測距系統(tǒng)設計方案
Icbuy
Icbuy
摘要: 移動機器人的安全避障問題一直是該項研究的基本問題,目前解決此問題的基本方法是采用多路超聲波傳感器通過適當的安裝角度達到獲取多路測量信息的目的。對于多路超聲波傳感器的擴展,一般是在機器人系統(tǒng)控制核心之上進行。這樣做的缺點在于,超聲波傳感器的擴展占用了大量的系統(tǒng)硬件資源,另外大量的測量信息的處理也浪費了系統(tǒng)軟件資源。針對這一問題,筆者采用CAN總線擴展多路超聲波傳感器的作法。
Abstract:
Key words :
</a>傳感器通過適當的安裝角度達到獲取多路測量信息" title="信息">信息" title="信息">信息" title="信息">信息的目的。對于多路超聲波傳感器的擴展,一般是在機器人系統(tǒng)控制核心之上進行。這樣做的缺點在于,超聲波傳感器的擴展占用了大量的系統(tǒng)硬件資源,另外大量的測量信息的處理也浪費了系統(tǒng)軟件資源。針對這一問題,筆者采用CAN總線擴展多路超聲波傳感器的作法。這種作法有幾個優(yōu)點: 首先,CAN總線具有良好的傳輸防錯設計,保證了數據通信的可靠性;其次,多路超聲波傳感器的設計可由CAN總線智能節(jié)點實現,大大節(jié)省了系統(tǒng)硬件資源和軟件資源;第三,由于CAN總線對于網絡內的節(jié)點數在理論上不受限制,所以隨著對移動機器人研究的不斷深入,對于整個機器人系統(tǒng)的總體設計可以靈活地在CAN總線上進一步開發(fā)。本文介紹的CAN總線智能節(jié)點的設計以Philips公司的P87C591作為超聲波傳感器的控制核心。由于P87C591具有片上自帶的CAN控制器并且為CAN的應用提供了許多專用的硬件功能,因此又將它作為了系統(tǒng)的CAN總線控制器,大大節(jié)省了主控系統(tǒng)的資源。CAN總線的收發(fā)器采用TJA1040。系統(tǒng)總體結構框圖如圖1所示。

  機器人系統(tǒng)控制核心由ARM實現。其主要功能是處理需要復雜計算的信息,將經過處理的信息再送回CAN總線,并對整個網絡進行管理。超聲波智能節(jié)點控制系統(tǒng)的主要功能就是判斷障礙物位置,將對移動機器人前進方向有阻礙的障礙物信息通過CAN總線傳回主控系統(tǒng),由主控系統(tǒng)作出相應處理并進行避障動作。本文將著重介紹超聲波智能節(jié)點控制系統(tǒng)。

按此在新窗口瀏覽圖片

圖1系統(tǒng)總體結構框圖

  1超聲波智能節(jié)點控制系統(tǒng)的硬件設計

  超聲波智能節(jié)點控制系統(tǒng)的硬件電路如圖2所示。P87C591是51系列單片機,對于大部分熟悉51單片機的使用者來說它的使用方法十分簡單。下面分別介紹各個組成部分。

按此在新窗口瀏覽圖片

圖2超聲波智能節(jié)點控制系統(tǒng)

  1.1控制部分

  超聲波傳感器的控制部分采用Philips半導體公司生產的P87C591。它是一個單片8位高性能微控制器,具有片內CAN控制器,是從80C51微控制器家族派生出來的。它采用了強大的80C51指令集,并成功地包括了Philips半導體公司SJA1000 CAN控制器的PeliCAN功能;全靜態(tài)內核提供了擴展的節(jié)電方式;振蕩器可停止和恢復而不會丟失數據;改進的1∶1內部時鐘預分頻器在12 MHz外部時鐘速率時,實現500 ns指令周期;內部具有的16 KB內部程序存儲器完全滿足本系統(tǒng)要求。

  作為系統(tǒng)控制核心,P87C591擔負兩個主要任務。其一是作為超聲波傳感器的控制核心,在其普通I/O口上擴展了超聲波傳感器的接收和發(fā)射部分電路,利用單片機軟件功能產生40 kHz信號并通過驅動放大發(fā)射出去,再利用接收部分電路進行接收。另外可以對其余口線繼續(xù)進行超聲波傳感器的擴展,實現多個超聲波傳感器系統(tǒng)的設計。其二是利用P87C591的片內CAN控制器實現與CAN總線的連接。這樣的設計改變了過去在機器人控制核心上進行超聲波測距系統(tǒng)的設計,不但將超聲波檢測與處理的工作轉移到了單片機上,大大節(jié)省了機器人控制核心的系統(tǒng)資源,還將CAN總線智能節(jié)點的大部分控制工作也轉移到了單片機上,節(jié)省了硬件資源,同時CAN總線的采用大大提升了系統(tǒng)的抗干擾能力,使機器人控制系統(tǒng)更加穩(wěn)定地工作。

  1.2超聲波傳感器發(fā)射部分

  超聲波傳感器發(fā)射部分硬件電路如圖3所示。

按此在新窗口瀏覽圖片

圖3超聲波傳感器發(fā)射部分

  LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中。它是一個三級放大電路。

  本部分硬件電路相對簡單,主要就是利用LM386的驅動放大功能將單片機產生的40 kHz方波放大輸出。因為在智能超聲波節(jié)點控制系統(tǒng)中單片機的工作相對較少,為節(jié)省硬件,不妨將40 kHz方波的產生這部分工作交由單片機的定時器來完成,這樣只需十分簡單的硬件電路即可完成。UST1為超聲波發(fā)射頭。

  1.3超聲波傳感器接收部分

  超聲波傳感器接收部分的硬件電路如圖4所示。

按此在新窗口瀏覽圖片

圖4超聲波傳感器接收部分

  電路采用集成電路CX20106A。這是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器。考慮到紅外遙控常用的載波頻率38 kHz與測距超聲波頻率40 kHz較為接近,可以利用它作為超聲波檢測電路。實驗證明,其具有很高的靈敏度和較強的抗干擾能力。適當改變C1的大小,可改變接收電路的靈敏度和抗干擾能力。R1和C1控制CX20106A 內部的放大增益,R2控制帶通濾波器的中心頻率。一般取R1=4.7 Ω,C1=1 μF。其余元件按圖4取值。US_R1為超聲波接收頭,當收到超聲波時產生一個下降沿,接到單片機的外部中斷INT0上。

  當超聲波接收頭接收到40 kHz方波信號時,將會將此信號通過CX20106A驅動放大送入單片機的外部中斷0口。單片機在得到外部中斷0的中斷請求后,會轉入外部中斷0的中斷服務程序進行處理,在移動機器人的避障工作中,可以在中斷服務程序設定需要單片機處理的最短距離,比如0.5 m。對于距離大于0.5 m的障礙物,可以不做處理直接跳出中斷服務程序;對于距離小于或等于0.5 m的障礙物信息,則在中斷服務程序中進行處理并通過CAN總線上報機器人系統(tǒng)控制核心,由機器人系統(tǒng)控制核心發(fā)出命令指導機器人的避障動作。對于多超聲波傳感器系統(tǒng),每一個超聲波傳感器在判斷到對機器人行動有障礙物時可分別在其中斷服務程序中對障礙物信息進行簡單處理,上報給機器人系統(tǒng)控制核心的信息可以相對簡單,只需機器人系統(tǒng)控制核心控制機器人的實際動作,比如左轉30°,而不必機器人系統(tǒng)控制核心再次進行計算,這樣
會節(jié)省大量系統(tǒng)資源去作其他更為復雜的工作。

  1.4CAN總線設計部分

  CAN總線設計部分的硬件電路如圖5所示。

  TJA1040是Philips半導體公司生產的完全可替代PCA82C250的高速CAN總線收發(fā)器。該器件提供了CAN協議控制器和物理總線之間的接口,以及對CAN總線的差動發(fā)送和接收功能。TJA1040具有優(yōu)秀的EMC性能,而且在不上電狀態(tài)下有理想的無源性能;它還提供低功耗管理,支持遠程喚醒。值得一提的是TJA1040的自動防故障功能,在引腳TXD上提供了一個向VCC的上拉,使引腳TXD在不使用時保持隱性電平。引腳STB提供了一個向VCC的上拉,當不使用引腳STB時,收發(fā)器進入待機模式。如果VCC掉電,引腳TXD、STB和RXD就會變成懸浮狀態(tài),防止通過這些引腳產生反向電流。

  這部分電路硬件相對簡單,但對于CAN總線的抗干擾能力需特別注意。本設計主要突出以下幾點:

  圖中6N137是光電耦合器,P87C591的RXDC腳(即P1.0口)作為CAN接收器的輸入腳,TXDC口(即P1.1口)作為CAN發(fā)送器的輸出腳,都通過6N137連接至CAN發(fā)送器TJA1040。采用光電耦合器6N137的目的是增強CAN總線節(jié)點的抗干擾能力,這樣的設計可以很好地實現總線上各CAN節(jié)點間的電氣隔離。但要注意的是,光耦部分電路所采用的兩個電源VCC和V必須完全隔離,否則光耦就失去了意義。可采用專用的電源隔離模塊來實現。

按此在新窗口瀏覽圖片

圖5CAN總線設計部分

  ①TJA1040作為CAN總線收發(fā)器,與CAN總線的接口部分也采取了抗干擾措施。TJA1040的CAN_H和CAN_L引腳各自通過一個5 Ω電阻與CAN總線連接,電阻可以起到一定的限流作用,保護TJA1040不受過流的沖擊。

  ②CAN_H和CAN_L與地之間并聯了2個30 pF的電容,可以過濾掉總線上的高頻干擾和一定的電磁輻射。

  ③2根CAN總線接入端與地之間分別反接了一個保護二極管。當CAN總線有較高的負電壓時,通過二極管的續(xù)流可起到一定的過壓保護作用。

  ④總線兩端接的120 Ω電阻起匹配總線阻抗的作用,忽略掉它會使數據通信的抗干擾性能及可靠性大大降低甚至無法通信。

  1.5其他

  除以上提到的幾個主要部分之外,還有單片機的復位電路、外部時鐘電路和電源等幾個部分,本文只提供了一種最簡單方案。在實際應用中,對于較為復雜的現場環(huán)境可以相應添加看門狗復位電路和獨立電源設計等復雜電路。值得注意的是,對于復位電路和電源電路應該給予足夠的重視。

  2超聲波智能節(jié)點控制系統(tǒng)的軟件編寫

  軟件的編寫工作主要有兩個部分:超聲波測距部分和CAN總線的通信部分。

  2.1超聲波測距部分的軟件設計

  超聲波發(fā)射部分的軟件設計相對簡單。在軟件編寫工作中,需要將超聲波持續(xù)發(fā)射一段時間以便被接收器準確接收。以下程序可作參考:

  START:MOV TH0, #00H;將定時器初值設為0,產生一個方波即產生一次中斷

  MOV TL0, #00H

  MOV 10H, #4D;將10H單元做一個計數器實現200 ms定時

  SETB TR0;啟動定時器T0
  FS:CPL P2.0;P2.0口產生方波,對于6 MHz晶振頻率近似為40 kHz
REPEAT:MOV R0,#12

  DJNZ R0,REPEAT

  DJNZ 10H,FS

  RET

  ……

  END

按此在新窗口瀏覽圖片

圖6超聲波測距部分程序流程

  當超聲波接收器接收到回波時,硬件電路產生低電平觸發(fā)P87C591的外部中斷0口。軟件編寫的主要思想是,在中斷服務程序中由寄存器預先設定一個數值,這個數值是機器人避障的最短距離。從超聲波發(fā)射頭發(fā)射方波開始,到超聲波接收頭接收到回波為止,把這段時間換算成為距離,與上述最短距離相比較。如大于最短距離,則不作處理,跳出中斷服務程序;如等于或小于最短距離,則執(zhí)行相應動作。圖6是這部分程序的流程。

  2.2CAN總線通信部分的軟件編寫

  這部分軟件編寫主要由以下幾部分組成:初始化、接收處理、發(fā)送處理、中斷處理及錯誤處理函數。由于系統(tǒng)中任意節(jié)點在任意時刻均可主動與其他節(jié)點通信,故各個
節(jié)點通信程序大致相同。具體程序的編寫可參考P87C591的用戶手冊。

  結語

  本文論述了以CAN總線擴展多路超聲波傳感器的基本思想,介紹了一種以Philips公司P87C591作為超聲波傳感器控制核心及CAN總線控制器和以TJA1040作為CAN總線收發(fā)器的CAN總線智能超聲波測距系統(tǒng)。與以往移動機器人超聲波傳感器測距系統(tǒng)相比,這個設計增加了CAN總線部分的設計,將多路超聲波傳感器的擴展轉移到智能節(jié)點部分上完成,簡化了移動機器人系統(tǒng)控制核心的工作;采取了比較簡單的硬件設計,主要是將超聲波傳感器的控制核心和CAN總線控制器集中到一起,采用P87C591一個器件完成兩種芯片的工作,大大節(jié)省硬件。另外,CAN總線的擴展也會令后續(xù)的移動機器人系統(tǒng)的進一步開發(fā)變得更為靈活。實踐證明這個設計可行,只是對于實際工作中不同應用場合的有些電路(比如復位電路、電源電路等外圍電路)在設計細節(jié)上還有待進一步細化。另外,軟件編寫方面還應特別注意多超聲波傳感器的抗干擾問題。 

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩一区二区| 久久亚洲影院| 亚洲福利视频免费观看| 亚洲男同1069视频| 中文在线不卡视频| 亚洲视频999| 日韩午夜在线| 日韩视频永久免费观看| 最新国产拍偷乱拍精品| 亚洲黑丝在线| 亚洲欧洲一级| 亚洲美洲欧洲综合国产一区| 亚洲精品免费网站| 亚洲精品国产系列| 亚洲精品一区二| 亚洲精品午夜精品| 亚洲最黄网站| 一本色道88久久加勒比精品 | 欧美在线观看www| 午夜欧美精品久久久久久久| 午夜国产精品视频| 欧美一进一出视频| 久久gogo国模裸体人体| 久久久久久高潮国产精品视| 久久久久久91香蕉国产| 卡通动漫国产精品| 另类专区欧美制服同性| 欧美刺激午夜性久久久久久久| 欧美成人xxx| 欧美日韩国产999| 亚洲在线中文字幕| avtt综合网| 亚洲伦理在线观看| 妖精视频成人观看www| 中日韩高清电影网| 亚洲欧美国产一区二区三区| 久久成人精品一区二区三区| 久久久www成人免费毛片麻豆| 久久综合五月| 欧美激情综合在线| 国产精品久久久久国产精品日日| 国产麻豆一精品一av一免费| 国模精品一区二区三区| 亚洲黄色有码视频| 亚洲视屏一区| 久久精品亚洲乱码伦伦中文| 亚洲精品中文字| 亚洲欧美一区二区三区久久 | 亚洲高清在线播放| av72成人在线| 欧美一区二区大片| 可以免费看不卡的av网站| 欧美精品福利| 国产精品一区二区你懂得 | 精品999久久久| 亚洲精品一二三区| 午夜久久福利| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲福利视频一区二区| 日韩五码在线| 欧美一区二区网站| 欧美精彩视频一区二区三区| 国产精品久久毛片a| 一色屋精品视频在线看| 99在线精品观看| 久久激情视频久久| 亚洲视频综合| 看欧美日韩国产| 国产精品美女久久久久av超清 | 亚洲网友自拍| 久久久久久网| 国产精品sss| 在线不卡中文字幕播放| 一区二区免费在线观看| 亚洲国产成人91精品| 亚洲一区高清| 免费的成人av| 国产日韩视频| 夜夜嗨一区二区三区| 亚洲国产综合91精品麻豆| 亚洲欧美色婷婷| 欧美激情中文字幕乱码免费| 国产专区一区| 亚洲影院在线观看| 一区二区成人精品| 久久香蕉精品| 国产精品综合网站| 99热在线精品观看| 亚洲美女中文字幕| 看片网站欧美日韩| 国产欧美一区二区三区沐欲 | 99精品视频免费全部在线| 亚洲精品1区2区| 久久国产一区| 国产精品久久久久久久久久免费看| 亚洲高清在线观看| 久久精品91| 欧美伊人久久久久久久久影院| 欧美日韩国产一级| 亚洲福利视频网站| 亚洲电影天堂av| 久久国产精品久久久久久电车| 欧美日韩精品欧美日韩精品| 亚洲级视频在线观看免费1级| 亚洲成色999久久网站| 香蕉久久夜色精品国产使用方法| 欧美日韩免费观看一区三区| 亚洲国产精品传媒在线观看| 久久精品一区二区国产| 欧美在线亚洲| 国产精品网站视频| 一区二区三区|亚洲午夜| av成人福利| 欧美理论大片| 亚洲精品一二三区| 日韩午夜在线| 欧美国产一区在线| 亚洲日韩第九十九页| 亚洲毛片在线| 欧美激情一区二区三区全黄| 亚洲国产欧美在线| 日韩视频久久| 欧美日韩ab片| 亚洲人妖在线| 亚洲视频一二区| 欧美视频你懂的| 日韩亚洲欧美高清| 在线视频免费在线观看一区二区| 欧美精品久久久久久| 亚洲人成在线播放| 中日韩视频在线观看| 欧美日韩视频在线一区二区观看视频| 亚洲精品小视频| 亚洲中字在线| 国产精品日韩二区| 性欧美精品高清| 久久综合色播五月| 亚洲高清不卡一区| 亚洲免费观看| 欧美午夜在线| 午夜精品av| 另类综合日韩欧美亚洲| 91久久精品日日躁夜夜躁欧美 | 久久精品视频在线观看| 国内免费精品永久在线视频| 亚洲国产影院| 欧美日韩国产一中文字不卡| 亚洲视频在线免费观看| 久久se精品一区二区| 激情久久综合| 日韩午夜精品| 国产精品麻豆va在线播放| 午夜久久影院| 女主播福利一区| 日韩亚洲精品视频| 欧美一区二区成人| 激情五月综合色婷婷一区二区| 亚洲欧洲一区二区天堂久久| 欧美日韩在线电影| 午夜在线成人av| 老牛影视一区二区三区| 亚洲精品视频在线观看免费| 午夜精品www| 国内精品国产成人| 亚洲美女电影在线| 国产精品乱码人人做人人爱| 欧美一区二区三区四区在线观看地址| 你懂的视频一区二区| 一卡二卡3卡四卡高清精品视频 | 欧美日韩精品一本二本三本| 亚洲一区免费视频| 久久久综合免费视频| 亚洲精品网站在线播放gif| 欧美一级久久久| 亚洲电影激情视频网站| 中日韩美女免费视频网站在线观看| 国产精品第十页| 亚洲国产精品成人| 欧美日韩免费一区| 久久aⅴ乱码一区二区三区| 欧美精品www| 校园激情久久| 欧美三级特黄| 亚洲激情欧美激情| 国产精品一区久久久久| 亚洲青色在线| 国产拍揄自揄精品视频麻豆| 夜色激情一区二区| 国产一区二区三区四区hd| 99热这里只有精品8| 国产亚洲欧美激情| 亚洲视频久久| 在线观看日韩一区| 欧美一二区视频| 亚洲精品一区在线观看| 久久亚洲春色中文字幕| 亚洲特级毛片| 欧美精品一区在线播放| 久久精品欧美日韩精品| 国产精品亚洲一区|