一种STM32微控制器电机控制方案设计与实现
时间:11-18
来源:互联网
点击:
旁路无传感器控制、内部永磁(IPM)电机控制和永磁同步(PMSM)电机弱磁控制的算法。目前市场上大约已有40种电机控制应用采用了意法半导体的基于Cortex-M3的STM32微控制器。 在设计人员目前可以获得的新算法中,单旁路电流感应支持功能只需要一个电流感应电阻器,比需要三个电阻器的普通无传感器控制机制更加节省系统成本。单旁路电流感应是意法半导体开发的一项专利技术,具有直流总线电压利用率高、电流失真小和可听噪声低等优点。通过增加一个"最大化转矩电流比"(MTPA)控制算法,扩大的函数库给设计人员提供了更大的自由设计空间,使他们能够灵活地定义无刷IPM电机的电气参数,满足实际应用对电机的高功率密度和高速性能的需求。基于这些新的算法,开发人员可以充分利用STM32丰富的电机控制外设,包括STM32集成的两个三相PWM定时器,使一个微控制器可以同时控制两个无刷电机。通过打破一个微控制器控制一个电机的规则,设计人员使用STM32可以节省成本,降低设计尺寸和功耗,而且不会对性能有任何影响。微控制器集成的三个模数转换器能够支持高精度电机驱动器用的三路采样保持电流捕获。因为STM32采用先进的ARMCortex-M3CPU工业标准架构,用户在STM32上开发电机控制解决方案要比使用企业专有架构更节省时间。
即使最复杂的算法几乎也无法修正不精确的模拟测量值,但是,在某种程度上,电机驱动系统的总体性能取决于模数转换器的质量。STM32F103芯片内置三个采样率为1MSps的12位模数转换器,在整个温度和电压范围内,总不可调整误差 (TUE)低于5 LSB.模数转换器的数字接口有三个主要功能:首先,使CPU摆脱简单控制任务和数据处理;其次连接芯片的其余部件(中断请求、DMA请求、触发输入);最后,使STM32的多路转换器同步操作。
在这些对无刷电机控制有用的功能中,我们首先考虑通道读序列发生器。对比传统的扫描电路(按照模拟输入序号,按序转换一定数量的通道), 在一个16个转换通道组成的顺列(例如:Ch3, Ch3, Ch0, Ch11)内,序列发生器可按任何顺序转换通道,当设计人员在设计印刷电路板时,这个功能给设计人员带来更高的设计灵活性,为实现平均转换目的,准许对同一通道进行多次采样(在一个序列内),当整个序列转换完毕后,DMA通道将转换结果送到RAM,中断处理程序产生一个中断请求。
在检测电机相位电流的过程中,瞬变电压在功率开关上产生的噪声(在离线开关应用中,典型噪声达到几百个V/μs)是引起读取误差的一个重要原因,可能导致测量结果的信噪比非常低。解决方案是使模数转换器与控制功率级的定时器同步:因为换向时刻可以预定(由3 PWM定时器的比较寄存器定义),所以可以使用一个额外比较通道在换向时刻稍前或稍后触发模数转换操作。基于这个原因,STM32启用了第二个序列发生器(又称注入序列发生器),该序列发生器的优先级高于正常序列发生器,可以用一个不能延迟的新转换操作使当前的转换操作中断。通常情况下,正常序列发生器负责"内部管理"转换,连续检测温度或直流总线电压(作为后台任务),然后通过DMA通道发送到RAM,而注入序列发生器则将处理时间关键的转换操作,并将转换结果存储在模数转换器寄存器(将会产生一个中断,但是不能接受延时)。
对于一个能够执行先进的电机控制功能的通用微控制器,拥有微控制器是一回事,而开发轻松入门却是另一回事。利用软硬件工具可以把这个问题的两个方面都处理好。首先是拥有一套电机控制开发入门工具,包含测试工具(JTAG探针和光隔离器)、 微控制器芯片以及功率级电路板和演示用PMSM电机,这套工具用于产品性能评估和开发用途。模块化设计有助于升级演示应用(例如双电机控制微控制器电路板),评估多个(或定制)功率级。最后,意法半导体为STM32客户免费提供电机控制软件库。2.0版电机控制软件库利用头文件内的一个简单且低廉的 #define声明列表支持各种配置。
软件库包含交流感应电机和同步电机的磁场定向控制算法,为简化代码的可读性和可维护性,这些算法采用C编程语言,再次证明了现代编译器的效率。该软件库还针对PMSM电机提供一个稳健的无传感器控制算法(基于磁通观测器),以及一个超高速内部永磁电机 (IPM)专用控制算法。当然,该软件还支持普通转速和位置传感器(增量编码器、霍尔传感器或转速传感器)。通过使用隔离传感器或分流器,STM32支持三种电流检测方法。STM32外设可以实现一个创新的单电流检测方法,利用成本最低的配置(一个简单的独特的电阻器)执行矢量控制。因为能够最
即使最复杂的算法几乎也无法修正不精确的模拟测量值,但是,在某种程度上,电机驱动系统的总体性能取决于模数转换器的质量。STM32F103芯片内置三个采样率为1MSps的12位模数转换器,在整个温度和电压范围内,总不可调整误差 (TUE)低于5 LSB.模数转换器的数字接口有三个主要功能:首先,使CPU摆脱简单控制任务和数据处理;其次连接芯片的其余部件(中断请求、DMA请求、触发输入);最后,使STM32的多路转换器同步操作。
在这些对无刷电机控制有用的功能中,我们首先考虑通道读序列发生器。对比传统的扫描电路(按照模拟输入序号,按序转换一定数量的通道), 在一个16个转换通道组成的顺列(例如:Ch3, Ch3, Ch0, Ch11)内,序列发生器可按任何顺序转换通道,当设计人员在设计印刷电路板时,这个功能给设计人员带来更高的设计灵活性,为实现平均转换目的,准许对同一通道进行多次采样(在一个序列内),当整个序列转换完毕后,DMA通道将转换结果送到RAM,中断处理程序产生一个中断请求。
在检测电机相位电流的过程中,瞬变电压在功率开关上产生的噪声(在离线开关应用中,典型噪声达到几百个V/μs)是引起读取误差的一个重要原因,可能导致测量结果的信噪比非常低。解决方案是使模数转换器与控制功率级的定时器同步:因为换向时刻可以预定(由3 PWM定时器的比较寄存器定义),所以可以使用一个额外比较通道在换向时刻稍前或稍后触发模数转换操作。基于这个原因,STM32启用了第二个序列发生器(又称注入序列发生器),该序列发生器的优先级高于正常序列发生器,可以用一个不能延迟的新转换操作使当前的转换操作中断。通常情况下,正常序列发生器负责"内部管理"转换,连续检测温度或直流总线电压(作为后台任务),然后通过DMA通道发送到RAM,而注入序列发生器则将处理时间关键的转换操作,并将转换结果存储在模数转换器寄存器(将会产生一个中断,但是不能接受延时)。
对于一个能够执行先进的电机控制功能的通用微控制器,拥有微控制器是一回事,而开发轻松入门却是另一回事。利用软硬件工具可以把这个问题的两个方面都处理好。首先是拥有一套电机控制开发入门工具,包含测试工具(JTAG探针和光隔离器)、 微控制器芯片以及功率级电路板和演示用PMSM电机,这套工具用于产品性能评估和开发用途。模块化设计有助于升级演示应用(例如双电机控制微控制器电路板),评估多个(或定制)功率级。最后,意法半导体为STM32客户免费提供电机控制软件库。2.0版电机控制软件库利用头文件内的一个简单且低廉的 #define声明列表支持各种配置。
软件库包含交流感应电机和同步电机的磁场定向控制算法,为简化代码的可读性和可维护性,这些算法采用C编程语言,再次证明了现代编译器的效率。该软件库还针对PMSM电机提供一个稳健的无传感器控制算法(基于磁通观测器),以及一个超高速内部永磁电机 (IPM)专用控制算法。当然,该软件还支持普通转速和位置传感器(增量编码器、霍尔传感器或转速传感器)。通过使用隔离传感器或分流器,STM32支持三种电流检测方法。STM32外设可以实现一个创新的单电流检测方法,利用成本最低的配置(一个简单的独特的电阻器)执行矢量控制。因为能够最
STM32微控制器电机控 相关文章:
- 基于STM32微控制器的电机控制设计(11-19)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)