0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Cortex-M3 內(nèi)核的STM32系列微控制器設(shè)計和實現(xiàn)

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-07 16:06 ? 次閱讀

變頻器是利用電力半導(dǎo)體器件的通斷作用將工頻電源變換為另一頻率的電能控制裝置,能實現(xiàn)對交流異步電機的軟起動、變頻調(diào)速、提高運轉(zhuǎn)精度、改變功率因數(shù)、過流/過壓/過載保護等功能。變頻器集成了高壓大功率晶體管技術(shù)和電子控制技術(shù),得到廣泛應(yīng)用。變頻器的作用是改變交流電機供電的頻率和幅值,因而改變其運動磁場的周期,達(dá)到平滑控制電動機轉(zhuǎn)速的目的。變頻器的出現(xiàn),使得復(fù)雜的調(diào)速控制簡單化,用變頻器+交流鼠籠式感應(yīng)電動機組合替代了大部分原先只能用直流電機完成的工作,縮小了體積,降低了維修率,使傳動技術(shù)發(fā)展到新階段。本文將探討基于ARM的標(biāo)準(zhǔn)微控制器如何在一個被DSPFPGA長期壟斷的市場上打破復(fù)雜的控制模式,我們將以意法半導(dǎo)體的基于Cortex-M3 內(nèi)核的STM32系列微控制器為例論述這個過程。

很多應(yīng)用都會用到功率低于300 W的小型電機,例如汽車、打印機、復(fù)印機、紙張?zhí)幚頇C、工廠自動化、太空和軍事載具、測試設(shè)備和機械人。整體而言,電機的產(chǎn)量約和其功率大小成反比,這表示小型電機的產(chǎn)量遠(yuǎn)超過大型電機。應(yīng)用最廣泛的小型電機包括直流電機、無刷直流電機和步進電機。

步進電機、直流電機和無刷直流電機的主要區(qū)別在于它們的驅(qū)動方式。步進電機是以步階方式分段移動,直流電機和無刷直流電機通常則采用連續(xù)移動的模擬控制方式。由于步進電機采用步階移動,所以特別適合盡對尋址應(yīng)用,目前市場上常見的步進電機已能提供每一步1.8°或0.9°的精確移動能力。步進電機采用直接控制方式,它的主要命令和控制變量都是步階位置 (step position);相形之下,直流電機則是以電機電壓做為控制變量,以位置或速度做為命令變量。直流電機需要反饋控制系統(tǒng),它會以間接方式控制電機位置,步進電機系統(tǒng)多半則是以「開環(huán)」方式進行操縱。

直流電機是最常見和本錢最低的小型電機,并且廣泛用于各種應(yīng)用。無刷直流電機宣稱能提供更高可靠性以及更低噪聲和本錢,然而到目前為止,它卻只能在磁盤或計算機風(fēng)扇等少數(shù)目產(chǎn)應(yīng)用中取代傳統(tǒng)直流電機。在某些應(yīng)用里,無刷直流電機有多項優(yōu)點勝過傳統(tǒng)電刷電機,例如它以電子組件和傳感器取代電刷,不但延長電機壽命和減少維護本錢,而且也沒有電刷產(chǎn)生的噪音。直流電機的特性使它成為調(diào)速系統(tǒng)最輕易使用的電機。(

勵磁電流與直流的主磁通量(在一個PMSM電機內(nèi)的磁體磁通量)有關(guān) ,而 90°移相電流可以控制轉(zhuǎn)矩,功能相當(dāng)于直流電機的電樞電流。當(dāng)負(fù)載變化時,磁場定向控制方式可實現(xiàn)精確的轉(zhuǎn)速控制,而且響應(yīng)速度快,使定子磁通量和轉(zhuǎn)子磁通量保持完美的90度相位差,即便在瞬變工作環(huán)境內(nèi),仍然能夠保證優(yōu)化的能效,這是實現(xiàn)以電機拓?fù)錇闃?biāo)志的更復(fù)雜的控制方法所依據(jù)的基本理論框架,特別是對于PMSM電機,這個理論是無傳感器電機驅(qū)動器的基礎(chǔ),既可以大幅降低成本(不再需要轉(zhuǎn)速或轉(zhuǎn)角傳感器和相關(guān)的連線),同時還能提高電機可靠性。在這種情況下,必須只使用電機數(shù)學(xué)模型、電流值和電壓值,通過計算方法估算轉(zhuǎn)子角度位置。在最低分鐘轉(zhuǎn)數(shù)只有幾百轉(zhuǎn)的情況下,這種狀態(tài)觀測器理論(在其它控制方法中)可以實現(xiàn)無傳感器的轉(zhuǎn)速控制,在某些情況下,最低分鐘轉(zhuǎn)數(shù)是靜止?fàn)顟B(tài)。

不過,這對CPU是一個額外的實時負(fù)荷。最后,微控制器必須以1KHz到20KHz的速率連續(xù)重新計算矢量控制算法,具體速率取決于最終應(yīng)用帶寬,處理Parke和Clarke轉(zhuǎn)換和實現(xiàn)多個PID控制器和軟件鎖相環(huán)確實需要高強度的數(shù)字計算,這就是過去為什么數(shù)字信號處理器、微處理器或FGPA器件被用作控制器的原因。

盡管專用雙??刂破骱偷投硕cDSP架構(gòu)已經(jīng)問世,但是意法半導(dǎo)體仍然選擇使用Cortex-M3內(nèi)核開發(fā)STM32微控制器。這個解決方案可很好地滿足大量的無刷電機驅(qū)動器的要求,從一次性工程費用的角度看,該解決方案的優(yōu)點是采用行業(yè)標(biāo)準(zhǔn)的ARM?內(nèi)核和標(biāo)準(zhǔn)微控制器的成本效益。

基于Harvard架構(gòu),這個32位RISC采用Thumb2指令集,提供16位和32位指令。對比純32位代碼,這個指令集能夠大幅提高代碼密度,同時保留原有ARM7指令集的多數(shù)優(yōu)點(附加優(yōu)化的乘加運算和硬件除法指令)。

電機控制系統(tǒng)要求微控制器須具備卓越的實時響應(yīng)性(中斷延時短)、純處理功能(如單周期乘法)以及優(yōu)異的控制性能(當(dāng)處理非序列執(zhí)行流和條件轉(zhuǎn)移指令時)。Cortex-M3能夠滿足所有這些要求。例如,當(dāng)時鐘頻率是72MHz時,在25μs內(nèi)對一個永磁電機完成一次無傳感器磁場定向控制,這相當(dāng)于在10 kHz采樣率下25% 的CPU負(fù)荷。

意法半導(dǎo)體擴大32位STM32微控制器(MCU)支持的電機矢量控制函數(shù)庫,新增了支持單旁路無傳感器控制、內(nèi)部永磁(IPM)電機控制和永磁同步(PMSM)電機弱磁控制的算法。目前市場上大約已有40種電機控制應(yīng)用采用了意法半導(dǎo)體的基于Cortex-M3的STM32微控制器。 在設(shè)計人員目前可以獲得的新算法中,單旁路電流感應(yīng)支持功能只需要一個電流感應(yīng)電阻器,比需要三個電阻器的普通無傳感器控制機制更加節(jié)省系統(tǒng)成本。單旁路電流感應(yīng)是意法半導(dǎo)體開發(fā)的一項專利技術(shù),具有直流總線電壓利用率高、電流失真小和可聽噪聲低等優(yōu)點。通過增加一個"最大化轉(zhuǎn)矩電流比"(MTPA)控制算法,擴大的函數(shù)庫給設(shè)計人員提供了更大的自由設(shè)計空間,使他們能夠靈活地定義無刷IPM電機的電氣參數(shù),滿足實際應(yīng)用對電機的高功率密度和高速性能的需求?;谶@些新的算法,開發(fā)人員可以充分利用STM32豐富的電機控制外設(shè),包括STM32集成的兩個三相PWM定時器,使一個微控制器可以同時控制兩個無刷電機。通過打破一個微控制器控制一個電機的規(guī)則,設(shè)計人員使用STM32可以節(jié)省成本,降低設(shè)計尺寸和功耗,而且不會對性能有任何影響。微控制器集成的三個模數(shù)轉(zhuǎn)換器能夠支持高精度電機驅(qū)動器用的三路采樣保持電流捕獲。因為STM32采用先進的ARMCortex-M3CPU工業(yè)標(biāo)準(zhǔn)架構(gòu),用戶在STM32上開發(fā)電機控制解決方案要比使用企業(yè)專有架構(gòu)更節(jié)省時間。

即使最復(fù)雜的算法幾乎也無法修正不精確的模擬測量值,但是,在某種程度上,電機驅(qū)動系統(tǒng)的總體性能取決于模數(shù)轉(zhuǎn)換器的質(zhì)量。STM32F103芯片內(nèi)置三個采樣率為1MSps的12位模數(shù)轉(zhuǎn)換器,在整個溫度和電壓范圍內(nèi),總不可調(diào)整誤差 (TUE)低于5 LSB.模數(shù)轉(zhuǎn)換器的數(shù)字接口有三個主要功能:首先,使CPU擺脫簡單控制任務(wù)和數(shù)據(jù)處理;其次連接芯片的其余部件(中斷請求、DMA請求、觸發(fā)輸入);最后,使STM32的多路轉(zhuǎn)換器同步操作。

在這些對無刷電機控制有用的功能中,我們首先考慮通道讀序列發(fā)生器。對比傳統(tǒng)的掃描電路(按照模擬輸入序號,按序轉(zhuǎn)換一定數(shù)量的通道), 在一個16個轉(zhuǎn)換通道組成的順列(例如:Ch3, Ch3, Ch0, Ch11)內(nèi),序列發(fā)生器可按任何順序轉(zhuǎn)換通道,當(dāng)設(shè)計人員在設(shè)計印刷電路板時,這個功能給設(shè)計人員帶來更高的設(shè)計靈活性,為實現(xiàn)平均轉(zhuǎn)換目的,準(zhǔn)許對同一通道進行多次采樣(在一個序列內(nèi)),當(dāng)整個序列轉(zhuǎn)換完畢后,DMA通道將轉(zhuǎn)換結(jié)果送到RAM,中斷處理程序產(chǎn)生一個中斷請求。

檢測電機相位電流的過程中,瞬變電壓在功率開關(guān)上產(chǎn)生的噪聲(在離線開關(guān)應(yīng)用中,典型噪聲達(dá)到幾百個V/μs)是引起讀取誤差的一個重要原因,可能導(dǎo)致測量結(jié)果的信噪比非常低。解決方案是使模數(shù)轉(zhuǎn)換器與控制功率級的定時器同步:因為換向時刻可以預(yù)定(由3 PWM定時器的比較寄存器定義),所以可以使用一個額外比較通道在換向時刻稍前或稍后觸發(fā)模數(shù)轉(zhuǎn)換操作?;谶@個原因,STM32啟用了第二個序列發(fā)生器(又稱注入序列發(fā)生器),該序列發(fā)生器的優(yōu)先級高于正常序列發(fā)生器,可以用一個不能延遲的新轉(zhuǎn)換操作使當(dāng)前的轉(zhuǎn)換操作中斷。通常情況下,正常序列發(fā)生器負(fù)責(zé)"內(nèi)部管理"轉(zhuǎn)換,連續(xù)檢測溫度或直流總線電壓(作為后臺任務(wù)),然后通過DMA通道發(fā)送到RAM,而注入序列發(fā)生器則將處理時間關(guān)鍵的轉(zhuǎn)換操作,并將轉(zhuǎn)換結(jié)果存儲在模數(shù)轉(zhuǎn)換器寄存器(將會產(chǎn)生一個中斷,但是不能接受延時)。

對于一個能夠執(zhí)行先進的電機控制功能的通用微控制器,擁有微控制器是一回事,而開發(fā)輕松入門卻是另一回事。利用軟硬件工具可以把這個問題的兩個方面都處理好。首先是擁有一套電機控制開發(fā)入門工具,包含測試工具(JTAG探針和光隔離器)、 微控制器芯片以及功率級電路板和演示用PMSM電機,這套工具用于產(chǎn)品性能評估和開發(fā)用途。模塊化設(shè)計有助于升級演示應(yīng)用(例如雙電機控制微控制器電路板),評估多個(或定制)功率級。最后,意法半導(dǎo)體為STM32客戶免費提供電機控制軟件庫。2.0版電機控制軟件庫利用頭文件內(nèi)的一個簡單且低廉的 #define聲明列表支持各種配置。

軟件庫包含交流感應(yīng)電機和同步電機的磁場定向控制算法,為簡化代碼的可讀性和可維護性,這些算法采用C編程語言,再次證明了現(xiàn)代編譯器的效率。該軟件庫還針對PMSM電機提供一個穩(wěn)健的無傳感器控制算法(基于磁通觀測器),以及一個超高速內(nèi)部永磁電機 (IPM)專用控制算法。當(dāng)然,該軟件還支持普通轉(zhuǎn)速和位置傳感器(增量編碼器、霍爾傳感器或轉(zhuǎn)速傳感器)。通過使用隔離傳感器或分流器,STM32支持三種電流檢測方法。STM32外設(shè)可以實現(xiàn)一個創(chuàng)新的單電流檢測方法,利用成本最低的配置(一個簡單的獨特的電阻器)執(zhí)行矢量控制。因為能夠最大限度降低本征電流失真率,這項技術(shù)已取得專利權(quán)。

意法半導(dǎo)體目前的主要開發(fā)項目是控制電機直到靜止?fàn)顟B(tài)的無傳感器永磁電機控制和內(nèi)置功率因數(shù)校正功能的雙電機控制。最近,意法半導(dǎo)體成功演示了單電流檢測方法,僅一個STM32微控制器就能執(zhí)行兩個單電流檢測矢量控制功能,同時還用一個40 kHz的控制回路管理PFC級。

從功率開關(guān)分立器件,到復(fù)雜的系統(tǒng)芯片,意法半導(dǎo)體承諾以其獨有的產(chǎn)品組合長期支持電機控制市場。STM32微控制器產(chǎn)品線將繼續(xù)沿四個新方向部署,其中兩個方向適用于電機控制。第一個產(chǎn)品線將面向低成本市場,開發(fā)低端的16位電機控制微控制器。另一個產(chǎn)品線以高性能為訴求,面向需要更高處理性能、更大存儲容量和高帶寬接口的應(yīng)用。如此寬廣的產(chǎn)品組合結(jié)合Cortex-M3內(nèi)核,勢必確立STM32架構(gòu)適用于現(xiàn)在和未來電機驅(qū)動的多功能性。
責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7454

    瀏覽量

    150853
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16885

    瀏覽量

    349918
  • 電機
    +關(guān)注

    關(guān)注

    142

    文章

    8874

    瀏覽量

    144854
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354294
收藏 人收藏

    評論

    相關(guān)推薦

    【圖書分享】基于ARM Cortex-M3STM32系列嵌入式微控制器應(yīng)用

    《基于ARM Cortex-M3STM32系列嵌入式微控制器應(yīng)用實踐》 內(nèi)容簡介   本書介紹了意法半導(dǎo)體(STMicroelectronics,簡稱ST)公司的32位基于ARM
    發(fā)表于 03-13 10:03

    【圖書分享】STM32系列ARM Cortex-M3微控制器原理與實踐

    本帖最后由 小Z 于 2014-3-13 14:09 編輯 《STM32系列ARM Cortex-M3微控制器原理與實踐》作  者:王
    發(fā)表于 03-13 14:05

    基于ARM Cortex-M3內(nèi)核STM32F103系列微控制器

    嵌入式系統(tǒng)原理及應(yīng)用----基于ARM Cortex-M3內(nèi)核STM32F103系列微控制器答案僅供參考,不喜勿噴~~本人比較懶,后面的就
    發(fā)表于 07-16 07:38

    基于內(nèi)核設(shè)計的STM32系列微控制器

    很久不見了再次見到小編是不是很開心和激動呢接下來就跟著小編一起學(xué)習(xí)吧PART 1引言STM32是ST(意法半導(dǎo)體)公司推出的基于ARM內(nèi)核Cortex-M3的32位微控制器
    發(fā)表于 08-18 06:28

    NXP Cortex-M3 LPC1700系列微控制器簡介

    LPC1700系列ARM是基于第二代ARM Cortex-M3內(nèi)核微控制器,是為嵌入式系統(tǒng)應(yīng)用而設(shè)計的高性能、低功耗的32位微處理,適用
    發(fā)表于 03-09 15:24 ?43次下載

    Cortex-m3內(nèi)核STM32芯片的硬件庫程序

    Cortex-m3內(nèi)核STM32芯片的硬件庫程序 有需要的下來看看
    發(fā)表于 12-29 13:41 ?3次下載

    STM32F系列ARM_Cortex-M3微控制器開發(fā)與應(yīng)用_喻金錢/喻斌

    STM32F系列ARM Cortex-M3微控制器開發(fā)與應(yīng)用
    發(fā)表于 01-13 15:54 ?0次下載

    STM32系列ARM Cortex-M3微控制器原理與實踐

    STM32系列ARM Cortex-M3微控制器原理與實踐,感興趣的伙伴們可以看看。
    發(fā)表于 08-09 14:45 ?176次下載

    恩智浦其于Cortex-M3內(nèi)核_的70MHz、32位LPC1300系列微控制器

    恩智浦其于Cortex-M3內(nèi)核_的70MHz、32位LPC1300系列微控制器,感興趣的可以小伙伴們可以看看。
    發(fā)表于 08-23 16:46 ?9次下載

    STM32系列ARM Cortex-M3處理微控制器原理與實踐

    STM32系列ARM Cortex-M3處理微控制器原理與實踐
    發(fā)表于 09-22 16:34 ?24次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>系列</b>ARM <b class='flag-5'>Cortex-M3</b>處理<b class='flag-5'>器</b><b class='flag-5'>微控制器</b>原理與實踐

    LPC18xx系列Cortex-M3內(nèi)核微控制器數(shù)據(jù)手冊

    LPC18xx系列Cortex-M3內(nèi)核微控制器數(shù)據(jù)手冊
    發(fā)表于 10-09 09:44 ?18次下載
    LPC18xx<b class='flag-5'>系列</b><b class='flag-5'>Cortex-M3</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>微控制器</b>數(shù)據(jù)手冊

    STM32 (CORTEX M3)的32位微控制器開發(fā)工具概況

    意法半導(dǎo)體(ST)為STM32系列32位ARM Cortex-M3內(nèi)核微控制器提供全系列的高端和
    發(fā)表于 12-04 16:54 ?502次閱讀

    LPC1700系列Cortex-M3微控制器的中文數(shù)據(jù)手冊免費下載

    LPC1700 系列 Cortex-M3 微控制器用于處理要求高度集成和低功耗的嵌入式應(yīng)用。ARM Cortex-M3 是下一代新生內(nèi)核,它
    發(fā)表于 03-13 09:43 ?33次下載
    LPC1700<b class='flag-5'>系列</b><b class='flag-5'>Cortex-M3</b><b class='flag-5'>微控制器</b>的中文數(shù)據(jù)手冊免費下載

    AN-1159: 基于Cortex-M3的精密模擬微控制器(ADuCxxx系列)上的I2C兼容接口

    AN-1159: 基于Cortex-M3的精密模擬微控制器(ADuCxxx系列)上的I2C兼容接口
    發(fā)表于 03-21 08:52 ?2次下載
    AN-1159: 基于<b class='flag-5'>Cortex-M3</b>的精密模擬<b class='flag-5'>微控制器</b>(ADuCxxx<b class='flag-5'>系列</b>)上的I2C兼容接口

    基于Arm Cortex-M3內(nèi)核的32位微控制器APM32E103xCxE數(shù)據(jù)手冊

    基于Arm Cortex-M3內(nèi)核的32位微控制器APM32E103xCxE數(shù)據(jù)手冊免費下載。
    發(fā)表于 05-19 16:59 ?1次下載