<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于32位DSP及電機(jī)驅(qū)動(dòng)芯片的懸掛運(yùn)動(dòng)控制設(shè)計(jì)

          基于32位DSP及電機(jī)驅(qū)動(dòng)芯片的懸掛運(yùn)動(dòng)控制設(shè)計(jì)

          作者: 時(shí)間:2016-12-21 來(lái)源:網(wǎng)絡(luò) 收藏

            隨著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)可以任意地畫指定的曲線和圓等。

          本文引用地址:http://www.ex-cimer.com/article/201612/332363.htm

            1 系統(tǒng)總體方案的設(shè)計(jì)

            圖2為懸掛系統(tǒng)控制框圖,以TMS320F28027為控制芯片,利用L298N 驅(qū)動(dòng)兩個(gè)步進(jìn)電機(jī)。步進(jìn)電機(jī)采用42HS4813A4,其額定電流為1.3A,步距角為1.8°,利用LCD-12864液晶顯示被控制物的實(shí)時(shí)坐標(biāo)。控制2個(gè)步進(jìn)電機(jī)正向、反向轉(zhuǎn)動(dòng)來(lái)達(dá)到物體在平面內(nèi)任意運(yùn)動(dòng)的效果。

            

            圖1 懸掛系統(tǒng)的模型

            

            圖2 懸掛系統(tǒng)控制框圖

            2 硬件電路設(shè)計(jì)

            2.1 L298N

            L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。圖3為L(zhǎng)298N模塊的電路原理圖。該芯片的主要特點(diǎn)是:工作電壓高,其最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H 橋的高電壓大電流全橋式驅(qū)動(dòng)器。利用2個(gè)L298N來(lái)分別控制2個(gè)步進(jìn)電機(jī),步進(jìn)電機(jī)的額定電流為1.3A,同時(shí)通2相時(shí),電流為2.6A,L298N 可以達(dá)到42HS4813A4步進(jìn)電機(jī)的電流要求。

            

            圖3 L298N模塊電路原理圖

            2.2 絕對(duì)式編碼器

            絕對(duì)式編碼器的精度必須要高于步進(jìn)電機(jī)的精度,所以這里采用的是10位絕對(duì)式編碼器。選用的型號(hào)是Mini1024J,精度為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)系:

            

            

            圖4 坐標(biāo)示意圖

            

            3.2 幾何關(guān)系2:當(dāng)前位置坐標(biāo)顯示算法

            如圖5所示,存在以下的角度和邊長(zhǎng)關(guān)系:

            

            控制代碼如下:

            

            

            圖5 坐標(biāo)示意圖

            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ǔ)償,保證位置正確,并且可以使曲線圓滑。

            圖6 步進(jìn)電機(jī)閉環(huán)控制框圖

            步進(jìn)電機(jī)的型號(hào)為42HS4813A4,為了防止失步,步進(jìn)電機(jī)每步的最小間隔為4ms,并且用軟件對(duì)步進(jìn)電機(jī)進(jìn)行了十六細(xì)分,即每步的間距為0.45°。控制電機(jī)部分的程序流程圖如圖7所示。

            

            圖7 控制電機(jī)部分的程序流程圖

            控制代碼如下:

            

            3.4 畫圖算法

            利用幾何關(guān)系任意點(diǎn)到任意點(diǎn)的算法,分別給處理器一連串的位置坐標(biāo),控制物體的運(yùn)動(dòng)軌跡,如圖8所示。

            

            圖8 畫圓取點(diǎn)示意圖

            相同間隔取N個(gè)點(diǎn),分別輸入處理器,來(lái)控制物體的坐標(biāo)。將取的點(diǎn)傳遞給TMS320F28027時(shí),為了讓圓足夠的平滑,消去鋸齒狀,所以在圓上取了200個(gè)點(diǎn)。控制代碼如下所示:

            

            4 系統(tǒng)測(cè)試

            系統(tǒng)完成后,進(jìn)行了兩項(xiàng)測(cè)試,分別是畫圓運(yùn)動(dòng)和運(yùn)動(dòng)到指定點(diǎn)。

            其中畫圓運(yùn)動(dòng)測(cè)試是在輸入圓心坐標(biāo)以及半徑后,對(duì)實(shí)際畫出圓的直徑與理論直徑作了對(duì)比,并且記錄了畫圓的耗時(shí)。此測(cè)試中,圓心坐標(biāo)為(40.0cm,40.0cm),輸入的半徑值為30.0cm,測(cè)試結(jié)果如表1所列。

            表1 畫圖運(yùn)動(dòng)測(cè)試結(jié)果

            

            其中,運(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.0cm,50.0cm),即距離原點(diǎn)為70.0cm,實(shí)際測(cè)試時(shí),運(yùn)動(dòng)到(49.1cm,49.2cm),即距離原點(diǎn)69.5cm,測(cè)試結(jié)果如表2所列。

            表2 運(yùn)動(dòng)到指定點(diǎn)測(cè)試

            

            由測(cè)試結(jié)果可看出,該系統(tǒng)具有高效、穩(wěn)定、準(zhǔn)確的優(yōu)點(diǎn),符合實(shí)驗(yàn)預(yù)期。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();