基于单片机的2种PWM控制算法探析

2021-11-03 13:52
有色金属设计 2021年3期
关键词:延时中断动机

杨 宇

(昆明冶金高等专科学校电气与机械学院,云南 昆明 650033)

0 引 言

PWM是英文Pulse Width Modulation(脉冲宽度调制)的缩写,它是利用微处理器的数字输出来对模拟电路进行控制的一种技术,通过改变矩形波的占空比来获得不同的平均电压,占空比是指高电平持续时间在1个矩形波周期时间内的百分比。PWM的应用很广,它可以控制灯光的亮度、控制直流电机的转速、输出语音信号等。

用单片机来实现PWM实际上是在单片机的某个引脚输出一系列的矩形波,其周期一般是固定的,而其高电平、低电平所占用的时间是可以调整的,即通过改变占空比在单片机引脚上输出不同的电压平均值。在实际的应用中,经常使用51单片机来实现PWM。有的51单片机具有硬件的PWM模块,可以通过配置相关的特殊功能寄存器来实现PWM;而有的51单片机并不具有硬件的PWM模块,需要通过软件算法来实现PWM。该文主要针对不具有硬件PWM的51单片机,提出2种实现PWM的控制算法。

1 硬件原理图

该文以51单片机对直流电动机的调速控制为例来论述2种实现PWM的控制算法。该例中51单片机采用AT89C51,通过驱动芯片L298连接AT89C51和直流电动机,AT89C51的引脚P2.0、P2.1、P1.7分别连接L298的输入端1(IN1)、输入端2(IN2)、使能端ENA。L298的输出端1(OUT1)和输出端2(OUT2)连接直流电动机的2个接线端。当使能端ENA为1,引脚P2.0和P2.1分别输出1和0时,直流电动机正转;引脚P2.0和P2.1均输出1或0时直流电动机停止。硬件原理图见如图1。

图1 AT89C51驱动直流电动机硬件原理图

2 2种软件算法

PWM是一个与延时有关的概念,而单片机具有软件和定时器2种延时方法,所以我们可以基于图1的硬件原理图来分析2种实现PWM的控制算法:软件延时的方法和定时器中断的方法。

2.1 软件延时的方法

该方法利用单片机的软件延时函数来控制一个PWM信号周期中高低电平的持续时间,以到达PWM信号所需的占空比。实例程序见图2,程序中的delayms()是用户自定义的软件延时函数,电机正转和停止时都要调用该函数来控制电机正转和停止的持续时间,对该函数所赋的实参决定了持续的时间。在电机正转和停止的实参之和不变的情况下,成比例的增大电机正转的实参可以控制电机的转速成比例的增大,反之,成比例的减小电机正转的实参可以控制电机的转速成比例的减小,这样就可以实现对直流电动机的速度控制。

图2 软件延时方法的程序

2.2 定时器中断的方法

该方法利用单片机的定时器中断以及中断的次数来控制1个PWM信号周期中高低电平的持续时间,以到达PWM信号所需的占空比。实例程序图3,该程序只用到51单片机内部的2个定时器中的定时器1,定时器1每定时1次的时间为100 μs,定时时间每到1次在中断程序中让中断次数标志time加1,并且根据中断次数标志time的值来决定PWM信号的周期和占空比,第一个if语句中的time值决定周期,第二个if语句中的time值决定电机正转的时间,else语句对应的time值决定电机停止的时间。该例中设定的PWM信号周期为1 ms,电机正转时间为200 μs,电机停止时间为800 μs。在PWM信号周期不变的情况下,成比例的增大电机正转的时间可以控制电机的转速成比例的增大,反之,成比例的减小电机正转的时间可以控制电机的转速成比例的减小,这样就可以实现对直流电动机的速度控制。

图3 定时器中断方法的程序

3 结 语

以上2种方法都能够实现PWM控制,但两者都有其优缺点。软件延时的方法程序设计简单,但控制的精确度没有定时器中断的方法高,特别是当主程序中除了PWM控制还有其它功能程序时,例如键盘扫描、显示等操作,因为单片机的CPU(中央处理器)需要花费额外的时间去执行其它操作,这样就会影响PWM控制的精确度。定时器中断的方法由于CPU和定时器是并行工作,并且每次定时时间到都会进入中断服务程序进行PWM的高低电平处理,即使主程序中有其它功能程序,仍然能保证较高的PWM控制精度。定时器中断的方法程序设计相对繁琐,特别是在中断服务程序中不能编写太过复杂的语句,这样也会影响PWM的控制精度。

猜你喜欢
延时中断动机
Zimbabwean students chase their dreams by learning Chinese
形而上学经验还是否可能——试论否定辩证法的思辨动机
课后延时服务
TMS320F28335外部中断分析与研究
课后延时中如何优化不同年级学生活动效果
动机比能力重要
多级中断屏蔽技术分析
一种考虑GPS信号中断的导航滤波算法
跟踪导练(二)(5)
一种“死时间”少和自动校准容易的Wave Union TDC