如今,電動馬達無處不在,從洗衣機和健身跑步機到商業建筑的加熱和冷卻系統等各個方面都在推動著運動。不幸的是,所有這些電機都消耗了相當多的能量。一些專家估計,美國產生的所有電力中約有60%是由電動機消耗的。設計人員降低功耗的一種方法是轉向更新的電機技術,如無刷直流和交流電機。
與刷漆同類產品相比,無刷電機更可靠,更安靜,產生的電磁輻射更少,更安全,因為它們消除了與電刷及其換向器相關的火花。它們也更有效率,這意味著它們使用更少的能量。另一方面,無刷電機還需要更復雜的電子設備來管理其操作,并且設計該電路可以增加開發時間并提高總系統成本。
作為工業應用和白色家電的長期供應商,恩智浦半導體非常熟悉與電機控制相關的問題。設計挑戰包括尋找提高精度,提高速度,降低功耗,限制電磁干擾(EMI),降低成本以及擴展系統可執行任務數量的方法。為了應對這些挑戰,我們的32位ARM Cortex-M3和Cortex-M4微控制器(MCU)包括用于電機控制的專用外設。狀態可配置定時器(SCT)是一種獨特的,正在申請專利的外設,可為設計人員提供電機控制操作的新級別可編程性。
狀態可配置定時器(SCT)
SCT是一種復雜且易于配置的定時功能,可提供前所未有的靈活性。它允許設計人員配置高級定時操作 - 包括復雜電機控制功能所需的操作 - 同時滿足嚴格的開發時間表。從架構的角度來看,它是一個定時器捕獲單元,配有高度靈活的事件驅動狀態機。它為時序區域帶來了兩個熟悉的概念,即事件和狀態,因此可以進行各種操作,包括時序,計數,輸出調制和輸入捕獲。
圖1:恩智浦的SCT外設將定時器捕獲單元與狀態機相結合。
表1介紹了SCT的五個基本構建塊:定時器,事件,狀態,輸入和輸出。
塊支持說明定時器向上或向上/向下計數兩個16位計數器或一個32位計數器,具有向上或向上/向下計數器功能,并由總線時鐘或所選輸入提供時鐘。事件最多16個發生預定義條件時發生的轉換(計數器狀態,輸出生成,狀態更改等)。狀態最多32個條件,用于定義評估已定義事件的上下文。輸入最多由SCT評估的8個信號。他們可以為活動的產生做出貢獻。輸出SCT生成的最多16個信號。他們可以為活動的產生做出貢獻。
在根據定時匹配,I/O信號或兩者的組合驗證可編程條件時,可以將事件編程為激活(即執行操作)。事件在SCT控制寄存器中定義。每個硬件事件都可以配置為驅動輸出信號,觸發中斷請求(IRQ),執行DMA傳輸或影響定時器本身的行為(通過停止,啟動,重置或掛起定時器)。
專用影子寄存器,用于保存計數器匹配值,用于定義基于時間的事件或基于時間和I/O的組合事件的基于時間的部分。應用程序在運行時可以更改影子寄存器的內容以修改匹配點。當相關定時器達到其極限時(在向上計數模式下復位為零,或者在向上/向下計數模式下定時器反轉其方向時),新值將加載到寄存器中。 SCT的這一部分實質上是高級計時器。
添加狀態概念使SCT能夠提供更復雜的排序。每個定時器通過狀態寄存器與狀態機相關聯。可以對事件進行編程,以在操作期間觸發狀態機從一種狀態到另一種狀態的跳轉。用戶定義的狀態還可以配置為過濾所有可能的預定義SCT事件的特定子集。換句話說,事件只能在特定狀態下激活。設計人員可以將SCT的行為與狀態機算法相關聯,從而使系統根據SCT的當前狀態對某些事件做出不同的反應。這種定義更復雜事件序列的能力使SCT比傳統定時器或PWM生成塊更復雜。它允許SCT通過狀態機隨時間自動演進,以響應基于時間或I/O定義的事件。對于電機控制應用,由于SCT可以處理硬件中的大部分控制序列,因此需要較少的CPU干預。
SCT的另一個特性是它可用于定義評估輸入信號電平或邊沿的事件。如果沒有SCT,設計人員必須通過定期輪詢CPU的輸入線來檢測更改,從而在軟件中執行此任務。使用SCT執行任務可卸載CPU并簡化編程。
同樣,定義一個中斷來檢測輸入上的信號變化會在系統級引入過多的延遲。 SCT通過在一個SCT時鐘周期內保證對輸入信號的無抖動響應,提供了一種有效的方法。通常,SCT的時鐘速度與CPU相同(通常為150 MHz),分辨率高達6.67 ns,反應時間(檢測信號變化)為13.3 ns。
SCT工具
如上所述,硬件寄存器用于配置狀態,事件和計時器值。在LPC1800和LPC4300中,這增加了超過290個寄存器。為了簡化配置,恩智浦開發了一個基于狀態機繪圖工具的工具集,允許設計人員在圖形環境中配置SCT。繪圖工具稱為SCT-Tool,它使用熟悉的氣泡和箭頭作為對象,表示狀態和轉換(圖2)。相應狀態和轉換的屬性輸入到易于使用的表中(圖3)。 SCT-Tool使用表條目以及物理I/O和計時器值的分配來創建SCT的所有必需設置。 SCT-Tool以C代碼輸出寄存器設置。不需要狀態機代碼,因為SCT的狀態機功能完全是硬連線的。
圖2:SCT-Tool使用熟悉的氣泡和箭頭來定義狀態機。
圖3:I/O和計時器值輸入到一個簡單的表中。
SCT-Tool使用簡單的兩步設計流程。第一步是繪制狀態圖并指定其屬性,第二步是在C中分配I/O和定時器值。從那里,設計人員只需編譯LPC1800或LPC4300器件的應用框架,包括SCT組件作為項目的一部分。 SCT-Tool可以輕松嵌入到各種開發工具的標準工作流程中,包括KEILμVision,IAR EWARM或Code Red基于Eclipse的Red Suite。這使得作為較大應用程序的一部分,可以輕松地測試,調試和修改SCT代碼。
為了幫助設計人員快速掌握,SCT-Tools包括各種應用程序的項目示例。這些示例提供了對狀態機設計原理的深入了解,它們可以作為設計者自己想法的起點。 SCT-Tool以及信息豐富的培訓視頻可以從恩智浦網站下載。
示例配置:FOC算法
為了演示SCT的使用,我們設計了一個使用LPC1850 Cortex-M3 MCU的示例應用程序來控制無刷AC(BLAC)電機。我們的示例BLAC電機有兩個主要部件:定子繞組和永磁體。它是同步電動機,這意味著定子和轉子產生的磁場具有相同的角頻率。這意味著電機不會像交流感應電機那樣滑動。
對于控制操作,我們選擇了磁場定向控制(FOC)算法(也稱為矢量控制),因為它可以更有效地控制電機速度。 FOC算法還有助于減少電機尺寸,成本和功耗。 FOC的基本操作理論是測量和調節電動機的磁場。當轉子的永磁場的方向垂直時,即與定子繞組的感應磁場成90°角時,實現對磁力的最佳杠桿作用。這在轉子軸上產生了最大可實現的扭矩。
圖4給出了FOC算法的框圖和時序設置。通過向電動機繞組施加電壓矢量來控制定子場。該電壓矢量轉換為六個PWM信號,每個電機相位兩個。該轉換由稱為SVPWM的算法完成。 (有關FOC算法的更多信息,請參閱恩智浦的應用筆記AN10899)。
圖4:FOC算法。
圖5給出了FOC算法的硬件實現。所有需要的信號和連接都可以用硬件實現。輸出信號是六個PWM。輸入信號包括兩個電流測量值,通過同相分流電阻,以及一個用于總電機電流的分流測量。
圖5:硬件實現。
考慮如何使用MCU上的各種外設實現FOC算法非常重要。例如,FOC算法需要在精確時間測量電機相電流。這需要非常準確但靈活的ADC采樣。具有用于觸發ADC功能的正確結構使得可以在沒有軟件中的附加信號濾波的情況下對相電流進行采樣,并且可以節省大量CPU資源。
為了支持FOC算法,我們將SCT配置為實現四個高級功能:
六條電源線(橋接相位)中的每一條的專用和獨立激活/停用點
定時器將配置為遞增計數模式,生成的PWM波形不必相對于PWM周期的中間對稱。這使得可以在三個階段中的每個階段的激活和停用點中插入小的時移(偏移)。這反過來又提高了分流電阻上的采樣電流精度。此外,如果需要,死區時間可以在每對相位上不同。
每個ADC觸發信號的一個激活(采樣)點
算法需要采樣兩個電流值,通過測量放置在電機電流回路繞組上的三個分流電阻中的兩個上的電壓降來確定(第三個值在數學上來自兩個測量值)。
一個專用中斷觸發點
用于通知應用層(CPU)激活點(匹配寄存器)中的配置更改,用于驅動電機相位和/或ADC采樣點。
八條輸出線
六條輸出線用于將生成的PWM信號傳送到橋式驅動器。兩條額外的輸出線用作ADC觸發信號,通過片上多路復用器在內部路由到芯片。
具有16位分辨率的計數器可能足以滿足大多數PWM波形要求,因此我們進行了配置SCT只使用其兩個16位定時器中的一個。我們定義了總共16個事件:
12用于定義何時激活或停用六個PWM階段中的每一個
2觸發ADC轉換
1觸發CPU中斷
1確定PWM周期長度
注意,每個定義的事件都能觸發中斷。通過將一個事件專門用于中斷生成,我們可以獨立于其他基于時間的事件定義中斷觸發點。所有16個事件都是基于時間的,因此需要16個匹配寄存器。
FOC算法實際上并不需要我們定義不同的狀態,因為沒有外部輸入可以確定特定的應用程序狀態。所以我們只有一個入口狀態(L_ENTRY),如圖6所示。在運行時,應用程序將更改匹配寄存器值以適當地修改時序。
圖6:L_ENTRY狀態。
六個PWM輸出信號為AH,AL,BH,BL,CH和CL。每個都由專用事件控制,該事件定義單獨的激活(_ACT)和停用(_DEACT)點。用于ADC轉換的觸發點由ADC0_TRIG和ADC1_TRIG表示。生成應用程序中斷的事件是IRQ_point,與每個PWM周期關聯的事件是Period_end。它會在下一個PWM開始之前清除ADC觸發信號。由于沒有狀態更改,因此所有已定義的事件都會循環回進入狀態。
圖7顯示了一個偽狀態,稱為L_ALWAYS,未映射到SCT的任何物理狀態。這是一種圖形方便,用于避免為所有狀態指定相同的事件。這在定義多個狀態時特別有用。該圖表示始終處于活動狀態的事件,與當前狀態無關。 (由于此應用程序僅使用一個狀態,L_ALWAYS圖可能已包含在L_ENTRY圖中。)
圖7:L_ALWAYS狀態。
表2列出了狀態機的相關設置。所有數值(trans1,trans2,trigger_ADC0等)都是用戶選擇的名稱,這些名稱在應用程序代碼中定義。 SCT工具提供C宏來訪問值。
表2:狀態機設置。
LPCXpresso電機控制套件
為了支持電機控制應用的快速上市,恩智浦提供低成本的LPCXpresso電機控制套件,這是一個與Embedded Artists合作創建的通用開發平臺。它是對電機控制項目進行原型設計或簡單探索電機控制功能的理想方式。它支持無刷直流(BLDC),無刷交流(BLAC),步進和雙刷直流電機的控制。
電路板有兩個完整的H橋,因此可以控制多達四個相位,占空比高達100%。可以在三相上測量相電壓以及同相電流,也可以測量虛擬接地電壓和公共低側電流。為了安全和保護,存在輸入過流跳閘保護。為了提高設計靈活性,有多種通信接口,包括USB,以太網,CAN,RS-422/485和UART-to-USB橋接器。該板還具有帶操縱桿的小型圖形用戶界面(96x64像素OLED),可實現簡單,直觀的人機交互。
該板可由LPCXpresso LPC1114/LPC1343/LPC1768目標板和未來的LPC1850/4350 Hitex板直接控制。該套件包括LPCXpresso電機控制板,帶LPC-Link JTAG的LPCXpresso LPC1114目標板(由LPCXpresso IDE支持),帶霍爾傳感器的BLDC電機和24 V/60 W電源。該套件可通過恩智浦的分銷網絡獲得。
今天更小,更高效的無刷電機需要復雜的控制電子設備。 32位MCU提供的計算能力是開發這些控制功能的不錯選擇,但仍有一些設計挑戰需要克服。恩智浦32位ARM MCU正面臨這些挑戰,專用的電機控制外設可在提高效率的同時簡化設計。選項包括專為電機控制而設計的多通道PWM,QEI功能,特別是一項名為狀態可配置定時器(SCT)的正在申請專利的新功能。
SCT將計時器計數器與狀態機結合在一起。它為設計人員提供了前所未有的電機控制功能可編程性,包括先進的FOC算法,并且使用簡單的圖形界面易于配置。 SCT可在恩智浦的LPC1800 Cortex-M3和LPC4300 Cortex-M4器件上使用。恩智浦還提供與嵌入式藝術家合作開發的低成本LPCXpresso電機控制套件,以幫助快速啟動設計。
-
恩智浦
+關注
關注
14文章
5884瀏覽量
108445 -
電機
+關注
關注
142文章
9089瀏覽量
146398 -
定時器
+關注
關注
23文章
3256瀏覽量
115395
發布評論請先 登錄
相關推薦
基于恩智浦LPC5536的光伏MPPT控制方案
![基于<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>LPC5536的光伏MPPT<b class='flag-5'>控制</b>方案](https://file1.elecfans.com/web3/M00/07/3C/wKgZPGekDb2ASqIWAAAZ0XrGgFU968.png)
恩智浦半導體6.25億美元收購TTTech Auto
恩智浦授權云漢芯城作為線上分銷商
恩智浦半導體推出全新S32J系列高性能以太網交換機和網絡控制器
恩智浦半導體推出S32J系列以太網交換機和網絡控制器
恩智浦專家對話藍牙技術聯盟
恩智浦和采埃孚合作開發基于SiC的電動汽車牽引逆變器解決方案
恩智浦全新車載無線充電系統方案
![<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>全新車載無線充電系統方案](https://file1.elecfans.com/web2/M00/DA/F1/wKgZomYrGBiAWPgpAAQNLRM91UA155.png)
恩智浦推出全新面向工業與物聯網應用的MCX微控制器產品組合
![<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>推出全新面向工業與物聯網應用的MCX微<b class='flag-5'>控制</b>器產品組合](https://file1.elecfans.com/web2/M00/C5/3F/wKgZomX7xuOAMqLwAABjF0Y3rxU142.png)
評論