樂榮廷海南大學
基于單片機的步進電機控制設計
樂榮廷
海南大學
現代社會科技發展迅速,單片機正在各個領域發揮著重要的作用。步進電機作為現代數控系統中的重要執行元件,因為其優越特性受到廣泛的關注與研究。本文即基于單片機對這類控制電路的設計方案構想。
脈沖;步距角;控制;細分驅動
步進電機屬于開環控制電機,能夠將電脈沖信號轉變成線位移量或角位移量。從結構上來看,它主要由定子和轉子構成。當步進驅動器接收到一個脈沖信號時,在不失步的前提下,電機只會產生周期性誤差,而不是累進誤差,這是因為它轉過每周的步數是隨步距角固定的,步距誤差不會隨著周數累積。電機能夠以每步一定的角度旋轉,通過控制脈沖個數可控制角位移量,從而達到準確定位的目的。
根據構造可以分為反應式(轉子為電工純鐵)、永磁式(轉子為永久磁鐵)和混合式(轉子為電工純鐵與永久磁鐵)三種。其中,反應式步進電機構造簡單,成本低,步距角為1.2°,但動態性能較差,可靠性低。永磁式的動態性能好,但步距角較大一般為7.5°/15°,精度較差。混合式步進電機結合了上述兩種的長處,但結構復雜成本較高。由于性能較均衡,且相對來說較實惠,兩相的混合式步進電機成為市面上最受歡迎的步進電機,尤其是它可在配上驅動器后達到更高的精度。
(1)步距角
定子繞組上有電流通過時,會在周圍空間激發帶有方向的磁場,使轉子和定子的磁場方向隨著轉子轉動的某一固定角度而轉動,如此循環。這即可看做以特定規律來改變定子繞組上的電流,來控制其產生的磁場的轉動。每當接收到脈沖信號時,步進電機按預先編輯好的方向被控制轉過一個確定的角度,即一個“步距角”。因此在設計上,使用電機中相位不同繞組來依次分配,提供連續的脈沖信號后,能使電機按步距角不間斷的轉動。這個固定角度是生產出廠后固有的。實際工作中電機不一定按這個固定角度轉動,而是跟驅動器有直接關系。
(2)轉矩
在通電情況下,電機處于不轉動的狀態,則固定住轉子不轉動的定子的力矩稱為轉矩。在電機輸出功率較低時,力矩和保持轉矩大小上接近。輸出力矩隨著電機速率的逐漸提升而趨向降低,隨之輸出功率也發生相應變化。
(3)空載啟動頻率
即為在不接負載時,使步進電機由靜止突然啟動并進入不失步的狀態且能夠運行正常所允許的最高頻率。在電機空載啟動后,如果頻率不等于空載啟動頻率,則一般無法正常工作并發生故障,如丟步等。在非空載情況下啟動后,頻率要求會較之低一些。當電機要實現速度的提升時,需要以一個固定不變的加速度不斷加速。
(4)相數
即電機內部線圈組數。由于相數不同,步距角也不同。現在市面上常見的有二相、三相、四相、五相的電機。例如,二相步進電機的步距角是0.9°/1.8°,三相步進電機的是0.75°/1.5°。相數越多,步進電機的性能越好。
(1)硬件設計
驅動器的選擇:根據具體的功能實現進行驅動的選取,若需要低速運行或定位精度要求小于0.9°,則選用細分驅動器,其原理為將一個步距角的距離分成若干個細分步完成,例如每周100標準步的步進電機在使用8細分驅動后,每周步數為100*8=800步,步距角縮小8倍,因此在精度上提高8倍。
選用51通用單片機系列中的STC89C51單片機進行外界命令的接收與處理,來控制二相步進電機的啟動停止、正反轉、速度快慢、步距角及對應線位移等參量。輸入由串行口和鍵盤編程后控制,通過串行口與上位機進行通訊。根據鍵盤手動輸入的編碼(預先在程序中編輯好),用單片機輸出電可擦除只讀存儲器中存放好的不同的電流控制信號來切換設計要求中的數模轉換方式。
取P0口作為數模轉換細分電流所需的8位數據口。取P2口編碼作為按鍵中斷控制細分模式選擇,經過細分驅動的電路與步進電機相連接。(數據口可根據實際情況調整)
此外,在51單片機上連接一個8155芯片,其中AD口與P0口相連接收和鎖存數據,地址鎖存ALE、讀信號RD、寫信號WR、復位端RESET均與單片機對應口相連,當片選信號端CE低電平時有效,8155與單片機進行信息交換。
(2)軟件設計
軟件編程上,使用STC_ISP自帶的軟件延時保證電機轉動每步的時間間隔;用由外部中斷INT_0、INT_1等觸發的中斷子函數,實現按鍵啟動停止電機、細分驅動器的切換控制等。在Keil中編輯主函數與功能函數,包括完成系統的初始化等。鍵盤輸入選用4*1獨立按鍵,程序上使用按鍵掃描和狀態機中選擇電機的工作方式進行編程。
由步距角=360°/(轉子齒數*運行拍數)的公式可得,以轉子齒為50齒的常規二相電機為例,四拍運行時整步的步距角=360/(50*4)=1.8°,八拍運行時半步的步距角=360/(50*8)=0.9°。由步距角計算出脈沖周期,然后根據驅動器的不同,按照其對應說明書上的時序,通過取P1口上所需用到的位數并對其進行高低電平的賦值作為所需脈沖,編成一個周期,一個周期即對應一個步距角。改變脈沖寬度可調整轉速快慢,反置脈沖輸出前后可反轉電機。
(3)注意
上位機給步進電機的脈沖要與驅動器的分辨率一致;轉換電機轉動方向太頻繁或超過步進電機響應頻率均會會導致抖動。若步進電機的啟動時抖動,可能是因為啟動頻率過高,針對這種情況需要使用加減速啟動方式,通常將啟動頻率設置為正常運轉的25%即可。