基于雙AVR單片機(jī)的懸掛物體尋跡控制系統(tǒng)
歷屆全國(guó)電子設(shè)計(jì)競(jìng)賽的題目可以分為電源類(lèi)、信號(hào)源類(lèi)、無(wú)線電類(lèi)、放大器類(lèi)、儀器儀表類(lèi)、數(shù)據(jù)采集與處理類(lèi)和自動(dòng)控制類(lèi),在2005年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽中,懸掛物體控制系統(tǒng)就是一道典型的自動(dòng)控制類(lèi)賽題。本文著重介紹一種基于雙單片機(jī)的懸掛物體沿板上標(biāo)出的任意曲線運(yùn)動(dòng)的控制系統(tǒng)方案。
1系統(tǒng)設(shè)計(jì)要求和設(shè)計(jì)思路
題目要求控制物體沿板上標(biāo)出的任意曲線運(yùn)動(dòng),如圖1所示。曲線在測(cè)試時(shí)現(xiàn)場(chǎng)標(biāo)出,線寬1.5cm~1.8cm,總長(zhǎng)度約50cm,顏色為黑色;曲線的前一部分是連續(xù)的,長(zhǎng)約30cm;后一部分是兩段總長(zhǎng)約20cm的間斷線段,間斷距離不大于1cm;沿連續(xù)曲線運(yùn)動(dòng)限定在200s內(nèi)完成,沿間斷曲線運(yùn)動(dòng)限定在300s內(nèi)完成。
懸掛物體初始點(diǎn)a的坐標(biāo)由鍵盤(pán)輸入,初始時(shí)刻安裝紅外探頭,由微型步進(jìn)電機(jī)控制的搖臂處于水平位置。系統(tǒng)啟動(dòng)后,微型步進(jìn)電機(jī)驅(qū)動(dòng)搖臂順時(shí)針旋轉(zhuǎn),最大轉(zhuǎn)角為180°。紅外探頭的運(yùn)動(dòng)軌跡與黑色圓弧會(huì)有一個(gè)交點(diǎn)b,并記錄步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度。通過(guò)系統(tǒng)起始點(diǎn)a的坐標(biāo)和步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度,可求得運(yùn)動(dòng)控制下一點(diǎn)b的坐標(biāo)。求得b點(diǎn)坐標(biāo)后,控制懸掛物體向該點(diǎn)作直線運(yùn)動(dòng),同時(shí)搖臂作逆時(shí)針旋轉(zhuǎn)90°,以保證下一個(gè)檢測(cè)交點(diǎn)在其180°搜索范圍內(nèi)。若搖臂旋轉(zhuǎn)180°,仍沒(méi)有交點(diǎn),則認(rèn)為曲線在此處有斷點(diǎn),系統(tǒng)控制懸掛物體按原方向繼續(xù)前進(jìn)一個(gè)步長(zhǎng),再次進(jìn)行掃描,以求得下一個(gè)檢測(cè)點(diǎn)的位置。若懸掛物體偏離軌跡,如圖2中c點(diǎn)的位置,系統(tǒng)也可通過(guò)下一個(gè)點(diǎn)的檢測(cè)讓?xiě)覓煳矬w自動(dòng)回復(fù)到軌跡點(diǎn),因此,本方法可有效糾正軌跡偏差,實(shí)現(xiàn)尋跡控制的能力。
2 系統(tǒng)方案設(shè)計(jì)
懸掛物體運(yùn)動(dòng)控制系統(tǒng)的基本方案方框圖如圖3所示,系統(tǒng)主要由控制模塊、黑線檢測(cè)模塊和通信模塊組成。其中,控制模塊由atmega128l單片機(jī)最小系統(tǒng)1、鍵盤(pán)輸入電路、液晶顯示電路和步進(jìn)電機(jī)驅(qū)動(dòng)電路組成;檢測(cè)模塊由atmega128l單片機(jī)最小系統(tǒng)2、紅外線反射電路和微步進(jìn)電機(jī)驅(qū)動(dòng)電路組成。
黑線檢測(cè)模塊中的單片機(jī)系統(tǒng)控制微型步進(jìn)電機(jī),帶動(dòng)裝有紅外探頭的搖臂巡回?cái)[動(dòng),檢測(cè)板上的黑線,得出微型步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)角度。角度數(shù)據(jù)經(jīng)過(guò)編碼后,通過(guò)無(wú)線傳輸模塊發(fā)送給控制模塊單片機(jī)系統(tǒng)??刂颇K中的單片機(jī)系統(tǒng)接收到角度數(shù)據(jù)后.進(jìn)行數(shù)據(jù)校驗(yàn)。若數(shù)據(jù)準(zhǔn)確,則通過(guò)控制步進(jìn)電機(jī)驅(qū)動(dòng)電路控制懸掛物體從當(dāng)前坐標(biāo)沿轉(zhuǎn)動(dòng)角度移動(dòng)固定距離,然后,向檢測(cè)模塊發(fā)出下一輪檢測(cè)命令;若數(shù)據(jù)傳輸有誤,則向檢測(cè)模塊發(fā)出數(shù)據(jù)重發(fā)命令,等待下一輪角度數(shù)據(jù)接收。
3 硬件設(shè)計(jì)
3.1 atmega128l單片機(jī)最小系統(tǒng)
單片機(jī)是整個(gè)懸掛物體運(yùn)動(dòng)控制系統(tǒng)的核心,控制系統(tǒng)所有電路。本系統(tǒng)采用atmel公司的atmega128l單片機(jī),有如下特點(diǎn):
①工作電壓為2.7~5.5 v,可承受的電壓波動(dòng)范圍較大,可有效克服由于模塊內(nèi)的微型步進(jìn)電機(jī)導(dǎo)致的電源電壓不穩(wěn)定所帶來(lái)的干擾,使系統(tǒng)能在一個(gè)較寬的電平范圍內(nèi)正常工作。
②片內(nèi)資源豐富。atmega128l存儲(chǔ)器容量大,有128 kb flash,4 kb e2prom和4 kb ram,可以滿(mǎn)足系統(tǒng)復(fù)雜的運(yùn)算和一定量的數(shù)據(jù)存儲(chǔ)要求;53個(gè)i/o端口,可滿(mǎn)足系統(tǒng)多傳感輸入和多控制輸出端口要求;i/o口具有大電流輸出的特點(diǎn),驅(qū)動(dòng)能力強(qiáng);內(nèi)置看門(mén)狗,提高系統(tǒng)的抗干擾能力。
③可在線編程,方便系統(tǒng)的凋試。
3.2紅外線反射電路
采用帶脈沖調(diào)制功能的紅外線反射傳感器檢測(cè)黑線軌跡,電路如圖4所示。電路中鎖相音頻譯碼器lm567既作為紅外線發(fā)射部分的信號(hào)發(fā)生電路,也作為接收部分的檢測(cè)電路,只有檢測(cè)到的輸入信號(hào)的頻率和本身的鎖相中心頻率相同時(shí),才使輸出端為低電平。該電路容易濾除外界干擾,電路的穩(wěn)定性和抗干擾能力強(qiáng),同時(shí)可以調(diào)節(jié)譯碼器不同的中心頻率,使得在同一設(shè)備使用多個(gè)紅外線傳感器而不會(huì)相互干擾。
3.3步進(jìn)電機(jī)驅(qū)動(dòng)電路
控制系統(tǒng)中的電機(jī)采用vexta公司的px245-01a步進(jìn)電機(jī),額定電壓4 v,靜態(tài)電流1.2 a,步距角1.8°。步進(jìn)電機(jī)的驅(qū)動(dòng)電路如圖5所示。達(dá)林頓管起功率放大作用,增強(qiáng)步進(jìn)電機(jī)的驅(qū)動(dòng)能力。電路中使用光電耦合器將控制和驅(qū)動(dòng)信號(hào)加以隔離,有效降低外部干擾對(duì)系統(tǒng)的影響,提高系統(tǒng)的可靠性。
3.4輸入與顯示電路
本設(shè)計(jì)采用4×4矩陣掃描非編碼鍵盤(pán)方式實(shí)現(xiàn)懸掛物體初始點(diǎn)坐標(biāo)輸入和控制命令輸入。系統(tǒng)控制參數(shù)和懸掛物體運(yùn)行軌跡圖可在點(diǎn)陣式液晶lcd12864顯示。
3.5無(wú)線通信模塊
本沒(méi)計(jì)采用無(wú)線modem rf2000實(shí)現(xiàn)系統(tǒng)檢測(cè)模塊與系統(tǒng)控制模塊之間數(shù)據(jù)和命令的雙向傳輸,電路如圖6所示。rf2000采用nordic公司的nrf401芯片,采用抗干擾能力強(qiáng)的fsk調(diào)制方式,可以通過(guò)txen引腳控制收發(fā)方式。無(wú)線傳輸過(guò)程中,容易受到外界電磁波和步進(jìn)電機(jī)轉(zhuǎn)動(dòng)產(chǎn)生的電磁干擾,而出現(xiàn)較高的誤碼率。為確保數(shù)據(jù)傳輸?shù)目煽啃?本設(shè)計(jì)通過(guò)編碼加強(qiáng)系統(tǒng)的糾錯(cuò)能力。數(shù)據(jù)或命令以8位數(shù)據(jù),即一個(gè)字節(jié)進(jìn)行編碼,并分為高4位和低4位進(jìn)行無(wú)線傳輸。以低4位數(shù)據(jù)的傳輸為例。其發(fā)送的數(shù)據(jù)結(jié)構(gòu)各位的定義格式如下:
該傳輸進(jìn)行了兩級(jí)誤碼校驗(yàn)。do~d3是傳輸數(shù)據(jù)的低4位數(shù)據(jù),d4~d6置o,d7為低4位數(shù)據(jù)的crc檢驗(yàn)。
4 軟件設(shè)計(jì)
系統(tǒng)中懸掛物體尋跡采用雙單片機(jī)控制方案,黑線檢測(cè)模塊和懸掛物體控制模塊各自具有單片機(jī)系統(tǒng),通過(guò)通信模塊實(shí)現(xiàn)協(xié)同控制,完成懸掛物體尋跡任務(wù)。黑線檢測(cè)程序流程和控制模塊程序流程分別如圖7和圖8所示,通信誤碼校正流程如圖9所示。
5 測(cè)試方法與結(jié)果
為了使懸掛物體可以沿任意曲線運(yùn)動(dòng),本系統(tǒng)采用圓周曲線作為測(cè)試途徑。圓周曲線包含4個(gè)方向的轉(zhuǎn)折點(diǎn),具有一定的代表性,圓周直徑為30 cm,圓周長(zhǎng)約94 cm,大于設(shè)計(jì)要求的80 cm。測(cè)試結(jié)果如表2所列。
結(jié)語(yǔ)
本設(shè)計(jì)以2片atmega128l單片機(jī)分別為黑線檢測(cè)和懸掛物體運(yùn)動(dòng)控制的核心,仿照雷達(dá)掃描跟蹤系統(tǒng),利用微型步進(jìn)電機(jī)和紅外線傳感器進(jìn)行黑線的掃描跟蹤,實(shí)現(xiàn)系統(tǒng)的連續(xù)黑線和斷續(xù)黑線尋跡。黑線檢測(cè)和運(yùn)動(dòng)控制兩個(gè)核心通過(guò)無(wú)線數(shù)傳模塊實(shí)現(xiàn)檢測(cè)數(shù)據(jù)和控制命令的相互通信。測(cè)試結(jié)果表明,本系統(tǒng)控制精度高,響應(yīng)時(shí)間短,具有較強(qiáng)的斷線尋跡能力。
評(píng)論