黃永康 韓軍良 周泊龍 唐傳勝 劉蒙恩 仝飛飛
摘要:本文以微處理器STM32F302作為主控芯片,基于無傳感器磁場定向控制(FOC)策略,采用圖形化編程技術,在STM32CubeMX和MDK-ARM軟件平臺上開發(fā)了永磁同步電機控制器程序。本設計方法增強了代碼的執(zhí)行效率和可靠性,降低了系統(tǒng)程序開發(fā)難度。實驗結果表明,系統(tǒng)實現了精確速度伺服控制的功能,為永磁同步電機控制提供了一種有效的技術方案。
關鍵詞: 永磁同步電機;微處理器;圖形化編程;磁場定向控制;空間矢量脈沖寬度調制
1引言
近年來,隨著科學技術的飛速發(fā)展,嵌入式技術和自動控制技術越來越成熟,伺服控制系統(tǒng)向高精度、高性能方向發(fā)展。永磁同步電機在伺服控制領域擁有著高精度、高效率的優(yōu)點,為了降低永磁同步電機控制技術開發(fā)的難度,本文采用圖形化編程技術,來實現永磁同步電機控制器的快速高效開發(fā)。
2永磁同步電機控制器程序設計
本文以微處理器STM32F302作為主控芯片,進行永磁同步電機控制器程序開發(fā)。硬件平臺為控制板NUCLEO-F302RB和驅動板X-NUCLEO-IHM07M1 3SH組合的硬件系統(tǒng)。為了降低程序開發(fā)的難度,采用采用圖形化編程技術,基于ST公司的圖形化芯片配置工具STM32CubeMX和嵌入式開發(fā)工具MDK,進行程序開發(fā)。STM32CubeMX 是ST意法半導體公司推出的STM32 芯片圖形化配置工具, 允許用戶使用圖形化向導生成C 初始化代碼,支持多種工具鏈,比如MDK、IAR For ARM、TrueStudio等, 簡化了配置各種外設的流程,可以大大減輕開發(fā)工作,時間和費用,提高開發(fā)效率[1-3]。
在設計中,在STM32CubeMX平臺上,把STM32F302的PC13引腳設置為電機運行啟停開關,PC0和PC1設置為永磁同步電機的A相電流和B相電流檢測的ADC輸入通道。把STM32F302的PA8、PA9和PA10分別設置為三相逆變半橋A相、B相、C相的上橋臂開關管的PWM信號輸出通道,把STM32F302的PC10、PC11和PC12分別設置為三相逆變半橋A相、B相、C相的下橋臂開關管的PWM信號輸出通道。
在MotorControl Workbench平臺上,輸入永磁同步電機的相電阻RS、相電感LS、電機極對數P和電機反電動勢系數Ke,以及采樣電阻的大小,并輸入速度環(huán)和電流環(huán)的PID控制參數,用STM32CubeMX生成電機控制的初始化代碼。STM32CubeMX電機參數設置圖如圖1所示。
永磁同步電機采用無傳感器磁場定向控制策略,實際程序執(zhí)行中,磁場定向控制程序在PWM中斷程序中執(zhí)行,所以需要開啟中斷并設置在中斷中執(zhí)行電機的中斷控制程序。把STM32CubeMX生成的初始化程序導入到MDK-ARM軟件平臺上。在MDK-ARM的工程中主要包含有五個文件夾,Application/MDK-ARM、Application/User、Drivers /STM32F3xx_HAL_Driver、Drivers/CMSIS、Middlewares /MotorControl。其中Application/User是用戶文件,包括main.c、motorcontrol.c、mc_api.c、mc_config.c、motor_control_protocal.c、mc_task.c等文件。Drivers/ STM32F3xx_HAL_Driver是STM32F3芯片系列的驅動文件。Drivers/CMSIS是STM32F3芯片系列的底層驅動文件,Middlewares/MotorControl是中間層文件,用來鏈接驅動文件和用戶文件。
在主函數main.c中,包含了TIM1_BRK-IRQn、ADC1_2_IRQn、USART2_ IRQn、EXTI15_10_IRQn四個中斷。其中,TIM1_BRK-IRQn中斷函數執(zhí)行轉速閉環(huán)控制、電流閉環(huán)控制和SVPWM運算等功能。USART2_IRQn斷函數執(zhí)行串口數據接收中斷功能,ADC1_2_IRQn中斷函數執(zhí)行電流檢測任務,EXTI15中斷服務函數執(zhí)行按鍵狀態(tài)檢測任務,當檢測到電機啟??刂奇IPC13電平狀態(tài)的變化時,進入中斷,根據電平狀態(tài),執(zhí)行電機運行起動函數MC_StartMotor1()或者電機運行停止函數MC_StopMotor1()。根據上述設計內容,系統(tǒng)控制程序流程圖表示為如圖2所示。
3結論
本文采用圖形化編程技術,在STM32CubeMX平臺上上自動生成芯片硬件抽象層和中間層代碼,在MDK-ARM平臺上嵌入核心代碼,本設計方法增強了代碼的執(zhí)行效率和可靠性,降低了系統(tǒng)程序開發(fā)難度,為永磁同步電機控制器開發(fā)提供了一種有效的技術方案。
參考文獻
[1] 楊曉艷,陳亮. 基于STM32CubeMX的單片機最小系統(tǒng)設計[J]. 數字技術與應用,2018, 36(6): 149-150.
[2] 羅清龍; 馮敏; 李清濤. 基于STM32CubeMX嵌入式實驗教學改革實踐[J]. 計算機教育,2018,1: 155-158.
[3] 林宗炮,黃啟鋒,王洪麗. 基于STM32-MAT的四輪小車控制器設計[J]. 機電技術,2019,6: 36-38.
作者簡介:黃永康(1997--)男,河南林州人,學生。
項目來源: 1、河南省重點研發(fā)與推廣專項(科技攻關)“新能源汽車變頻空調關鍵技術研究”(182102210458)、“高壓、超高壓輸變電站Cu/Al異種導體一體化研究”(182102210463);? 2、南陽理工學院2018年《傳感器與測控電路》課程建設項目;3、南陽理工學院《傳感器原理與設計》、《生物化學》“課程思政”教育教學改革試點項目。