張 珂,郭 棟,秦文甫
(中國空空導彈研究院,洛陽 471099)
基于STM32的小型化伺服控制器設計
張 珂,郭 棟,秦文甫
(中國空空導彈研究院,洛陽 471099)
針對伺服控制器多選用DSP為核心的現狀,設計了一種基于嵌入式處理器 STM32的伺服控制器。采用PID增量控制,在實現對直流有刷電動機控制的同時達到伺服控制器小型化的目的。經實驗驗證,控制器在閉環系統中穩定性好,各項指標均滿足要求。
伺服控制器;STM32;PID;直流電動機
伺服控制系統中數字控制方式已占據主導地位,以TMS320F2812為代表的DSP憑借其控制精度高、內部資源豐富等優勢成為伺服系統數字控制器主控單元的首選[1]。但在一些要求伺服系統低成本,對體積控制嚴格的場合,就不再適合選用DSP進行控制。
本文的研究目的在于設計一種新型伺服系統數字控制器,既能滿足控制精度,響應速度等性能要求,又要控制成本和體積。系統采用STM32為主控單元,以最簡方式配置外圍電路;算法上采用PID+前饋的控制方式,通過脈寬調制實現對電機的控制。
總體方案框圖如圖1所示??刂破饕許TM32 F103C8為核心,采用直流有刷電動機作為執行單元,并以MOSFET組成H橋式電路進行電機驅動??刂破鞴ぷ鲿r,通過RS-422通訊電路接收并處理控制信號,位置反饋信號經調理電路和模數轉換電路后輸入主控單元,在與控制信號綜合后,輸出控制電機運行的PWM信號,通過驅動電路,驅動執行單元運轉,實現位置跟隨。
PID控制是伺服控制中常用的一種控制算法,具有調節方便、技術成熟、無需知道被控對象準確數學模型等優點,因此在伺服控制器軟件中引入了PID控制作為其控制算法的基礎。
經典PID算法表達式:
(1)
式中:u(t)為伺服控制器輸出信號;e(t)為控制器的輸入偏差信號,它等于測量值與給定值之差;Kp為比例系數;TD為微分時間常數;TI為積分時間常數。
采用數值逼近法對式(1)中連續型的微分方程變換成離散型的差分方程,用增量代替積分項,并將其表示成矩形積分的形式,同時將連續時間值t用一系列采樣時刻點kT替換,以增量代替微分項,并將其表示成后向差分的形式,可得增量式PID算法[2]:

(2)
積分環節的作用是消除靜態誤差,但KI過大也會降低系統的響應速度,引起系統超調量的增加;比例環節的作用是對偏差瞬間做出快速反應,增大Kp數值,可以使控制效果得到加強,但過大的Kp值會造成系統的不穩定,使系統產生振蕩[3];微分環節的作用有助于系統穩定,減小系統的超調量,但是引入KD后使得系統對輸入信號的噪聲變得很敏感,因此調試過程先不加微分環節,當系統調節穩定后,再適當調節微分參數。
控制系統原理框圖如圖2所示。

圖2 控制系統原理框圖
3.1 主控單元電路設計
伺服控制器的主控單元電路采用基于ARM CortexTM-M3 32位RISC、內核頻率高達72 MHz的數字信號控制器STM32F103C8芯片為核心,其特點是采用高速嵌入存儲器(SRAM和閃存程序存儲器分別高達20 kB和128 kB),其增強的I/O端口均連接到兩條APB外設總線。STM32F103C8提供1個PWM定時器和3個通用16位定時器,2個12位ADC,配備了標準和先進的通信接口。
在仿真接口的設計上,主控電路采用SWD方式,僅以4根針腳就能實現程序下載及在線調試,與傳統JTAG接口模式相比,能夠在確保可靠性和速度的同時減小印制電路板的體積。
伺服控制器主控單元電路如圖3所示。

圖3 主控單元電路圖
3.2 反饋調理及模數轉換電路設計
為提高控制精度,增強反饋信號抗噪能力,選用TI的A/D轉換器TLC2574進行數據采集。TLC2574是一款可編程的4通道12位A/D轉換器,量程為-10~+10 V,采樣率達200 KS/s,功耗為30 mW,可滿足伺服系統采樣的需要,模數轉換電路如圖4所示。此外,TLC2574可在最大25 MHz的時鐘頻率下工作,具有與外部STM32F103C8高速通信的SPI口,其模擬供電為5 V,數字供電則可選3.3 V,與STM32F103C8系統電平兼容,不需外加電平轉換電路。

圖4 模數轉換電路
系統選用的反饋電位器總阻值為4.7 kΩ,有效電行程300°,扇齒增速比為4,電位器兩端供電電壓為±12 V,伺服系統最大轉角為±25°。根據公式:
(3)
在執行單元最大轉角時反饋電壓為±8 V,在極限轉角±30°時反饋電壓為±9.6 V,均滿足AD采樣的輸入范圍。
3.3 驅動電路設計
驅動電路由電源變換電路、光電隔離電路、限流電路、功率電路組成,如圖5所示。

圖5 驅動電路原理框圖
電源變換電路將功率電壓轉換成+12 V,為驅動電路中除逆變電路以外的各部分電路提供電壓,功率驅動部分采用驅動芯片IR2101S和MOSFET 6270。電路原理圖如圖6所示。其中,IR2101S為自舉式高電壓、高速半橋驅動器,2片IR2101S即可組成H橋全橋驅動電路。IR2101S芯片高端懸浮通道采用外部自舉電容產生懸浮電壓源VBS,與低端通道共用一個外接驅動電源VCC。自舉電路工作原理:當VJ2導通時,D1的VS端電位被拉低至地,VCC通過自舉二極管VD1開始向自舉電容C3充電,這樣就在VB和VS之間形成了一個懸浮電壓VBS用來給VJ1供電,保證VJ1的正常開通。由于自舉電路的存在,可使H橋電路上下橋臂MOSFET僅需一路電源,簡化了電路。

圖6 功率驅動電路原理圖
驅動電路由于自舉電容的存在對輸入信號有一定的限制,即無法做到長時間低電平或100%占空比輸入[4],實際應用中只把占空比最高限設置為95%。在某些要求達到100%占空比輸入的應用中,需單獨給VBS提供充電電路。圖7為一種基于555定時器的充電泵電路[5],能夠以較低的成本實現對自舉電容的單獨充電。圖8為電路仿真結果,一級倍壓即可將+12 V電源電壓升高到+22 V,如需多級倍壓,僅通過增加多級整流電路即可實現。

圖7 充電泵電路原理圖

圖8 充電泵電路仿真圖
STM32控制程序分為主程序、通訊中斷程序和定時器中斷程序三部分,程序流程圖如圖9所示。在通訊中斷程序中,控制器每2 ms接收一次轉速指令,處理后發送轉速數據,定時器中斷程序則通過一定的控制算法控制電機轉速。

圖9 控制軟件流程圖
為驗證本文提出的基于STM32小型化伺服控制器技術,建立實驗系統如圖10所示,實驗中選用的直流電動機參數如表1所示。

表1 試驗電機參數
圖11是小型化控制器的實物圖。實際大小僅為60 mm×30 mm,體積較基于TMS320F2812的伺服控制器大幅減小。

圖11 電路實物圖
圖12是上位機給控制器發送±20°階躍信號時實際的反饋波形。經計算,伺服系統空載角速度如表2所示。

圖12 伺服系統階躍測試波形

表2 系統階躍測試數據
給控制器分別發送不同頻率的正弦波,測得系統的動態特性如表3所示。

表3 系統動態特性測試數據
通過實驗數據的分析可以得出,該伺服控制器穩定性好,各項測試指標均能滿足伺服系統要求,證明本文提出的控制器方案可以實現對伺服系統的控制。
本文以STM32F103C8為核心設計了一套小型化伺服控制器,較行業內常見的以DSP2812為核心的伺服控制器具有體積小,成本低的特點。通過在伺服系統中的應用實驗,表明該控制器滿足設計要求,具有實際應用價值。
[1] 吳大勇,賈敏智.STM32 在三相無刷直流電機控制系統中的應用[J].微電機,2014,47(3):47-51.
[2] 盧志剛,吳杰,吳潮.數字伺服控制系統與設計[M].北京:機械工業出版社,2007.
[3] 樊學能.基于PID 算法的直流電動機調速系統的設計[J].電氣技術與自動化,2011,40(3): 175-178.
[4] 張小鳴,盧方民.基于IR2110的H橋可逆PWM驅動電路應用[J].常州大學學報(自然科學版),2014,24(4):68-72.
[5] 李正中,孫德剛.高壓浮動MOSFET 柵極驅動技術[J].通信電源技術,2003(3):37-40.
Design of Miniature Servo Controller Based on STM32
ZHANGKe,GUODong,QINWen-fu
(China Airborne Missile Academy,Luoyang 471099,China)
For Currently servo controllers more use DSP, a servo controller based on STM32 was designed. The controller used PID increment control, realizing the control of DC motor with small volume. Experimental results show that the controller has good stability in closed-loop system and can meet requirements.
servo controller; STM32; PID; DC Motor
2015-11-04
TM383.4
A
1004-7018(2016)05-0083-04
張珂(1983-),碩士研究生,工程師,研究方向為伺服系統控制器設計。