TMS320F28027與L298N的懸掛運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:介紹了由TMS320F28027和L298N模塊以及編碼器組成的懸掛運(yùn)動(dòng)控制系統(tǒng)。該系統(tǒng)通過(guò)控制2個(gè)步進(jìn)電機(jī),控制軸上線(xiàn)的收放來(lái)達(dá)到使懸掛物在平面內(nèi)任意運(yùn)動(dòng)的效果,以實(shí)現(xiàn)畫(huà)圓或指定圖案和顯示當(dāng)前坐標(biāo)等功能。主要介紹了步進(jìn)電機(jī)的控制算法和利用TMS320F28027芯片實(shí)現(xiàn)位置閉環(huán)控制的方法。該系統(tǒng)具有高效、穩(wěn)定、準(zhǔn)確等優(yōu)點(diǎn)。
引言
隨著TI公司32位DSP的普及,32位處理器已經(jīng)成為控制領(lǐng)域的主流產(chǎn)品,與傳統(tǒng)的微處理器相比速度更快、性能更強(qiáng)、資源豐富,更符合發(fā)展的腳步。TMS320F28027是一款32位的DSP,具有運(yùn)算速度快、穩(wěn)定性高的優(yōu)點(diǎn)。本文利用TMS320F28027控制兩個(gè)步進(jìn)電機(jī),從而使物體在平面內(nèi)運(yùn)動(dòng),實(shí)現(xiàn)物體在平面內(nèi)可以任意地畫(huà)指定的曲線(xiàn)和圓等。圖1為懸掛系統(tǒng)的模型。
1 系統(tǒng)總體方案的設(shè)計(jì)
圖2為懸掛系統(tǒng)控制框圖,以TMS320F28027為控制芯片,利用L298N驅(qū)動(dòng)兩個(gè)步進(jìn)電機(jī)。步進(jìn)電機(jī)采用42HS4813A4,其額定電流為1.3 A,步距角為1.8°,利用LCD-12864液晶顯示被控制物的實(shí)時(shí)坐標(biāo)??刂?個(gè)步進(jìn)電機(jī)正向、反向轉(zhuǎn)動(dòng)來(lái)達(dá)到物體在平面內(nèi)任意運(yùn)動(dòng)的效果。
2 硬件電路設(shè)計(jì)
2.1 L298N
L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。圖3為L(zhǎng)298N模塊的電路原理圖。該芯片的主要特點(diǎn)是:工作電壓高,其最高工作電壓可達(dá)46 V;輸出電流大,瞬間峰值電流可達(dá)3 A,持續(xù)工作電流為2 A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器。利用2個(gè)L298N來(lái)分別控制2個(gè)步進(jìn)電機(jī),步進(jìn)電機(jī)的額定電流為1.3 A,同時(shí)通2相時(shí),電流為2.6 A,L298N可以達(dá)到42HS4813A4步進(jìn)電機(jī)的電流要求。
2.2 絕對(duì)式編碼器
絕對(duì)式編碼器的精度必須要高于步進(jìn)電機(jī)的精度,所以這里采用的是10位絕對(duì)式編碼器。選用的型號(hào)是Minil024J,精度為10位,優(yōu)點(diǎn)在于采用無(wú)接觸霍爾檢測(cè)技術(shù),傳感器運(yùn)行不受灰塵或其他雜物影響,很好克服了基于光學(xué)檢測(cè)原理的缺點(diǎn)。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 幾何關(guān)系1:從任意點(diǎn)移動(dòng)到任意點(diǎn)算法
坐標(biāo)示意圖如圖4所示,有如下的邊長(zhǎng)和角度關(guān)系:
3.2 幾何關(guān)系2:當(dāng)前位置坐標(biāo)顯示算法
如圖5所示,存在以下的角度和邊長(zhǎng)關(guān)系:
控制代碼如下:
3.3 電機(jī)位置閉環(huán)控制方法
步進(jìn)電機(jī)閉環(huán)控制框圖如圖6所示,TMS320F28027分別用2個(gè)定時(shí)器來(lái)控制兩個(gè)電機(jī),用絕對(duì)式編碼器對(duì)位置進(jìn)行監(jiān)控,進(jìn)行失步補(bǔ)償,保證位置正確,并且可以使曲線(xiàn)圓滑。
步進(jìn)電機(jī)的型號(hào)為42HS4813A4,為了防止失步,步進(jìn)電機(jī)每步的最小間隔為4 ms,并且用軟件對(duì)步進(jìn)電機(jī)進(jìn)行了十六細(xì)分,即每步的間距為0.45°??刂齐姍C(jī)部分的程序流程圖如圖7所示。
控制代碼如下:
newsf_motorl_SpeedAndSpace_access((int)flag_motorl_paces,flag_cputimer_1,2); //定時(shí)器1控制步進(jìn)電機(jī)1
newsf_motor2_SpeedAndSpace_acccss((int)flag_motor2 paces,flag_cputimer_2,2); //定時(shí)器2控制步進(jìn)電機(jī)2
3.4 畫(huà)圖算法
利用幾何關(guān)系任意點(diǎn)到任意點(diǎn)的算法,分別給處理器一連串的位置坐標(biāo),控制物體的運(yùn)動(dòng)軌跡,如圖8所示。
相同間隔取N個(gè)點(diǎn),分別輸入處理器,來(lái)控制物體的坐標(biāo)。將取的點(diǎn)傳遞給TMS320F28027時(shí),為了讓圓足夠的平滑,消去鋸齒狀,所以在圓上取了200個(gè)點(diǎn)??刂拼a如下所示:
4 系統(tǒng)測(cè)試
系統(tǒng)完成后,進(jìn)行了兩項(xiàng)測(cè)試,分別是畫(huà)圓運(yùn)動(dòng)和運(yùn)動(dòng)到指定點(diǎn)。
其中畫(huà)圓運(yùn)動(dòng)測(cè)試是在輸入圓心坐標(biāo)以及半徑后,對(duì)實(shí)際畫(huà)出圓的直徑與理論直徑作了對(duì)比,并且記錄了畫(huà)圓的耗時(shí)。此測(cè)試中,圓心坐標(biāo)為(40.0cm,40.0cm),輸入的半徑值為30.0cm,測(cè)試結(jié)果如表1所列。
其中,運(yùn)動(dòng)到指定點(diǎn)測(cè)試是以坐標(biāo)原點(diǎn)為起始點(diǎn),在輸入指定坐標(biāo)之后,對(duì)原點(diǎn)到指定點(diǎn)距離的理論值和實(shí)際值作了對(duì)比,并且記錄了運(yùn)動(dòng)完后回到原點(diǎn)的誤差距離,即是否能準(zhǔn)確回到原點(diǎn)。在此測(cè)試中,運(yùn)動(dòng)的原點(diǎn)坐標(biāo)為(0cm,0cm),目標(biāo)坐標(biāo)為(49.0 cm,50.0 cm),即距離原點(diǎn)為70.0cm,實(shí)際測(cè)試時(shí),運(yùn)動(dòng)到(49.1 cm,49.2 cm),即距離原點(diǎn)69.5 cm,測(cè)試結(jié)果如表2所列。
由測(cè)試結(jié)果可看出,該系統(tǒng)具有高效、穩(wěn)定、準(zhǔn)確的優(yōu)點(diǎn),符合實(shí)驗(yàn)預(yù)期。