隨著MCU功能和性能的提高,從單電機/單MCU到多電機/單MCU進行控制,實現(xiàn)了系統(tǒng)的小型化和系統(tǒng)成本的降低。尤其是在洗衣機和空調等領域,這種趨勢非常明顯,現(xiàn)在幾乎所有的產品都是多電機控制。本期將介紹使用可多電機控制的RX72T對4個電機進行控制的演示。
不同的電機控制方式,MCU所需的處理性能和功能資源也不同。本期演示采用了無傳感器矢量控制。無傳感器矢量控制是一種高效且可降低傳感器BOM成本的控制方法,但由于需要進行電機角度估計和矢量控制的運算,因此MCU需要更高的CPU處理性能。RX72T為實現(xiàn)4電機控制,采用了RX第三代CPU內核“RXv3”(6.01 CoreMark/MHz)和三角函數(shù)加速器(TFU),具有同類最快的CoreMark性能,能夠快速執(zhí)行矢量控制所需的運算和處理。優(yōu)點是還具有互補PWM定時器和ADC等電機控制所需的功能,以實現(xiàn)4個電機的控制。
4電機控制中使用的功能
在本演示中,將使用以下外圍功能來實現(xiàn)4電機控制:
使用RX72T進行4電機控制的示意圖
4電機控制的要點
在本期演示中,通過無傳感器矢量控制對最多4個電機進行速度控制和獨立驅動,但這需要檢測每個電機的電流并進行相應的PWM輸出。該電流檢測時序和進行控制運算的時序是多電機控制的關鍵,在此簡要介紹。另外,本期演示采用了檢測兩相電流并還原三相電流的方式。
RX72T總共配備了3個ADC,本期演示將電機1和電機2的電流檢測分配給單元0,電機3和電機4的電流檢測分配給單元1。分配給同一單元的電機電流檢測時序必須錯開,因為無法同時檢測電流。電流是通過分流電阻檢測逆變器下臂在導通期間流過的電流,通過反向設置電機1和2、電機3和4的PWM正相和反相信號的有效電平,防止逆變器下臂的信號同時導通。因此,AD轉換時序分布在PWM的峰/谷側,從而實現(xiàn)各電機的電流檢測。通過使用“組掃描模式”,AD轉換可以在一個單元中支持兩個電機的電流檢測。
PWM正相反相與逆變器上下臂的關系
※電機1可以在PWM的峰側檢測電流,電機2可以在PWM的谷側檢測電流。
// 控制處理時序
接下來我們看一下整個時序,包括電機控制時序。重要的是PWM中斷處理(矢量控制處理)、用于電流檢測的AD轉換時序和PWM輸出的緩沖寄存器傳輸時序。
電機1和電機2與MTU定時器同步,將AD轉換時序分布在峰側和谷側,并調整PWM周期中斷的執(zhí)行時序和緩沖寄存器的傳輸時序與之匹配。電機3和電機4使用GPT定時器,以類似于電機1/2的工作方式工作。
電機1/2各種處理時序
電機3/4各種處理時序
※由于在電機4的谷中斷期間數(shù)據(jù)不更新,因此執(zhí)行與電機2相同的動作。
當MTU和GPT在相同的載波頻率下同時啟動時,如果MTU和GPT的中斷優(yōu)先級相同,則從首先發(fā)生中斷的一方開始依次執(zhí)行中斷處理。需要設置控制周期,以使這些處理時間在控制周期內。使用RX72T時,每個電機的處理時間為8[us]左右,因此在本期演示中,將電流控制周期設置為50us是沒有問題的。
本期介紹的演示充分利用了RX72T的功能,實現(xiàn)了4電機控制,可以作為執(zhí)行多電機控制的參考信息。歡迎對多電機控制感興趣的客戶使用RX72T和我們的示例程序。RX72T除了具備無傳感器矢量控制之外,還提供了使用編碼器的矢量控制來控制三個電機的示例代碼和應用指南,廣大用戶也可以參考這些示例代碼和應用指南,嘗試用RX72T進行其他方式的多電機控制。