EDN China > 设计实例 > 嵌入式系统 > MCU(单片机应用) > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

栾亚群 程婷 赵一洁?? 2009年01月19日 ?? 收藏0

  引言

  无刷直流电机以其重量轻,体积小,加速性能好,运行平稳,噪音低等优点而广泛用于丁业和民用产品中。无刷直流电机的功率因数高,无转子损耗,其转子转速能严格地与电源频率保持同步。转子磁场由永久磁铁产生。通常,采用电压源型脉宽调制(PWM)控制作为无刷直流电机调速系统用的驱动器。近年来,国外纷纷推出以单片机(MCU)为核心的单片电机控制器,它南一个MCU再配备外围驱动电路构成,能大大降低成本,缩小体积,紧凑结构,提高可靠性。在此,介绍r采用Atmega48单片机实现三相无刷直流电机控制器的方法。

  2 ATmega48单片机

  ATmega48单片机是Atmel公司基于自动电压调整器(Automatic Voltage Regulator,简称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为电机给定转速的输入电压。

采用ATmega48单片机实现三相无刷电机控制器的原理图

点击看原图

  作为一种同步电机,直流无刷电机的转子转速受定子旋转磁场速度及转子极数的影响。当转子的极数固定时,只要改变定子的旋转磁场频率,即可改变转子的转速。直流无刷电机是一种控制定子的旋转磁场频率,并将电机转子转速回馈控制中心进行反复校正.以达到接近直流电机的特性。当负载变化时,它能在额定负载范围内控制电机的转子维持一定的转速。

  图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的输出互补。

采用ATmega48形成带死区时间的PWM信号原理

点击看原图


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ATmega48? 三相无刷电机? MCU? PWM?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈