基于STM32微控制器的电机控制设计

发布者:GoldenSunrise最新更新时间:2016-06-03 来源: eefocus关键字:STM32  微控制器  电机控制 手机看文章 扫描二维码
随时随地手机看文章
  变频器的问世和先进的电机控制方法让三相无刷电机(交流感应电机或永磁同步电机)曾经在调速应用领域取得巨大成功。这些高性能的电机驱动器过去主要用于工厂自动化系统和机器人。十年来,电子元器件的大幅降价使得这些电机驱动器能够进入对成本敏感的市场,例如:家电、空调或个人医疗设备。本文将探讨基于ARM的标准微控制器如何在一个被DSP和FPGA长期垄断的市场上打破复杂的控制模式,我们将以意法半导体的基于Cortex-M3 内核的STM32系列微控制器为例论述这个过程。

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

  采用标量控制是一个三相交流电机实现变速运转的最简单方式。标量控制原理是在施加到电机的频率和电压之间保持一个恒比。对于入门级电机驱动器,这是一个非常主流的控制方法,适合负载特性非常普通且控制带宽要求不高的应用(如功率非常小的电泵和风扇)。不幸地是,并不是所有的应用都能忍受如此简单的控制过程及其应用限制。特别是,标量控制在瞬变环境内不能保证最佳的电机性能(转矩、能效)。为克服这些限制,人们开发出了其它的电机控制方法,其中磁场定向控制(又称矢量控制)是应用最广泛的方法之一。这种控制方式利用两个去耦直流控制器,不管运转频率如何(例如转速),以驱动分开励磁电机的方式驱动任何一种交流电机(感应电机或永磁电机)。励磁电流与直流的主磁通量(在一个PMSM电机内的磁体磁通量)有关,而 90°移相电流可以控制转矩,功能相当于直流电机的电枢电流。

  当负载变化时,磁场定向控制方式可实现精确的转速控制,而且响应速度快,使定子磁通量和转子磁通量保持完美的90度相位差,即便在瞬变工作环境内,仍然能够保证优化的能效,这是实现以电机拓扑为标志的更复杂的控制方法所依据的基本理论框架,特别是对于PMSM电机,这个理论是无传感器电机驱动器的基础,既可以大幅降低成本(不再需要转速或转角传感器和相关的连线),同时还能提高电机可靠性。在这种情况下,必须只使用电机数学模型、电流值和电压值,通过计算方法估算转子角度位置。在最低分钟转数只有几百转的情况下,这种状态观测器理论(在其它控制方法中)可以实现无传感器的转速控制,在某些情况下,最低分钟转数是静止状态。不过,这对CPU是一个额外的实时负荷。最后,微控制器必须以1KHz到20KHz的速率连续重新计算矢量控制算法,具体速率取决于最终应用带宽,处理Parke和Clarke转换和实现多个PID控制器和软件锁相环确实需要高强度的数字计算,这就是过去为什么数字信号处理器、微处理器或FGPA器件被用作控制器的原因。

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

  

基于STM32微控制器的电机控制设计
 

  图1:STM32F103HD可以同时处理双电机控制和数字PF

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

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

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

  

基于STM32微控制器的电机控制设计
 

  图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-M3内核,势必确立STM32架构适用于现在和未来电机驱动的多功能性。

 

  

关键字:STM32  微控制器  电机控制 引用地址:基于STM32微控制器的电机控制设计

上一篇:STM32单片机学习(10) 数码管输出实验补 静态(共阳)+动态(共阴)
下一篇:STM32单片机学习(3) 串口中断通信

推荐阅读最新更新时间:2024-03-16 14:56

怎样成为单片机高手
不管出于什么原因学习单片机,成为单片机高手几乎可以说是每一个认真学单片机高手的愿望。 单片机高手的秘诀 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。 2.别小家子气,买本书几十块都舍不得,你还学个P。为了省钱看电子书,浪费的时间绝对超过书的价值。当然如果查资料,只能看PDF。 3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件,什么都不懂,就盲目的问东问西,让人看起来很幼稚。 4.不要蜻蜓点水,得过且过,细微之处往往体现实力。 5.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。 6.看得懂的书,请
[单片机]
「51单片机」红外接收、发射模块代码
一、简介 红外发射模块:电源3.3V或5V,通过发射管发射38KHz的红外信号,高电平驱动 红外接收模块:电源3.3V或5V,可接收红外信号,并解调成逻辑电平,低电平有效 二、电路图 红外发射电路图 红外接收电路图 三、红外发射模块代码 #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int //管脚定义 sbit key = P2^0; sbit out = P2^1; //函数声明 void delay
[单片机]
「51<font color='red'>单片机</font>」红外接收、发射模块代码
基于AT89C51系列单片机和霍尔传感器实现测控系统的设计
近年来,随着传感器技术的不断发展,特别是单片机技术的广泛应用,采用单片机与PC机构成的小型传感器测控系统越来越多。因为它们很好地结合了单片机的价格低,功能强,抗干扰能力好,温限宽和面向控制等优点及Pc机操作系统中Windows的高级用户界面、多任务、自动内存管理等特点。在这种测控系统中,单片机主要进行实时数据采集及预处理,然后通过串行口将数据送给PC机,PC机再对这些数据进一步处理,例如求均值、方差、画动态曲线与计算给定、打印输出的各种参数等任务。 这里采用霍尔传感器作为前端进行数据采集,然后在单片机控制下进行A/D转换,并将信号通过串口送给PC机进行绘图处理。 1 系统介绍 系统可以分为3个部分。第一部分是信号源,由霍尔
[单片机]
基于AT89C51系列<font color='red'>单片机</font>和霍尔传感器实现测控系统的设计
利用单片机定时器T0产生定时脉冲编程
利用定时器T0产生定时脉冲。每隔2ms产生宽度为2个机器周期的正脉冲,由P1.0输出此定时序列脉冲信号(设时钟频率为6MHZ)。 答:首先求出定时器T0初值。由于时钟频率为6MHZ,所以,机器周期为2µs。 因为:t=(213-T0初值)´ 机器周期 所以,当t=2ms时,则:(213-T0初值)´ 2´10-6=2´10-3 解得:T0初值=7096=11011101 11000B,其中将高8位11011101 B=DDH赋给TH0,低5位11000B=18H赋给TL0。 方法一: 采用查询工作方式, 编程 如下: ORG 0000H AJMP MAIN
[单片机]
基于STM32的全彩LED显示屏系统的设计方案
  LED显示屏是利用LED点阵模块或像素单元组成的一种现代平面显示屏幕,具有发光效率高、使用寿命长、视角范围大、色彩丰富以及对室内外环境适应能力强等优点。20世纪80年代后期,它在全世界迅速发展起来,并很快成为大屏幕平板显示的代表性主流产品;近年来,随着蓝色LED产品价格的快速下降,全彩色LED显示屏的价格逐步降低,市场需求急剧增长,应用日益普遍。目前的LED显示屏控制系统多采用ARM处理器来完成整个系统的功能,这种控制系统在数据处理速度上存在很大的局限,影响显示效果的连续性。基于此,在分析了STM32微处理器总线结构特点的基础上,提出了STM32+FPGA的控制系统方案,该方案充分了利用STM32微处理器的灵活的储器控制技术和
[单片机]
基于<font color='red'>STM32</font>的全彩LED显示屏系统的设计方案
基于STM32F103单片机的汽车远程防盗系统方案
  近几年,汽车偷盗案件越来越多,给人们带来巨大的经济损失。市场上随之出现了各种各样的汽车防盗器,本汽车防盗系统采用ST公司生产的STM32F103R6T6(以下简称STM32F103)单片机作为控制器,功能强大,实时性好。    1 系统结构与功能   汽车远程防盗系统是基于现代无线通信技术设计的,可以不受距离的约束,将汽车的状态信息直接发送到车主手机,进行一对一防盗报警,汽车远程防盗系统的结构如图1所示。      汽车防盗系统的信息采集模块包括人体感应传感器、振动传感器等,用来采集汽车警情信息。传感器将采集到警情信息,传送给微处理器处理,微处理器开始执行报警程序。首先,发送短信到车主手机;然后,报警器根据不同的警情进
[单片机]
基于STM32F103<font color='red'>单片机</font>的汽车远程防盗系统方案
STM32值系统时钟初始化程序设计
正如之前文章所述,在使用外设功能时,都必须提前对其精心初始化才能使用其功能。 以下是系统定时器初始化的程序清单。 #include stm32f10x_lib.h unsigned char sys_nub;//系统定时器中断计数变量 //SysTick 设置 void Systick_Config(void) { //失能SysTick定时器 SysTick_CounterCmd(SysTick_Counter_Disable); //失能SysTick中断 SysTick_ITConfig(DISABLE); //设置SysTick时钟源 SysTick_ClockSourceConfig(SysTick_Source_HC
[单片机]
C8051F350单片机实现气体流量计检测仪的设计
气体流量计是较为常用的仪表设备。钟罩式气体流量标准装置是以空气作为介质,对气体流量计进行检定、校准和检测的计量标准装置。主要适用于速度式、容积式和差压式等气体流量计的检定、校准和型式评价工作,也可用于气体流量测量的研究工作。本文基于C8051F350单片机,改造现有的钟罩装置,设计一种气体流量计检测仪。 气体流量计检定技术概述 目前,气体流量计的检定方法广义上可分为直接测量和间接测量两种。 直接测量法的是用实际流体进行计量检定,其具体定义为用标准装置(标准流量计或计量器具)与被测流量计串联,通过比较两者测得流体的累积流量值,得出被测流量计测量误差的方法。实流检测法具有检定环境与工况环境一致、流量值准确可靠和真实反映被测流量计计
[单片机]
C8051F350<font color='red'>单片机</font>实现气体流量计检测仪的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved