一種步進(jìn)電機(jī)曲線運(yùn)動(dòng)模型設(shè)計(jì)的研究
步進(jìn)電機(jī)具有快速啟停,精確度高等特點(diǎn),由于步進(jìn)電機(jī)在速度和位置上的控制優(yōu)勢(shì),使得由步進(jìn)電機(jī)控制的切割機(jī)床等生產(chǎn)機(jī)床能夠更加準(zhǔn)確和便捷的完成任務(wù),本課題利用單片機(jī)控制步進(jìn)電動(dòng)機(jī)加減速,也就是改變脈沖的時(shí)間間隔,通過(guò)單片機(jī)從而控制步進(jìn)電機(jī),可以有軟件和硬件兩種方法:軟件是通過(guò)改變程序的方法進(jìn)而改變輸出脈沖的頻率,但是這種方法在電動(dòng)機(jī)控制中要不停地產(chǎn)生控制脈沖占用了大量的CPU 時(shí)間,使單片機(jī)無(wú)法同時(shí)進(jìn)行其他工作 ;硬件方法是利用控制器的內(nèi)部的定時(shí)器來(lái)完成的,在進(jìn)入定時(shí)中斷后改變定時(shí)常數(shù),從而升速時(shí)使脈沖頻率逐漸增大,減速時(shí)使脈沖頻率逐漸減小,這種方法占用CPU時(shí)間較少,是目前我們使用較多的調(diào)速方法。
本文引用地址:http://butianyuan.cn/article/201612/328309.htm1 切割系統(tǒng)硬件組成
整個(gè)模型系統(tǒng)框圖如圖1 所示。
切割控制系統(tǒng)結(jié)構(gòu)框圖如圖1 所示,是由光電編碼器模塊、單片機(jī)控制模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、伺服機(jī)構(gòu)和自由擺本體等幾大部分構(gòu)成的一個(gè)系統(tǒng)。在整個(gè)系統(tǒng)中,通過(guò)光電編碼傳感器的反饋獲得末端被控機(jī)械的角位移,控制驅(qū)動(dòng)模塊實(shí)時(shí)讀取光電編碼器反饋的數(shù)據(jù),進(jìn)而確定控制方式(電機(jī)如何轉(zhuǎn)動(dòng)、轉(zhuǎn)動(dòng)速度、加速度等),同時(shí)控制模塊通過(guò)處理器內(nèi)部的控制算法實(shí)現(xiàn)該控制決策,產(chǎn)生相應(yīng)的控制信息,使電機(jī)轉(zhuǎn)動(dòng),完成要處理的被控制對(duì)象的運(yùn)動(dòng)。
1.1 單片機(jī)控制系統(tǒng)
本系統(tǒng)設(shè)計(jì)中采用89C51 單片機(jī)作為處理器,89C51 單片機(jī)把組成計(jì)算機(jī)的各種功能部件:中央處理器CPU、I/O 接口電路、RAM、ROM、定時(shí)器/ 計(jì)數(shù)器以及串行通訊接口等部件組成,并將這些部件都集成在一個(gè)芯片內(nèi),構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。單片機(jī)是整個(gè)系統(tǒng)的核心,主要用于處理光電編碼器采集和傳輸回來(lái)的數(shù)據(jù),它通過(guò)處理器內(nèi)部的控制算法把光電編碼器反饋回來(lái)的信息用于控制步進(jìn)電機(jī)的轉(zhuǎn)速與轉(zhuǎn)向。
1.2 步進(jìn)電機(jī)隨動(dòng)系統(tǒng)
對(duì)于步進(jìn)電機(jī)來(lái)說(shuō),如果要獲得較快的加減速過(guò)程,即要求在每一個(gè)頻率對(duì)應(yīng)輸出最大轉(zhuǎn)矩。通過(guò)電機(jī)頻矩特性曲線可以得到每個(gè)頻率下的最大輸出力矩。在起動(dòng)過(guò)程中,由于受最大輸出力矩的限制,因此會(huì)影響起動(dòng)距離和起動(dòng)時(shí)間。由于本運(yùn)動(dòng)平面范圍很小,同時(shí)求探測(cè)點(diǎn)以一定的初速度作曲線運(yùn)動(dòng),對(duì)x 軸方向負(fù)載電動(dòng)機(jī)的起動(dòng)提出了要求:在達(dá)到設(shè)定的初始速度時(shí),要求起動(dòng)距離盡可能短。因此采用傳統(tǒng)的啟動(dòng)方式,達(dá)不到本課題的目的,在本課題中,采用了一種新式的啟動(dòng)方式。
1.3 傳感器模塊
設(shè)計(jì)中選擇光電編碼器作為傳感器模塊,它是一種將輸出軸上的機(jī)械幾何位移量通過(guò)光電轉(zhuǎn)換轉(zhuǎn)換成數(shù)字量或脈沖的一種傳感器。這是目前測(cè)量角位移應(yīng)用最廣泛的一種傳感器,光電編碼器是由光電檢測(cè)裝置和光柵盤組成的一種傳感器。光柵盤是在給定直徑的圓盤上平均地開通若干個(gè)長(zhǎng)方形孔。由于光電碼盤與電動(dòng)機(jī)同軸,當(dāng)電動(dòng)機(jī)運(yùn)動(dòng)時(shí),光柵盤與電動(dòng)機(jī)保持同步轉(zhuǎn)動(dòng),經(jīng)檢測(cè)裝置檢測(cè)輸出若干脈沖信號(hào),通過(guò)計(jì)算每秒光電編碼器輸出脈沖的個(gè)數(shù)就能反映當(dāng)前電動(dòng)機(jī)的轉(zhuǎn)速。那么,光電編碼器就可以非常精準(zhǔn)的測(cè)量出自由擺的擺角,再由單片機(jī)實(shí)時(shí)控制電機(jī)轉(zhuǎn)速,從而達(dá)到隨時(shí)精準(zhǔn)的控制效果。
2 步進(jìn)電機(jī)控制軟件設(shè)計(jì)
對(duì)于步進(jìn)電機(jī)的速度控制系統(tǒng),從起點(diǎn)到終點(diǎn)的運(yùn)行速度是有一定要求的。如果要運(yùn)行的速度沒(méi)有超過(guò)步進(jìn)電機(jī)的極限起動(dòng)頻率,那么電機(jī)能夠按要求直接起動(dòng),運(yùn)行至設(shè)定點(diǎn)后可通過(guò)停止脈沖串控制電機(jī)停止。但在通常情況下,當(dāng)要求的步進(jìn)電機(jī)運(yùn)行速度比較高時(shí),而電機(jī)的極限啟動(dòng)頻率又比較低,這時(shí)系統(tǒng)在開始啟動(dòng)時(shí)即以運(yùn)行速度直接啟動(dòng),由于該啟動(dòng)速度超過(guò)極限啟動(dòng)頻率從而使步進(jìn)電機(jī)不能正常啟動(dòng),從而會(huì)產(chǎn)生失步,甚至是不能啟動(dòng)的情況。整個(gè)系統(tǒng)運(yùn)行時(shí),如果達(dá)到設(shè)定點(diǎn)時(shí)立即控制停止發(fā)生脈沖串,令步進(jìn)電機(jī)立即停止,由于系統(tǒng)慣性,使得步進(jìn)電機(jī)不能夠立即停止,從而會(huì)產(chǎn)生一種過(guò)沖現(xiàn)象。因此,要對(duì)步進(jìn)電機(jī)在運(yùn)行的過(guò)程中和啟動(dòng)時(shí)采用加速和減速過(guò)程,即采用升頻啟動(dòng)和降頻停止技術(shù)。
當(dāng)啟動(dòng)步進(jìn)電機(jī)時(shí),要使步進(jìn)電機(jī)逐步達(dá)到穩(wěn)定的工作頻率,當(dāng)停止步進(jìn)電機(jī)時(shí),使步進(jìn)電機(jī)的運(yùn)行頻率逐步減低直至停止。但如果升降頻率比較緩慢,步進(jìn)電機(jī)雖然不能出現(xiàn)過(guò)沖和失步的現(xiàn)象,但卻降低了整個(gè)系統(tǒng)的工作效率。因此,對(duì)步進(jìn)電機(jī)的頻率控制有2 個(gè)基本要求:第一、要給出電機(jī)固定的總步數(shù),第二是要盡量減短走步的總時(shí)間。為了達(dá)到以上二個(gè)要求,在軟件編譯方面要做大量的工作。為了確定電機(jī)固定的總步數(shù),要設(shè)置一種能隨時(shí)檢驗(yàn)總步數(shù)是否達(dá)到給定值的方法,電動(dòng)機(jī)每換相一次,都要校核一次。在步進(jìn)電機(jī)運(yùn)行前,可將給定的總步數(shù)存放在RAM 區(qū)的某些單元中,電動(dòng)機(jī)啟動(dòng)后,軟件按換相次數(shù)遞減這些存儲(chǔ)單元中的數(shù)值,同時(shí)檢測(cè)單元中的數(shù)值直至該數(shù)值為零,此時(shí)說(shuō)明電機(jī)已走完預(yù)先給定的總步數(shù),應(yīng)停止脈沖發(fā)生,停止電機(jī)運(yùn)轉(zhuǎn)。
可以通過(guò)軟件來(lái)實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)加減速的控制,分為加速階段、勻速階段、減速階段三個(gè)階段。采用微處理器對(duì)步進(jìn)電機(jī)進(jìn)行加減速控制實(shí)際上就是改變輸出脈沖的頻率,升速時(shí)脈沖頻率逐漸加快,減速時(shí)脈沖頻率逐漸變慢。較為理想的啟動(dòng)曲線應(yīng)是按指數(shù)規(guī)律啟動(dòng),但實(shí)際應(yīng)用中經(jīng)常采用按直線擬合的方法,即采用恒加速算法,易操作,效果較好。
本設(shè)計(jì)采用的是對(duì)步距角進(jìn)行8 細(xì)分。每發(fā)出一個(gè)脈沖,電機(jī)走一步,轉(zhuǎn)過(guò)的角度為1.8° /8,即0.225°,電機(jī)轉(zhuǎn)一圈需要1600 個(gè)脈沖。步進(jìn)電機(jī)的方向由ARM 的一個(gè)IO 口控制,并且利用兩個(gè)發(fā)光二極管來(lái)表示其正反轉(zhuǎn)。電機(jī)方向控制分3 種方式:左轉(zhuǎn)、右轉(zhuǎn)和自鎖。當(dāng)偏差≤ 0.003,即角度變化不到0.225°,步進(jìn)不到一步時(shí),控制步進(jìn)電機(jī)處于自鎖狀態(tài);當(dāng)偏差>0.003 時(shí),電機(jī)右轉(zhuǎn);當(dāng)偏差<0.003 時(shí),電機(jī)左轉(zhuǎn)。
控制程序流程圖如下圖2所示:
3 測(cè)試結(jié)果分析
步進(jìn)電機(jī)失步是一個(gè)常見的問(wèn)題。實(shí)驗(yàn)中電機(jī)在三種情況下容易出現(xiàn)失步的問(wèn)題。一是起步階段,二是高速運(yùn)轉(zhuǎn)階段,三是負(fù)載發(fā)生變化的時(shí)候。
電機(jī)在啟動(dòng)過(guò)程中為防止失步和堵轉(zhuǎn),脈沖頻率有個(gè)不斷增大的過(guò)程,該過(guò)程一般需要200~400ms 的時(shí)間,期間較易出現(xiàn)失步現(xiàn)象,一定要確保極限啟動(dòng)頻率不小于響應(yīng)頻率最大值,也即頻率變化過(guò)程中的最大頻率一定要小于或等于極限頻率。因此,可以在編譯的程序中預(yù)先設(shè)置一個(gè)上限頻率,使得電機(jī)的最大頻率始終小于或等于該頻率,保證電機(jī)啟動(dòng)過(guò)程中減少出現(xiàn)失步的可能。
當(dāng)步進(jìn)電機(jī)在最高速或者接近最高速運(yùn)行的時(shí)候,也會(huì)容易出現(xiàn)失步的現(xiàn)象。而這一現(xiàn)象的產(chǎn)生最常見的原因是電源的電壓降低從而導(dǎo)致的,因?yàn)閿[桿的最大運(yùn)動(dòng)過(guò)程中的角度為60 度,步進(jìn)電機(jī)最大轉(zhuǎn)動(dòng)步數(shù)小于300,所以可適當(dāng)降低電機(jī)的運(yùn)行速度。
實(shí)驗(yàn)過(guò)程中采用電機(jī)的最大運(yùn)行頻率為2KHz,設(shè)置勻速運(yùn)轉(zhuǎn)的頻率為1KHz.
當(dāng)末端負(fù)載有變化的時(shí)候,電機(jī)輸出的轉(zhuǎn)矩也會(huì)知道,從而使電機(jī)運(yùn)行阻力產(chǎn)生變化,可能會(huì)出現(xiàn)失步現(xiàn)象。我們可以利用進(jìn)一步將驅(qū)動(dòng)細(xì)分的方法,減少因負(fù)載出現(xiàn)變化而引起的失步現(xiàn)象,本課題中采用8細(xì)分的方式。
評(píng)論