智能輪式移動(dòng)機(jī)器人嵌入式控制系統(tǒng)設(shè)計(jì)
CPLD中的電機(jī)控制電路由分頻電路、調(diào)速電路、相序分配電路組成。其中,分頻電路由分頻器構(gòu)成;調(diào)速電路是利用MAX+PLUSⅡ的LPM宏單元庫(kù)的算術(shù)運(yùn)算模塊lpm_counter構(gòu)成可預(yù)置數(shù)的5位減計(jì)數(shù)器。根據(jù)所需的速度,設(shè)置預(yù)置數(shù),計(jì)數(shù)器對(duì)分頻電路輸山的clk脈沖信號(hào)減計(jì)數(shù)至零時(shí)輸出一個(gè)借位脈沖,并再次裝入預(yù)置數(shù)進(jìn)行減計(jì)數(shù),將其借位脈沖cout作為調(diào)速電路的輸出脈沖,cout借位脈沖的頻率范圍為fclk/1-fclk/31,即引入了步長(zhǎng)為1的調(diào)速因子(預(yù)置數(shù))。可通過(guò)改變調(diào)速因子對(duì)脈沖信號(hào)進(jìn)行1~31倍的連續(xù)可調(diào)分頻,從而調(diào)節(jié)電機(jī)的轉(zhuǎn)速;而相序分配電路是以cout借位脈沖作為輸入,利用兩個(gè)D觸發(fā)器和門(mén)電路輸出4路相位相差90°的方波脈沖,作為兩相同步電機(jī)的控制信號(hào);stop信號(hào)控制電機(jī)的啟停;dir信號(hào)控制電機(jī)的轉(zhuǎn)向,正轉(zhuǎn)時(shí)相電壓uCD超前uAB 90°,反轉(zhuǎn)時(shí)uAB超前uCD90°,各相信號(hào)的頻率為cout脈沖頻率的1/4。CPLD中輸入的調(diào)速和相序分配電路原理見(jiàn)圖2。仿真結(jié)果驗(yàn)證了設(shè)計(jì)邏輯的正確性,如圖3所示。
外部驅(qū)動(dòng)器采用L298雙H橋高電壓大電流功率集成電路,將脈沖發(fā)牛電路產(chǎn)生的4相方波信號(hào)經(jīng)總線收發(fā)器74LS245輸出至L298的輸入端IN1~I(xiàn)N4,控制H橋的通斷,使電機(jī)正反轉(zhuǎn)或停止。為防止電機(jī)在啟停瞬間的反饋電壓損壞L298,在L298輸出端和電機(jī)之間加人8個(gè)二極管起斷電續(xù)流的保護(hù)作用。
為了改善電機(jī)的控制性能,實(shí)現(xiàn)對(duì)機(jī)器人更精確和穩(wěn)定的運(yùn)動(dòng)控制,需要獲得電機(jī)的速度信息作為電機(jī)控制的反饋環(huán)節(jié),該系統(tǒng)采用增量式光電編碼器作速度檢測(cè),兩個(gè)光電編碼器分別與兩路電機(jī)同軸相連,由CPLD配合ARM器件實(shí)現(xiàn)變脈沖數(shù)/脈沖周期測(cè)速,即變M/T測(cè)速,定時(shí)對(duì)電機(jī)速度進(jìn)行采樣。采樣速度和上位機(jī)的給定速度所得差值傳人PID控制器。從而實(shí)現(xiàn)對(duì)電機(jī)速度的閉環(huán)控制。
3.3超聲傳感模塊
避障是智能移動(dòng)機(jī)器人的基本功能,避障的首要任務(wù)是確定障礙物位置。PC機(jī)基于機(jī)器人視覺(jué)系統(tǒng)實(shí)現(xiàn)的路徑規(guī)劃易受視場(chǎng)光線強(qiáng)弱、背景色等因素干擾,針對(duì)這一問(wèn)題,機(jī)器人在單片機(jī)控制系統(tǒng)中采用超聲傳感器測(cè)距實(shí)現(xiàn)機(jī)器人對(duì)障礙物的檢測(cè)和定位。
超聲波測(cè)距采用時(shí)間渡越測(cè)距法,即根據(jù)從超聲波發(fā)生器發(fā)射出超聲波到超聲波在傳播過(guò)程中遇到障礙物后超聲波接收器接收到反射波所用時(shí)間t,以及超聲波在空氣中的傳播速度v(v=331.4(1+T/273)1/2m/s;T為攝氏溫度),得出機(jī)器人與障礙物之間的距離l=vt/2。該模塊共采用3對(duì)超聲換能器,分布于機(jī)器人的正前方、左前方、右前方。ARM發(fā)出控制信號(hào)啟動(dòng)內(nèi)部定時(shí)器進(jìn)行定時(shí)??刂菩盘?hào)經(jīng)功率放大后作為超聲傳感驅(qū)動(dòng)電路的啟動(dòng)信號(hào),由超聲傳感器產(chǎn)生遇到障礙物時(shí)返回的高頻振蕩信號(hào)放大后通過(guò)接收電路引起ARM外部中斷,在中斷程序中可以獲得定時(shí)器的計(jì)數(shù)值,并計(jì)算出距離。超聲傳感模塊框圖見(jiàn)圖4。
4.1嵌入式操作系統(tǒng)
智能輪式移動(dòng)機(jī)器人是一個(gè)典型的實(shí)時(shí)多任務(wù)系統(tǒng),傳統(tǒng)單任務(wù)順序執(zhí)行機(jī)制不能滿足該系統(tǒng)設(shè)計(jì)的實(shí)時(shí)性要求,而且對(duì)于復(fù)雜系統(tǒng)來(lái)說(shuō)可靠性不高,因此選用實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ。它是一個(gè)源碼公開(kāi),可移植,可固化,可裁剪的嵌入式操作系統(tǒng),具有代碼尺寸小,可占用實(shí)時(shí)內(nèi)核,任務(wù)多,可確定執(zhí)行時(shí)間,運(yùn)行穩(wěn)定可靠等特點(diǎn)。將μC/OS-Ⅱ移植到S3C44B0X上,并對(duì)操作系統(tǒng)進(jìn)行裁剪,以節(jié)省存儲(chǔ)空間。
基于實(shí)時(shí)內(nèi)核的多任務(wù)系統(tǒng)可劃分為系統(tǒng)層和應(yīng)用層。系統(tǒng)層由內(nèi)核和驅(qū)動(dòng)程序庫(kù)組成;應(yīng)用層包括用于達(dá)成機(jī)器人任務(wù)目標(biāo)的全部代碼。在該系統(tǒng)軟件應(yīng)用層程序設(shè)計(jì)中,將機(jī)器人的任務(wù)分解成通信、信息采集、電機(jī)控制等多個(gè)用戶任務(wù)。嵌入式操作系統(tǒng)μC/OS-Ⅱ?qū)θ蝿?wù)模塊進(jìn)行管理調(diào)度,協(xié)調(diào)機(jī)器人各項(xiàng)任務(wù)運(yùn)行,保證了系統(tǒng)的實(shí)時(shí)性和可靠性。
4.2運(yùn)動(dòng)控制算法
為了保證移動(dòng)機(jī)器人運(yùn)動(dòng)的穩(wěn)定性和準(zhǔn)確性,使得系統(tǒng)在控制機(jī)器人前進(jìn)、后退、轉(zhuǎn)彎、剎車(chē)等動(dòng)作時(shí)都能快速響應(yīng)且超調(diào)量小,在控制電機(jī)的過(guò)程中,系統(tǒng)采用了積分分離的PID控制算法。算法的具體實(shí)現(xiàn)方法如下:
5 結(jié)語(yǔ)
提出了一種基于ARM和CPLD的智能輪式移動(dòng)機(jī)器人控制系統(tǒng),這一方案充分利用ARM和CPLD的內(nèi)部資源,既具有ARM微控制器體積小,運(yùn)算速度快等特點(diǎn),又具有CPLD的高速邏輯處理能力,靈活的可擴(kuò)展性和可重構(gòu)性。軟硬件的調(diào)試和運(yùn)行實(shí)驗(yàn)證明,系統(tǒng)控制靈活,實(shí)時(shí)性好,可靠性高,能夠滿足智能輪式移動(dòng)機(jī)器人的控制需求。這種智能輪式移動(dòng)機(jī)器人的控制系統(tǒng)可用于不同場(chǎng)合的移動(dòng)機(jī)器人控制系統(tǒng),并具有一定的普遍適用性,且性價(jià)比高,具有很強(qiáng)的實(shí)用價(jià)值。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)pid控制器相關(guān)文章:pid控制器原理
評(píng)論