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