利用一个ARM7处理器对无刷电机实施磁场定向控制
让我们从CPU开始逐个查看一个先进的电机驱动器系统的整体需求。整个矢量控制算法必须连续反复计算,计算速度在1~10 kHz之间(1ms一直到100μs闭环时间,视最终应用的带宽而定)。系统需要大量的数学计算(三角函数、PID调整器、实时磁通量和基于电机参数的力矩估算)。此外,必须给应用的其余部分(通信、用户界面等)的计算留有余地。为了不限制动态性能,主要控制变量需要最低16位的精度,中间结果需要32位计算能力。
所有这些因素说明了矢量控制必须使用高速、高性能处理器的原因。市场现有产品包括16位或32位单片机、混合控制器或数字信号处理器,这些产品通常与先进的电机控制直接相关,如果你不是刻意追求速度最快的数字电流控制回路或最精确的曲线控制,一个基于ARM7处理器的解决方案刚好满足磁通量定向控制的要求。除核心的性能外,若想最大限度减少外部组件,还需配备合理的外设接口。这样设计可大大简化设计过程,确保成本效益和可靠性(因为PCB设计被简化)。
在信号生成方面,通用PWM通道是不适合的,必须使用电机控制专用PWM信号,因此必须采用三对同步互补PWM通道,含有死区时间插入功能,以防止半桥可能发生短路故障。为安全起见,当功率级出现故障/错误(过流、高温)时,必须同时关闭这6路PWM通道。安全功能还配备一个专用的紧急故障输入。定时器的时钟频率(典型值>50MHz)和PWM载波频率的三角波形才是确保正弦波形的高精度和最佳的噪声-开关损耗比的两个因素,而非锯齿波形。
模拟信号采集是MCU的另一个主要负荷,电机监控必须控制两类信号:缓慢变化的信号如DC总线电压(含有100Hz波纹电压成分)或电位器电压;高动态的频率范围几赫兹到数百赫兹的电机电流,其中含有PWM速率(典型值高于10 kHz)的波纹电流。因此,模数转换器的速度必须很快(低于5μs),以便在对电机相位
进行顺序采样时,减少对不平稳电流的测量,节省为等候模数转换结果而在PWM中断服务程序上消耗的时间。在转换器精度方面,10位正在成为转换器的标准。虽然8位转换器对大多数应用已经够用,但是电流范围扩大的应用需要10位以上的模数转换器,以便在各种负载条件下保证充足的分辨率。此外,控制精度与模数转换器的质量有直接的关系。
最后,我们还必须处理转速和/或位置传感器。递增编码器位置传感器需要专用的信号调节功能,作为一个具有加减计数功能的外部时钟,来处理两个正交信号输出。处理这个功能的是一个含有专用编码器模式的定时器。
我们在STR730单片机上成功地实现了一个带传感器的磁场定向控制(基于转速生成器)算法,该单片机基于ARM7TDMI处理器,工作频率32MHz,内嵌闪存。这个算法完全采用C语言开发,没有进行任何刻意的代码优化。在实际算法中,完成整个控制回路用时55μs,在3kHz采样速率下CPU负荷17%。当核心运行在60MHz时,预计执行时间低于20μs。
采用ARM7处理器实现的算法具有很多优点。首先,ARM现已成为标准核心,其平台方法和大量的开发工具是节省成本的关键所在;其次,假如下一代产品设计需要更高处理速度(MIPS),你可以直接升级到基于ARM9的产品。从架构的角度看,桶形移位器很有趣,它允许在整个处理流程中优化变量分辨率。你可以在一个时钟周期内改变格式以达到限制处理时间的目的,此外,它允许利用常数节省某些乘法运算,例如r0=(r1<<4) - r1相当于r0=15xr1,甚至速度更快。低成本的DSP有16位固点核心。当必须处理PI调整器的积分项或扩展所需的精度范围时,ARM7的32位数据通道能够避免多个16位负载。当进行电机控制信号处理时,DSP的其他重要功能没有太大的用途,例如,硬件闭环和双寻址模式。这些在某种程度上说明了人们为什么把ARM7处理器喻成如此优化的架构。
图3所示是一个新的STR7产品,为ST的基于ARM7处理器的产品线开发,能够满足前文概述的系统需求。主要特性包括:
SPTimer同步PWM定时器,执行高端PWM信号生成功能,基于16位定时器,时间分辨率可降至16.6ns,实现最佳的电压重建;
能够产生居中或边缘对齐的PWM图形;
逆变器故障处理所需的内部可编程死区时间信号生成器和紧急故障保护功能;
为简化软件处理任务,采用多个中断源、一个可编程重载速率和"禁止吸烟"保护,以防止软件因为失控而修改系统重要外设的配置寄存器。
图3 新的STR7产品
这个SPTimer还可作为通用定时器,带有两个输入捕获引脚、两个输出比较引脚,以及可最大限度降低软件开
- 史上最经典电动自行车控制器设计方案(08-22)
- 基于ARM的除法运算优化策略(01-14)
- 基于ARM的CAN总线智能节点的设计(01-24)
- ARM基础知识教程五 (02-08)
- ARM基础知识教程六(02-08)
- ARM基础知识教程七(02-08)