智能輪式移動機器人嵌入式控制系統設計
CPLD中的電機控制電路由分頻電路、調速電路、相序分配電路組成。其中,分頻電路由分頻器構成;調速電路是利用MAX+PLUSⅡ的LPM宏單元庫的算術運算模塊lpm_counter構成可預置數的5位減計數器。根據所需的速度,設置預置數,計數器對分頻電路輸山的clk脈沖信號減計數至零時輸出一個借位脈沖,并再次裝入預置數進行減計數,將其借位脈沖cout作為調速電路的輸出脈沖,cout借位脈沖的頻率范圍為fclk/1-fclk/31,即引入了步長為1的調速因子(預置數)。可通過改變調速因子對脈沖信號進行1~31倍的連續可調分頻,從而調節電機的轉速;而相序分配電路是以cout借位脈沖作為輸入,利用兩個D觸發器和門電路輸出4路相位相差90°的方波脈沖,作為兩相同步電機的控制信號;stop信號控制電機的啟停;dir信號控制電機的轉向,正轉時相電壓uCD超前uAB 90°,反轉時uAB超前uCD90°,各相信號的頻率為cout脈沖頻率的1/4。CPLD中輸入的調速和相序分配電路原理見圖2。仿真結果驗證了設計邏輯的正確性,如圖3所示。

外部驅動器采用L298雙H橋高電壓大電流功率集成電路,將脈沖發牛電路產生的4相方波信號經總線收發器74LS245輸出至L298的輸入端IN1~IN4,控制H橋的通斷,使電機正反轉或停止。為防止電機在啟停瞬間的反饋電壓損壞L298,在L298輸出端和電機之間加人8個二極管起斷電續流的保護作用。
為了改善電機的控制性能,實現對機器人更精確和穩定的運動控制,需要獲得電機的速度信息作為電機控制的反饋環節,該系統采用增量式光電編碼器作速度檢測,兩個光電編碼器分別與兩路電機同軸相連,由CPLD配合ARM器件實現變脈沖數/脈沖周期測速,即變M/T測速,定時對電機速度進行采樣。采樣速度和上位機的給定速度所得差值傳人PID控制器。從而實現對電機速度的閉環控制。
3.3超聲傳感模塊
避障是智能移動機器人的基本功能,避障的首要任務是確定障礙物位置。PC機基于機器人視覺系統實現的路徑規劃易受視場光線強弱、背景色等因素干擾,針對這一問題,機器人在單片機控制系統中采用超聲傳感器測距實現機器人對障礙物的檢測和定位。
超聲波測距采用時間渡越測距法,即根據從超聲波發生器發射出超聲波到超聲波在傳播過程中遇到障礙物后超聲波接收器接收到反射波所用時間t,以及超聲波在空氣中的傳播速度v(v=331.4(1+T/273)1/2m/s;T為攝氏溫度),得出機器人與障礙物之間的距離l=vt/2。該模塊共采用3對超聲換能器,分布于機器人的正前方、左前方、右前方。ARM發出控制信號啟動內部定時器進行定時。控制信號經功率放大后作為超聲傳感驅動電路的啟動信號,由超聲傳感器產生遇到障礙物時返回的高頻振蕩信號放大后通過接收電路引起ARM外部中斷,在中斷程序中可以獲得定時器的計數值,并計算出距離。超聲傳感模塊框圖見圖4。
4.1嵌入式操作系統
智能輪式移動機器人是一個典型的實時多任務系統,傳統單任務順序執行機制不能滿足該系統設計的實時性要求,而且對于復雜系統來說可靠性不高,因此選用實時操作系統μC/OS-Ⅱ。它是一個源碼公開,可移植,可固化,可裁剪的嵌入式操作系統,具有代碼尺寸小,可占用實時內核,任務多,可確定執行時間,運行穩定可靠等特點。將μC/OS-Ⅱ移植到S3C44B0X上,并對操作系統進行裁剪,以節省存儲空間。
基于實時內核的多任務系統可劃分為系統層和應用層。系統層由內核和驅動程序庫組成;應用層包括用于達成機器人任務目標的全部代碼。在該系統軟件應用層程序設計中,將機器人的任務分解成通信、信息采集、電機控制等多個用戶任務。嵌入式操作系統μC/OS-Ⅱ對任務模塊進行管理調度,協調機器人各項任務運行,保證了系統的實時性和可靠性。
4.2運動控制算法
為了保證移動機器人運動的穩定性和準確性,使得系統在控制機器人前進、后退、轉彎、剎車等動作時都能快速響應且超調量小,在控制電機的過程中,系統采用了積分分離的PID控制算法。算法的具體實現方法如下:

5 結語
提出了一種基于ARM和CPLD的智能輪式移動機器人控制系統,這一方案充分利用ARM和CPLD的內部資源,既具有ARM微控制器體積小,運算速度快等特點,又具有CPLD的高速邏輯處理能力,靈活的可擴展性和可重構性。軟硬件的調試和運行實驗證明,系統控制靈活,實時性好,可靠性高,能夠滿足智能輪式移動機器人的控制需求。這種智能輪式移動機器人的控制系統可用于不同場合的移動機器人控制系統,并具有一定的普遍適用性,且性價比高,具有很強的實用價值。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)pid控制器相關文章:pid控制器原理








評論