用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

作者介紹了基於AT89C52單片機的兩相混合式步進電機控制系統的設計方案,增加了步進電機控制系統設計的靈活性。控制系統採用AT89C52單片機作為控制器,由達林頓功率管BUW49組成的雙H橋式電路作為驅動器,加入按鍵控制及LCD1602顯示。控制系統的電路結構簡單、設計思路清晰。實驗表明,控制系統操作簡單、運行可靠,具有較強的實用性。

1 引言

作為工業領域廣泛應用的控制電機,步進電機具有出色的開環性能,易於實現數字化、智能化控制。步進電機組成的控制系統具有結構簡單、性能穩定、造價便宜等特點,在工業控制領域中得到了廣泛的應用。單片機對步進電機的控制成本低、操作靈活,在步進電機的控制中得到了廣泛的應用。本文以AT89C52單片機作為控制器設計一種新型的兩相混合式步進電機的控制系統。

2 系統結構設計

控制系統主要由單片機、鍵盤、顯示、驅動、PC上位機等5個模塊組成,其中PC上位機用於編寫及燒錄程序。控制器通過相應的IO接口,將控制指令發送至驅動電路,可以控制步進電機的運行,完成系統的伺服控制。

控制系統可實現以下功能:(1)控制步進電機的啟動和停止、運行方向、運行速度。(2)顯示步進電機的運行狀態、方向、轉速。(3)通過軟件實現細分控制。圖1為控制系統總體結構圖。

用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖1 控制系統總體結構圖

3 系統硬件設計

3.1 單片機模塊

單片機模塊主要由AT89C52單片機及外圍濾波、電源管理、晶振和復位電路組成。AT89C52單片機具有8KB內存的可編程可擦除只讀存儲器,便於反覆的進行程序的編寫。電源管理電路提供的3.5V和5V電壓分別給單片機、晶振、LED和控制電路供電。12MHZ的晶振給單片機提供時鐘信號。單片機的串口用於和PC上位機的通信以及燒錄軟件程序。P1口控制驅動電路開關管的通斷。P0和P2口控制LCD1602和LED組成的顯示模塊。P3口檢測鍵盤信號及外部中斷信號。

3.2 鍵盤及顯示模塊

控制系統設置了5位獨立按鍵組成的鍵盤模塊以及由LCD1602和5位LED組成的顯示模塊。通過鍵盤可以對步進電機進行正轉、反轉、加速、減速、停止功能的操作。步進電機運行時的狀態信息可以通過顯示模塊直觀的顯示出來。圖2為鍵盤及顯示模塊硬件原理圖。

鍵盤模塊的特點在於用單片機的兩個外部中斷來控制步進電機進行加、減速,即每引入一次外部中斷,步進電機加/減速一次。正轉、反轉、停止按鍵分別由單片機的P3.0、P3.1、P3.4口引入。加速、減速按鍵分別由單片機的P3.2和P3.3口引入。

LCD1602的數據/命令選擇端、讀寫選擇端、使能信號分別接在單片機的P2.0、P2.1、P2.2口上,數據口接在單片機的P0口上。LCD1602可以顯示步進電機的5種運行狀態以及運行速度。5位LED通過74LS138接在單片機的P2.3—P2.5口上,5位LD分別用於表示步進電機的正轉、反轉、加速、減速、停止5種運行狀態。


用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖2 鍵盤及顯示模塊硬件原理圖

3.3 驅動模塊

控制系統的電機驅動模塊採用雙極性驅動的方式。雙極性驅動是指步進電機線圈中電流的流動方向不是單向的,即繞組中的電流有時沿某一方向流動,有時沿相反的方向流動。雙極性驅動電路可以同時驅動四線式或六線式的兩相混合式步進電機。

控制系統所選用的二相混合式步進電機工作時的額定電壓為12V,繞組的阻值為1.5Ω,額定電流為8A。由於該步進電機工作時的電流較大,因此需要選擇額定電流較大的功率開關管,否則步進電機工作時較大的工作電流產生的熱效應極易燒燬開關管。功率開關管BUW49工作時的額定電壓為80V,額定電流為30A,屬於高電流型功率開關管,因此完全能夠滿足需要。

根據步進電機的工作原理,當控制電路給驅動電路發出相應的脈衝信號時,電機繞組的通電順序為A+B+→A-B+→A-B-→A+B-,其4個狀態按順序進行循環,電機則正向轉動。若相序變為A+B-→A-B-→A-B+→A+B+,電機則逆向轉動。

因此,當單片機AT89C52的引腳P1.0至P1.7輸出的脈衝時序依次為10011001→01101001→01100110→10010110時,控制各個開關管依次導通,產生相應的正向通電時序,從而驅動步進電機正向旋轉。同樣,當單片機的引腳輸出的脈衝時序相反時,電機則反向旋轉。圖3為驅動電路硬件原理圖。

用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖3 驅動電路硬件原理圖

控制系統的硬件原理圖由電子技術虛擬仿真軟件Proteus 7.5進行仿真,仿真時兩相混合式步進電機的參數按照控制系統所選用的步進電機實際參數設置。經過仿真得出該系統能夠實現對步進電機的正/反轉、停止、加/減速的控制,並且控制非常靈敏、工作可靠、不會出現誤操作。

步進電機在運行時的運行狀態、速度參數以及按鍵的操作狀態能夠以英文的形式非常直觀的顯示在LCD1602和5位LED上。通過分析仿真時虛擬示波器測出的A、B兩相的繞組電壓波形得知,步進電機在系統仿真運行的過程中具有良好的動態響應。圖4為控制系統整體硬件原理圖。

用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖4 控制系統整體硬件原理圖

4 系統軟件設計

4.1 步進電機工作方式

由於按雙四拍方式工作時步進電機不容易失步,並且控制精度較高,因此步進電機採用雙四拍的工作方式。這種工作方式每次都有兩相繞組導通,兩相繞組處在相同的電壓之下,以A+B+→A-B+→A-B-→A+B-(或反向)方式導通。當A、B繞組完成一次通電循環以後,磁場旋轉一週,轉子則前進一個步距角。

4.2 運行方向控制

步進電機的運行方向由其內部繞組的通電順序及通電方式決定。由於兩相雙四拍步進電機不容易失步,控制精度比較高,所以本文采用兩相雙四拍的工作方式對步進電機進行控制。

對於兩相雙四拍工作方式:

  • 正向旋轉:A+B+→A-B+→A-B-→A+B-
  • 反向旋轉:A+B-→A-B-→A-B+→A+B+

兩相雙四拍控制模型如表3.1所示。

用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

表3.1 兩相雙四拍控制模型

4.3 運行速度控制

控制步進電機的運行速度,實際上是控制驅動脈衝的發出頻率或換相週期。即在加速的過程中,使驅動脈衝的發出頻率升高;在減速的過程中,使驅動脈衝的發出頻率降低。對驅動脈衝頻率的控制可以通過軟件延時和硬件中斷的方式來實現。

軟件延時是指根據所需的延時時間常數編寫一個延時子程序,當CPU執行延時子程序時,系統達到延時的目的。採用軟件延時方式,CPU一直被佔用,使得CPU的利用率降低。

可編程的硬件定時器可以對系統的時鐘脈衝進行計數,計數值可以通過編程的方式設定。當計數到預定的脈衝數時,定時器產生中斷信號,系統得到所需的延時時間。定時器延時可以提高CPU的利用率。

4.4 系統程序設計

系統程序設計的思想是:

  • (1)對單片機進行初始化:首先應該關中斷,然後對用到的一些寄存器和功能模塊進行初始化,最後再開中斷,並且給定步進電機的速度初值和每次加速/減速時速度變化的幅值。
  • (2)調入子程序:分塊調入方向、速度、鍵盤、顯示的子程序。速度控制程序寫入外部中斷程序中,這樣可以在不改變運動方向的前提下改變速度的參數。
  • (3)等待功能按鍵按下:採用查詢方式編寫按鍵程序,通過按鍵程序掃描等待功能按鍵的按下。
  • (4)執行按鍵功能:當程序檢測到有按鍵被按下後,執行相應的功能,並且顯示步進電機對應的運行狀態信息。圖5為系統程序結構圖。


用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖5 系統程序結構圖

5 實驗驗證

在實驗中本系統選57HS56DF101TK-01混合式步進電機作為控制對象。該步進電機為兩相四線步進電機,步距角為1.8°,額定電流為8A,靜轉矩為10Kg·cm。圖6為控制系統實物圖。

用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖6 控制系統實物圖

實驗時,測得電機繞組阻值Rs為1.5Ω,系統選擇12V直流電源供電,符合步進電機的要求。圖7為步進電機運行時A相的電壓波形圖。圖8為步進電機的靜態矩角特性曲線圖。


用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖7 步進電機A相電壓圖


用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統

圖8 步進電機矩角特性曲線圖

實驗結果說明,本控制系統在步進電機的運行過程中可以實現對步進電機的運行控制,改變步進電機的工作狀態,控制精確,能夠較好的滿足工作要求。

6 結語

本文基於AT89C52單片機設計的兩相混合式步進電機控制系統具有體積小、可靠性高、功能豐富、造價便宜等特點,適用範圍廣,具有很強的實用價值和經濟價值。

(編自《電氣技術》,原文標題為“基於AT89C52單片機的步進電機控制系統研究”,作者為何衝、王淑紅 等。)


分享到:


相關文章: