微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于Cortex-M3的STM32微控制器处理先进电机控制方法

基于Cortex-M3的STM32微控制器处理先进电机控制方法

时间:03-07 来源:电子产品世界 点击:

首先,我们回顾一下电机控制的基本原理。在电机控制系统内,为什么处理器非常重要?我们为什么需要非常好的计算性能?毕竟,Nicolas Tesla在一个世纪前发明交流电机时不需要编译器。只要需要调速,人们无法回避使用逆变器驱动一个性能不错的3相电机,控制一个永磁同步电机(PMSM)运转更离不开逆变器,这个复杂的功率电子系统的核心是一个直流转交流的3相逆变器,其中微控制器起到管理作用,以全数字方式执行普通的三位一体的控制功能:检测(电流、转速、角度?)、处理(算法、内务管理?)、控制功率开关(最低的配置也至少有6个开关)。




采用标量控制是一个三相交流电机实现变速运转的最简单方式。标量控制原理是在施加到电机的频率和电压之间保持一个恒比。对于入门级电机驱动器,这是一个非常主流的控制方法,适合负载特性非常普通且控制带宽要求不高的应用(如功率非常小的电泵和风扇)。不幸地是,并不是所有的应用都能忍受如此简单的控制过程及其应用限制。特别是,标量控制在瞬变环境内不能保证最佳的电机性能(转矩、能效)。为克服这些限制,人们开发出了其他的电机控制方法,其中磁场定向控制(又称矢量控制)是应用最广泛的方法之一。这种控制方式利用两个去耦直流控制器,不管运转频率如何(例如转速),以驱动分开励磁电机的方式驱动任何一种交流电机(感应电机或永磁电机)。励磁电流与直流的主磁通量(在一个PMSM电机内的磁体磁通量)有关 ,而 90°移相电流可以控制转矩,功能相当于直流电机的电枢电流。当负载变化时,磁场定向控制方式可实现精确的转速控制,而且响应速度快,使定子磁通量和转子磁通量保持完美的90°相位差,即便在瞬变工作环境内,仍然能够保证优化的能效,这是实现以电机拓扑为标志的更复杂的控制方法所依据的基本理论框架,特别是对于PMSM电机,这个理论是无传感器电机驱动器的基础,既可以大幅降低成本(不再需要转速或转角传感器和相关的连线),同时还能提高电机可靠性。在这种情况下,必须只使用电机数学模型、电流值和电压值,通过计算方法估算转子角度位置。在最低分钟转数只有几百转的情况下,这种状态观测器理论(在其他控制方法中)可以实现无传感器的转速控制;在某些情况下,最低分钟转数是静止状态。不过,这对CPU是一个额外的实时负荷。最后,微控制器必须以1k~20kHz的速率连续重新计算矢量控制算法,具体速率取决于最终应用带宽,处理Parke和Clarke转换和实现多个PID控制器和软件锁相环确实需要高强度的数字计算,这就是过去为什么DSP、微处理器或FGPA器件被用作控制器的原因。

  尽管专用双模控制器和低端定点DSP架构已经问世,但是意法半导体仍然选择使用Cortex-M3内核开发STM32微控制器。该方案可很好地满足大量无刷电机驱动器的要求,从一次性工程费用的角度看,其优点是采用行业标准的ARM内核和标准微控制器的成本效益。

  基于Harvard架构,此32位RISC采用umb2指令集,提供16位和32位指令。对比纯32位代码,这个指令集能够大幅提高代码密度,同时保留原有ARM7指令集的多数优点(附加优化的乘加运算和硬件除法指令)。

  电机控制系统要求微控制器须具备卓越的实时响应性(中断延时短)、纯处理功能(如单周期乘法)以及优异的控制性能(当处理非序列执行流和条件转移指令时)。Cortex-M3能够满足所有这些要求。例如,当时钟频率是72MHz时,在25μs内对一个永磁电机完成一次无传感器磁场定向控制,这相当于在10kHz采样率下25% 的CPU负荷。

  在STM32微控制器内,该内核与意法半导体优化型闪存接口紧密配合,只需增加很少的外部元器件,周边外设即可处理外部事件(图2所示是STM32F103微控制器的结构框图)。不用说,PWM定时器和模数转换器是最重要元器件。PWM定时器包括最先进的功能,如中央对齐模式PWM信号生成和死区时间插入逻辑,特别强调安全性:该模块直接控制功率开关换向,可控开关功率达到数千瓦。例如,用于配置某些重要参数的寄存器代码可以被锁保护,以防软件失效。只要"紧急停止"引脚被拉低,所有的 I/O引脚都被置于用户可配置的安全状态。这个功能设计采用组合逻辑模块,当主时钟(晶体)失效时,内部切换到后备振荡器之前,可确保保护电路仍然能够正常工作。最后,该微控制器还包含一个第4比较通道,专门用于触发模数转换器,实现最佳的电流测量精度。

即使最复杂的算法几乎也无法修正不精确的模拟测量值,但是,在某种程度上,电机驱动系统的总体性能取决于模数转换器的质量。STM32F103芯片内置三个采样率为1MSps的12位模数转换器,在整个温度和电压范围内,总不可调整误差 (TUE)低于5 LSB。模数转换器的数字接口有三个主要功能:首先,使CPU摆脱简单控制任务和数据处理;其次,连接芯片的其余部件(中断请求、DMA请求、触发输入);最后,使STM32的多路转换器同步操作。在这些对无刷电机控制有用的功能中,我们首先考虑通道读序列发生器。对比传统的扫描电路(按照模拟输入序号,按序转换一定数量的通道), 在一个16个转换通道组成的顺列(例如:Ch3, Ch3, Ch0, Ch11)内,序列发生器可按任何顺序转换通道,当设计人员在设计印刷电路板时,这个功能给设计人员带来更高的设计灵活性,为实现平均转换目的,准许对同一通道进行多次采样(在一个序列内),当整个序列转换完毕后,DMA通道将转换结果送到RAM,中断处理程序产生一个中断请求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top