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