您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于S3C2410的直流电机PWM调速系统
基于S3C2410的直流电机PWM调速系统发布日期:2008-05-28作者:邹中华,吴陈,曾庆军来源:微计算机信息摘要:本文介绍了一种基于S3C2410微控制器的直流电机调速系统。文章在介绍PWM调速原理的基础上详细说明了S3C2410的PWM发生器的结构特点及其使用方法。并给出了实现调速的核心代码及调速系统的总体设计。关键词:S3C2410;PWM;调速0引言PWM(Pulse-WidthModulation)是脉宽调制技术的简称。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术广泛应用的控制方式,也为高性能的直流电机数字化控制提供了基础。1PWM调速原理晶体管开关器件的导通时间也被称为导通角,通过控制晶体管的开通与关断时间来改变导通角的大小,就可以调节加在负载上的平均电压的大小,以实现对直流电机的调速,这就是PWM变速控制技术的基本原理,如图一所示。调速控制常通过调节脉冲宽度的方法来实现。图1PWM调速原理2S3C2410的PWM发生器2.1PWM发生器的结构和计时原理用分立器件组成PWM电路一般来说需要如下几个部分:三角波产生电路、脉冲调制电路、PWM信号延迟及分配电路。S3C2410做为一款功能强大的微处理器,其内部已经集成了包含上述三个部分的PWM发生器,只要对相关寄存器进行简单的设置,就可以产生需要的PWM信号。S3C2410的定时/计数器0~3都具有PWM输出功能,以定时/计数器0为例说明。时钟信号PCLK经过可编程的8位预分频器和时钟除法器分频后,驱动定时器内的逻辑控制器进行工作。逻辑控制器的核心,是一个16位的减法计数器。我们可以赋于计数缓冲寄存器(TCNTB0)和比较缓冲寄存器(TCMPB0)不同的初始值,当定时器使能时,这两个寄存器中的数据将被分别载入到减法计数器(TCNT0)和比较寄存器(TCMP0)。计数缓冲寄存器和比较缓冲寄存器的设计思想在S3C2410中被称为“双缓冲”,它的优点是在频率或占空比改变时,定时器仍然能产生稳定的输出。计时过程如下:从PCLK过来的时钟信号到达逻辑控制器时,减法计数器的值自动减1,当减法计数器的值为0时,定时器会向CPU发送中断请求,一轮计时操作完成。在自动装载模式下,计数缓冲寄存器中的初始值会由硬件控制自动载入减法计数器,进行下一轮的计时操作。2.2PWM发生器的原理比较缓冲寄存器(TCMPB0)中设定的初值是用来产生PWM信号的.信号的产生规则是:每当TCNT0的值和TCMP0的值相等时,定时器的输出逻辑电平翻转。PWM脉冲频率由TCNT0决定,而脉冲宽度由TCMP0决定。TCMP0的值越大,PWM脉冲的占空比越大,也即平均输出电压越大,反之亦然。2.3死区(DeadZone)发生器为了能够控制较大功率的设备,PWM发生器中还集成了死区发生器。这一特性用于在开关设备的断开和另一个开关设备的闭合之间插入一个时间缺口,使它们不会处于同时闭合的状态。如图2所示:图2死区发生器的保护作用已知TOUT0是定时器0的PWM输出引脚,而TOUT1是TOUT信号的反相输出引脚,如果开启了死区发生器功能,那么TOUT0和TOUT1的输出波形就不可能同时为高电平了,这样就有效的防止了开关设备同时闭合时的输出短路情况。3PWM发生器程序PWM发生器的寄存器配置和控制过程如下://定义死区宽度和预标定值#definePRE_SCALER0(20)#defineDEAD_ZONE(2016)//和定时控制有关的宏定义#defineSTART_TIMER0(10)#defineUPDATE_CFG(11)#defineAUTO_RELOAD(13)#defineENABLE_DEADZONE(14)//定时缓冲器初值1024,电机调速步长2//可进行1024/2=512级调速#defineMOTOR_COUNT(1024)#defineMOTOR_STEP(1)//用来控制转速的静态变量staticintnSpeed=0;/*初始化PWM发生器*/voidInitPWM(){/*TOUT0对应着GPB0,TOUT1对应着GPB1,因此初始化GPB0/1为第二功能端口*/rGPBCON=rGPBCON&0x3FFFF0|0xA;/*死区为24个计时单位,预分频器设置为0,时钟除法器和MUX分配器取默认值*/rTCFG0=DEAD_ZONE|PRE_SCALER0;/*设置计数缓冲寄存器初值、比较缓冲寄存器初值*/rTCNTB0=MOTOR_COUNT;rTCMPB0=MOTOR_STEP*nSpeed;/*计时器0停止,更新配置*/rTCON=(~START_TIMER0)|UPDATE_CFG;/*使能死区发生器,进入自动装载模式,计时器0启动*/rTCON=NABLE_DEADZONE|AUTO_RELOAD|START_TIMER0;}这样,TOUT0和TOUT1引脚上就会输出带有死区的PWM波形。通过控制变量nSpeed的值,就可以调节PWM的占空比,从而调节了电机的转速。4调速系统总体设计系统由S3C2410系统板、光耦、光电编码器、功率驱动电路和直流电机组成,如图3所示。图3调速系统结构框图S3C2410作为主控制器,通过TCP/IP协议和中央控制室通信,负责接收控制命令和报告系统状态。S3C2410的定时器0做为PWM发生器,光耦用于光电隔离,有效的抑制了后向通道的干扰,功率驱动电路提供给电机“H”桥式驱动,光电编码器将采样到的电机转速转化为数字信号,反馈给S3C2410,用来实现闭环控制。为减小误差,程序中应该对光电编码器传来的电机转速数据进行均值滤波处理。5结束语使用S3C2410的PWM发生器对小型直流电机的转速进行控制,电路简单,使用方便,并可以由软件实现灵活的控制算法以提高系统性能。S3C2410内建的强大通讯和I/O功能使得只需加入少量电路即可以方便的和外界以TCP/IP、无线射频、串口等方式通讯并加以LCD显示,使控制更加便利和可靠。参考文献:[1]李志宁,张英堂.PLC中PWM功能模块的应用研究[J].微计算机信息,2006(25):42-45.[2]于明.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.[3]周立功.ARM嵌入式系统实验教程[M].北京:北京航空航天大学出版社,2004.[4]吕达昱,竺长安.一种利用PIC实现PWM控制的方案[J].机床与液压,2004(11):133-134.[5]姜长泓,于万元.基于AVR单片机的直流电动机的PWM调速系统设计[J].仪器仪表用户,2006,2(42).
本文标题:基于S3C2410的直流电机PWM调速系统
链接地址:https://www.777doc.com/doc-2571984 .html