應(yīng)榮輝
(浙江省紹興市上虞區(qū)職業(yè)中等專業(yè)學(xué)校,浙江 上虞 312300)
步進(jìn)電機(jī)在生產(chǎn)自動(dòng)化控制中起到關(guān)鍵作用,是重要的執(zhí)行部件之一。正常情況下,其轉(zhuǎn)速、啟停位置僅僅和脈沖信號數(shù)量、頻率有關(guān),與負(fù)載關(guān)系不大。長期以來,步進(jìn)電機(jī)主要采用單片機(jī)、DSP芯片作為控制核心,通過定時(shí)器形成脈沖信號,從而實(shí)現(xiàn)電機(jī)控制。這樣的控制方式需占用較多的系統(tǒng)資源,脈沖信號頻率受微機(jī)、控制系統(tǒng)、驅(qū)動(dòng)設(shè)計(jì)的限制,相關(guān)控制電路結(jié)構(gòu)成本較高,同時(shí)系統(tǒng)擴(kuò)展性差、難以靈活調(diào)整,無法進(jìn)行高效的人機(jī)交互[1]。而以現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)作為步進(jìn)電機(jī)控制系統(tǒng)的控制核心,通過控制電機(jī)轉(zhuǎn)矩與電機(jī)電流的方式對兩相步進(jìn)電機(jī)進(jìn)行動(dòng)態(tài)閉環(huán)控制,從而提高步進(jìn)電機(jī)繞組電流控制精確度,最終實(shí)現(xiàn)步進(jìn)電機(jī)的精準(zhǔn)高效控制。
為實(shí)現(xiàn)兩相步進(jìn)電機(jī)的高效控制,需要基于實(shí)際控制需求確定合理可行的控制方案。本次設(shè)計(jì)采用電機(jī)轉(zhuǎn)矩控制方案,其中電磁轉(zhuǎn)矩發(fā)揮的作用最大。電機(jī)電磁轉(zhuǎn)矩公式[2]如下:
式中,Te表示電機(jī)電磁轉(zhuǎn)矩;Ld表示d相電感系數(shù);Lq表示q相電感系數(shù);id表示d相電流;iq表示q相電流;Im表示勵(lì)磁電流;Msr表示定子、轉(zhuǎn)子之間的最大互感值。根據(jù)式(1)可知,電機(jī)電磁轉(zhuǎn)矩Te的大小取決于d、q相電流,需得到合理的d、q相電流關(guān)系才能合理控制電磁轉(zhuǎn)矩,從而實(shí)現(xiàn)電機(jī)控制。電機(jī)轉(zhuǎn)矩與電機(jī)電流之間的關(guān)系可通過查表確定?;陔姍C(jī)轉(zhuǎn)子位置、工況求得需要的電機(jī)轉(zhuǎn)矩,然后通過查表得到對應(yīng)的電流值,用于進(jìn)行閉環(huán)控制。逆變器采用脈沖寬度調(diào)制(Pulse Width Modulation,PWM)模式,通過PWM斬波驅(qū)動(dòng)輸出驅(qū)動(dòng)信號。兩相步進(jìn)電機(jī)控制系統(tǒng)基本架構(gòu)見圖1。
圖1 步進(jìn)電機(jī)控制系統(tǒng)框架
系統(tǒng)采用雙控制環(huán),包括電機(jī)轉(zhuǎn)子位置控制環(huán)和電機(jī)轉(zhuǎn)速控制環(huán),均為PI控制模式,以保障系統(tǒng)控制的可靠性。電流控制器同樣是PI控制模式,盡可能縮短閉環(huán)控制周期,確保系統(tǒng)控制的實(shí)時(shí)性[3]。系統(tǒng)基于給定電機(jī)轉(zhuǎn)矩調(diào)整d、q相電流,從而動(dòng)態(tài)控制步進(jìn)電機(jī)。電機(jī)電流反饋為兩相繞組電流值,具體值通過相電流Park變換求得。
為精簡硬件電路,本次設(shè)計(jì)的控制系統(tǒng)通過FPGA實(shí)現(xiàn)全部的控制功能,輔以其他功能模塊對步進(jìn)電機(jī)進(jìn)行實(shí)時(shí)高效控制。系統(tǒng)首先要做到實(shí)時(shí)獲取電機(jī)轉(zhuǎn)子位置、電流等重要參數(shù),其次通過FPGA輸出相應(yīng)的驅(qū)動(dòng)信號,最后對信號進(jìn)行放大以驅(qū)動(dòng)電機(jī)。此外,還需要設(shè)置通信接口與上位機(jī)通信。上位機(jī)負(fù)責(zé)輸出電機(jī)控制指令,F(xiàn)PGA向上位機(jī)返回電機(jī)位置、電流等信息,方便用戶使用。圖2為步進(jìn)電機(jī)控制系統(tǒng)硬件架構(gòu)。
圖2 步進(jìn)電機(jī)控制系統(tǒng)
在該控制系統(tǒng)中,F(xiàn)PGA發(fā)揮著控制核心作用。FPGA接收傳感器發(fā)送的電機(jī)轉(zhuǎn)子位置、電機(jī)電流等關(guān)鍵參數(shù),然后輸出脈沖信號,以控制電機(jī)運(yùn)行。FPGA具有可反復(fù)編程的特點(diǎn),專為滿足靈活多變的控制需求而設(shè)計(jì)。用戶可以基于個(gè)性化控制需求開發(fā)FPGA,也可以快速更新FPGA電路。本次設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng)FPGA芯片選用Xilinx的Spartan6,該型FPGA芯片可以實(shí)現(xiàn)分頻以及不同電機(jī)狀態(tài)之間的相互轉(zhuǎn)換。Spartan6芯片是Spartan系列中的中小型器件,成本低,采用TQFP封裝,工作溫度為0 ~ 85℃[4]。
2.3.1 電源模塊
該步進(jìn)電機(jī)控制系統(tǒng)輸入電壓為28 V,包括數(shù)字電源電路、模擬電源電路。數(shù)字電源電路的主要作用是進(jìn)行A/D轉(zhuǎn)換以及為FPGA接口電路供電,模擬電源電路則是為A/D轉(zhuǎn)換器中的運(yùn)放提供電源。電源電路原理見圖3。
圖3 電源電路
電源電路為+28 V穩(wěn)壓電源供電,采用過壓保護(hù)電路(Over Voltage Protection,OVP)防止過壓。電機(jī)運(yùn)行時(shí)會(huì)產(chǎn)生強(qiáng)共模信號,因此需添加外部存儲(chǔ)器控制器(External Memory Controlle,EMC)模塊抑制共模信號的干擾。EMC模塊包括一個(gè)瞬變電壓抑制二極管(Transient Voltage Suppressor,TVS)和 6 個(gè)儲(chǔ)能電容,組成次級外部存儲(chǔ)器控制器濾波電路。TVS管可以有效消除電路產(chǎn)生的沖擊脈沖,為電路中的精密電子元件提供安全保護(hù)[5],當(dāng)兩端受到高能反向脈沖影響時(shí),可迅速降低兩端阻抗,吸收浪涌功率,穩(wěn)定電壓。
2.3.2 電機(jī)驅(qū)動(dòng)電路
本次設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng)驅(qū)動(dòng)電路采用L298驅(qū)動(dòng)器。L298是一款雙全橋驅(qū)動(dòng)器,兼容標(biāo)準(zhǔn)TTL邏輯,可對繼電器、電機(jī)等感性負(fù)載進(jìn)行有效驅(qū)動(dòng)。L298N由4個(gè)邏輯驅(qū)動(dòng)電路構(gòu)成,可輕松驅(qū)動(dòng)一個(gè)兩相步進(jìn)電機(jī)。由于本次設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng)需要實(shí)現(xiàn)步進(jìn)電機(jī)的閉環(huán)控制,因此還需要監(jiān)測兩相繞組的電流值,這里使用串聯(lián)采樣電阻方法。串聯(lián)檢測電阻對電流有一定影響,但如果電阻值選擇正確,就能夠獲得比較準(zhǔn)確的繞組電流值。
2.3.3 A/D轉(zhuǎn)換電路
系統(tǒng)的電流檢測電阻為0.05 Ω,如果繞組電流為1 A,則電壓為0.05 V。通過差分放大電路放大電壓信號,再通過低通濾波器去除噪聲信號。為提高控制精度,本次設(shè)計(jì)通過雙AD976A/D轉(zhuǎn)換器同步采集兩相繞組電流值。AD976電采用單電源+5 V,電路設(shè)計(jì)簡單,功耗不超過100 mW。
基于自頂向下的設(shè)計(jì)思想設(shè)計(jì)控制系統(tǒng)軟件,結(jié)合具體的控制功能需求,將控制系統(tǒng)軟件架構(gòu)分為如下功能模塊。
(1)載波周期同步信號生成。該模塊用于確定PWM驅(qū)動(dòng)信號、電流環(huán)閉環(huán)的周期,確保系統(tǒng)的各個(gè)功能模塊符合時(shí)序要求[6]。
(2)串口通信模塊。該模塊用于控制系統(tǒng)與上位機(jī)之間的數(shù)據(jù)通信,完成控制指令的傳輸與系統(tǒng)狀態(tài)反饋,例如將電機(jī)功率、電機(jī)轉(zhuǎn)速、電機(jī)轉(zhuǎn)子位置等信息發(fā)送給上位機(jī)。
(3)電流信號采集??刂葡到y(tǒng)需采集繞組電流值。電流反饋采集模塊的主要功能是基于AD976的采樣時(shí)序圖產(chǎn)生相應(yīng)的采樣信號,修正繞組電流值。
(4)位置信號采集。電機(jī)轉(zhuǎn)子位置信號反饋通過增量編碼器完成。該模塊主要作用是對增量式編碼器的A、B、Z相信號進(jìn)行解碼,完成編碼器脈沖計(jì)數(shù),并對采集到的脈沖進(jìn)行轉(zhuǎn)換,將位置值轉(zhuǎn)換為16位二進(jìn)制數(shù)發(fā)送到寄存器模塊以進(jìn)行電機(jī)控制。
(5)步進(jìn)電機(jī)控制模塊。該模塊首先需要接收控制寄存器發(fā)送的控制參數(shù)和控制命令信號,然后根據(jù)相關(guān)控制指令生成控制序列,用作電流環(huán)、速度環(huán)以及位置環(huán)計(jì)算的開始標(biāo)志。根據(jù)指令選擇相應(yīng)的控制模式,包括轉(zhuǎn)矩控制模式、速度控制模式、位置控制模式。將電流采樣模塊采集到的繞組電流值轉(zhuǎn)換為閉電流環(huán)旋轉(zhuǎn)坐標(biāo)系中的d、q相電流,用于閉環(huán)電流控制。
(6)生成PWM驅(qū)動(dòng)信號。該模塊將載波周期同步信號作為啟動(dòng)標(biāo)志,基于步進(jìn)電機(jī)控制模塊給出給定電壓,通過比較生成PWM控制信號來控制兩相H橋逆變器開關(guān)管的通斷,從而實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)。
綜上所述,本次設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng)充分發(fā)揮FPGA控制器接口靈活、邏輯資源豐富以及可擴(kuò)展性強(qiáng)等優(yōu)勢,有效提高電機(jī)閉環(huán)控制效率,優(yōu)化控制系統(tǒng)性能。與傳統(tǒng)的開環(huán)控制相比,該閉環(huán)控制系統(tǒng)的位置控制精度更高,采用轉(zhuǎn)矩矢量控制代替細(xì)分控制,有效解決了傳統(tǒng)步進(jìn)電機(jī)丟步、損耗大、低頻震蕩等問題。采用編碼器精確采集當(dāng)前電機(jī)轉(zhuǎn)子位置、電機(jī)電流信號,生成PWM控制波形從而實(shí)現(xiàn)電機(jī)驅(qū)動(dòng),不僅能夠提高步進(jìn)電機(jī)的控制精度,而且還能打破載波頻率對電機(jī)運(yùn)行速度的限制。