一、实验目的及要求
掌握脉宽调制调速的原理和方法,学习频率/周期测量方法,了解闭环控制原理。
2、实验设备
单片机测控实验系统
直流电机调速实验模块
Keil开发环境
STC-ISP程序下载工具
三、实验内容
1、编写一个程序,在数码管上显示一个数值。
2、固定输出0到P1.1,然后测量电机每秒的转数,显示在数码管上,每秒刷新一次。
3、采用脉宽调制方式,动态调整输出到P1.1的内容,使电机转速稳定在预定值附近,并实时显示当前转速。
4. 根据输入修改电机速度目标值,设置低速和高速两个速度目标值。
5、每秒读取两个开关的状态。如果按下S1,则动态调整输出,使电机转速稳定在低速目标值附近。如果按下S2,则动态调整输出,使电机转速稳定。接近高速目标值。目标值和当前速度值交替显示。
4. 实验步骤
一、立项并实施实验内容1
2.编写中断程序测量电机转速
本程序需要使用定时器进行计时,使用中断进行同步。中断例程的典型例子如下:
组织0000H
LJMP 启动
组织000BH
LJMP T0IN ;中断向量表
组织0040H
开始:初始化。
T0IN:中断程序。
RETI ;中断返回
结尾
3.完成调速程序
根据脉宽调制原理,增加一个快速定时中断(约0.1ms),在这个中断中动态改变P1.1的输出。宏观上,有效产出比例(0)是预定的控制变量。随着该控制变量的增加,电机速度应该增加。但由于各种内外因素的影响,它们之间不存在简单的函数关系,因此必须根据测量的实际速度进行动态调整。
首先,将电机速度控制在预定值附近。每中断1 秒后,测量当前速度,并与目标值进行比较。如果不够,则增大控制变量,反之则减小,从而逐渐达到稳定转速。的目标。同时显示速度。
4.完成总体实验内容
在上述程序的基础上,添加根据开关状态改变预定速度的代码。同时,主程序中交替显示目标值和当前速度值。显示一个内容后,等待一段时间(可以通过延时代码实现),然后延时显示另一个内容。在中断期间修改要显示的内容。
5 实验原理
本实验电路原理图(图中P1.3应改为P1.1):
对于直流电机来说,其转速由输入电压决定,因此具有平滑调速的效果;相比之下,交流电机的速度由交流频率和电机结构决定,并且很难改变速度。当然,交流电机结构简单,无需换向器,因此很容易制造高速、高电压、大电流、大容量的电机;而直流电机一般用于负载较小但要求速度连续可调的场合,如伺服电机。
脉宽调制(PWM)是一种通过开关输出来达到模拟输出效果的方法。利用PWM可以实现调频、调压等效果,且所需外围器件较少,特别适合单片机控制领域。这里我们只关心通过PWM进行电压调制来控制直流电机转速的效果。也称为脉宽调制调速。
PWM的基本原理是输出频率非常高的0/1信号,其中1的比值为(也称为占空比)。在外围积分元件的作用下,总效果相当于输出A(A为高电平电压)电压。通过改变占空比,可以调节输出电压,达到模拟输出、控制电机转速的效果。
使用单片机实现PWM就是按照预定的占空比输出0和1,其中是控制变量。最简单的方式就是以某个时间单位(如0.1ms,相当于10kHz)为基准,前N段输出1,后M-N段输出0。总占空比为N/M。由于0和1分布不均匀,该方法要求参考频率足够高,否则会出现湍流。
为了达到更稳定的效果,可以采用累积进位的方法,将总周期中的0和1均匀分散。设置一个累加变量x,每次加N。如果结果大于M,则输出1并减去M;否则,输出0。这样,总体占空比也为N/M。实验中取M=256可以使程序更加简单。
另外,由于本实验板的设计,输出0使电机工作。因此,对于这个实验,上面提到的0和1应该颠倒使用。
在这个实验板中,电机每旋转一次,与之相连的偏心轮就会挡住光电管一次,从而产生一个脉冲并发送到INT0。要测量转速,您可以测量两个连续中断之间的时间,也可以测量一秒内发生的中断次数。显然,后一种方法更为简单。
当进行速度控制时,涉及三个变量:期望速度、实际速度和控制变量。这里的控制变量是占空比。我们无法预先准确地知道某个控制变量的值将引起的实际速度,因为这里有许多内部和外部因素在起作用(例如摩擦力、惯性等),但我们可以确定,随着控制变量增加,实际转速将增加。
反馈控制的基本原理是根据实际结果与期望结果之间的差异来调整控制变量的值。当实际速度高于期望速度时,我们需要减小控制变量来降低速度;否则,我们需要增加控制变量。
本实验中的速度控制可以采用简单的比例控制算法,即当速度S大于预定值时,输出0的数量会减少;当速度S小于预定值时,增加输出0的数量。变化值与测量的差异成正比。您还可以自己使用其他更复杂的算法。
实验中使用的电机最高转速约为200rpm。如果速度低于约40转/分钟,就会不稳定并可能失速。
6.一些想法
本实验通过改变低电平(0,出现在61H)和高电平(1,出现在60H)的输入比例来实现PWM脉宽调制。初始高低电平等于100倍(可任意设置,高低电平次数也可以不同),比例为1:1。当当前速度低于目标速度时,增加低电平输入个数,减少高电平输入个数(两者之和不变,仍为200倍),低电平占空比增大,速度提高。当当前速度高于目标速度时,减少低电平输入的次数,增加高电平输入的次数(两者之和不变,仍然是200倍),这样就减少了低电平输入的次数。占空比并降低速度。
60H+61H之和(高低电平输入之和)影响调速精度和速度。值越大,精度越高(摆幅越小),但速度调节越慢。反之,该值越小,速度调节越快,但精度越低(摆动越大)。
速度调节的快慢和精度还可以通过每次调节速度时的调节幅度60H(高电平输入个数)和61H(低电平输入个数)来控制。幅度越大,速度调节越快,但精度越低。幅度越小,精度越高,速度调节越慢。
60H和61H中的数字可以随意选择(只要是正数即可),但在整个过程中,61H+60H的值必须是固定值,这样才能确定占空比发生变化。