簡介
本博文基于世平集團的靈動微 MM32SPIN560C 無刷電機開發(fā)板在用戶調(diào)試電機時,描述在用戶拿到電機時從硬件至軟件的調(diào)試過程。
1 硬件平臺
靈動微 MM32SPIN560C 無刷電機開發(fā)板方案鏈接:
https://www.wpgdadatong.com/solution/detail/37060
1.1 MM32SPIN560C 帶有柵極驅(qū)動器的 MCU 簡介
MM32SPIN560C 使用高性能的 Arm Cortex-M0 為內(nèi)核的 32 位微控制器,最高工作頻率可達 96 MHz。
128KB Flash,8KB SRAM
2 個12 位的 ADC,采樣速度高達 3 Msps。
5 個通用定時器、2 個針對電機控制的 PWM 高級定時器。
1 個 I2C 接口、2 個 SPI 接口和 3 個 UART 接口。
針對電機應用內(nèi)置 3 個運放,3 個比較器。
預驅(qū)工作電壓高達 60 V。
2 電機調(diào)試方法及流程
2.1 矢量控制框圖
當我們拿到 MM32SPIN560C 開發(fā)板與電機時,我們的應對框圖中的模塊一一調(diào)試,以達到最佳效果 。
2.2 驗證三相 PWM & ADC 觸發(fā)采樣時間
1、不外接電機,使用高級定時器輸出 6 路互補的 PWM ,改變占空比,查看輸出波形是否正確。
2、不外接電機,利用 ADC 中斷使 LED 翻轉(zhuǎn) ,使用示波器查看 PWM 下管導通時,ADC 中斷觸發(fā) LED 的翻轉(zhuǎn)的跳變沿應在下管導通期間內(nèi)的中點。
2.3 測試相電流采樣
1、不接電機,ADC 采樣相電流,ADC 的采樣值應為硬件所設(shè)計偏移電壓值,此時值應趨于穩(wěn)定。
2、接上電機,將 U 相占空比設(shè)置為 5%,V、W 相設(shè)置為 0 ,用示波器或萬用表測量采樣電阻,此時應該有電壓值,并用 ADC 讀取 Ia、Ib、Ic 的電流值,此時 Ia 相電流應為正,Ib、Ic 相電流應為負,如若不對,采樣相序有問題。
2.4 調(diào)試 SVPWM 模塊
通過 SVPWM 模塊可以把 FOC 的控制結(jié)果轉(zhuǎn)換為定時器 6 個通道的占空比,從而驅(qū)動三相全橋控制定子繞組產(chǎn)生旋轉(zhuǎn)磁場,拖動轉(zhuǎn)子旋轉(zhuǎn)。驗證 SVPWM 模塊的功能,需要使用反 park 變換和 SVPWM 模塊,產(chǎn)生開環(huán)的旋轉(zhuǎn)磁場。
1、將 MM32SPIN560C 代碼中的 FOC 部分注釋掉,只保留反 park 變換函數(shù)和 SVPWM 函數(shù)。
2、反 park 變換中輸入的參數(shù)有三個,Angle、Ud、Uq。
① 首先我們設(shè)置 Angle,假設(shè)我們的電機為 2 對極,PWM 頻率為 20 Khz,我們想使電機達到 500 Rmp,則 Angle = (2*500*360)/20000 = 0.3° 則每次中斷角度自增 0.3°,在程序中我們用到的 Q15 格式的定標是 Π 為基準值,則我們在程序中設(shè)定 Angle = (0.3°/180°)*32767 = 54(標幺值)。
② Ud = 0。
③ Uq 我們在設(shè)定時不應超過 (Udc/√3) ,假設(shè)母線電壓為 24V,程序中的標幺化計算則為 Uq = ((24V /√3) / 24V )*32767 = 18918(標幺值),那么我們可以根據(jù)電機的 KV 值去計算電機在 500 轉(zhuǎn)時的給定電壓。
④ 將電機接入,微調(diào) Uq 的給定值,使電機穩(wěn)定的旋轉(zhuǎn)起來,再次去觀察 Ia、Ib、Ic 的電流波形,應為連續(xù)的三相相差 120° 的正弦波形。
2.5整定電流環(huán) PID 參數(shù)
1、將 MM32SPIN560C 代碼中的 clark 變換、park 變換、PID 控制器加入。
2、將電機在 2.4 小結(jié)的狀態(tài)中繼續(xù)旋轉(zhuǎn),觀察 Id、Iq 的波形,應該是兩條直線(略帶彎曲正常),如果為正玄,則 Ia、Ib、Ic 相電流順序與與真實 U、V、W 相反了。
3、當前的系統(tǒng)輸入?yún)?shù)有三個,Iq_Ref、Id_Ref、Angle ,我們可以先整定 Iq 的 PID 參數(shù)。
① 將 Id 的 PID 參數(shù)設(shè)置為 0。
② 在程序中的設(shè)定 Iq_Ref,假設(shè) Iq_Ref 設(shè)定在 0.5A,相采樣電阻阻值為 50 毫歐,運放的放大倍數(shù)為 5,運放的偏執(zhí)電壓為 2.5V,ADC 的滿量程為 5V。則 Iq_Ref = (0.5A/ (5V/2/5/0.05R)) * 32767 = 1638。
③ 運行電機,觀察反饋的 Iq 與 Iq_Ref 的誤差,調(diào)節(jié) Iq 的 PID 參數(shù) Kp 、Ki ,使 Iq 收斂到 Iq_Ref 上。
④ 對于表貼電機 Iq 的 PID 參數(shù)可以一一帶入 Id。
2.6 角度閉環(huán)
通過傳感器或觀測器將觀測 Angle 值,與自增 Angle 值相同。
1、將 MM32SPIN560C 代碼中的 SMO、PLL 模塊加入,設(shè)定 Id_Ref 、Iq_Ref、自增 Angle、測量 Rs、Ls、極對數(shù)填入 SMO 參數(shù)中。
2、觀察 Id、Iq、觀測 Angle、自增 Angle 的波形。
① Id、Iq 接近于 Id_Ref、Iq_Ref 。
② 觀測 Angle、自增 Angle 兩個波形應該都是幅值相同的三角波,如果觀測 Angle 的變化方向與自增 Angle 不同,那么觀測 Angle 的輸出角度值需要反向。如果他們兩者的波形并不重合,在水平軸上存在偏差值,那么我們需要修改 SMO、PLL 的整定參數(shù)。
2.7 驗證電流環(huán)閉環(huán)
給定的 Iq_Ref 的正負會使電機正反轉(zhuǎn)。并且在 ±Iq_Ref 數(shù)值一致時,電機的正反轉(zhuǎn)速度也應該相同,( Id 的作用是把轉(zhuǎn)子固定在當前角度,不讓轉(zhuǎn)子動, Iq 的作用產(chǎn)生扭矩,吸引著轉(zhuǎn)子旋轉(zhuǎn))。
1、將 Iq_Ref = 1638 ,Id_Ref = 0。由于滑膜觀測器在低速時觀測角度不佳,我們在啟動時應開環(huán)帶轉(zhuǎn)到一定速度再切入角度閉環(huán)。
2、切入角度閉環(huán)后,觀察 Ia、Ib、Ic、波形應為連續(xù)的三相相差 120° 的正弦波形,若 Ia、Ib、Ic 曲線發(fā)生畸變,不是正弦波形,則需要降低比例及積分作用。
2.8 速度閉環(huán)
在一般的應用場景中不考慮對電機進行弱磁控制,會將 Id_Ref 設(shè)置為0,則速度的 PID 整定后的輸出參數(shù)為 Iq_Ref, 輸入的參數(shù)為 Rmp。
1、首先將速度 PID 的輸出 Iq_Ref 限幅在可控的安全電流內(nèi),啟動電機,調(diào)節(jié) Kp、Ki 比例使速度實際值與速度參考值接近。
2、觀察速度 PID 的輸出 Iq_Ref 與反饋的 Iq 波形,調(diào)節(jié)速度參考值,觀察 Iq_Ref 變化后反饋的 Iq 波形的收斂速度,微調(diào)電流環(huán) Kp、Ki 使其在合適的范圍內(nèi)。同方法再調(diào)節(jié)速度實際值與速度參考值的收斂速度。使電機在實際工作中可以得到快速響應。
3、總結(jié)
本文介紹了 MM32SPIN560C 開發(fā)板在調(diào)節(jié)不同的電機時,如何分析并整定電機參數(shù),調(diào)節(jié)各個模塊之間的耦合,使其電機達到最佳的工作狀態(tài)。如遇到無法解決的調(diào)試問題可以聯(lián)系我們郵箱:atu.sh@wpi-group.com ,我們將在收到后及時給予您回復。
4、參考文獻
(1) MM32SPIN560C Datasheet
-
電機
+關(guān)注
關(guān)注
141文章
8791瀏覽量
143902
發(fā)布評論請先 登錄
相關(guān)推薦
評論