M32SPIN0280 是靈動(dòng)微電機新推出的針對電機控制市場(chǎng)的專(zhuān)用 MCU,該系列 MCU 搭載了Arm®Cortex®-M0 內核,最高工作頻率可達 96MHz,內置高速存儲器,并集成了 I/O 端口和多種外設。MM32SPIN0280 系列 MCU 適用于各類(lèi)電機應用場(chǎng)景,其典型應用包括風(fēng)機、水泵、電動(dòng)自行車(chē)、服務(wù)器風(fēng)機 、吊扇、電動(dòng)工具、工業(yè)變頻、伺服舵機、空調風(fēng)機等。
1該文檔介紹基于靈動(dòng)微電子 32 位微處理器 MM32SPIN0280 的電動(dòng)工具無(wú)感方波控制方案, 包括 MM32SPIN0280 芯片資源以及軟件說(shuō)明。 以下是電動(dòng)工具無(wú)感方波控制方案的功能列表:

2. 硬件參考設計硬件系統由外部 DC 電源供電, 經(jīng)降壓后得到 12V 給 Gate driver IC 供電以驅動(dòng)功率開(kāi)關(guān)管,12V 通過(guò)降壓 IC 輸出 5V 給 MM32 SPIN 系列微處理器及其他功能模塊供電。通過(guò)外部電路檢測反電動(dòng)勢過(guò)零點(diǎn)信號,對應六種不同的逆變器 MOS 管驅動(dòng)順序,實(shí)現 BLDC 電機的六步換相。采用 0~5V 的電壓輸入做為速度命令的來(lái)源, 以控制電機轉速。 用戶(hù)轉動(dòng)可變電阻旋鈕可以改變此輸入電壓值,實(shí)現無(wú)極調速。圖 2 是 MM32SPIN0280 方案硬件框圖
3. 軟件設計3.1 系統時(shí)序設計嵌入式程序的設計中最重要的就是時(shí)序的設計,無(wú)刷直流電機矢量控制的執行需要在嵌入式系統中的定時(shí)中斷中定期執行,這就需要使用 PWM 和 ADC 的同步機制。本程序中的過(guò)零點(diǎn)檢測均在 ADC 中斷中執行。ADC 的采樣由 TIM1 的 CCR4 的值一半的附近觸發(fā),如圖所示

從圖中可以看出,在本程序中 ADC 中斷周期和PWM周期一致,過(guò)零點(diǎn)的檢測在換相結束后 的 ADC 中斷中對非導通相和母線(xiàn)電壓的一半比較完成。


由圖可知,系統上電復位后,先執行一段延時(shí)函數,等待系統穩定后開(kāi)始初始化系統外設 及參數,最后使能對應的中斷,在 while 循環(huán)中執行喂狗及 1ms 一次的慢速環(huán)狀態(tài)機。 1) ADC 法檢測過(guò)零點(diǎn)時(shí),在 ADC1 中斷執行過(guò)零點(diǎn)檢測,在 TIM2 中執行延時(shí)和換相。 2) 比較器法檢測過(guò)零點(diǎn)時(shí),在 TIM14 中斷執行過(guò)零點(diǎn)檢測,并執行延時(shí)和換相。
系統驅動(dòng)層主要包含常用的電機外設的配置如下所示:

3.3 軟件流程圖 該案整體軟件流程設計如下圖所示,在 Main()函數主要執行低速任務(wù):1ms 時(shí)間片執行電 位器調速和加減速曲線(xiàn)調節。ADC 采樣完成中斷里讀取母線(xiàn)電壓、電流、轉速命令值以及電機 三相反電動(dòng)勢電壓并檢測過(guò)零點(diǎn)。TIM1 產(chǎn)生 6ch PWM,并啟用 break 中斷。Systick 中斷的定 時(shí)可作為系統時(shí)基。 1) 使用 ADC 法檢測過(guò)零點(diǎn)時(shí),將使能 TIM2 中斷執行過(guò)零點(diǎn)檢測以及延時(shí)換相功能。 2) 使用比較器法檢測過(guò)零點(diǎn)時(shí),將會(huì )使能 TIM14 中斷進(jìn)行過(guò)零點(diǎn)檢測以及延時(shí)換相功能
|