搜索
您的当前位置:首页用AVR单片机实现直流电机PWM调速

用AVR单片机实现直流电机PWM调速

来源:飒榕旅游知识分享网
第27卷第10期         应   用   科   技         Vol.27,№.102000年10月         Applied Science and Technology         Oct.,2000  

用AVR单片机实现直流电机PWM调速

马书雷,张立勋,杨双华

(哈尔滨工程大学机电学院,黑龙江哈尔滨 150001)

摘   要:介绍了由AT90S2313单片机和L298构成的直流电机调速系统,详细介绍了

①AVR单片机中关于PWM调速的相关寄存器的设置,给出了硬件电路和相应的软件设计。

关 键 词:AVR单片机;直流电机;PWM

PWMRegulatingSpeedofDCMotorUsingAVRMicrocontroller

MAShu-lei,ZHANGLi-xun,YANGShuang-hua

(DepartmentofMechanicalandElectricalEngineering,HarbinEngineeringUniversity,Harbin150001,China)

Abstract:AkindofspeedregulationsystemforDCmotorcomposedofAT90S2313microcontrollerandL298wasdescribed,andthesettingofrelativeregistersofPWMregulatingspeedinAVRmicrocontrollerwasintroduced.Thehardwarecircuitandsoftwaredesignweregiven.Keywords:AVRmicrocontroller;DCmotor;PWM

1 综 述

直流电动机转速的控制方法可分为2类,即励磁控制法与电枢电压控制法。励磁控制法控制磁通,其控制功率虽然小,但低速时受到磁饱和的限制,高速时受到换向火花和换向器结构强度的限制;而且由于励磁线圈电感较大,动态响应较差。所以常用的控制方法是改变电枢端电压调速的电枢电压控制法。

设直流电源电压为Ud,将电枢串联一个电阻R,接到电源Ud,则电枢两端的电压Ua为

Ua=Ud-IaR

图1 PWM波形图

Ua=(2

T1-T2U=

T1+T2d

  显然,调节电阻R即可改变端电压,达到调速目的。但这种传统的调压调速方法,其效率低。因此,随着电力电子技术的进步,发展了许多新的电枢电压控制方法。其中,PWM(脉宽调制)是常用的一种调速方法。其基本原理如下图所示,设加在电机电枢两端的矩形波的幅值电压为Ud,则电机电枢两端电压的平均值为:

T1-1)Ud=(2α-1)UdT

α称为占空比。通过改变α的值,达到调压  

α≤的目的。由于0≤1,Ua值的范围是-Ud

~+Ud,因而电机可以在正、反2个方向调速运转。

AVR单片机是美国ATMEL公司生产的增强RISC、内载Flash的高性能8位单片机,它执行速度快,有良好的性能价格比,因而得到越来越广泛的应用。

AT90S2313为20引脚的单片机,它有1个

①收稿日期:2000-06-14

作者简介:马书雷(1976-),男,河北永年人,哈尔滨工程大学硕士研究生,主要研究方向:机电一体化技术。

应   用   科   技          第27卷・14・            

全双工的通用异步接收发送器,有B口和D口

2个双向I/O口,有2个通用定时器/计数器,定时器/计数器0(T/C0)为8位,定时器/计数器1(T/C1)为16位。B口(PB0~PB7)是1个8位的双向I/O口,其中引脚PB3的第二功能(OC1)是定时器/计数器1输出比较匹配(即PWM)的输出。定时器/计数器1可以从晶振时钟(CK)、预定比例晶振时钟、或外部引脚中选择时钟源,这可在定时器/计数器1控制寄存器B(TCCR1B)的低3位(CS12,CS11,CS10)进行设置,如表1所示。

表1 时钟源的选择

CS1200001111

CS1100110011

CS1000010101

表2 PWM位数选择

PWM110011

PWM100101

说  明禁止PWM

PWM为8位PWM为9位PWM为10位

表3 OC1方式选择COM1A1

00COM1A001

在OC1上的作用

不连接不连接

清比较匹配值,向上计数,置比较匹配值,向下计数。(PWM不翻转)

说  明T/C1被停止CKCK/8CK/64CK/256CK/1024

1

1

1

0

清比较匹配值,向下计数,置比较匹配值,向上计数。(PWM翻转)

2 硬件电路

硬件电路如图2所示。集成电路L298是

一种功率放大芯片,它有2路完全相同的电路,本文中的电路只用到其中的1路。工作原理如下:在使能端6脚为高的情况下,当5脚为高,7脚为低时,电机向右转;当5脚为低,7脚为高时,电机向左转;当5脚和7脚的状态相同时,电机快速停止。在6脚为低的情况下,当5脚和7脚的状态相同时,电机自由停止。

测速反馈电路由光码盘、发光二极管、光电三极管及施密特触发器CD40106组成。当光码盘上的孔经过发光二极管时,发光二极管发出的光使光电三极管导通,A端输出低电平,B端输出高电平。当光码盘上的非孔部分经过发光二极管时,B端输出低电平。反馈信号接到单片机的8脚(PD0/T0)作为定时器/计数器0的外部触发信号。此时应将定时器/计数器0控制寄存器TCCR0的低3位设为110(下降沿有效)或111(上升沿有效)。脉冲发生电路用于产生计算速度的时间基准,它每隔一定时间产生一个脉冲,触发AT90S2313单片机的外部中断0,在外部中断0的中断服务程序中,计算出电机的转速。

外部T1引脚,下降沿外部T1引脚,上升沿

  定时器/计数器1控制寄存器A(TCCR1A)的格式如下:

COM1A1COM1A0保留保留保留保留PWM11PWM10

  在TCCR1A中可以设置PWM为8位、9位或10位,如表2所示。当T/C1处于PWM模式时,可以通过COM1A1和COM1A2位来设置OC1(PB3),如表3所示。在PWM输出之前,应先向定时器/计数器1的16位寄存器TCNT1H和TCNT1L赋计数最大值。当PWM为8位时,应赋0x00FF,此时PWM的频率为所选时钟的1/510;当PWM为9位时,应赋0x01FF,此时PWM的频率为所选时钟的1/1022;当PWM为10位时,应赋0x01FF,此时PWM的频率为所选时钟的1/2046.最后,通过对定时器/计数器1输出比较寄存器OCR1AH和OCR1AL赋比较值来输出PWM,改变输出比较寄存器中的比较值,即可改变PWM的占空比α.

第10期      马书雷,等:用AVR单片机实现直流电机PWM调速      ・15・

图2 用AVR单片机控制直流电机电路原理图3 软件设计

主程序首先从上位机(PC机或单片机)获得控制电机转速的命令字,命令字包括控制电机的速度、转向等信息,然后检查收到的数据是否有效,如果无效,则向上位机发出“命令错”信息,继续等待上位机发出命令字;否则,调用速度控制子程序,然后等待外部中断0的产生。

速度控制子程序根据上位机发来的命令字输出一定占空比的PWM波形,使电机朝一定方向按一定速度转动。外部中断0的中断服务子程序根据计数器0的数值计算出电机的速度,将计算值与命令字中的速度设定值进行比较,如果计算值大于设定值,则通过减小PWM的占空比来降低电机转速,否则,应增加PWM的占空比来升高电机的转速。

图3 主程序流程图     图4 速度控制子程序流程图     图5 中断服务程序

4 结 论

AVR单片机是一种新型的单片机,有很好

参 考 文 献

[1] 宋建国.AVR单片机原理及应用[M].北京:北京航

的应用前景。将其用于直流电机的PWM调

整,不仅调速精度高,响应速度快,而且经济可靠,因而具有极大使用价值。

空航天大学出版社,1998.

[2] 张立勋.机械电子学[M].哈尔滨:哈尔滨工程大学

出版社,1999.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top