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