0、引言
題目要求是在一個(gè)有傾角的板上運(yùn)動(dòng),需要控制與物體相連的繩子的長(zhǎng)度,它是一種極坐標(biāo)下的雙軸聯(lián)動(dòng),這與傳統(tǒng)直角坐標(biāo)系的運(yùn)動(dòng)方式有較大的不同,增加了控制難度。本設(shè)計(jì)采用高效的PWM電路,提高電源的利用率。控制電路電源和電動(dòng)機(jī)電源隔離,光電耦合器傳輸,抗干擾性能強(qiáng)。紅外黑線(xiàn)檢測(cè),超強(qiáng)糾錯(cuò)。
1、 懸掛運(yùn)動(dòng)控制系統(tǒng)的體系結(jié)構(gòu)
本運(yùn)動(dòng)控制系統(tǒng)的硬件包括電機(jī)、控制器、傳感器和電源。
步進(jìn)電機(jī)是數(shù)字執(zhí)行機(jī)構(gòu),按順序給繞組施加有序的脈沖電流,就可以控制電機(jī)的轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)數(shù)字→角度的轉(zhuǎn)換。轉(zhuǎn)動(dòng)的角度大小與施加的脈沖數(shù)成正比,轉(zhuǎn)動(dòng)的速度與脈沖頻率成正比。由步進(jìn)電機(jī)構(gòu)成的開(kāi)環(huán)數(shù)控系統(tǒng),簡(jiǎn)單,廉價(jià),實(shí)用因此本次設(shè)計(jì)采用步進(jìn)電機(jī)控制,便于實(shí)現(xiàn)精確雙軸聯(lián)動(dòng)。
控制器采用LPC932單片機(jī),LPC932 是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場(chǎng)合,可以滿(mǎn)足多方面的性能要求。LPC932 采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時(shí)間只需2 到4 個(gè)時(shí)鐘周期。6 倍于標(biāo)準(zhǔn)
題目要求尋跡控制,因此需要設(shè)計(jì)黑線(xiàn)探測(cè)模塊。探測(cè)黑線(xiàn)的大致原理是:光線(xiàn)照射到路面并反射,由于黑線(xiàn)和白紙的反射系數(shù)不同,可根據(jù)接收到的反射光強(qiáng)弱判斷是否到達(dá)黑線(xiàn)。
由于電機(jī)電壓較高,單片機(jī)系統(tǒng)工作電壓低,采用雙電源供電。將電動(dòng)機(jī)驅(qū)動(dòng)電源與單片機(jī)以及其周邊電路電源完全隔離,利用光電耦合器傳輸信號(hào)。這樣可以將電動(dòng)機(jī)驅(qū)動(dòng)所造成的干擾徹底消除,提高了系統(tǒng)穩(wěn)定性。系統(tǒng)總體框圖如圖1
MC1413電機(jī)驅(qū)動(dòng) 電機(jī) LPC932 黑線(xiàn)檢測(cè) 按鍵LED數(shù)碼顯示 系統(tǒng)電源模塊
2.懸掛運(yùn)動(dòng)控制系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
(1)步進(jìn)電機(jī)驅(qū)動(dòng)模塊的電路設(shè)計(jì)與實(shí)現(xiàn)
一般單片機(jī)分配的脈沖輸出驅(qū)動(dòng)能力是有限的,它不可能去直接驅(qū)動(dòng)步進(jìn)電機(jī),而需要經(jīng)過(guò)一級(jí)功率放大后,再去驅(qū)動(dòng)步進(jìn)電機(jī)。本系統(tǒng)步進(jìn)電機(jī)工作電壓9V,工作電流100mA,選擇MC1413達(dá)林頓陣列驅(qū)動(dòng)步進(jìn)電機(jī)。其工作電壓大于50V,工作電流>200mA.
(2)黑線(xiàn)檢測(cè)模塊的電路設(shè)計(jì)與實(shí)現(xiàn)
為了檢測(cè)黑色標(biāo)志線(xiàn),在物體上安裝四個(gè)成X字型的反射式紅外傳感器。我們使用單片機(jī)中斷同步檢測(cè)的方法。
傳感器約2公分一個(gè)。題目要求線(xiàn)寬為1.5cm~1.8cm。當(dāng)沿軌跡步進(jìn)時(shí),由各個(gè)傳感器檢測(cè)到的信號(hào),就能確定應(yīng)該按照哪個(gè)方向運(yùn)動(dòng)。控制物體運(yùn)動(dòng)到標(biāo)志線(xiàn)位置,記錄下當(dāng)前坐標(biāo)。步進(jìn)一步記錄一個(gè)坐標(biāo)。根據(jù)智能機(jī)器人的設(shè)計(jì)思想,設(shè)計(jì)了智能自學(xué)習(xí)功能,即當(dāng)運(yùn)行完規(guī)定的軌跡之后,可以不用傳感器,直接根據(jù)上次記錄的坐標(biāo)控制物體沿剛才的軌跡運(yùn)行。這是本系統(tǒng)設(shè)計(jì)的一個(gè)創(chuàng)新點(diǎn)。
(3)按鍵與顯示模塊的實(shí)現(xiàn)
該模塊由單片機(jī)控制,可以輸入各種參數(shù),顯示運(yùn)動(dòng)位置的坐標(biāo),運(yùn)行要求軌跡所需的時(shí)間,運(yùn)動(dòng)狀態(tài)等。該模塊電路為串行輸出,動(dòng)態(tài)掃描方式,利用單片機(jī)的SPI串口功能,只占用較少的CPU時(shí)間,高效低成本的實(shí)現(xiàn)了人機(jī)對(duì)話(huà)功能。電路簡(jiǎn)潔,通用,可擴(kuò)充性好。數(shù)碼管的段碼端用串并行輸出芯片74HC595驅(qū)動(dòng),位碼端采用大電流驅(qū)動(dòng)器MC1413驅(qū)動(dòng).鍵盤(pán)可以任意設(shè)置目標(biāo)點(diǎn)的坐標(biāo)和希望的運(yùn)行速度。
3. 懸掛運(yùn)動(dòng)控制系統(tǒng)的軟件及算法設(shè)計(jì)
單片機(jī)控制電路由一片LPC932單片機(jī)組成。由于本系統(tǒng)有較多的復(fù)雜運(yùn)算等,所以使用C語(yǔ)言進(jìn)行軟件編寫(xiě),這樣可以大大提高程序編寫(xiě)時(shí)的效率。軟件主要實(shí)現(xiàn)電機(jī)轉(zhuǎn)速控制、圓軌跡控制、黑線(xiàn)紅外檢測(cè)、數(shù)據(jù)顯示等功能。
⑴步進(jìn)電機(jī)控制
步進(jìn)電機(jī)是一步一步轉(zhuǎn)動(dòng)的,通過(guò)單片機(jī)按順序給繞組施加有序的脈沖電流,就可以控制電機(jī)的轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)數(shù)字→角度的轉(zhuǎn)換。轉(zhuǎn)動(dòng)的角度大小與施加的脈沖數(shù)成正比,轉(zhuǎn)動(dòng)的速度與脈沖頻率成正比,而轉(zhuǎn)動(dòng)方向則與脈沖的順序有關(guān)。
四相步進(jìn)電機(jī)單相四拍方式(按單相繞組施加電流脈沖)→A→B→C→D正轉(zhuǎn);D→C→B→A→反轉(zhuǎn)。,
脈沖分配的作用就是在步進(jìn)脈沖的激勵(lì)下產(chǎn)生四相步進(jìn)脈沖。構(gòu)成脈沖分配的方法很多,可以用硬件電路來(lái)實(shí)現(xiàn),也可以軟件來(lái)產(chǎn)生,但是軟件可以方便靈活的實(shí)現(xiàn)脈沖分配,所以采用軟件方法。
步進(jìn)電機(jī)的速度與每步所用的時(shí)間有關(guān)。每步時(shí)間越長(zhǎng),則速度越慢。因此,只要控制每步的延時(shí)時(shí)間,便可以控制步進(jìn)的速度。
在多數(shù)情況下,都希望步進(jìn)電機(jī)能以較快速度完成任務(wù),這就要求步進(jìn)電機(jī)的速度要盡量快些。但速度太快,就有可能失步,因?yàn)椴竭M(jìn)電機(jī)的響應(yīng)頻率比較低(100-250步/秒)。因此,引進(jìn)了變速控制的思想,起動(dòng)時(shí),以低于響應(yīng)頻率的速度運(yùn)行,然后慢慢加速,加到一定速度后,就以此速度恒速運(yùn)行。當(dāng)要到達(dá)終點(diǎn)時(shí),慢慢減速使之在低于響應(yīng)頻率的速度運(yùn)行,直到停機(jī)并走完規(guī)定步數(shù)。步進(jìn)電機(jī)的變速控制在定時(shí)器的中斷服務(wù)程序中通過(guò)改變脈沖頻率來(lái)實(shí)現(xiàn)。
(2)物體的直線(xiàn)運(yùn)動(dòng)控制
圖2
1.坐標(biāo)原點(diǎn)到任意點(diǎn)的直線(xiàn)運(yùn)動(dòng)
本系統(tǒng)能人機(jī)對(duì)話(huà),可通過(guò)鍵盤(pán)任意設(shè)定坐標(biāo)點(diǎn),而且速度也是任意可調(diào)的。將坐標(biāo)圓點(diǎn)進(jìn)行坐標(biāo)變換到左上腳,如圖2所示。則相對(duì)于原來(lái)坐標(biāo)系的任意一點(diǎn)(x,y)經(jīng)過(guò)坐標(biāo)變換后變?yōu)椋?BR>
那么從原點(diǎn)到任意點(diǎn)A的直線(xiàn)運(yùn)動(dòng),可以通過(guò)控制步進(jìn)電機(jī)而使r1,r2滿(mǎn)足要求。
控制方法如下:
當(dāng)r1A>r2A,這表明r1端的電機(jī)的轉(zhuǎn)速比r2端的轉(zhuǎn)速快。這樣才能保證兩個(gè)電機(jī)的運(yùn)轉(zhuǎn)使r1,r2軸同時(shí)達(dá)到終點(diǎn)A。
設(shè)r1端的步進(jìn)電機(jī)以額定轉(zhuǎn)速v1轉(zhuǎn)動(dòng),那么 r2端的電機(jī)的轉(zhuǎn)速控制在
反之,如果r1A<r2A,則r2端的電機(jī)的轉(zhuǎn)速v2控制在額定轉(zhuǎn)速,而r1的轉(zhuǎn)速控制在:
2.任意點(diǎn)A到任意點(diǎn)B的運(yùn)動(dòng)控制
由上述分析,可以得出B點(diǎn)對(duì)應(yīng)的r1,r2長(zhǎng)度。
B點(diǎn):
(5)
(6)
那么A點(diǎn)到B點(diǎn)的直線(xiàn)運(yùn)動(dòng)可按如下實(shí)現(xiàn):
A點(diǎn)運(yùn)動(dòng)到B點(diǎn)時(shí)r1的變化值為Δr1,r2的變化值為Δr2。
(7)
當(dāng)Δr1>0,表明要收r1,當(dāng)Δr1<0,表明要放r1。同理r2也是同樣的控制。
當(dāng)Δr1>Δr2時(shí),表明r1的移動(dòng)路程大于r2的移動(dòng)路程。
設(shè)r1端的步進(jìn)電機(jī)以額定轉(zhuǎn)速v1轉(zhuǎn)動(dòng),那么 r2端的電機(jī)的轉(zhuǎn)速控制在
3.任意圓心的圓的運(yùn)動(dòng)控制
采用直線(xiàn)近似法完成圓軌跡運(yùn)動(dòng)。
將圓心坐標(biāo)為整個(gè)運(yùn)動(dòng)范圍的中央(400,500),半徑為250的圓取32個(gè)點(diǎn),也可以取更多點(diǎn),得到一組離散數(shù)據(jù)預(yù)先存入單片機(jī)E2PROM中,通過(guò)坐標(biāo)變換將給定圓圓心轉(zhuǎn)換到任意設(shè)定的圓心,坐標(biāo)變換后按式(3),(4),(5),(6)進(jìn)行從A點(diǎn)運(yùn)行到B點(diǎn)的對(duì)應(yīng)r1,r2長(zhǎng)度的計(jì)算。
然后按照上面任意點(diǎn)A到任意點(diǎn)B的運(yùn)動(dòng)控制方法,實(shí)現(xiàn)圓周上A點(diǎn)到B點(diǎn)的運(yùn)動(dòng)控制。當(dāng)走完預(yù)存于的32個(gè)點(diǎn),就實(shí)現(xiàn)了走圓的控制。其流程圖如圖3所示。
圖3
⑶ 黑線(xiàn)檢測(cè)程序
采用脈沖調(diào)制的發(fā)射與接收電路。我們使用單片機(jī)同步檢測(cè)的方法。接收器產(chǎn)生的信號(hào)經(jīng)過(guò)信號(hào)識(shí)別整形電路向LPC932指示傳感器的探測(cè)信號(hào)。本例程采用LPC932的外部中斷功能檢測(cè)。
在物體周?chē)墒中桶惭b四個(gè)傳感器。傳感器約2公分一個(gè)。題目要求線(xiàn)寬為1.5cm~1.8cm。當(dāng)沿軌跡步進(jìn)時(shí),由各個(gè)傳感器檢測(cè)到的信號(hào),就能確定應(yīng)該按照哪個(gè)方向運(yùn)動(dòng)。控制物體運(yùn)動(dòng)到標(biāo)志線(xiàn)位置,記錄下當(dāng)前坐標(biāo)。步進(jìn)一步記錄一個(gè)坐標(biāo)。當(dāng)運(yùn)行完軌跡之后,可以不用傳感器,直接根據(jù)上次記錄的坐標(biāo)控制物體沿剛才的軌跡運(yùn)行。
⑷ 按鍵顯示
數(shù)碼管全部使用軟件進(jìn)行動(dòng)態(tài)顯示。為了使人眼感覺(jué)不到抖動(dòng),掃描頻率應(yīng)不低于60HZ ,根據(jù)這個(gè)值來(lái)確定定時(shí)器的中斷時(shí)間,即掃描時(shí)間。采用串行多數(shù)碼管掃描式顯示方法。可以同作鍵盤(pán)任意設(shè)置到達(dá)點(diǎn)的坐標(biāo),運(yùn)行軌跡的模式選擇。
4.結(jié)束語(yǔ)
本設(shè)計(jì)在硬件上,使用了傳感器的調(diào)制技術(shù)使抗干擾性能改善。在軟件上,充分利用了P89LPC932的靈活方便,實(shí)現(xiàn)了在線(xiàn)實(shí)時(shí)顯示物體運(yùn)動(dòng)的坐標(biāo),時(shí)間等。也可以任意選擇運(yùn)行的目標(biāo)點(diǎn)和運(yùn)行速度,具有良好的人機(jī)界面。同時(shí)作為本次設(shè)計(jì)的創(chuàng)新點(diǎn),設(shè)計(jì)和實(shí)現(xiàn)了機(jī)器自學(xué)習(xí)功能。從最終測(cè)試結(jié)果看,本系統(tǒng)以簡(jiǎn)潔可靠的電路與精心設(shè)計(jì)的控制算法與程序,較好地完成了題目的基本要求和擴(kuò)展要求。
參考文獻(xiàn):
1. 趙秀菊,單片微機(jī)與測(cè)控技術(shù). 東南大學(xué)出版社,1996
2. 陳維山.趙杰,機(jī)電系統(tǒng)計(jì)算機(jī)控制.哈爾濱工業(yè)大學(xué)出版社 1999
3. 鮑超,信息檢測(cè)技術(shù).浙江大學(xué)出版社.2002