應榮輝
(浙江省紹興市上虞區職業中等專業學校,浙江 上虞 312300)
步進電機在生產自動化控制中起到關鍵作用,是重要的執行部件之一。正常情況下,其轉速、啟停位置僅僅和脈沖信號數量、頻率有關,與負載關系不大。長期以來,步進電機主要采用單片機、DSP芯片作為控制核心,通過定時器形成脈沖信號,從而實現電機控制。這樣的控制方式需占用較多的系統資源,脈沖信號頻率受微機、控制系統、驅動設計的限制,相關控制電路結構成本較高,同時系統擴展性差、難以靈活調整,無法進行高效的人機交互[1]。而以現場可編程門陣列(Field Programmable Gate Array,FPGA)作為步進電機控制系統的控制核心,通過控制電機轉矩與電機電流的方式對兩相步進電機進行動態閉環控制,從而提高步進電機繞組電流控制精確度,最終實現步進電機的精準高效控制。
為實現兩相步進電機的高效控制,需要基于實際控制需求確定合理可行的控制方案。本次設計采用電機轉矩控制方案,其中電磁轉矩發揮的作用最大。電機電磁轉矩公式[2]如下:

式中,Te表示電機電磁轉矩;Ld表示d相電感系數;Lq表示q相電感系數;id表示d相電流;iq表示q相電流;Im表示勵磁電流;Msr表示定子、轉子之間的最大互感值。根據式(1)可知,電機電磁轉矩Te的大小取決于d、q相電流,需得到合理的d、q相電流關系才能合理控制電磁轉矩,從而實現電機控制。電機轉矩與電機電流之間的關系可通過查表確定。基于電機轉子位置、工況求得需要的電機轉矩,然后通過查表得到對應的電流值,用于進行閉環控制。逆變器采用脈沖寬度調制(Pulse Width Modulation,PWM)模式,通過PWM斬波驅動輸出驅動信號。兩相步進電機控制系統基本架構見圖1。

圖1 步進電機控制系統框架
系統采用雙控制環,包括電機轉子位置控制環和電機轉速控制環,均為PI控制模式,以保障系統控制的可靠性。電流控制器同樣是PI控制模式,盡可能縮短閉環控制周期,確保系統控制的實時性[3]。系統基于給定電機轉矩調整d、q相電流,從而動態控制步進電機。電機電流反饋為兩相繞組電流值,具體值通過相電流Park變換求得。
為精簡硬件電路,本次設計的控制系統通過FPGA實現全部的控制功能,輔以其他功能模塊對步進電機進行實時高效控制。系統首先要做到實時獲取電機轉子位置、電流等重要參數,其次通過FPGA輸出相應的驅動信號,最后對信號進行放大以驅動電機。此外,還需要設置通信接口與上位機通信。上位機負責輸出電機控制指令,FPGA向上位機返回電機位置、電流等信息,方便用戶使用。圖2為步進電機控制系統硬件架構。

圖2 步進電機控制系統
在該控制系統中,FPGA發揮著控制核心作用。FPGA接收傳感器發送的電機轉子位置、電機電流等關鍵參數,然后輸出脈沖信號,以控制電機運行。FPGA具有可反復編程的特點,專為滿足靈活多變的控制需求而設計。用戶可以基于個性化控制需求開發FPGA,也可以快速更新FPGA電路。本次設計的步進電機控制系統FPGA芯片選用Xilinx的Spartan6,該型FPGA芯片可以實現分頻以及不同電機狀態之間的相互轉換。Spartan6芯片是Spartan系列中的中小型器件,成本低,采用TQFP封裝,工作溫度為0 ~ 85℃[4]。
2.3.1 電源模塊
該步進電機控制系統輸入電壓為28 V,包括數字電源電路、模擬電源電路。數字電源電路的主要作用是進行A/D轉換以及為FPGA接口電路供電,模擬電源電路則是為A/D轉換器中的運放提供電源。電源電路原理見圖3。

圖3 電源電路
電源電路為+28 V穩壓電源供電,采用過壓保護電路(Over Voltage Protection,OVP)防止過壓。電機運行時會產生強共模信號,因此需添加外部存儲器控制器(External Memory Controlle,EMC)模塊抑制共模信號的干擾。EMC模塊包括一個瞬變電壓抑制二極管(Transient Voltage Suppressor,TVS)和 6 個儲能電容,組成次級外部存儲器控制器濾波電路。TVS管可以有效消除電路產生的沖擊脈沖,為電路中的精密電子元件提供安全保護[5],當兩端受到高能反向脈沖影響時,可迅速降低兩端阻抗,吸收浪涌功率,穩定電壓。
2.3.2 電機驅動電路
本次設計的步進電機控制系統驅動電路采用L298驅動器。L298是一款雙全橋驅動器,兼容標準TTL邏輯,可對繼電器、電機等感性負載進行有效驅動。L298N由4個邏輯驅動電路構成,可輕松驅動一個兩相步進電機。由于本次設計的步進電機控制系統需要實現步進電機的閉環控制,因此還需要監測兩相繞組的電流值,這里使用串聯采樣電阻方法。串聯檢測電阻對電流有一定影響,但如果電阻值選擇正確,就能夠獲得比較準確的繞組電流值。
2.3.3 A/D轉換電路
系統的電流檢測電阻為0.05 Ω,如果繞組電流為1 A,則電壓為0.05 V。通過差分放大電路放大電壓信號,再通過低通濾波器去除噪聲信號。為提高控制精度,本次設計通過雙AD976A/D轉換器同步采集兩相繞組電流值。AD976電采用單電源+5 V,電路設計簡單,功耗不超過100 mW。
基于自頂向下的設計思想設計控制系統軟件,結合具體的控制功能需求,將控制系統軟件架構分為如下功能模塊。
(1)載波周期同步信號生成。該模塊用于確定PWM驅動信號、電流環閉環的周期,確保系統的各個功能模塊符合時序要求[6]。
(2)串口通信模塊。該模塊用于控制系統與上位機之間的數據通信,完成控制指令的傳輸與系統狀態反饋,例如將電機功率、電機轉速、電機轉子位置等信息發送給上位機。
(3)電流信號采集。控制系統需采集繞組電流值。電流反饋采集模塊的主要功能是基于AD976的采樣時序圖產生相應的采樣信號,修正繞組電流值。
(4)位置信號采集。電機轉子位置信號反饋通過增量編碼器完成。該模塊主要作用是對增量式編碼器的A、B、Z相信號進行解碼,完成編碼器脈沖計數,并對采集到的脈沖進行轉換,將位置值轉換為16位二進制數發送到寄存器模塊以進行電機控制。
(5)步進電機控制模塊。該模塊首先需要接收控制寄存器發送的控制參數和控制命令信號,然后根據相關控制指令生成控制序列,用作電流環、速度環以及位置環計算的開始標志。根據指令選擇相應的控制模式,包括轉矩控制模式、速度控制模式、位置控制模式。將電流采樣模塊采集到的繞組電流值轉換為閉電流環旋轉坐標系中的d、q相電流,用于閉環電流控制。
(6)生成PWM驅動信號。該模塊將載波周期同步信號作為啟動標志,基于步進電機控制模塊給出給定電壓,通過比較生成PWM控制信號來控制兩相H橋逆變器開關管的通斷,從而實現電機驅動。
綜上所述,本次設計的步進電機控制系統充分發揮FPGA控制器接口靈活、邏輯資源豐富以及可擴展性強等優勢,有效提高電機閉環控制效率,優化控制系統性能。與傳統的開環控制相比,該閉環控制系統的位置控制精度更高,采用轉矩矢量控制代替細分控制,有效解決了傳統步進電機丟步、損耗大、低頻震蕩等問題。采用編碼器精確采集當前電機轉子位置、電機電流信號,生成PWM控制波形從而實現電機驅動,不僅能夠提高步進電機的控制精度,而且還能打破載波頻率對電機運行速度的限制。