您好,欢迎来到独旅网。
搜索
您的当前位置:首页基于STM32F103VET6单片机的永磁同步电机控制器设计

基于STM32F103VET6单片机的永磁同步电机控制器设计

来源:独旅网
基 ̄STM32F103VET6单片机的永磁同步电机控翩器设计 电工电气 (2013 No.7) 基于STM32F1 03VET6单片机的永磁同步电机控制器设计 孔康,曲波 (苏州大学电子信息学院,江苏苏州21 5 006) 摘要: 设计了一种基于STM32F103VET6单片机的永磁同步电机控制器。介绍了空间矢量控制算 法的控制原理,在STM32F103VET6硬件平台上实现矢量控制算法和空间矢量脉宽调制的控制,通过速 度环和电流环的PID调节可对永磁同步电机做出精确的控制。给出了整个控制系统的软硬件设计方案 及软件架构。实验结果表明该控制器的设计方案可行,可广泛应用于各种数控系统。 关键词:永磁同步电机;矢量控制;STM32F103VET6单片机 中图分类号:TM351 文献标识码:A 文章编号:1007—3175(2013)07—0021—04 Design of Permanent Magnet Synchronous Motor Controller Based on STM32F103VET6 KONGKang,QuBo (School ofElectronics andInformation,Soochow University,Suzhou 215006,China) Abstract:This paper designed a permanent magnet synchronous motor controller based on STM32F 1 03VET6.Introduction was made tO the principle of the space vector control algorithm.The space vector control algorithm was realized in the hardware platform of STM一 32F 1 03VET6,as well as the control of space vector pulse width modulation.The PID regulator of speed and current loops could control the permanent magnet synchronous motor accurately.This paper presented the hardware and software design of the control system and the software architecture.The result shows that the controller design is feasible and it can be widely applied in various numerical control systems(NCS). Key words:permanent magnet synchronous motor;vector control;STM32F 1 03VET6 0 引言 近年来,永磁电机在国防、工农业生产和日常 生活等方面获得越来越广泛的应用H 。永磁同步电 机相比传统电机结构简单、体积小、重量轻、损耗 小、效率高。 由于控制过程中有一定的计算量,所以过去大 部分控制器采用数字信号处理器(DSP)作为其主芯 片,但是众所周知,DSP在外设方面资源并不是很 丰富,而且价格偏高。而采用ARM内核的STM32系列 单片机(MCU)则具有大量的外设,并且价格便宜,可 以在不影响电机控制的同时处理一些其他应用,大 大增强了其可用性。 整个矢量控制系统如图1所示,包括逆变器、空 间矢量脉宽调制(SvPwM)、坐标变换(Clarke变换、Park 变换)、速度/位置反馈、PID调节 ]。 1空间矢量控制系统 图1矢量控制系统原理框图 按照算法的要求,首先把检测到的实际速度 作者简介:孑L康(1989一),男,硕士研究生,研究方向为信号检测与智能控制。 一21 电工电气(2013 No.7) 基 ̄STM32F103VET6单片机的永磁同步电机控翩器设计 与参考速度 进行比较,由速度PID算出电流参考 按照PID ̄H空间矢量脉宽调制算法的要求,硬件 电路可分为3个部分:控制器主控电路、功率驱动 电路、反馈电路。其中功率驱动电路包括MOS驱动 输入毫,在本系统中l—d。参考输入始终为0。实际的电 流 则可以通过电机中三相电流经Clarke变 换 ̄DPark变换计算得到。分别与 和 比较后,由 电流PID可得到电压参考输入u 。 ̄l:lu 经Park逆变 换可得到u 和u 。最后经SVPWM模块和逆变器产生 所对应的调制波形,控制电机的运转。 器和由6个MOS管组成的逆变器。反馈电路包括速度 位置反馈、电流反馈。在实际设计中还要加入通信 模块,用来获取控制器的信息及对控制器发送指 令,本设计使用了串口 ̄HCAN两种通信方式,能有 效地应对各种环境下的应用。控制器的硬件设计框 2控制系统硬件设计 图如图2所示。 Codex—M3内核 CAN接I=_=_J CAN收发器 SN65HVD230 CAN 控制器 高级定 时器 M 昌 USB转串口 FT232 UA r 量 JTAG ∞ 通用定 时器 ADC HEDM光电旋转编码器 JTAG接口 苫 ∽ 放大器AD8207 I 采样电阻 看门狗 FLASH 驱 厂一动v二动 驱鸺 控制器电源 3.3V 图2控制器的硬件设计框图 驱 机源 一吲 2.1主控电路 该控制器采用STMicroelectronics公司生产的 STM32FlO3VET6单片机作为其控制芯片,其内核为 竖一 动v一 一 ADUM3223输出端 ̄MOSFET的栅极之间必须接一个合 适限流电阻,电阻过大会增 ̄MOSFET管状态转换 的过渡时间,导致器件过热,如果电阻太小会使 MOSFET管的du/dt过大,导致MOSFET管损坏。 2.3反馈电路 该部分包括电流反馈和位置反馈两部分。电流 ARM公司Cortex—M3,最高时钟频率可达72 MHz。该 芯片内部集成了大量的资源,其中定时器模块可 以用来产生SVPWM,ADC用来采集电机运行时的三相 电流,并且可以实时检测电机供电电源的电压及电 流,防止过压和过流。FLASH用来存储系统的一些 参数,包括电机的极对数、控制器的调制频率、采 检测采用采样电阻加运算放大器的方式,输出信号 接到STM32F103VET6内部ADC模块。此处由于采样信 号为双极性的信号,而STM32F1O3VET6只能为单极 样补偿值、过压和过流范围等。从以上条件看该芯 片足以满足电机控制的需求。 2.2功率驱动电路 性输入信号,所以必须加上一个偏执电压,使其变 为单极性,本设计偏置电压为1.25V。 为了精确地控制ADc模块的转换时刻,可通过设 置EXTTRIG控制位,使得外部事件可以触发ADC的转 换,触发来自用于产生SVPWM的高级定时器TIM1,触 发时刻如图3所示。图3中OCR1、OCR2、OCR3、OCR4分 别为高级定时器TIM1中4个通道输出比较的值,在计 数器计数到与之相等时就会改变输出状态。TIM1 CH1、 TIMI CH2、TIM1 CH3、TIM1 CH4为定时器的4个通 由于该部分包含了从控制器传输来的弱控制信 号和驱动电机所需的大电流,所以为了使控制信 号不被驱动电流干扰,必须把两者隔离。本设计 在此处选用了ADI公司的ADUM3223芯片作为MOSFET 驱动器。该芯片内部采用了磁隔离的方式,支持 3.3~5 V的逻辑输入、4.5~18 V的输出,可以很好 地驱动MOSFET。在高端驱动的部分,采用了泵电源 设计,可以保证高端的MOSFET管的正常导通。在 道实际输出波形。其中当计数器的值与OCR4 ̄H等时 就会产生一个信号来触发ADC转换。 一22 基 ̄7=STM32F103VET6单片机的永磁同步电机控翩器设计 电工电气(2o1 3 No.7) ……一~ oCR4 0CRl / \ oCR2 / \ OCR3 / \ / \ ADf! 图3 ADC触发 位置反馈采用Agi1ent的HEDM系列光电旋转编 码器,该位置编码器有两路正交脉冲信号A、B和一 路零位脉冲信号。由于该编码器为5 V输出,为了 能和STM32F103VET6的3.3 V电压相匹配,在两者之 间需加一个LM339比较器将电压转换为3.3 V。零位 脉冲信号作为一个外部中断,可以避免累计误差。两 路正交信号与芯片中的通用定时器TIM3 ̄连接,把 TIM3设置为编码器模式,计数方式为TIl、TI2在跳 变时都计数,这样可以把编码器的分辨率提高到4 倍。编码器输入波形如图4所示。 垒厂]厂] 厂]厂] r_]r_]r_]r_]厂 图4编码器输入 3系统软件设计 整个系统软件由主程序和中断子程序组成,在 IAR6.3的环境下编译实现的。由于STM32F103VET6 为32位芯片,所以为了计算方便,用Q15格式来代 替浮点运算,这样可以防止在做乘法运算时溢出。参 与计算的电压全部为实际电压转换后的标幺值,这 样能使程序的可移植性更强。 3.1软件架构 为了提高整个系统软件的通用性及可移植性,本 设计采用分成的设计方法,主要分为应用层、F0C 算法层、板级驱动层。F0C算法层向应用层提供了 速度/位置设置接口、F0C算法配置接口(包括PID参 数、电机参数、调制频率等)。而板级驱动层则向 F0C算法层提供了速度/位置反馈(可以为编码器或 HALL传感器)、电流/电压反馈(包括三相电流、保 护电流/电压等)、SVPWM输出接口等。 3.2主程序 主程序开始阶段完成对系统的初始化,包括系 统时钟的初始化、看门狗初始化、NVIC寄存器配 置、FLASH初始化、Systick系统时钟设置等。其次 是对通信模块进行设置,在本系统中使用了串口作 为通信方式,但在硬件上预留了CAN通信。然后是 设置有关电机驱动的一些配置,包括产生SVPWM的 定时器、编码器接口定时器、ADC反馈等。接下来 由于本系统采用了增量式编码器,所以必须对电机 的位置进行定位 。最后就是循环接收串口发来的 命令及执行命令。主程序流程图如图5所示。 系统初始化 UART初始化 创建一个电机变量 设置电机变量参数 初始化高级定时器 (产生SVPWM) 初始化通用定时器 (接收编码器信号) ADC初始化 使用SVPWM产生中断 电机初始位置定位 执行命令 图5主程序流程图 3.3中断子程序 中断子程序流程图如图6所示。 一23— 电工电._【 (2013 No.7) 基于STM32FIO3VET6 ̄片机的永磁同步电机控翱器设计 SVPWM中断入口 中断子程序中实现的。由于SVPWM调制和PID计算是 异步的,并且SVPWM中断优先级相对较高,所以为了防 止电压PID还没有完全计算结束就被SVPWM模块用来 计算,使用了一个变量pid flag来标识PID现在的状 态,在p flag=O时,SVPWM模块会用旧的电压值 保存现场 巾断屏蔽 读取编码器值 进行计算,直 ̄IJPID计算结束,使pid flag=l。 计算电机位置及转速 4结语 本文在充分研究以ARM公司Cortex—M3为内核的 更新 、 控制器STM32F103VET6的基础上,给出了ADC、定时 器等内部硬件模块的资源分配,以及它们在电机 Park逆变换 驱动上的应用方法,同时也介绍了相关外围器件的 特点及应用。在软件设计上通过对控制器进行C语 言编程,完成转子速度/位置反馈、电流反馈、PID 调节、换向控 ̄*HSVPWM输出等控制功能。采用模 判断扇区 计算定时器各 通道通断时间 块化的设计方法也提高了系统的设计效率及可移植 性,并且增加了参数的易修改性。 通过进一步的实验研究表明,该系统设计合 理,STM32FlO3VET6上充足的硬件资源及强大的运 算能力满足永磁同步电机控制过程中的所有的需 求,可以很好地应用在各种伺服控制中。 参考文献 [1]黄守道,魏彦.永磁无刷电动机的技术发展及应用 [J].大众用电,2002(1):20 21. [2]范红梅.PID参数工业整定方法及其应用[J].数字石 油和化工,2006(6):43—46. 输出电压欠量 清除中断标志 恢复现场 中断返回 图6中断子程序流程图 为了保证系统的性能,在SVPWM中断子程序中 只对电机的位置进行更新(三相电流的值是硬件自 动更新的,并不影响软件效率),然后通过SVPWM产 生算法输出一个新的电压矢量 ,使其始终保证输 出力矩最大。而系统内部对速度、电流的PID计算 并不需要与SVPWM的频率一致,可以在其他定时器 [3]杨立永,陈为奇.永磁同步电机转子初始位置检测 研究[J].电气传动,2012,42(3):57—61. [4]周卫平,吴正国.电压空间矢量脉宽调制的简单快 速算法[J].电工电能新技术,2005,24(2):28—30. 收稿日期:2013—03—07 《电工电气》征稿启事 《电工电气》杂志是经国家新闻出版总署批准,由《江苏电器》杂志更名而来。 《电工电气》的办刊宗旨 及业务范围为:追踪行业热点,报道前沿技术,传递市场信息,搭建行业技术交流和推广‘应用平台,推动电工 电气技术发展,为电工电气行业服务。《电工电气》主要刊登电工电气、高低压电器及成套设备和控制设备、无 功补偿、节能技术、计算机在电工电气领域的应用等方面的科研、设计、标准、检测及新技术、新工艺、新材 料等的论文、技术报告和信息与技术交流方面的文章,不收版面费,并支付稿费。欢迎广大作者踊跃投稿,对 有价值、水平高的论文将优先刊登。 《电工电气》编辑部 2013年7月 24—— 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务