自主式移動機器人系統是指根據指令任務及環境信息進行自主路徑規劃,并且在任務執行過程中不斷采集局部環境信息,做出決策,從而實現安全行駛并準確到達目標地點的智能系統。本文以LPC2119為控制核心,介紹了一種輪式移動機器人的設計方案。該機器人系統應用超聲傳感器、光敏傳感器、碰撞傳感器采集外部環境信息,采用PTR2000實現移動機器人與計算機通信,從而實現現場信息的反饋和計算機控制命令的發送。 LPC2119是Philips公司推出的支持實時仿真和跟蹤的 ARM7TDMI-S微處理器,嵌入128KB高速Flash存儲器。它采用3級流水線技術,取指、譯碼和執行同時進行,能夠并行處理指令,提高CPU運行速度。由于其具有非常小的尺寸和極低的功耗,非常適合小型化應用。片內多達64KB的SRAM,具有較大的緩沖區規模和強大的處理能力。LPC2119 內部集成2個CAN控制器、2個32位定時計數器和4個ADC單元電路。 1 硬件結構 控制器 LPC2119主要用來產生2路PWM信號以及處理傳感器信息,實現對小車的智能控制。本系統采用IR2110作為H橋電路驅動芯片,用4片 STP60NE06搭接H橋電路驅動直流電機,并利用光電編碼器檢測電機轉速;采用16路超聲傳感器系統作為系統的避碰和簡單測距;采用光敏傳感器實現機器人對光源的感知和尋找;采用碰撞傳感器感知碰撞,使機器人能做出急時處理;采用無線通信芯片PTR2000實現機器人與計算機的無線通信。 1.1 電機的PWM控制 IR2110是美國IR(International Rectifier)公司推出的一種雙通道、高壓、高速的功率器件柵極驅動的單片式集成驅動器。它把驅動高壓側和低壓側MOSFET或IGBT所需的絕大部分功能集成在一個高性能的封裝內,外接很少的分立元件即能提供極快的開關速度和極低的功耗。其特點在于:將輸入邏輯信號轉換成同相位低阻抗輸出驅動信號,可驅動同一橋臂上的2路輸出,驅動能力強,響應速度快;工作電壓較高,可達600V;內設欠壓封鎖;成本低、易于調試;電路芯片體積小,為DIP14 封裝。高壓側驅動采用外部自舉電容上電,與其他IC驅動電路相比,在設計上大大減少了驅動變壓器和電容的數目,降低了產品成本,減小了體積,提高了系統的可靠性。這種適用于驅動功率MOSFET和IGBT的自舉式集成電路,在電源變換、電機調速等功率驅動領域中獲得了廣泛的應用。 LPC2119單片機的PWM功能建立在標準定時器上,它具有32位的定時控制器及預分頻控制器、7個匹配控制器,可實現6個單邊PWM或3個雙邊PWM 輸出,也可以使用這兩種類型的混合輸出。此系統使用端口PWM0和PWM1輸出兩路PWM信號,分別控制移動機器人的2個驅動電機。PWM信號經過光電耦合器形成兩路相位相差180°的信號加到IR2110的HIN和LIN引腳上,實現對同一橋臂上的兩個MOSFET開關的控制,原理如圖1所示。 HIN為高電平期間,Q1、Q4導通,在直流電機上加正向工作電壓;HIN為低電平期間,LIN端輸入高電平,Q2、Q3導通,在直流電機上加反向工作電壓。因此電樞上的工作電壓是雙極性矩形脈沖波形。由于機械慣性的作用,矩形脈沖電壓的平均值決定電動機的轉向和轉速。 1.2 超聲傳感器系統 為減輕控制器LPC2119的負擔,超聲傳感器系統由Atmel公司的AT89C1051單片機控制。1051單片機是含有一個1KB 可編程E2PROM的高性能微控制器,它與工業標準MCS-51的指令和引腳兼容。它為很多嵌入式控制應用提供了一個高度靈活、有效的解決方案。AT89C1051有以下特點:1KB的E2PROM、128B的RAM、15根I/O線、2個16位定時/計數器、5個二級向量中斷結構、1個全雙向的串行口且內含精密模擬比較器和片內振蕩器,具有4.25~5.5V的電壓工作范圍及24MHz工作頻率,同時還具有加密陣列的二級程序存儲器加鎖、掉電和時鐘電路等。此外,AT89C1051還支持兩種軟件設置的電源節電方式?臻e時,CPU停止,而RAM、定時/ 計數器、串行口和中斷系統繼續工作。掉電時,保存RAM的內容,但振蕩器停振以禁止芯片其他功能,直到下一次硬件復位。 1051控制每 60ms發送一路超聲波,檢測回波時間,并完成距離的計算。這樣16路超聲波循環檢測一次約為1s,在常溫時超聲波的速度約為344m/s,可以計算出障礙物的距離,最后將超聲波傳感器編號及距離信息傳送給LPC2119。 超聲波發射及接收子系統如圖2所示。1051利用P1.0引腳向外發送 40kHz的脈沖信號,此信號作為4-16譯碼器74HC154的使能信號,引腳P1.1~P1.4作為譯碼信號,分別對應編號0~15的超聲波傳感器。此信號經過9013放大后推動換能器產生40kHz的超聲波信號。 LM567是一片鎖相環電路,其5、6腳外接的電阻和電容決定了內部壓控振蕩器的中心頻率f2,f2≈1/1.1RC。其1、2腳分別通過電容器接地,形成輸出濾波網絡和環路單級低通濾波網絡。2腳所接電容決定鎖相環路的捕捉帶寬:電容值越大,環路帶寬越窄。LM567的工作電壓為4.75~9V,工作頻率從直流到500kHz,靜態工作電流約8mA。 超聲子系統基本功能為:當接收器接收到超聲波回波時,產生交流小信號,此信號經過LM358組成2級放大電路后,幅值達25mV以上。當LM567的3腳輸入幅度 ≥25mV、頻率為40kHz的信號時,8腳由高電平變成低電平,此低電平信號被連接到1051的INT0引腳產生中斷信號。1051在超聲波發送時啟動定時器,在INT0中斷時關閉定時器,由此可以得到超聲波的傳播時間,并計算出障礙物距離。 應用本系統對測量范圍為30~400cm的平面物體做了多次測量發現,其最大誤差為0.5cm,且重復性好。如果加大超聲波發射的驅動電流,接收部分的放大電路再加一級,可以使檢測距離增大到 600cm。 1.3 無線通信子系統 此系統選用微小型、低功耗、 19.2kbps的無線收發MODEM芯片PTR2000實現機器人與計算機的無線通信。該芯片的工作頻率為國際通用的數傳頻段433MHz,采用FSK 調制,可連接到計算機的RS232接口。系統采用的通信協議如下: [開始字符] [數據1] [數據2]……[校驗和] [結束字符] 將PTR2000的DO、DIN引腳分別與LPC2119的TXD0(13引腳)和RXD0(14引腳)相連,作為串行通信的通道。CS為 PTR2000模塊的頻率選擇信號;PWR為模塊節能引腳,正常工作為高電平。TXEN是模塊發射接收控制,由LPC2119的I/O口控制。 PTR2000是收發一體的集成芯片,采用3.3V供電,可以與LPC2119無縫連接。PTR2000作為發射端與PC機相連時,需要通過一個電平轉換器(本文為MAX3232)轉換成RS-232電平。PLC2119可以通過把輸出口置1或清0將無線收發模塊PTR2000設置為發送或接收狀態;可通過VB的MSComm控件的RTSEnable屬性實現對計算機串口的控制。 1.4 光敏傳感器子系統 機器人使用的光敏傳感器為硫化鎘光電管(CDS)。硫化鎘光電管的電阻值隨著照射的表面光的多少而變化,光線越強,電阻值越小。硫化鎘光電管通常也稱為光敏電阻。CDS的電阻值對較少的光線就能產生較大的變化,是機器人系統較為常用的一種光敏傳感器。在機器人車體上平均分布8個同樣的光敏傳感器,感知機器人周圍的光強變化。通過采集各傳感器的輸出電壓,由軟件算法確定機器人的路徑,使機器人總是朝光線更強的方向行走,實現對光源的尋找。 將一個精密電阻與CDS器件串聯,該電阻起分壓作用,將CDS器件的電阻值轉換成應對模/數轉換器件(ADC)適當的電壓值。CDS器件的分壓輸出給ADC,隨后電壓值轉換為數字值。當更多的光線照在CDS器件上時,其電阻和ADC上輸出的電壓值都會減小。一般取這個精密電阻的阻值與CDS器件的最大電阻值相等。 2 軟件編程 因任務不同,系統的軟件設計有所不同。本移動機器人系統的任務是在已知大小且光線較暗的封閉環境中自主尋找光源。 系統軟件在啟動后先進行系統的自檢和初始化,然后進行路徑的規劃。先橫向遍歷整個環境,如果發現光源,機器人停止運動,等待命令;如果沒有找到光源,再縱向遍歷整個環境,如果發現光源,機器人停止運動;如果還是沒有找到,就顯示出錯信息。當超聲波子系統發現前方有障礙物或機器人與障礙物發生碰撞時,將產生外部中斷,終止程序的運行,控制器LPC2119將收到障礙物距離或碰撞信息,并由此重新規劃路徑,由此實現機器人的自主運行。 本設計是一個基于ARM7微處理器的車載嵌入式系統,不僅滿足了移動機器人控制系統的要求而且為機器人的轉型應用提供了良好的技術支持。在此基礎上可以加入各種先進的控制算法,實現移動機器人的智能化。 參考文獻 1 (美)Murphy Robin R.人工智能機器人學導論[M].北京:電子工業出版社,2004 2 周立功.ARM微控制器基礎與實踐[M].北京:北京航空航天大學出版社,2003 3 張 立.現代電力電子技術基礎[M].北京:高等教育出版社,2001 4 孟慶浩,彭商賢,張偉軍.移動機器人導航系統中超聲測距數據的采集與處理[J].數據的采集與處理,1997;12(2):137~141 5 丁鎮生.傳感器及傳感器技術應用[M].北京:電子工業出版社,1998 6 (美)邁克·普瑞德科.機器人控制器與程序設計[M].北京:科學出版社,2004 作者: 宋長會 趙國良 李濤 任楨 (哈爾濱工程大學,自動化學院,黑龍江,哈爾濱,150001) 來源:電子技術應用 2006 32(8) |