永磁同步电机控制器程序设计
2020-11-30黄永康韩军良周泊龙唐传胜刘蒙恩仝飞飞
黄永康 韩军良 周泊龙 唐传胜 刘蒙恩 仝飞飞
摘要:本文以微处理器STM32F302作为主控芯片,基于无传感器磁场定向控制(FOC)策略,采用图形化编程技术,在STM32CubeMX和MDK-ARM软件平台上开发了永磁同步电机控制器程序。本设计方法增强了代码的执行效率和可靠性,降低了系统程序开发难度。实验结果表明,系统实现了精确速度伺服控制的功能,为永磁同步电机控制提供了一种有效的技术方案。
关键词: 永磁同步电机;微处理器;图形化编程;磁场定向控制;空间矢量脉冲宽度调制
1引言
近年来,随着科学技术的飞速发展,嵌入式技术和自动控制技术越来越成熟,伺服控制系统向高精度、高性能方向发展。永磁同步电机在伺服控制领域拥有着高精度、高效率的优点,为了降低永磁同步电机控制技术开发的难度,本文采用图形化编程技术,来实现永磁同步电机控制器的快速高效开发。
2永磁同步电机控制器程序设计
本文以微处理器STM32F302作为主控芯片,进行永磁同步电机控制器程序开发。硬件平台为控制板NUCLEO-F302RB和驱动板X-NUCLEO-IHM07M1 3SH组合的硬件系统。为了降低程序开发的难度,采用采用图形化编程技术,基于ST公司的图形化芯片配置工具STM32CubeMX和嵌入式开发工具MDK,进行程序开发。STM32CubeMX 是ST意法半导体公司推出的STM32 芯片图形化配置工具, 允许用户使用图形化向导生成C 初始化代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等, 简化了配置各种外设的流程,可以大大减轻开发工作,时间和费用,提高开发效率[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,以及采样电阻的大小,并输入速度环和电流环的PID控制参数,用STM32CubeMX生成电机控制的初始化代码。STM32CubeMX电机参数设置图如图1所示。
永磁同步电机采用无传感器磁场定向控制策略,实际程序执行中,磁场定向控制程序在PWM中断程序中执行,所以需要开启中断并设置在中断中执行电机的中断控制程序。把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中断函数执行转速闭环控制、电流闭环控制和SVPWM运算等功能。USART2_IRQn断函数执行串口数据接收中断功能,ADC1_2_IRQn中断函数执行电流检测任务,EXTI15中断服务函数执行按键状态检测任务,当检测到电机启停控制键PC13电平状态的变化时,进入中断,根据电平状态,执行电机运行起动函数MC_StartMotor1()或者电机运行停止函数MC_StopMotor1()。根据上述设计内容,系统控制程序流程图表示为如图2所示。
3结论
本文采用图形化编程技术,在STM32CubeMX平台上上自动生成芯片硬件抽象层和中间层代码,在MDK-ARM平台上嵌入核心代码,本设计方法增强了代码的执行效率和可靠性,降低了系统程序开发难度,为永磁同步电机控制器开发提供了一种有效的技术方案。
参考文献
[1] 杨晓艳,陈亮. 基于STM32CubeMX的单片机最小系统设计[J]. 数字技术与应用,2018, 36(6): 149-150.
[2] 罗清龙; 冯敏; 李清涛. 基于STM32CubeMX嵌入式实验教学改革实践[J]. 计算机教育,2018,1: 155-158.
[3] 林宗炮,黄启锋,王洪丽. 基于STM32-MAT的四轮小车控制器设计[J]. 机电技术,2019,6: 36-38.
作者简介:黄永康(1997--)男,河南林州人,学生。
项目来源: 1、河南省重点研发与推广专项(科技攻关)“新能源汽车变频空调关键技术研究”(182102210458)、“高压、超高压输变电站Cu/Al异种导体一体化研究”(182102210463); 2、南阳理工学院2018年《传感器与测控电路》课程建设项目;3、南阳理工学院《传感器原理与设计》、《生物化学》“课程思政”教育教学改革试点项目。