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