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

分享到:

 首先,我们回顾一下电机控制的基本原理。在电机控制系统内,为什么处理器非常重要?我们为什么需要非常好的计算性能?毕竟,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,中断处理程序产生一个中断请求。

  在检测电机相位电流的过程中,瞬变电压在功率开关上产生的噪声(在离线开关应用中,典型噪声达到几百个V/μs)是引起读取误差的一个重要原因,可能导致测量结果的信噪比非常低。解决方法是使模数转换器与控制功率级的定时器同步:因为换向时刻可以预定(由3 PWM定时器的比较寄存器定义),所以可以使用一个额外比较通道在换向时刻稍前或稍后触发模数转换操作。基于这个原因,STM32启用了第二个序列发生器(又称注入序列发生器),该序列发生器的优先级高于正常序列发生器,可以用一个不能延迟的新转换操作使当前的转换操作中断。通常情况下,正常序列发生器负责“内部管理”转换,连续检测温度或直流总线电压(作为后台任务),然后通过DMA通道发送到RAM,而注入序列发生器则将处理时间关键的转换操作,并将转换结果存储在模数转换器寄存器(将会产生一个中断,但是不能接受延时)。

 

  对于一个能够执行先进的电机控制功能的通用微控制器,拥有微控制器是一回事,而开发轻松入门却是另一回事。利用软硬件工具可以把这个问题的两个方面都处理好。首先是拥有一套电机控制开发入门工具,之后,意法半导体为STM32客户免费提供电机控制软件库。2.0版电机控制软件库利用头文件内的一个简单且低廉的 #define声明列表支持各种配置。软件库包含交流感应电机和同步电机的磁场定向控制算法,为简化代码的可读性和可维护性,这些算法采用C编程语言,再次证明了现代编译器的效率。该软件库还针对PMSM电机提供一个稳健的无传感器控制算法(基于磁通观测器),以及一个超高速内部永磁电机 (IPM)专用控制算法。

  意法半导体目前的主要开发项目是控制电机直到静止状态的无传感器永磁电机控制和内置功率因数校正功能的双电机控制。最近,意法半导体成功演示了单电流检测方法,仅一个STM32微控制器就能执行两个单电流检测矢量控制功能,同时还用一个40 kHz的控制回路管理PFC级(详见图1)。

  STM32微控制器产品线将继续沿四个新方向部署,如图3所示,其中两个方向适用于电机控制。第一个产品线将面向低成本市场,开发低端的16位电机控制微控制器。另一个产品线以高性能为诉求,面向需要更高处理性能、更大存储容量和高带宽接口的应用。如此宽广的产品组合结合Cortex-M3内核,势必确立STM32架构适用于现在和未来电机驱动的多功能性。
STM32单片机中文官网
意法半导体/ST/STM

继续阅读
意法半导体推出48引脚封装 扩大市面上唯一支持LoRa®的STM32WL系统芯片的选择范围

中国,2020年8月28日——意法半导体为其获奖产品STM32WLE5 *无线系统芯片(SoC)的产品组合新增一款QFN48封装,将该产品的诸多集成功能、能效性和多调制的灵活性赋能到多种工业无线应用上。

意法半导体发布STM32状态监测功能包,通过Cartesiam工具简化机器学习过程

中国,2020年7月29日——意法半导体发布一款免费的STM32软件功能包,让用户可以用微控制器探索套件快速创建、训练、部署工业状态监测智能边缘设备。

意法半导体为STM32Cube®生态系统增添新功能,提高软件开发效率

中国,2020年7月28日——意法半导体STM32Cube®软件开发生态系统发布软件更新,让用户更轻松地筛选软件示例,搜集和使用开发工具,自定义、使用和分享STM32Cube扩展软件包。

意法半导体通过两项并购,进一步增强STM32微控制器的无线连接功能

中国, 2020年7月20 日 – 横跨多重电子应用领域的全球领先的半导体供应商意法半导体,于日前宣布签署两项并购协议,收购超宽带技术专业设计公司BeSpoon的全部股本和Riot Micro公司的蜂窝物联网连接资产。在两项交易走完正常监管审批手续成交后,意法半导体将进一步提升其在无线连接技术方面的服务,特别是完善STM32微控制器和安全微控制器的产品规划。

让汽车ECU开发事半功倍,ST AutoDevKit工具包长啥样?

STM32 是工业和消费市场上非常成功的微控制器解决方案,SPC5 系列汽车微控制器也许大家还不大熟悉,不过在 AutoDevKit 生态匹配搭建的强大加持下,站在使用者的角度来看待问题,解决对方行业痛点,未来的 SPC5 也许可以成为汽车电子界的 STM32 也是很有可能的。