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