永磁同步电机控制器程序设计.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

永磁同步电机控制器程序设计

?

?

黄永康韩军良周泊龙唐传胜刘蒙恩仝飞飞

摘要:本文以微处理器STM32F302作为主控芯片,基于无传感器磁场定向控制(FOC)策略,采用图形化编程技术,在STM32CubeMX和MDK-ARM软件平台上开发了永磁同步电机控制器程序。本设计方法增强了代码的执行效率和可靠性,降低了系统程序开发难度。实验结果表明,系统实现了精确速度伺服控制的功能,为永磁同步电机控制提供了一种有效的技术方案。

关键词:永磁同步电机;微处理器;图形化编程;磁场定向控制;空间矢量脉冲宽度调制

1引言

近年来,随着科学技术的飞速发展,嵌入式技术和自动控制技术越来越成熟,伺服控制系统向高精度、高性能方向发展。永磁同步电机在伺服控制领域拥有着高精度、高效率的优点,为了降低永磁同步电机控制技术开发的难度,本文采用图形化编程技术,来实现永磁同步电机控制器的快速高效开发。

2永磁同步电机控制器程序设计

本文以微处理器STM32F302作为主控芯片,进行永磁同步电机控制器程序开发。硬件平台为控制板NUCLEO-F302RB和驱动板X-NUCLEO-IHM07M13SH组合的硬件系统。为了降低程序开发的难度,采用采用图形化编程技术,基于ST公司的图形化芯片配置工具STM32CubeMX和嵌入式开发工具MDK,进行程序开发。STM32CubeMX是ST意法半导体公司推出的STM32芯片图形化配置工具,允许用户使用图形化向导生成C初始化代码,支持多种工具链,比如MDK、IARForARM、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信号输出通道。

在MotorControlWorkbench平台上,输入永磁同步电机的相电阻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]

文档评论(0)

177****5771 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档