中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

电力自动化

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 电力自动化 → 浏览主题: 基于ATmega48的三相无刷电机控制方法(摘录)
发表新帖 回复该主题
回帖:0个,阅读:600 [上一页] [1] [下一页]
* 帖子主题:

基于ATmega48的三相无刷电机控制方法(摘录)

分享到
1137
xingsharp
文章数:119
年度积分:48
历史总积分:1137
注册时间:2005/3/2
发站内信
08年优秀博客奖
发表于:2010/9/16 1:17:46
#0楼

基于atmega48的三相无刷电机控制方法(摘录)
引言
  无刷直流电机以其重量轻,体积小,加速性能好,运行平稳,噪音低等优点而广泛用于丁业和民用产品中。无刷直流电机的功率因数高,无转子损耗,其转子转速能严格地与电源频率保持同步。转子磁场由永久磁铁产生。通常,采用电压源型脉宽调制(pwm)控制作为无刷直流电机调速系统用的驱动器。近年来,国外纷纷推出以单片机(mcu)为核心的单片电机控制器,它南一个mcu再配备外围驱动电路构成,能大大降低成本,缩小体积,紧凑结构,提高可靠性。在此,介绍r采用atmega48单片机实现三相无刷直流电机控制器的方法。
2 atmega48单片机
  atmega48单片机是atmel公司基于avr结构的增强型精简指令集计算机(risc)的低功耗8位cmos微控制器。具有先进的指令集及单时钟周期指令执行时间,其数据吞吐率可以达到1 mips/mhz。avr内核具有丰富的指令集和32个通用工作寄存器。这些寄存器都直接与算术逻辑单元(alu)相连接.可在一个时钟周期内通过一条指令同时访问两个独立的寄存器,因此可提高代码效率。
  atmega48的硬件资源有:4 kb的系统内可编程flash:256字节的eeprom:512字节的sram;23个通用i/0口线;32个通用工作寄存器;2个带独立预分频器和比较器的8位定时器/计数器;1个带预分频器、比较器和捕捉功能的16位定时器/计数器;带独立振荡器的实时计数器;6个通道pwm;8路10位a/d转换器;6路10位a/d转换器;可编程的串行usart接口;可工作于主机/从机模式的spi串行接口;面向字节的2线串行接口;独立片内振荡器的可编程看门狗定时器;片内模拟比较器及5种可通过软件选择的省电模式。atmega48具有丰富的i/0口、a/d转换器、定时器/计数器、pwm通道等资源,为实现三相无刷直流电机的控制、换相检测等提供了方便。
3 三相无刷电机的控制实现方法
  图1示出采用atmega48单片机实现三相无刷电机控制器的原理图。图中,pc0、pci和pc2为输入,用以接收来自电机u,v,w换相的霍尔传感器检测信号;pd5和pd6用于控制电机u相的功率驱动器件;pbl和pb2用于控制电机v相的功率驱动器件;pd3和pb3用于控制电机w相的功率驱动器件;pc3为电机给定转速的输入电压。
图

点击看原图
  作为一种同步电机,直流无刷电机的转子转速受定子旋转磁场速度及转子极数的影响。当转子的极数固定时,只要改变定子的旋转磁场频率,即可改变转子的转速。直流无刷电机是一种控制定子的旋转磁场频率,并将电机转子转速回馈控制中心进行反复校正.以达到接近直流电机的特性。当负载变化时,它能在额定负载范围内控制电机的转子维持一定的转速。
  图2给出用于图1中的功率驱动电路。该驱动部分由上臂vql,vq3,vq5和下臂vq2,vq4,vq6的6个功率晶体管组成,用于连接电机作为控制流经电机绕组的开关。控制部分提供pwm,用于决定功率晶体管开关频率及换相的时刻。在控制直流无刷电机转速时.通常希望在负载变化时也能使电机转速稳定在设定值内,而不发生太大的波动。因此,
在无刷电机内部设置霍尔传感器.以感应磁场变化,该传感器既可作为电机转速中闭环控制的速度反馈部件,也可作为相序控制的依据

图

  
当控制器工作时,可根据霍尔传感器检测到电机转子的当前位置,依照定子绕组决定开启或关闭功率晶体管的顺序,使电流依序流经电机线绕组,以产生顺向或逆向的旋转磁场,并与转子的磁铁相互作用,使电机顺时或逆时转动。当电机转子转动到霍尔传感器检测出另一组信号的位置时,再开启下一组功率晶体管,如此循环,电机就能依据同一方向继续转动,直到控制器决定使电机转子停止时,则关闭功率晶体管;决定使电机转子反向时,则开启功率晶体管,但顺序相反。pwm是决定电机转速快或慢的方式,如何产生pwm是实现准确控制速度的核心。

  图2中的开关器件采用mosfet,
它们是不能在关断瞬间切换的。如果uh和ul是反向信号,那么,在同一时刻,一个开关器件导通,另外一个开关器件截止。在这段过渡时期,会有一个短暂的时间,其中一个开关器件并未完全截止,而另一个也是导通的,这样会使电源与地直接连接,使得大电流流经晶体管。在工程应用中必须避免这种情况,因为若电路中没有必要的硬件保护,极有可能损坏驱动装置。因此,在控制电路中,每个pwm过渡期都应增加死区时间。要求在一个很小的时间内,上臂开关和下臂开关都不导通,即产生带死区的pwm信号。

  图3示出采用atmega48形成带死区时间的pwm信号原理。atmega48中定时器/计数器的双斜率模式可产生带死区时间的pwm信号,它能产生一个关于b0ttom对称的波形。图3中
三角线表示双斜率相位修正模式下定时器/计数器t0的计数值。在向上计数时,当计数值与没定值匹配时,输出引脚ocoa清0;在向下计数时,当计数值与设定值匹配时,输出引脚ocoa置l。输出引脚ocob也采用同样的设置。pwm占空比则通过输出比较寄存器ocroa和输出比较寄存器ocrob来设置;a,b两路pwm相位的输出相反。当设置的两个输m端比较值相同时,这两个pwm的输出互补

图

  为了在上臂开关与下臂开关切换时插入死区时间,必须改变0crob和ocroa的比较值,两者之差值为插入的死区时间。如果3个计时/计数器都采用同样的设置,就可产生3对带死区的pwm波形,但必须保证pwm的输出是同步的。当采用8位定时器/计数器产生2路具有不同比较值的pwm信号时,其最大设定值为255。若采用16位定时器/计数器,则必须设定为8位相位修正pwm模式。此时,pwm的基本频率可由下式确定:
图

点击看原图
  式中:fcpu为cpu的频率。
  无刷直流电机常采用三相正弦驱动方式。常用的方法是把一个正弦波形数据存储在存储器中,通过程序查表输出所需的正弦驱动信号。由于3个正弦电压之间的相位差为120°,因此可以采用一个正弦波形移位产生所有的正弦驱动信号。图4给出各相驱动信号的产生机制和换相时序。图中hl,h2,h3为霍尔传感器的输出状态;s1~s6为波形产生的步骤;虚线为相位切换波形;实线为输出的正弦驱动信号。图5给出用于控制器的换相控制程序设计流程。
图

点击看原图
图

点击看原图
4 结语
  无刷直流电机的功率因数高,又无转子损耗,因此用于无刷直流电机调速系统的驱动器大都采用电压源型pwm控制。由于三相无刷直流电机借助atmega48单片机进行控制.且通过软件实现了带死区的pwm、霍尔传感器的换相处理、正弦驱动信号的产生和电机的转速控制,因而所需的外围器件少,成本低,并且还可提高系统的可靠性。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=124914&Name=zjcsharp
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002