文档库

最新最全的文档下载
当前位置:文档库 > pwm电机控制

pwm电机控制

直流电机PWM控制的单片机实现

摘要:本文设计了PC机与单片机相结合的上、下位机自动控制系统,利用新型的C8051单片机实现直流电机PWM控制。该方案利用C8051中内置的PCA阵列来产生PWM波形,避免了采用传统的软件延时法占用CPU资源的弊端。为了防止电机的上下桥臂直通,采用受限单极性可逆PWM驱动电路。控制器采用PID算法,实践证明该系统响应速度快,稳定性好,有较好的利用价值。

关键词:直流电机;C8051单片机;PWM控制

Realization of PWM Control for DC Motor on MCU

Abstract:This paper introduces an automatic control system in which PC is used as upper computer and MCU is used as lower computer was designed. The realization of PWM control method for DC motor was studied using a new type of MCU C8051. The PCA array of C8051 was utilized to produce PWM wave in this method, it avoid the disadvantages of occupying CPU resources when software delay method is utilized. In order to prevent the short circuit of upper and lower bridge arm, a limited uni-polarity reversible PWM driving circuit was utilized. The PID algorithm was used in the controller. The practice showed that the system has a fast response, good stability and practical value.

Keyword: DC motor; C8051 MCU; PWM control

1 引言

目前,自动控制系统已经在各行各业中得到了广泛的应用和发展,而直流驱动控制作为电气传动的主流在现代化生产中起着主要作用。随着伺服电动机技术、电力电子技术、计算机控制技术的发展,使得伺服控制系统朝着控制电路数字化和功率器件的模块化的方向发展。

2 系统介绍

单片机系统作为下位机进行数据采集和执行控制,而PC机作为上位机进行发送命令、实时监测、数据存储、动态显示等工作。在这种结构下,所有的传感器以及执行器均与下位机相连,由其直接控制。

2.1控制系统框图

用C8051单片机来实现控制系统的给定、转速测量结果的处理、PID控制、PWM 控制波的输出以及即时速度显示等功能。其中输出的PWM控制波经光电隔离后驱动PWM功放电路,通过改变PWM波的占空比来调节电枢两端的电压,达到控制点机转速的目的。在测速部分采用光电编码盘,光电编码盘输出的脉冲经整形辨相后与单片机相连,通过软件计算来实现速度的测量。

2.2.驱动电路的选择

目前应用最多的PWM驱动电路是H型双极性驱动。H型双极性可逆系统有低速运行平稳的优点,但也存在着电流波动大,功率损耗大的缺点,且在开关器件切换时可能发生上下桥臂直通的事故,为了防止直通,在上下桥臂的驱动脉冲之间,应设置逻辑延时,或设置逻辑电路,这样又限制了开关频率的提高[1]。而且在工作过程中,4个开关器件可能都处于开关状态,开关损耗大。因此本系统PWM驱动部分采用受限单极性驱动。

2.3 测速电路

由于单片机只能处理数字信号,为了控制方便,且增强抗干扰能力,本系统采用数字测量装置增量式光电编码盘,将其通过联

轴节与被测轴连接,将角位移转换为A、B 两路脉冲信号,它每圈能输出1024个A相或B相脉冲和一个零位脉冲,A相、B相脉冲信号的相位差相差90度。将脉冲经整形辨相电路后送单片机的计数器,根据测速程序就可以计算出实时转速[2]。

2.4 PCA阵列高速输出PWM原理

C8051单片机有PWM功能和捕捉功能,这些功能都包含在可编程计数器列阵PCA 中。PCA阵列中每个捕捉/比较模块都有一个16 位模块寄存器(8 位PCA0CPHn和8位PCA0CPLn),每个捕捉模块都还有4种工作方式:边沿触发捕捉、比较、高速输出、PWM。通过其PWM工作方式,可以容易得到8位PWM波,分辨率为1/256。在电动机控制中为了得到更好的控制效果,我们可以运用PCA比较/捕捉模块的高速输出工作方式获得[3]。

3 软件设计

程序运行时,先对程序中需用到的存储区、系统时钟、交叉开关、输入输出端口、定时器、PCA、中断等进行初始化,然后读取拨码盘键值和电机设置状态。根据电机特性对键值进行预处理,并对电机控制位进行设置。在预处理过程中要将从键盘读取得BCD码转换为16进制的数值,并根据它计算出PWM控制量。计算出控制量后,如果电机启动开关开启,则设置PCA的PWM值,同时启动PCA,允许PCA中断使单片机P0口的D0位输出PWM波形[4]。完成以上动作后,重新判断启动位和设置启动位。如果启动位关闭或有设置改变,则先关闭PWM输出,以防止桥臂直通,并使系统跳到上一步重新判断或叫到读设定值位置。如果启动位为1且没有设定值改变则调用测速程序及计算偏差程序算出偏差,将偏差送PID程序,算出控制量后改变PWM控制量,以改变直流电机电枢电压。完成一个周期之后,系统重新回到判断启动位置,循环执行上述过程,使电机转速达到并保持设定值,直到启动位关闭或设置值改变[5]。4 试验结果

利用上述设计的下位机单片机控制系统,在瓦楞纸生产线的小传送带电机上进行了控制效果检测实验。设定转速为200rad/s,t=5s时对电机突加一负载后,速度控制效果如图1所示。

图1.试验结果

5 结论

文中利用了新型单片机C8051强大的数据处理能力以及自带的PCA模块设计出直流电机闭环控制系统。在本系统中利用实现了测速、PWM输出,给定值读入、PID计算输出等多个功能,很大程度上简化了硬件电路,减少了元器件,提高了系统的可靠性和抗干扰能力,且节省了CPU资源,实验证明本系统具有快速、稳定的特点,有较好的实用价值。

参考文献

[1]孙旭东,王善铭. 电机学[M]. 北京:清

华大学出版社,2006

[2]张家生. 电机原理与拖动基础[M]. 北

京:北京邮电大学出版社,2006 [3]王晓明. 电动机的单片机控制[M]. 北

京:北京航空航天大学出版社,2007 [4]谢运祥,欧阳森. 电力电子单片机控制

技术[M]. 北京:机械工业出版社,2007 [5]刘昌华,易逵. 8051单片机的C语言应

用程序设计与实践[M]. 北京:国防工业

出版社,

pwm电机控制

2007