基于STM32微控制器處理先進(jìn)電機(jī)控制方法
變頻器的問(wèn)世和先進(jìn)的電機(jī)控制方法讓三相無(wú)刷電機(jī)(交流感應(yīng)電機(jī)或永磁同步電機(jī))曾經(jīng)在調(diào)速應(yīng)用領(lǐng)域取得巨大成功。這些高性能的電機(jī)驅(qū)動(dòng)器過(guò)去主要用于工廠自動(dòng)化系統(tǒng)和機(jī)器人。十年來(lái),電子元器件的大幅降價(jià)使得這些電機(jī)驅(qū)動(dòng)器能夠進(jìn)入對(duì)成本敏感的市場(chǎng),例如:家電、空調(diào)或個(gè)人醫(yī)療設(shè)備。本文將探討基于ARM的標(biāo)準(zhǔn)微控制器如何在一個(gè)被DSP和FPGA 長(zhǎng)期壟斷的市場(chǎng)上打破復(fù)雜的控制模式,我們將以意法半導(dǎo)體的基于Cortex-M3 內(nèi)核的STM32系列微控制器為例論述這個(gè)過(guò)程。
首先,我們回顧一下電機(jī)控制的基本原理。在電機(jī)控制系統(tǒng)內(nèi),為什么處理器非常重要?我們?yōu)槭裁葱枰浅:玫挠?jì)算性能?畢竟,Nicolas Tesla在一個(gè)世紀(jì)前發(fā)明交流電機(jī)時(shí)不需要編譯器。只要需要調(diào)速,人們無(wú)法回避使用逆變器驅(qū)動(dòng)一個(gè)性能不錯(cuò)的3相電機(jī),控制一個(gè)永磁同步電機(jī) (PMSM)運(yùn)轉(zhuǎn)更離不開(kāi)逆變器,這個(gè)復(fù)雜的功率電子系統(tǒng)的核心是一個(gè)直流轉(zhuǎn)交流的3相逆變器,其中微控制器起到管理作用,以全數(shù)字方式執(zhí)行普通的三位一體的控制功能:檢測(cè)(電流、轉(zhuǎn)速、角度…)、處理(算法、內(nèi)務(wù)管理…)、控制功率開(kāi)關(guān)(最低的配置也至少有6個(gè)開(kāi)關(guān))。
圖1:STM32F103HD可以同時(shí)處理雙電機(jī)控制和數(shù)字PF
采用標(biāo)量控制是一個(gè)三相交流電機(jī)實(shí)現(xiàn)變速運(yùn)轉(zhuǎn)的最簡(jiǎn)單方式。標(biāo)量控制原理是在施加到電機(jī)的頻率和電壓之間保持一個(gè)恒比。對(duì)于入門(mén)級(jí)電機(jī)驅(qū)動(dòng)器,這是一個(gè)非常主流的控制方法,適合負(fù)載特性非常普通且控制帶寬要求不高的應(yīng)用(如功率非常小的電泵和風(fēng)扇)。不幸地是,并不是所有的應(yīng)用都能忍受如此簡(jiǎn)單的控制過(guò)程及其應(yīng)用限制。特別是,標(biāo)量控制在瞬變環(huán)境內(nèi)不能保證最佳的電機(jī)性能(轉(zhuǎn)矩、能效)。為克服這些限制,人們開(kāi)發(fā)出了其它的電機(jī)控制方法,其中磁場(chǎng)定向控制(又稱矢量控制)是應(yīng)用最廣泛的方法之一。這種控制方式利用兩個(gè)去耦直流控制器,不管運(yùn)轉(zhuǎn)頻率如何(例如轉(zhuǎn)速),以驅(qū)動(dòng)分開(kāi)勵(lì)磁電機(jī)的方式驅(qū)動(dòng)任何一種交流電機(jī)(感應(yīng)電機(jī)或永磁電機(jī))。勵(lì)磁電流與直流的主磁通量(在一個(gè)PMSM電機(jī)內(nèi)的磁體磁通量)有關(guān),而90°移相電流可以控制轉(zhuǎn)矩,功能相當(dāng)于直流電機(jī)的電樞電流。當(dāng)負(fù)載變化時(shí),磁場(chǎng)定向控制方式可實(shí)現(xiàn)精確的轉(zhuǎn)速控制,而且響應(yīng)速度快,使定子磁通量和轉(zhuǎn)子磁通量保持完美的90度相位差,即便在瞬變工作環(huán)境內(nèi),仍然能夠保證優(yōu)化的能效,這是實(shí)現(xiàn)以電機(jī)拓?fù)錇闃?biāo)志的更復(fù)雜的控制方法所依據(jù)的基本理論框架,特別是對(duì)于PMSM電機(jī),這個(gè)理論是無(wú)傳感器電機(jī)驅(qū)動(dòng)器的基礎(chǔ),既可以大幅降低成本(不再需要轉(zhuǎn)速或轉(zhuǎn)角傳感器和相關(guān)的連線),同時(shí)還能提高電機(jī)可靠性。在這種情況下,必須只使用電機(jī)數(shù)學(xué)模型、電流值和電壓值,通過(guò)計(jì)算方法估算轉(zhuǎn)子角度位置。在最低分鐘轉(zhuǎn)數(shù)只有幾百轉(zhuǎn)的情況下,這種狀態(tài)觀測(cè)器理論(在其它控制方法中)可以實(shí)現(xiàn)無(wú)傳感器的轉(zhuǎn)速控制,在某些情況下,最低分鐘轉(zhuǎn)數(shù)是靜止?fàn)顟B(tài)。不過(guò),這對(duì)CPU是一個(gè)額外的實(shí)時(shí)負(fù)荷。最后,微控制器必須以1KHz到20KHz的速率連續(xù)重新計(jì)算矢量控制算法,具體速率取決于最終應(yīng)用帶寬,處理Parke和Clarke轉(zhuǎn)換和實(shí)現(xiàn)多個(gè)PID控制器和軟件鎖相環(huán)確實(shí)需要高強(qiáng)度的數(shù)字計(jì)算,這就是過(guò)去為什么數(shù)字信號(hào)處理器、微處理器或FGPA器件被用作控制器的原因。
盡管專用雙??刂破骱偷投硕c(diǎn)DSP架構(gòu)已經(jīng)問(wèn)世,但是意法半導(dǎo)體仍然選擇使用Cortex-M3內(nèi)核開(kāi)發(fā)STM32微控制器。這個(gè)解決方案可很好地滿足大量的無(wú)刷電機(jī)驅(qū)動(dòng)器的要求,從一次性工程費(fèi)用的角度看,該解決方案的優(yōu)點(diǎn)是采用行業(yè)標(biāo)準(zhǔn)的ARM®內(nèi)核和標(biāo)準(zhǔn)微控制器的成本效益。
基于Harvard架構(gòu),這個(gè)32位RISC采用Thumb2指令集,提供16位和32位指令。對(duì)比純32位代碼,這個(gè)指令集能夠大幅提高代碼密度,同時(shí)保留原有ARM7指令集的多數(shù)優(yōu)點(diǎn)(附加優(yōu)化的乘加運(yùn)算和硬件除法指令)。
電機(jī)控制系統(tǒng)要求微控制器須具備卓越的實(shí)時(shí)響應(yīng)性(中斷延時(shí)短)、純處理功能(如單周期乘法)以及優(yōu)異的控制性能(當(dāng)處理非序列執(zhí)行流和條件轉(zhuǎn)移指令時(shí))。Cortex-M3能夠滿足所有這些要求。例如,當(dāng)時(shí)鐘頻率是72MHz時(shí),在25µs內(nèi)對(duì)一個(gè)永磁電機(jī)完成一次無(wú)傳感器磁場(chǎng)定向控制,這相當(dāng)于在 10 kHz采樣率下25% 的CPU負(fù)荷。
在STM32微控制器內(nèi),該內(nèi)核與意法半導(dǎo)體優(yōu)化型閃存接口緊密配合,只需增加很少的外部元器件,周邊外設(shè)即可處理外部事件(圖2所示是 STM32F103中容量微控制器的結(jié)構(gòu)框圖)。不用說(shuō),PWM定時(shí)器和模數(shù)轉(zhuǎn)換器是最重要元器件。PWM定時(shí)器包括最先進(jìn)的功能,如中央對(duì)齊模式PWM 信號(hào)生成和死區(qū)時(shí)間插入邏輯,特別強(qiáng)調(diào)安全性:該模塊直接控制功率開(kāi)關(guān)換向,可控開(kāi)關(guān)功率達(dá)到數(shù)千瓦。例如,用于配置某些重要參數(shù)的寄存器代碼可以被鎖保護(hù),以防軟件失效。只要“緊急停止”引腳被拉低,所有的I/O引腳都被置于用戶可配置的安全狀態(tài)。這個(gè)功能設(shè)計(jì)采用組合邏輯模塊,當(dāng)主時(shí)鐘(晶體)失效時(shí),內(nèi)部切換到后備振蕩器之前,可確保保護(hù)電路仍然能夠正常工作。最后,該微控制器還包含一個(gè)第4比較通道,專門(mén)用于觸發(fā)模數(shù)轉(zhuǎn)換器,實(shí)現(xiàn)最佳的電流測(cè)量精度。
圖2 STM32F103中容量微控制器結(jié)構(gòu)框圖
即使最復(fù)雜的算法幾乎也無(wú)法修正不精確的模擬測(cè)量值,但是,在某種程度上,電機(jī)驅(qū)動(dòng)系統(tǒng)的總體性能取決于模數(shù)轉(zhuǎn)換器的質(zhì)量。STM32F103芯片內(nèi)置三個(gè)采樣率為1MSps的12位模數(shù)轉(zhuǎn)換器,在整個(gè)溫度和電壓范圍內(nèi),總不可調(diào)整誤差(TUE)低于5 LSB。模數(shù)轉(zhuǎn)換器的數(shù)字接口有三個(gè)主要功能:首先,使CPU擺脫簡(jiǎn)單控制任務(wù)和數(shù)據(jù)處理;其次連接芯片的其余部件(中斷請(qǐng)求、DMA請(qǐng)求、觸發(fā)輸入);最后,使STM32的多路轉(zhuǎn)換器同步操作。在這些對(duì)無(wú)刷電機(jī)控制有用的功能中,我們首先考慮通道讀序列發(fā)生器。對(duì)比傳統(tǒng)的掃描電路(按照模擬輸入序號(hào),按序轉(zhuǎn)換一定數(shù)量的通道),在一個(gè)16個(gè)轉(zhuǎn)換通道組成的順列(例如:Ch3, Ch3, Ch0, Ch11)內(nèi),序列發(fā)生器可按任何順序轉(zhuǎn)換通道,當(dāng)設(shè)計(jì)人員在設(shè)計(jì)印刷電路板時(shí),這個(gè)功能給設(shè)計(jì)人員帶來(lái)更高的設(shè)計(jì)靈活性,為實(shí)現(xiàn)平均轉(zhuǎn)換目的,準(zhǔn)許對(duì)同一通道進(jìn)行多次采樣(在一個(gè)序列內(nèi)),當(dāng)整個(gè)序列轉(zhuǎn)換完畢后,DMA通道將轉(zhuǎn)換結(jié)果送到RAM,中斷處理程序產(chǎn)生一個(gè)中斷請(qǐng)求。[!--empirenews.page--]
在檢測(cè)電機(jī)相位電流的過(guò)程中,瞬變電壓在功率開(kāi)關(guān)上產(chǎn)生的噪聲(在離線開(kāi)關(guān)應(yīng)用中,典型噪聲達(dá)到幾百個(gè)V/µs)是引起讀取誤差的一個(gè)重要原因,可能導(dǎo)致測(cè)量結(jié)果的信噪比非常低。解決方案是使模數(shù)轉(zhuǎn)換器與控制功率級(jí)的定時(shí)器同步:因?yàn)閾Q向時(shí)刻可以預(yù)定(由3 PWM定時(shí)器的比較寄存器定義),所以可以使用一個(gè)額外比較通道在換向時(shí)刻稍前或稍后觸發(fā)模數(shù)轉(zhuǎn)換操作。基于這個(gè)原因,STM32啟用了第二個(gè)序列發(fā)生器(又稱注入序列發(fā)生器),該序列發(fā)生器的優(yōu)先級(jí)高于正常序列發(fā)生器,可以用一個(gè)不能延遲的新轉(zhuǎn)換操作使當(dāng)前的轉(zhuǎn)換操作中斷。通常情況下,正常序列發(fā)生器負(fù)責(zé)“內(nèi)部管理”轉(zhuǎn)換,連續(xù)檢測(cè)溫度或直流總線電壓(作為后臺(tái)任務(wù)),然后通過(guò)DMA通道發(fā)送到RAM,而注入序列發(fā)生器則將處理時(shí)間關(guān)鍵的轉(zhuǎn)換操作,并將轉(zhuǎn)換結(jié)果存儲(chǔ)在模數(shù)轉(zhuǎn)換器寄存器(將會(huì)產(chǎn)生一個(gè)中斷,但是不能接受延時(shí))。
對(duì)于一個(gè)能夠執(zhí)行先進(jìn)的電機(jī)控制功能的通用微控制器,擁有微控制器是一回事,而開(kāi)發(fā)輕松入門(mén)卻是另一回事。利用軟硬件工具可以把這個(gè)問(wèn)題的兩個(gè)方面都處理好。首先是擁有一套電機(jī)控制開(kāi)發(fā)入門(mén)工具,包含測(cè)試工具(JTAG探針和光隔離器)、微控制器芯片以及功率級(jí)電路板和演示用PMSM電機(jī),這套工具用于產(chǎn)品性能評(píng)估和開(kāi)發(fā)用途。模塊化設(shè)計(jì)有助于升級(jí)演示應(yīng)用(例如雙電機(jī)控制微控制器電路板),評(píng)估多個(gè)(或定制)功率級(jí)。最后,意法半導(dǎo)體為STM32客戶免費(fèi)提供電機(jī)控制軟件庫(kù)。2.0版電機(jī)控制軟件庫(kù)利用頭文件內(nèi)的一個(gè)簡(jiǎn)單且低廉的#define聲明列表支持各種配置。軟件庫(kù)包含交流感應(yīng)電機(jī)和同步電機(jī)的磁場(chǎng)定向控制算法,為簡(jiǎn)化代碼的可讀性和可維護(hù)性,這些算法采用C編程語(yǔ)言,再次證明了現(xiàn)代編譯器的效率。該軟件庫(kù)還針對(duì)PMSM電機(jī)提供一個(gè)穩(wěn)健的無(wú)傳感器控制算法(基于磁通觀測(cè)器),以及一個(gè)超高速內(nèi)部永磁電機(jī)(IPM)專用控制算法。當(dāng)然,該軟件還支持普通轉(zhuǎn)速和位置傳感器(增量編碼器、霍爾傳感器或轉(zhuǎn)速傳感器)。通過(guò)使用隔離傳感器或分流器,STM32支持三種電流檢測(cè)方法。STM32外設(shè)可以實(shí)現(xiàn)一個(gè)創(chuàng)新的單電流檢測(cè)方法,利用成本最低的配置(一個(gè)簡(jiǎn)單的獨(dú)特的電阻器)執(zhí)行矢量控制。因?yàn)槟軌蜃畲笙薅冉档捅菊麟娏魇д媛剩@項(xiàng)技術(shù)已取得專利權(quán)。
意法半導(dǎo)體目前的主要開(kāi)發(fā)項(xiàng)目是控制電機(jī)直到靜止?fàn)顟B(tài)的無(wú)傳感器永磁電機(jī)控制和內(nèi)置功率因數(shù)校正功能的雙電機(jī)控制。最近,意法半導(dǎo)體成功演示了單電流檢測(cè)方法,僅一個(gè)STM32微控制器就能執(zhí)行兩個(gè)單電流檢測(cè)矢量控制功能,同時(shí)還用一個(gè)40 kHz的控制回路管理PFC級(jí)(詳見(jiàn)圖1)。
從功率開(kāi)關(guān)分立器件,到復(fù)雜的系統(tǒng)芯片,意法半導(dǎo)體承諾以其獨(dú)有的產(chǎn)品組合長(zhǎng)期支持電機(jī)控制市場(chǎng)。STM32微控制器產(chǎn)品線將繼續(xù)沿四個(gè)新方向部署,如圖3所示,其中兩個(gè)方向適用于電機(jī)控制。第一個(gè)產(chǎn)品線將面向低成本市場(chǎng),開(kāi)發(fā)低端的16位電機(jī)控制微控制器。另一個(gè)產(chǎn)品線以高性能為訴求,面向需要更高處理性能、更大存儲(chǔ)容量和高帶寬接口的應(yīng)用。如此寬廣的產(chǎn)品組合結(jié)合Cortex-M3內(nèi)核,勢(shì)必確立STM32架構(gòu)適用于現(xiàn)在和未來(lái)電機(jī)驅(qū)動(dòng)的多功能性。
圖3:STM32:強(qiáng)固的增長(zhǎng)基礎(chǔ)