基于MSP430F449的懸掛運動控制系統(tǒng)設計
摘要:以低功耗MSP430F449單片機系統(tǒng)平臺為控制核心,由步進電機控制模塊、紅外傳感和人機交互3個功能部分組成。由MSP430F449實現相應算法產生不同狀態(tài)的PWM波,以控制電機的運動,從而實現對畫筆的控制。系統(tǒng)可通過鍵盤任意設置坐標點參數;控制質量大于100g的物體在仰角不大于100°的80 cmx100 cm白板上做自行設定的運動,并在白板上畫出運動軌跡;控制物體沿白板上按標出的任意黑色間斷曲線運動。畫筆坐標點及各運動狀態(tài)實時顯示在LCD上,人機界面友好。
關鍵詞:步進電機;紅外傳感;PWM波;人機交互
在現代的車輛運動、醫(yī)療設備和工業(yè)控制等系統(tǒng)中,懸掛運動系統(tǒng)的應用越來越多,在這些系統(tǒng)中懸掛運動部件通常是具體的執(zhí)行機構,因而懸掛部件的運動精確性是整個系統(tǒng)工作效能的決定因素,因而實際實現懸掛運動控制系統(tǒng)的精確控制具有極其重大的現實意義。本系統(tǒng)采用低功耗MSP430F449單片機系統(tǒng)平臺設計了懸掛運動控制系統(tǒng),采用高效的PWM電路,提高電源利用率;紅外傳感檢測,提高糾錯能力。由單片機產生脈沖信號驅動有精確步距的步進電動機,電機帶動懸掛部件在平面上做特定的準確運動。
1 懸掛運動控制系統(tǒng)設計方案
1.1 電機選取
方案①:直流電機。直流電機的優(yōu)點是輸出功率大,帶負載能力強;缺點是不能精確地控制直流電機的轉動角度。
方案②:步進電機。步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。給電機加一個脈沖信號,電機就轉過一個步距角,具有較強的快速啟停能力。步進角方面,選用的三相六拍式步進電機,步進轉角最小可以達到1.5°,可以滿足系統(tǒng)控制精度要求。并且可以通過對其轉動步數的控制實現對位移的精確控制。
方案③:使用伺服電機,伺服電機是一種內帶編碼盤,可以通過驅動器精確控制轉動角度(0.001°級別),而且過載能力強,常用于精密控制,但其驅動電壓一般較高,體積較大,在本題目的實現上并不適用。
綜上所述,選擇方案②。采用步進電機。
1. 2 電機驅動器選擇
方案①:使用分立元件搭建。利用大功率三極管放大功率給步進電機提供驅動電壓和電流。但本實驗對功率要求較大,精度有限。
方案②:集成步進電機驅動器。集成驅動塊能力強,工作穩(wěn)定,其內部加入了光耦隔離器將控制電路與驅動電路完全隔離,防止了電動機在啟動和制動時對控制電路造成影響。并且其只需要兩三根線便實現電機的精確控制,控制相當簡單。
綜上所述,由于本系統(tǒng)需盡量采用高性能的驅動電路以保證步進電機良好的運轉性能,故選擇方案②。
1.3 循跡傳感器選擇
方案①:發(fā)光二極管和光敏二極管組成發(fā)射-接收電路。發(fā)光二極管為可見光,故光敏二極管的工作受外界光照影響很大,很容易造成誤判和漏判。
方案②:反射式紅外發(fā)射-接收器。采用紅外對管替代普通可見光管,能極大地降低環(huán)境光源的影響。并且,紅外線波長大,近距離衰減小,故探測近距離黑線更加可靠。
綜上,選擇方案②,采用發(fā)射時紅外傳感器ST188。
1. 4 畫線算法
方案①:DDA算法。根據直線起始坐標得出斜率。取合適的步進量,根據斜率得出直線上每點的坐標,直接計算出兩側電機步數,控制畫筆畫線。該算法簡單易行。
方案②:Bresenham微元算法。該算法只做整數加/減運算和乘2運算,運算速度很快,適于用硬件實現。
本系統(tǒng)采用軟件實現算法,故選擇方案①。
1.5 畫圓算法
方案①:圖形掃描Bresenham算法。該算法采用直角坐標系,但畫圓時采用該坐標系算法不夠清晰。
方案②:用自行設計的極坐標法。極坐標法公式簡單,算法清晰。運算速度較快,完全能達到要求。
故選擇方案②。
1.6 循跡傳感器的安裝方法
將8個傳感器均勻分布予畫筆周圍,并形成一個八邊形以細化物體的運動方向。由于黑色物體和白色物體的反射系數不同,傳感器的輸出電平亦有不同,用硬件比較器LM311標定傳感器的閾值,將曲線的有無變換為高低電平送單片機I/O口,由軟件尋找反射最弱的傳感器方位,從而實現定位。
1.7 控制方案
基于對步進電機步進方式的考慮,采取一種將物體運動坐標移動轉化為步進長度的策略??刂茟揖€在一定時間內伸縮的長度就可以控制物體的運動方向。電機正轉,則懸線伸長;反轉,則懸線縮短。懸線變化的長度和電機轉動的步數成正比。題目指標要求物體可以行走直線、圓周和一段現場給出的不確定間斷曲線,對此3種運動線型采取統(tǒng)一處理的策略,即都是用微小直線段組合成復雜曲線。這樣做不僅能使電機的步進直接實現,還可以將所有線型集中轉化為對直線運動的研究之后再拼接組合復原。對于不確定的運動曲線,物體上的光電傳感器陣列實時采集路線信息,將其傳送給處理器進行方向判斷,給出下一步運動目標點的相關信息。
2 系統(tǒng)總體方案設計與實現
2.1 系統(tǒng)總體設計
根據設計要求和方案選擇,本系統(tǒng)主要由3個模塊電路組成:步進電機控制模塊、紅外傳感和人機交互模塊。電機驅動模塊采用集成電機驅動器,驅動能力強;循跡采用紅外對管,抗干擾能力好。MSP430單片機微控制器控制電機的旋轉方向,以實現畫直線、畫圓及循跡過程。用戶可通過4x4鍵盤選擇運動坐標及畫筆行動方式的設定。同時所有狀態(tài)均在LCD上實時顯示,及時跟蹤電機行動狀態(tài)。
2.2 總體實現框圖
系統(tǒng)總體實現框圖如圖1所示。
3 原理分析
3.1 步進電機控制原理
在本系統(tǒng)中,左側使用的是常州微特電機總廠的45BC340F三相步進電機,能精確到1.5°;右側用二相步進電機C6696-9012K,步進角1.8°,額定電壓3.1V,額定電流1.55A。這里以三相步進電機為例介紹步進電機的控制原理。
三相步進電機定子上有6個凸齒,每一個齒上有一個線圈。線圈繞組的連接方式,是對稱齒上的兩個線圈進行反相連接。6個齒構成三對磁極,所以稱為三相步進電機,磁極上有均勻分布的矩形小齒,轉子上沒有繞組,但有小齒均勻分布在其圓周上。其工作過程是:當一相繞組通電時,相應的兩個磁極就分別形成了N極和S極,產生磁場,并與轉子形成磁路。磁通從正相齒,經過軟鐵芯的轉子,并以最短的路徑流向負相齒,而其他四個凸齒并無磁通。為使磁通路徑最短,在磁場力的作用下,轉子被強迫移動,使最近的一對齒與被激勵的一相對準,即使轉子齒與定子齒對齊,從而步進電機實現向前“走”了一步。
如果給繞組施加有序的脈沖電流就可以控制電機轉動起來,從而實現電脈沖信號到角度的轉換。轉動的角度大小與施加的脈沖數成正比,轉速與脈沖的頻率成正比,轉向則與脈沖順序有關。三相電機電流脈沖的施加方式有3種:
1)三相單三拍方式(按照單向繞組施加脈沖):
正轉:→A→B→C→;反轉:→A→C→B→。
2)三相雙三拍方式(按照雙向繞組施加脈沖):
正轉:→AB→BC→CA→;反轉:→AC→CB→BA→。
3)三相六拍方式(單向繞組和雙向繞組交替施加脈沖):
正轉:→A→AB→B→BC→C→CA→;反轉:→A→AC→C→CB→B→BA→。
其中,三相六拍式的步距角是1.5°,其他兩種方式為3°。為了不產生累積誤差,必須保證電機不失步,這和其運行矩頻特性密切相關,值得注意的是步進電機的驅動信號存在一個必須避開的頻率——共振頻率£0。
由于兩邊電機型號不一樣,系統(tǒng)控制時需要注意兩者的同步問題,從而以最佳的配合實現對畫筆的精確圓滑控制。
3.2 系統(tǒng)算法實現原理
3.2.1 懸掛系統(tǒng)畫任意曲線算法實現
前提:畫紙和步進電機都是量化設備。畫紙為坐標紙(1cm間隔),如圖2所示,步進電機步進角度恒定(1.5°或1.8°)。
公式推導:由勾股定理:
初步方案:
1)以直線或圓的量化算法計算出軌跡上的下一個點坐標,磁電機為步進電機的驅動目標。
2)根據推導公式計算出步進電機的驅動距離3)將驅動距離量化為驅動圈數,為降低累積誤差,量化余數算入下一次的驅動距離當中。
具體方案流程圖如圖3所示。
3.2.2 直線的生成算法
本系統(tǒng)中畫直線直接用數字微分分析式DDA(Digital Differential Analyzer)算法。具體實現過程如下:
設直線的起點為(x1,y1),終點為,則斜率m為:
直線中的每一點坐標都可以由前一點坐標變化一個增量而得到(Dx,Dy),即表示遞歸式:
遞歸式的初值為直線的起點(x1,y1),這樣,就可以用加法來生成一條直線。
3.2.3 圓的生成算法
本系統(tǒng)畫圓采用極坐標法實現。
當θ從0到2π做遞增時,由此式便可求出圓周上均勻分布的360個點的(x,y)坐標。利用圓周坐標的對稱性,此算法還可以簡化。將圓周分為8個象限,只要將第1a象限中的圓周光柵點求出,其余7部分可以通過對稱法則計算出來。圖中給出了圓心在(0,0)點時的對稱變化法則。
3.2.4 循跡算法
循跡中,將傳感器陣列的八個方向分成正向反向兩大類。其中,有效檢測方向分以下3級:
第1級:原方向。
第2級:原方向緊鄰的兩個方向。
第3級:與原方向垂直的兩個方向。
其他3個方向均為反方向。
循跡運動方向選取原則:首先濾除前4步的所有反方向(由位或得到),防止按反方向倒退。濾除之后,剩下的有效方向中,如果仍有原方向,則按原方向繼續(xù)執(zhí)行;若沒有,則依次尋找第2級,第3級。若最后均沒有(遇到黑線的間斷處),
則回歸到第1級,即繼續(xù)往前行。綜上,就是只有上一級循跡不成功才會依次尋找下一級。
4 系統(tǒng)硬件電路設計
4.1 步進電機驅動模塊電路
三相步進電機使用的是UP-3BF04型電機驅動器,操作方便,控制信號可由MSP430直接引出,編程實現對它的控制,如圖4所示。
其特點是:1)PWM恒流驅動,三相六拍勵磁方式,電源損耗極低且具有極高的開關效率;2)自動半流鎖定功能,驅動電流可達4 A;3)所有控制信號與功率驅動部分光電隔離;4)散熱外殼與驅動器內部完全絕緣。
由圖可看出,只用控制兩根線即可實現對驅動器的控制:
CP:步進脈沖輸入端,上升沿有效;
U/D:方向控制器,U/D=1時電機正轉,U/D=0或懸空時電機反轉。
兩相步進電機C6696-9012K驅動器控制方法與三相十分類似,不再贅述。
4.2 紅外對管電路設計
我們選用紅外對管ST188。ST188由高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成。檢測距離可調整范圍大,4~13mm可用。其響應時間受檢測表面光潔度及平整度的影響,所以實驗時要保持白板平面的潔凈與黑色軌道的平整。
紅外傳感器電路如圖5所示。當傳感器處于黑線上方時,由于黑線紅外光線的反射能力很弱,光敏三極管截止,輸出端為高電平;反之,傳感器離開黑線時,輸出端為低電平。將此電平送至比較器LM311,與標準電平比較,若高于標準電平,則比較器輸出高電平,反之,輸出低電平。實驗中,調節(jié)R4測量出最合適的標準電平為2.4 V。處理器通過判斷比較器輸出電平的高低來辨別受控物體的位置,從而通過控制步進電機來控制物體運動。
4.3 按鍵模塊設計
系統(tǒng)軟件設置了兩種模式:INPUT和CONTROL模式。
1)CONTROL模式下,按健操作直接對電機進行命令,主要完成手動或自動控制左右電機正反旋轉,畫固定的直線、圓,循跡等功能。
2)INPUT模式下,本系統(tǒng)軟件中采取了輸入命令+參數的模式,設置了3個命令,其功能列表如下:
5 系統(tǒng)軟件設計
本系統(tǒng)軟件主要用基于430單片機的C語言,主要完成用戶輸入輸出處理和系統(tǒng)控制,故軟件設置了INPUT和CONTROL兩種模式。最主要的部分是:畫直線控制、畫圓控制、循跡等幾個控制算法。其中按健的處理很重要,有限的按鍵要用于多方面控制,包括電機的一步或多步控制、電機控制或按鍵輸入,一鍵多用導致整個程序的復雜。不過,該軟件模仿DOS系統(tǒng)輸入命令進行操作的方式選擇所有功能,搭建了一個大框架,思路清晰,移植性強,人機交互良好。系統(tǒng)初始化后,等待按鍵輸入,選擇控制或輸入功能后進行相應操作。系統(tǒng)軟件總流程圖如圖6所示。
6 結束語
本懸掛運動控制系統(tǒng)很好的完成了設計要求中的各項基本指標和發(fā)揮要求,并有不同程度的提高。通過按鍵即可完成整個測試過程,如畫任意直線、任意圓點和半徑的圓,紅外傳感數據采集、處理和結果顯示、記錄均由測試系統(tǒng)自動完成。但如果電機轉軸半徑及懸線半徑都變小,白板表面變平滑,系統(tǒng)性能會更大幅度提高。