基于51单片机的直流电机调速的方法 下载本文

内容发布更新时间 : 2024/5/12 7:12:55星期一 下面是文章的全部内容请认真阅读。

基于51单片机的直流电机调速的方法

田云 史洁 黑龙江农业经济职业学院机电工程系 157041

0 引言

许多单片机爱好者,在设计一些单片机控制系统的时候,都会采用小型直流电动机来制作各种各样的电子设备,因为直流电机调速范围广,易于平滑调速,启动、制动和过载转矩大,易于控制,可靠性较高。对于直流电机的控制,无非是控制其转向,以及速度。转向的控制方法比较简单,只要改变电机的通电极性就可改变其旋转方向。在这里,我们重点讨论如何对其速度上的控制,对其调速可以采用多种办法。对于直流电机转速的调节,最常用的办法是通过改变电枢端的电压来实现,传统的思路是通过调节电枢电路电阻R的阻值来改变端电压,以达到调速的目的。但由于接入的电阻消耗了部分电压,因此这种传统的调速方法效率很低。随着电力电子技术的发展,出现了许多新的电枢电压控制方法,其中PWM(Pulse Width Modulation)控制是常用的一种调速方法。PWM控制是指在保持周期丁不变的情况下,通过调节开关导通的时间对脉冲宽度进行调制,从而达到调节电机转速的目的。在脉宽调速系统中,电机电枢两端的电压是脉宽可调的脉冲电压,在输出脉冲频率足够快的情况下,由于惯性的存在,只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一个稳定值。对于直流电机,采用PWM控制技术构成的无级调速系统,启停时对直流系统无冲击,并且具有启动功耗小、运行稳定的特点。本文在给出直流电机调速和PWM实现方法的基础上,提供一种用51单片机软件实现PWM调速的方法。

1 PWM基本原理

PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。如图1所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。

最大值Vmax

t1 T t2 平均值Vd

最小值Vmin

图1 PWM控制原理

设电机始终接通电源时,电机转速最大为度为

V,占空比为maxD?t/T1?t1?t2t1,则电机的平均速

V?Vdmax?D

-可编辑修改-

式中,

VVd

——电机的平均速度;

——电机全通电时的速度(最大);

maxD?t1/T?t?t1t12——占空比。

由公式(2)可见,当我们改变占空比

D?t1/T?t1?t2Dt1时,就可以得到不同的电机平均速度

V

d

从而达到调速的目的。严格地讲,平均速度

V

与占空比d

?t1/T?t?t1t12并不是严格的线性关系,

在一般的应用中,可以将其近似地看成线性关系。一般可以采用定宽调频、调宽调频、定频调宽三种方法改变占空比的值,但是前两种方法在调速时改变了控制脉宽的周期,当控制脉冲的频率与系统的固有频率接近时将会引起振荡,因此常采用定频调宽法改变占空比的值,从而改变直流电动机电枢两端电压。定频调宽法的频率一般在800HZ-1000HZ之间比较合适。

2实现方法

PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。硬件方法的实现已有很

多文章介绍,这里不做赘述。本文主要介绍采用定频调宽法来利用51单片机产生PWM信号的软件实现方法。

MCS-51系列典型产品805l具有两个定时器T0和T1。通过控制定时器初值,,从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间的关系。如果单片机的时钟频率为f,,定时器/计数器为n位,则定时器初值与定时时间的关系为:

nt1?2?n0???N f式中, t1表示定时时间;

n表示定时器的位数;

n0表示定时器的计数初值;

N表示单片机一个机器周期需要时钟数,8051需要12个时钟; f表示单片机晶振频率。

N随着机型的不同而不同。在应用中,应根据具体的机型给出相应的值。这样,我们可以通过设定不

同的定时初值t1,,从而改变占空比D,进而达到控制电机转速的目的。

根据占空比

D?t1/T?t?t1t12,我们需要用到两个定时器,一个用来控制高电平时间,另外一个

-可编辑修改-

控制低电平时间,但这样的话比较浪费单片机定时器资源。为此我们这里价绍一种可以利用一个定时器来分别控制高电平和低电平持续的时间来调整占空比D,详情见下面的利用51单片机的P1.0端口输出PWM波形的流程图。

初始化定时器T0 N 等中断 Y 中断程序 判断P1.0高? N Y 赋低电平控制初值 置P1.0为低电平 赋高电平控制初值 置P1.0为高电平 返回断点 图2 P1.0端口输出PWM波形流程图

3具体实例

下面我们有主频为12MHZ的51单片机的方式1产生一个占空比为1/4的PWM信号。

这里面采用定频调宽法,采用PWM信号频率为1000HZ,周期为1毫秒,占空比为1/4,可以得知高电平持续的时间为250微秒,低电平持续的时间为750微秒,单片机的时钟频率为12MHZ,根据上面初值计算公式,可以得到高电平控制初值和低电平控制初值。通过分析编写程序如下:

#include sbit p1_0=P1^0; void main() {

TMOD=0x01; //计时器T0方式1 TH0=(65536-750)/256; //赋计时器初值高位 TL0=(65536-750)%6;//赋计时器初值低位 EA=1; //开总中断

ET0=1; //开计时器T0中断 TR0=1; //启动计时器T0 p1_0=0; //置P1.0为低 while(1); //等计时器T0中断 }

-可编辑修改-