基于STM32微控制器的电机控制设计
换向,可控开关功率达到数千瓦。例如,用于配置某些重要参数的寄存器代码可以被锁保护,以防软件失效。只要“紧急停止”引脚被拉低,所有的 I/O引脚都被置于用户可配置的安全状态。这个功能设计采用组合逻辑模块,当主时钟(晶体)失效时,内部切换到后备振荡器之前,可确保保护电路仍然能够正常工作。最后,该微控制器还包含一个第4比较通道,专门用于触发模数转换器,实现最佳的电流测量精度。
图2:STM32F103中容量微控制器结构框图
即使最复杂的算法几乎也无法修正不精确的模拟测量值,但是,在某种程度上,电机驱动系统的总体性能取决于模数转换器的质量。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微控制器就能执行两个单电流检测矢量控制功能,同时还用一个40 kHz的控制回路管理PFC级(详见图1)。
从功率开关分立器件,到复杂的系统芯片,意法半导体承诺以其独有的产品组合长期支持电机控制市常STM32微控制器产品线将继续沿四个新方向部署,如图3所示,其中两个方向适用于电机控制。第一个产品线将面向低成本市场,开发低端的16位电机控制微控制器。另一个产品线以高性能为诉求,面向需要更高处理性能、更大存储容量和高带宽接口的应用。如此宽广的产品组合结合Cortex
STM32微控制器电机控 相关文章:
- 一种STM32微控制器电机控制方案设计与实现(11-18)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)