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