基于STM32F407的永磁同步電機伺服控制器設(shè)計
摘要:首先介紹了永磁同步電機伺服控制器的基本功能及控制原理,并以STM32F407為基礎(chǔ)進行了小功率的伺服控制器設(shè)計,詳細講述了伺服控制器的軟、硬件的具體設(shè)計流程及其實現(xiàn)方式。并通過意法半導體公司提供的相關(guān)軟件設(shè)計工具快速、有效地完成伺服控制器的設(shè)計、調(diào)試。
自20世紀90年代以來,隨著現(xiàn)代電機技術(shù)、現(xiàn)代電力電子技術(shù)、微電子技術(shù)、控制理論及計算機技術(shù)等支撐技術(shù)的快速發(fā)展,交流伺服控制技術(shù)得到極大的發(fā)展,使得先前困擾著交流伺服系統(tǒng)的電機控制復雜、調(diào)速性能差等問題取得了突破性的進展。交流伺服系統(tǒng)的性能日漸提高,價格趨于合理,使得交流伺服系統(tǒng)取代直流伺服系統(tǒng),尤其是在高精度、高性能、智能化、模塊化和網(wǎng)絡(luò)化要求的伺服控制領(lǐng)域成了一個發(fā)展趨勢。
在伺服控制器中,為了保證伺服控制良好的實時性、準確性及靈活性,常采用專用于電機控制的DSP(DSC)或FPGA作為控制核心,這些芯片都針對電機控制做了大量的優(yōu)化,如:帶死區(qū)的互補型PWM,多種觸發(fā)、同步方式的快速ADC,高可靠性和抗干擾性。但它們都不約而同地將芯片的設(shè)計重心偏向了電機控制本身,而少了對網(wǎng)絡(luò)化的支持。由于現(xiàn)在伺服控制器正在向智能化、網(wǎng)絡(luò)化方向發(fā)展,DSP或FPGA作為伺服控制器的核心,不但應具有良好的電機控制特性,而且更要有良好的互聯(lián)性,以適應伺服單元與其它控制設(shè)備間飛速增長的互聯(lián)能力。這方面,意法半導體的基于ARM Cortex—M4內(nèi)核的STM32F407系列芯片就做到非常到位,STM32F407芯片內(nèi)置的單精度FPU和1MB的閃存,使它不但運算速度快(168 MHz,2.79Coremark/MHz)、運算精度高,使得復雜的電機控制算法得以實施,而且具有IEEE1588 v2 10/100 M以太網(wǎng)接口、CAN2.0接口和USART接口以方便和不同的控制設(shè)備互聯(lián)互通。另外,芯片自帶的加密/哈希硬件處理器保證了產(chǎn)品的知識產(chǎn)權(quán)不至輕易被盜。
使用意法半導體(ST)的STM32F407芯片不但在硬件上大幅減小了外部器件的種類及數(shù)量,降低了生產(chǎn)成本,提高了產(chǎn)品的可靠性;而且提供了通用外設(shè)庫、DSP算法庫、交流永磁電機(Permanent Magnet Synchronous Motor以下簡稱:PMSM)的場定向(Field Oriented Control以下簡稱:FOC)庫,圖形化芯片外設(shè)配置軟件Microxplorer和支持實時變量監(jiān)控及可視化調(diào)試的軟件STMStudio,以加快設(shè)計開發(fā)人員的產(chǎn)品開發(fā)速度。
1 伺服控制器的方案設(shè)計
1.1 伺服控制器設(shè)計原理
由于伺服系統(tǒng)具有高帶寬、高精度、大扭矩的特點,為達到伺服控制要求,采用技術(shù)成熟的交流永磁同步電機作為被控對象,將伺服系統(tǒng)設(shè)計成一個具有電流環(huán)、速度環(huán)、位置環(huán)三閉環(huán)回路的復合控制系統(tǒng)。
伺服系統(tǒng)最終追求的是外環(huán)定位的準確性和快速性,而外環(huán)的性能發(fā)揮在于內(nèi)環(huán)的性能。電流內(nèi)環(huán)的設(shè)計是高性能伺服系統(tǒng)的基礎(chǔ)和前提,是提高伺服系統(tǒng)控制精度和響應速度、改善控制性能的關(guān)鍵。伺服控制系統(tǒng)的原理框圖見圖1。
1.2 基于STM32F407芯片的伺服控制器的硬件實現(xiàn)
基于STM32F407芯片的伺服控制器原理框圖如下:
由圖2可知:基于STM32F407芯片的伺服控制器使用的元件少,結(jié)構(gòu)簡單,易于開發(fā)?,F(xiàn)就基于STM32F407芯片的伺服控制器各部分分述如下:
1.2.1 電源供電
本方案中驅(qū)動的電機為24 V~48 V的中小功率PMSM,所以直流母線電壓應該在DC 24 V~48 V之間,最低不能低于DC18 V。
采用L7815CP三端穩(wěn)壓模塊將直流母線電壓降為15 V,供IGBT驅(qū)動器L6390使用;
采用L7805CP三端穩(wěn)壓模塊將15 V電壓降為5 V,供電機的碼盤、電流傳感器ACS706、數(shù)據(jù)緩沖74LV244以及運放TSV994使用;
采用AMS1117低壓差穩(wěn)壓器將5 V轉(zhuǎn)為3.3 V,供SFM32F407芯片及UART PHY接口芯片C3222B、CAN PHY接口芯片SN65HVD234和以太網(wǎng)PHY接口芯片DP83848T供電。
1.2.2 與上位機/PLC的接口電路
本方案中與上位機/PLC的接口有三種方式,分別是RS232串口、CAN接口和以太網(wǎng)接口,因為STM32F407芯片不提供相應的物理層接口,為此選用ST公司的C3222B作為RS232的接口芯片,TI公司的SN65HVD234和DP83848T作為CAN和以太網(wǎng)的接口芯片。
1.2.3 IGBT及其驅(qū)動電路
本方案選用ST公司的IGBT,型號是STGF7NC60HD,該款I(lǐng)GBT的耐壓為Vce=600V,在100℃時的允許電流為Ic=6 A,飽和壓降Vces=2.4 V,柵極充電電荷Qg=48 nC,由于其Qg較小,所以其最大開關(guān)頻率可達70 kHz。
選用的IGBT驅(qū)動芯片為ST公司的L6390半橋驅(qū)動芯片,它采用BCD離線技術(shù),使其可以在600 V下工作。
1.2.4 電壓電流采樣電路
本方案先將直流母線電壓通過電阻分壓后,再用運放變換至合適的電平供STM32F407芯片內(nèi)部的ADC采樣。STM32F407芯片通過采樣直流母線電壓來進行直流母線紋波補償。
本方案選用allegro公司的HALL電流傳感器ACS706,來對V相、W相電流進行檢測,并根據(jù)檢測結(jié)果進行FOC控制算法,控制電機的轉(zhuǎn)動。之所以選用ACS706,是為了進行高低壓隔離,防止系統(tǒng)功率部分產(chǎn)生的干擾串入STM32F407芯片。
1.2.5 故障保護電路
在電流采樣電路的基礎(chǔ)上,通過比較器設(shè)定過流門限,當電流超限時,啟動制動電路,停止PWM輸出,并進行故障指示。
在電壓采樣電路的基礎(chǔ)上,通過軟件設(shè)定過壓、欠壓門限,當電壓超限時,啟動制動電路,停止PWM輸出,并進行故障指示。
1.2.6 碼盤接口電路
本方案通過74LV244將電機的HALL碼盤信號由TTL電平變換為LVTTL信號,送STM32F407芯片進行處理。
1.3 基于STM32F407芯片的伺服控制器的軟件實現(xiàn)
基于STM32F407芯片的交流伺服控制器,采用基于永磁電機動態(tài)解耦數(shù)學模型的矢量控制一場定向控制算法(FOC)。在進行交流伺服控制器的軟件設(shè)計時,可使用ST公司的圖形化芯片外設(shè)配置軟件Microxplorer進行STM32F407芯片的選型及外設(shè)配置、初始化代碼的生成;在PMSM電機的FOC算法設(shè)計階段可參考ST公司的PMSMFOC Library和Standard Peripherals Labrary-CMSlS進行開發(fā),并且ST公司提供了DSP算法庫以供開發(fā)者使用;在系統(tǒng)的調(diào)試階段由于電機控制的特殊性,不能在電機運行時設(shè)置斷點進行調(diào)試,為此可采用ST公司的STMStudio軟件進行實時變量監(jiān)控及可視化調(diào)試。
1.3.1 交流伺服控制器軟件應具有的功能
交流伺服控制器軟件應實現(xiàn)以下功能:
◆系統(tǒng)位置控制、速度控制和電流控制;
◆與上位機通信功能;
◆過流、過壓、欠壓的保護及故障指示。
伺服控制器性能的好壞,電機的位置環(huán)、速度環(huán)和電流環(huán)控制是設(shè)計重點?,F(xiàn)將這幾部分分述如下:
1.3.1.1 伺服系統(tǒng)位置環(huán)的實現(xiàn)
STM32F407芯片根據(jù)上位機/PLC發(fā)出的位置指令,控制PMSM快速平穩(wěn)的轉(zhuǎn)動到指定的角度。
位置的控制算法采用三段法,即:位置誤差大時,采用最大速度跟蹤,以快速消除誤差;位置誤差為中等偏差時,速度控制量為
(其中:ε為加速度,e為當前位置誤差);在位置誤差較小時采用PI控制算法。其軟件工作流程如圖3。
1.3.1.2 伺服控制器速度環(huán)的實現(xiàn)
由STM32F407芯片內(nèi)部的正交編碼器接口的脈沖計數(shù)寄存器確定輸入的正交脈沖數(shù),并且轉(zhuǎn)子每轉(zhuǎn)過一周,增量編碼器輸入一個零位標志脈沖信號,以消除因脈沖丟失引起的計數(shù)誤差。為使脈沖計數(shù)寄存器的計數(shù)不會溢出,因此轉(zhuǎn)子位置角最大采樣周期必須根據(jù)電機的最高工作頻率和控制精度確定,電機工作頻率和控制精度越高,則采樣周期越小。控制算法則采用PI算法。
速度環(huán)的工作流程如圖4。
1.3.1.3 伺服控制器電流環(huán)的實現(xiàn)
伺服控制器要求電流環(huán)具有輸出電流諧波分量小、響應速度快的特點,所以電流調(diào)節(jié)器必須滿足內(nèi)環(huán)控制所需要的控制響應速度,能精確控制隨轉(zhuǎn)速變化的交流電流大小及頻率。但若電流環(huán)的響應速度過大,會使電流環(huán)調(diào)整時的音頻噪聲較大,同時在電流很小時會引起電流環(huán)的震蕩,建議電流環(huán)響應頻率的上限值是開關(guān)頻率的10%~20%為好。
對電流環(huán)的控制算法則采用積分分離的PI控制算法。其基本思路:當被控量與設(shè)定值偏差較大時,取消積分作用,以免由于積分作用使系統(tǒng)穩(wěn)定性降低,超調(diào)量增大;當被控量接近給定值時,引入積分控制,以便消除靜差,提高控制精度。其流程框圖如圖5。
2 總結(jié)
這個方案用到了STM32F407芯片的眾多強大特性,如:DSP指令、浮點運算單元、大容量的RAM和Flash、168 MHz的高主頻、Ethernet和加密協(xié)處理器。通過ST公司的眾多軟、硬件設(shè)計參考和貫穿開發(fā)各個階段的免費軟件支持,使得廣大的電機控制開發(fā)工程師可以在最短的時間開發(fā)出性能強大的伺服控制產(chǎn)品。