datasheet

利用双电机控制技术简化高能效电器设计

2008-06-16来源: 电子设计技术 关键字:电机速度  控制函数  MCE  库函数  电机控制  双电机  控制原理  控制算法  泰勒展

  如今越来越多的电器制造商采用变速永磁(PM)同步电机来提高能效、增加产品特性。工业驱动器制造商很早就认识到PM电机具有高能效和高功率重量比,但控制电子技术的最新进展才使得PM电机被电器制造商广泛采纳。

  只需采用直流环节电流反馈技术的定向控制(FOC)可最小化系统成本,对电器驱动器应用非常有吸引力。电机的正弦控制可产生平滑的扭矩输出,输出的声学噪声很低。因此,FOC适合用在风扇、水泵、洗衣机和干衣机等低噪声和高能效非常重要的设备中。

  空调和洗衣干衣机等许多电器设备必须独立控制两个电机的速度,以优化它们的性能。这些系统所采用的传统方法是使用带串行通信链路的电机控制处理器来实现同步。但是,如果用一个器件控制两个电机,就可以大大简化硬件和系统设计。最近推出的电器控制平台可仅利用直流母线电流反馈技术同时控制两个PM交流电机,该芯片采用嵌入式FOC算法,可缩短开发时间,并推动电器制造商快速采纳这种技术。

  无传感器电机控制算法的实现

  FOC在工业驱动系统中很常见,它一般采用编码器或分解器测量转子的位置。闭环电流控制算法利用转子的角坐标校正电机电流和转子磁通,从而实现扭矩输出的最大化。电器控制系统中先进的转子位置估算算法无需使用高分辨率位置传感器(图1)。

  

  图1:定向控制(FOC)系统通过使用直流环节电流反馈技术消除了对位置传感器的需求。

  估算算法根据采用绕组电压和电流的电机模型,获得PM的转子磁通位置。这种方法非常合适,因为转子上的磁体决定了转子磁通的位置。绕组电流测量数据是利用基于功率变换器的状态知识的正确的ADC采样时序,从直流环节电流中获得的。系统框图表明,绕组电流测量数据和绕组电压驱动值是计算转子角位置和角速度的转子磁通模型的输入。扭矩和磁通控制环路不仅能在较低速度范围内实现最大的扭矩输出,还可以实现弱磁下的高速操作。

  在第一代FOC电机驱动系统中,这些功能是由模拟和数字器件的组合电路实现的。如今,这些电机驱动系统中的大部分已采用高速DSP或RISC处理器在单个器件上实现相关算法。软件实现不仅带来了灵活和硬件简单的优点,也给驱动系统开发人员带来重要的软件开发任务。生成控制算法的软件代码需要许多步骤。第一步,系统工程师将控制原理图转换成代表各种控制功能的微分方程组。第二步,软件工程师将这些微分方程转换成代表处理器执行指令的C代码。这个过程出错,从而延长开发时间,除非代码具有很好的结构和文档,并有长期软件维护小组。RISC处理器和DSP供应商可以提供一整套FOC软件实例来帮助电机驱动公司加快开发进程。这是很有可能的,因为FOC控制技术非常成熟,所以算法结构也可以定义得非常完善。然而,软件实现在目前是没有特别优势的,因为算法结构的灵活性不是必需的。

  控制系统设计工程师可以利用数字ASIC或FPGA技术,以硬件方式实现FOC算法。开发过程的第一步与软件方法没太大区别,但在第二步中不再使用C代码,而是由硬件工程师将微分方程转换成代表逻辑门互连的Verilog代码。这种设计可以在控制寄存器中定义并存储控制参数,以提供灵活性,但在数字ASIC中实现算法结构的硬连线。这种方法在要求高速处理的电信系统中非常普遍,许多电机控制ASIC可以实现FOC和其它电机控制功能。这种方法的优点不仅在于执行速度,还在于它能显著缩短系统的开发时间。

  运动控制引擎(MCE)则提供另一种方法,该方法兼有专用ASIC硬件的高速性能和可编程处理器的灵活性。这种方法特别有效,因为FOC算法使用了许多标准函数,比如误差放大器、比例积分(PI)补偿器,以及会多次出现在控制电路中的矢量旋转器。MCE由硬件电机控制函数库组成,通过将输入和输出存储器地址分配给相应的系统变量,可高效地实现运动控制定序器与这些函数的互连。

  控制系统工程师不需要将控制原理图转换成微分方程组,因为在MCE库中具有经过充分优化的ASIC实现。相反,控制系统工程师采用原理图编辑工具,以图形化的方式通过互连运动控制库中的标准函数来确定控制原理图。图形化编译器将控制原理图转换成用于互连硬件控制函数的MCE定序器命令。编译器将MCE的共享RAM区中的各个地址,分配给控制节点定义的每个算法变量。MCE定序器命令定义每个控制函数块以及输入输出变量的存储器地址。因为MCE将这些命令存储在存储器中,所以具有与RISC处理器和DSP一样的灵活性。

  PWM开关频率设置算法执行的时序、ADC采样率和输出电压的更新速率。MCE库元件代表空间矢量调制器和ADC输入,但它们在控制原理图中只出现一次,因为它们与物理的输入输出引脚相对应。另一方面,矢量旋转器或PI补偿器等MCE库控制函数可以多次出现在控制算法中,因为MCE将它们的输入输出存储在数据存储器中。库函数的每次实例化都会占用数据存储器空间来存储变量和MCE指令,因此存储器容量限制了算法的复杂性。每个库函数在每次执行时都会占用一定的系统时钟周期,因此控制环路总的时钟周期数必须小于PWM周期中的时钟周期数。

  转子角度估算器和电流控制环路大约要消耗1,400个系统时钟周期,相当于128MHz最大系统时钟频率下的11μs时间。这样,在相当于20kHz开关频率的50μs PWM周期下,可以同时实现对两个电机的控制。当然,为控制两个电机,芯片需要两套空间矢量PWM调制器和用于电流采样的额外模拟输入端。图2是一个双电机控制IC的结构图,它包含嵌入式运动控制引擎和用于执行应用层代码的8位微控制器内核。这种方法的优势是它能将在微控制器上执行的慢速系统级功能与MCE执行的高速电机控制算法分隔开来。

  

  图2:包含用来执行应用层任务的8位微控制器的双电机控制芯片。

  MCE库函数

  高速执行控制算法的关键是MCE库函数在ASIC中的实现效率。两个重要的反馈控制单元(PI控制补偿器和矢量旋转块)可以作为库函数的典型例子。ASIC实现需要优化硅片和时钟周期的使用,并同时不牺牲鲁棒性和可靠性。

  

  图3:比例积分(PI)控制补偿器可高效地使用MCE硬件资源和时钟周期。

  众所周知的PI控制补偿器的ASIC实现(图3)基于连续时域转移函数:

  将这个表达式转换到离散时间域就可以产生一组定义ASIC实现的微分方程:

  为保持低输入电平时的精度,并将输出重新调节到16位变量,积分项的总和具有32位分辨率。抗饱和模块可以在输出达到系统的物理极限时,防止积分项饱和。

  矢量旋转模块是一个二维矩阵函数,用来实现旋转和固定参考系之间的电压转换。前向旋转具有正弦和余弦项:

  有多种三角恒等式可以将正弦和余弦项的运算简化为0到90?范围的正弦函数运算,但根据可用硬件的不同,该项的运算会有所变化。在一些微控制器实现中,快速乘法函数的缺乏将迫使软件开发人员依赖简单的查找表。在具有单周期乘法指令的DSP或RISC处理器中,可用泰勒展开式计算正弦函数。

  针对基于一系列加法、减法和移位函数,仅在13个周期内就可实现12位精度的ASIC实现,开发被称为CORDIC算法的矢量旋转函数(图4)。这种运算要比在32位RISC处理器上使用泰勒展开式进行运算快10倍。

  

  图4:CORDIC算法计算矢量旋转的速度比使用泰勒展开式的方法快一个数量级。

  简化电机控制

  尽管可能存在许多种配置,但图5所示的采用单个控制IC操作双电机平台的配置是最高效的。这种配置不仅能消除用来控制第二个电机的第二个IC(该IC导致了不必要的冗余设计),还使得两个电机的复杂接口设计成为可能。例如,当一个电机发生故障(比如短路或闭锁),第二个电机可以立即像反射动作一样被去激励,从而减少与主控制系统通讯相关的延迟。以空调应用为例,压缩机电机的速度和蒸发器风扇要求相互跟踪以优化工作效率,控制系统通过直接写入MCE寄存器设置电机速度,并避免多个IC之间的复杂通讯。

通过单个平台提供的双电机控制可以消除冗余硬件和对两个分离控制器之间的复杂通讯链路的需求

  图5:通过单个平台提供的双电机控制可以消除冗余硬件和对两个分离控制器之间的复杂通讯链路的需求,并能实现两个电机之间的复杂接口。

关键字:电机速度  控制函数  MCE  库函数  电机控制  双电机  控制原理  控制算法  泰勒展

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0616/article_1020.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于行为的智能吸尘机器人设计
下一篇:基于AT89C51+DSP的双CPU伺服控制器的研究

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

无刷直流电机基于ADRC的无感FOC速度控制方案

世事往往真假错乱,难以区分。ADRC算法根据自身的控制能力,只执行合理的命令,避免执行错误的命令后,错上加错!一、合理的目标,合理的结果只有按合理的目标执行,才可能有合理的结果。例如一个小孩最多只能出20公斤的力,但强要他搬运50公斤的东西,显然搬不动。又例如工厂生产的电机,额定最高速度只有3000转/分钟,通过弱磁算法增速10%到3300转/分钟,是可以实现的,但要翻倍到6000转/分钟,肯定实现不了的。图1是无刷直流电机基于ADRC的无感FOC速度控制框图。虽然ADRC抗扰能力一流,但如果目标和实际能力差别太大,它也是无能为力的。图1 ADRC速度控制图2显示电机的加速过程。黄线是目标速度,它的加速度、最高速都非常大。红线
发表于 2018-05-20
无刷直流电机基于ADRC的无感FOC速度控制方案

步进电机正反转可调速度

//步进电机正反转可调速度 //================================ //P3^0;正反转 //P3^1;增速 //P3^2;减速 //P3^3;停止 #include<reg51.h> #define uint unsigned int  #define uchar unsigned char sbit rl=P3^0;//正反转 sbit add=P3^1;//增速 sbit sub=P3^2;//减速 sbit stop=P3^3;//停止 uchar num1,num2,flag1,flag2,flag3,n; uchar code
发表于 2016-09-08

Diodes无刷直流全桥电机驱动器提供PWM或DC电压速度控制

Diodes 公司推出AM9468和AM9469无刷直流电机驱动器产品,具有桥接负载(bridge-tied-load, BTL)驱动架构以最小化可闻开关噪声和电磁干扰(electromagnetic interference, EMI),在笔记本电脑和台式电脑、仪器仪表和相似设备中提供智能驱动的散热风扇,并且支持广泛的其它中等电压、低功耗电机驱动应用。   AM9468/AM9469使用外部脉宽调制PWM信号或直流DC电压,或者来自热敏电阻网络的电压实现灵活的电机速度控制,从而根据输入信号来调节全桥输出驱动级的占空比。同时,单独的频率发生器提供允许从外部监控电机速度的输出转速。BTL架构放大了用于驱动电机
发表于 2016-06-08
Diodes无刷直流全桥电机驱动器提供PWM或DC电压速度控制

电机速度控制和单片机之间的关系

    YE3高效节能电机具有快速停能力强粕度高专速容易控制的特点,在工业过程控制及仪等领域中越来越得到广泛应用。但是在实际运行过程中,由于启动和停止控制不当,步进电机会出现启动时抖动和停止时过冲现象,影响了控制精度,尤其步进电机作在频繁启动和停止时,这种现象就更为明显。     1.加减速曲线YE3高效节能电机的运行般要经过加速匀速减速个阶段。步进电机加减速曲线在中,纵坐标是频率,单位为脉冲秒或步秒,本质上是速度,横坐标是时间,单位为秒。步进电机以频率启动后,以加速度加速,至时刻后达到最高运行频率然后分速运广至时刻以加速度。  
发表于 2015-09-22

直流电机的PWM速度控制程序

* =======直流电机的PWM速度控制程序======== */  /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */  #include<reg51.h>  #include<math.h>  #define uchar unsigned char  #define uint unsigned int  sbit en1=P2^0;  /* L298的Enable A */  sbit en2=P2^1;  /* L298的Enable B */  sbit
发表于 2015-06-16

智能车速度控制pid(电机闭环控制算法)

,从鄙人本身的理解,P 算法控制电机,也就是比例控制 是最好的,反应速度快,控制精度高,不存在积分和微分效应,非常适用于适 用于控制周期短的系统,当然,对于一些特殊的逻辑控制算法,可能要采用PD 算法,用微分来做补偿,防止震荡和超调。 下面来说下电机控制算法从开始的加入到最终的确定的方法: 当然这一切的前提就是安装了编码器,车速有反馈,只有加上编码器,有 了反馈,才能组成一个闭环系统。当然您也可以加上码盘,或者霍尔开关等一 切可以返回车速的东西都可以。 (1) 首先建议在车速比较慢的时候,采用PID 算法来控制电机,为 什么开始要建议您采用PID 呢?主要是为了让您更加深刻理解 PID 算法的精髓和调试步骤方法等,有助于
发表于 2015-04-28

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">