Hands-On Flagchip FC4150 無刷電機外設應用

簡介

本文介紹如何使用 Flagchip FC4150 的外設對無刷電機進行應用。使用 Spark_FOC_2R 示例程序,完成 PWM 、ADC 的同步觸發採樣演示。

硬體平台:旗芯微 FC4150 DEMO BOARD V1 開發板

軟體平台:Spark_FOC_2R

    

1、(PMSM) 無刷電機介紹

       無刷電機是由電動機主體和驅動器組成的機電一體化產品,硬體採用三相橋的驅動方式,軟體則需要 FOC (磁場矢量)控制,將直流電壓轉化為三相相位相差 120° 的交流電壓,使用外置傳感器或軟體觀測器算法進行對電機角度的精確控制。

       對於 FOC 控制來講,硬體上需要 MCU 集成支持 3 相中心對齊互補輸出的 PWM、多個支持 PWM 同步採樣的高速 ADC,對電流採樣後進行的一些 Clarke、Park 變換算法和SVPWM 的生成則需要 FPU、DSP 等外設的支持來加快算法的處理速度。

 

2、FC4150 外設配合

FC4150 需要配置的外設有 FTU (PWM)、ADC、Ptimer、Trgsel、FPU 等。

       在 FOC 控制中 FTU 需要產生中心對齊的 PWM 信號,在重新裝載計數值時,FTU 支持產生重新裝載的觸發信號用於通知  2  個 Ptimer 開始計時,當 Ptimer 計時到 PWM 的中心點時,Ptimer 產生觸發信號通知 ADC 進行採樣,採樣完成後發生 ADC 採樣完成中斷得到三相電流,FOC 算法函數開始計算下一周期各個通道的 PWM 占空比,從而完成對電機的磁場定向控制。


3、程序分析

3.1 Main 函數概述

  • main 函數:

 

3.2 Peripheral_Init 函數下的外設配置簡要分析

 




  • ADC1_2_Init 函數:初始化兩個 ADC 序列轉換配置,採用 Pimer 觸發轉換,開啟 ADC0 中斷讀取轉換結果。







  • ADC0_IRQHandler 函數:不使用 SDK 中的 ADCx_Intterupt_Callback 函數,節省處理時間。

 



  • PTIEMR_Init 函數:配置 Ptimer 的計數時間,使其剛好在 PWM 的中心點觸發 ADC 採樣。

Ptimer 0、1 的通道配置:

 



  • TEST_Trigger_FTURELOAD_OR_PTIMER_to_ADC_time 函數:對觸發時機進行驗證

 

  • DRV_PWM_Init 函數:生成三相中間對齊的互補 PWM ,並配置死區時間與 Fault 故障保護。

 



4、實驗現象

        Spark_FOC_2R 的 Demo 中使用了 20Khz ,死區時間為 1us 中心對齊的互補 PWM,將 DRV_PWM_Init 函數內的 TEST PWM DUTY 取消注釋,並在初始化時調用TEST_Trigger_FTURELOAD_OR_PTIMER_to_ADC_time 函數,使用示波器觀察 PWM 與觸發時機是否正確。



▲ 圖 1  PWM 頻率測試波形

 


▲ 圖 2  死區時間測試波形

 

▲ 圖 3  各個外設配合觸發 ADC 轉換的波形

 

5、總結

        本文介紹了基於旗芯微 FC4150 DEMO BOARD V1 開發板對 (PMSM)無刷電機的驅動外設配置進行了演示操作,如需 Spark_FOC_2R 軟體包,可以聯繫我們郵箱: atu.sh@wpi-group.com,更多的外設應用請參考 FC4150_SDK_V_1_2_1 SDK 包。




6、參考文獻

(1)  FC4150 Reference Manual V3.0



歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Better Yang / 楊琰傑

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論