M32SPIN0280 是靈動微電機新推出的針對電機控制市場的專用 MCU,該系列 MCU 搭載了Arm®Cortex®-M0 內(nèi)核,最高工作頻率可達(dá) 96MHz,內(nèi)置高速存儲器,并集成了 I/O 端口和多種外設(shè)。MM32SPIN0280 系列 MCU 適用于各類電機應(yīng)用場景,其典型應(yīng)用包括風(fēng)機、水泵、電動自行車、服務(wù)器風(fēng)機 、吊扇、電動工具、工業(yè)變頻、伺服舵機、空調(diào)風(fēng)機等。
1該文檔介紹基于靈動微電子 32 位微處理器 MM32SPIN0280 的電動工具無感方波控制方案, 包括 MM32SPIN0280 芯片資源以及軟件說明。 以下是電動工具無感方波控制方案的功能列表:
2. 硬件參考設(shè)計硬件系統(tǒng)由外部 DC 電源供電, 經(jīng)降壓后得到 12V 給 Gate driver IC 供電以驅(qū)動功率開關(guān)管,12V 通過降壓 IC 輸出 5V 給 MM32 SPIN 系列微處理器及其他功能模塊供電。通過外部電路檢測反電動勢過零點信號,對應(yīng)六種不同的逆變器 MOS 管驅(qū)動順序,實現(xiàn) BLDC 電機的六步換相。采用 0~5V 的電壓輸入做為速度命令的來源, 以控制電機轉(zhuǎn)速。 用戶轉(zhuǎn)動可變電阻旋鈕可以改變此輸入電壓值,實現(xiàn)無極調(diào)速。圖 2 是 MM32SPIN0280 方案硬件框圖
3. 軟件設(shè)計3.1 系統(tǒng)時序設(shè)計嵌入式程序的設(shè)計中最重要的就是時序的設(shè)計,無刷直流電機矢量控制的執(zhí)行需要在嵌入式系統(tǒng)中的定時中斷中定期執(zhí)行,這就需要使用 PWM 和 ADC 的同步機制。本程序中的過零點檢測均在 ADC 中斷中執(zhí)行。ADC 的采樣由 TIM1 的 CCR4 的值一半的附近觸發(fā),如圖所示
從圖中可以看出,在本程序中 ADC 中斷周期和PWM周期一致,過零點的檢測在換相結(jié)束后 的 ADC 中斷中對非導(dǎo)通相和母線電壓的一半比較完成。
由圖可知,系統(tǒng)上電復(fù)位后,先執(zhí)行一段延時函數(shù),等待系統(tǒng)穩(wěn)定后開始初始化系統(tǒng)外設(shè) 及參數(shù),最后使能對應(yīng)的中斷,在 while 循環(huán)中執(zhí)行喂狗及 1ms 一次的慢速環(huán)狀態(tài)機。 1) ADC 法檢測過零點時,在 ADC1 中斷執(zhí)行過零點檢測,在 TIM2 中執(zhí)行延時和換相。 2) 比較器法檢測過零點時,在 TIM14 中斷執(zhí)行過零點檢測,并執(zhí)行延時和換相。
系統(tǒng)驅(qū)動層主要包含常用的電機外設(shè)的配置如下所示:
3.3 軟件流程圖 該案整體軟件流程設(shè)計如下圖所示,在 Main()函數(shù)主要執(zhí)行低速任務(wù):1ms 時間片執(zhí)行電 位器調(diào)速和加減速曲線調(diào)節(jié)。ADC 采樣完成中斷里讀取母線電壓、電流、轉(zhuǎn)速命令值以及電機 三相反電動勢電壓并檢測過零點。TIM1 產(chǎn)生 6ch PWM,并啟用 break 中斷。Systick 中斷的定 時可作為系統(tǒng)時基。 1) 使用 ADC 法檢測過零點時,將使能 TIM2 中斷執(zhí)行過零點檢測以及延時換相功能。 2) 使用比較器法檢測過零點時,將會使能 TIM14 中斷進(jìn)行過零點檢測以及延時換相功能
|