基于S3C2410的直流电机PWM调速系统_第1页
基于S3C2410的直流电机PWM调速系统_第2页
基于S3C2410的直流电机PWM调速系统_第3页
基于S3C2410的直流电机PWM调速系统_第4页
基于S3C2410的直流电机PWM调速系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于S3C2410的直流电机PWM调速系统发布日期:2008-05-28作者:邹中华,吴陈,曾庆军 来源:微计算机信息 摘  要: 本文介绍了一种基于S3C2410微控制器的直流电机调速系统。文章在介绍PWM调速原理的基础上详细说明了S3C2410的PWM发生器的结构特点及其使用方法。并给出了实现调速的核心代码及调速系统的总体设计。 关键词:    S3C2410; PWM; 调速 0 引言PWM(Pulse-Width Modulation)是脉宽调制技术的简称。PWM控制技术以其控制简单、灵活和动态响

2、应好的优点而成为电力电子技术广泛应用的控制方式,也为高性能的直流电机数字化控制提供了基础。1 PWM调速原理    晶体管开关器件的导通时间也被称为导通角 ,通过控制晶体管的开通与关断时间来改变导通角 的大小,就可以调节加在负载上的平均电压的大小,以实现对直流电机的调速,这就是PWM变速控制技术的基本原理,如图一所示。调速控制常通过调节脉冲宽度的方法来实现。图1 PWM调速原理 2 S3C2410的PWM发生器21 PWM发生器的结构和计时原理用分立器件组成PWM电路一般来说需要如下几个部分:三角波产生电路、脉冲调制电路、PWM信号延迟及分配电路。S3C

3、2410做为一款功能强大的微处理器,其内部已经集成了包含上述三个部分的PWM发生器,只要对相关寄存器进行简单的设置,就可以产生需要的PWM信号。S3C2410的定时/计数器03都具有PWM输出功能,以定时/计数器0为例说明。时钟信号PCLK经过可编程的8位预分频器和时钟除法器分频后,驱动定时器内的逻辑控制器进行工作。逻辑控制器的核心,是一个16位的减法计数器。我们可以赋于计数缓冲寄存器(TCNTB0) 和比较缓冲寄存器(TCMPB0)不同的初始值,当定时器使能时,这两个寄存器中的数据将被分别载入到减法计数器(TCNT0)和比较寄存器(TCMP0)。计数缓冲寄存器和比较缓冲寄存器的设计思想在S3

4、C2410中被称为“双缓冲”,它的优点是在频率或占空比改变时,定时器仍然能产生稳定的输出。计时过程如下:从PCLK过来的时钟信号到达逻辑控制器时,减法计数器的值自动减1,当减法计数器的值为0时,定时器会向CPU发送中断请求,一轮计时操作完成。在自动装载模式下,计数缓冲寄存器中的初始值会由硬件控制自动载入减法计数器,进行下一轮的计时操作。 22 PWM发生器的原理比较缓冲寄存器(TCMPB0)中设定的初值是用来产生PWM信号的. 信号的产生规则是:每当TCNT0的值和TCMP0的值相等时,定时器的输出逻辑电平翻转。PWM脉冲频率由TCNT0决定,而脉冲宽度由TCMP0决定。TCMP0的

5、值越大,PWM脉冲的占空比越大,也即平均输出电压越大,反之亦然。 23 死区(Dead Zone)发生器为了能够控制较大功率的设备,PWM发生器中还集成了死区发生器。这一特性用于在开关设备的断开和另一个开关设备的闭合之间插入一个时间缺口,使它们不会处于同时闭合的状态。如图2所示:图2 死区发生器的保护作用已知TOUT0是定时器0的PWM输出引脚,而TOUT1是TOUT信号的反相输出引脚,如果开启了死区发生器功能,那么TOUT0和TOUT1的输出波形就不可能同时为高电平了,这样就有效的防止了开关设备同时闭合时的输出短路情况。 3 PWM发生器程序PWM发生器的寄存器配置和控制

6、过程如下: / 定义死区宽度和预标定值#define PRE_SCALER0     (2 << 0)#define DEAD_ZONE       (20 << 16) / 和定时控制有关的宏定义#define START_TIMER0    (1 << 0)#define UPDATE_CFG      (1 << 1)#define AUTO_RELOA

7、D     (1 << 3)#define ENABLE_DEADZONE (1 << 4) / 定时缓冲器初值1024,电机调速步长 2/ 可进行1024/2 = 512级调速#define MOTOR_COUNT (1024)#define MOTOR_STEP      (1) / 用来控制转速的静态变量static int nSpeed =0; /* 初始化PWM发生器 */void InitPWM()     

8、/* TOUT0 对应着 GPB0,TOUT1对应着GPB1,因此初始化GPB0/1为第二功能端口 */    rGPBCON = rGPBCON & 0x3FFFF0 | 0xA;        /* 死区为24个计时单位,预分频器设置为 0,时钟除法器和MUX分配器取默认值 */    rTCFG0 = DEAD_ZONE | PRE_SCALER0;     /* 设置计数缓冲寄存器初值、比较缓冲寄存器初值*/ 

9、   rTCNTB0 = MOTOR_COUNT;    rTCMPB0 = MOTOR_STEP * nSpeed; /* 计时器0停止,更新配置 */rTCON = ( START_TIMER0) | UPDATE_CFG; /* 使能死区发生器,进入自动装载模式,计时器0启动 */rTCON = NABLE_DEADZONE | AUTO_RELOAD | START_TIMER0;        这样,TOUT0和TOUT1引脚上就会输出带有死区的

10、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. 北京:电子工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论