自控实验八 基于嵌入式控制器的直流电机转速控制实验
分类:作业 ; 热度:5685 ; 最后更新于2020 年 02 月 14 日
广西大学电气工程学院
《自动控制理论》实验预习报告
成绩 教师签字
学生姓名 赵帆 学号 170211**** 专业班级 电自171
2019 年 6 月 19 日
实验八 基于嵌入式控制器的直流电机转速控制实验
实验原理:
1、PID控制原理
按偏差的比例、积分、微分控制(简称PID控制)是过程控制中应用最广的一种控制规则。由PID控制规则构成的PID调节器是一种线性调节器。这种调节器将设定值U与实际输出值Y构成控制偏差(e=U—Y)的比例(P)、微分(D)、积分(I)的线性组合作为输出的控制量进行控制
(1) |
式中,
u(
t)——调节器的输出信号;
e(
t)——调节器的偏差信号;
Kp——调节器的比例系数;
Ti——调节器的积分时间常数;
Td——调节器的微分时间常数。
图 1 PID控制原理框图 |
下面介绍比例、积分、微分各自的作用。
比例调节作用:按比例反应系统的偏差,一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统不稳定。
积分调节作用:消除稳态误差。有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强;反之,Ti大则积分作用弱。加入积分调节可使系统稳定性下降,动态响应变慢,即积分作用使响应滞后。
微分调节作用:微分作用反映系统偏差信号的变化率,能预见偏差变化的趋势,能产生超前的控制作用。在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化或变化非常缓慢时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。
在实际应用中,根据对象特征和控制要求,控制器可以为P、PI、PD、PID。 PID参数经验整定原则是在输出不振荡时,增大比例增益Kp,减小积分时间常数Ti,增大微分时间常数Td。基此,其经验整定口决为:参数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加,曲线振荡很频繁,比例度盘要放大(即比例增益要变小),曲线漂浮绕大湾,比例度盘往小扳(即比例增益要变大),曲线偏离回复慢,积分时间往下降,曲线波动周期长,积分时间再加长,曲线振荡频率快,先把微分降下来,动差大来波动慢,微分时间应加长,理想曲线两个波,前高后低4:1,一看二调多分析,调节质量不会低。
2、PID算法的数字实现
(1)标准PID算法
由于本次实验采用的计算机控制系统是一种时间离散控制系统。因此,为了用计算机实现PID控制必须将其离散化,用数字形式的差分方程来代替连续系统的微分方程
(2) |
式中:
T—采样周期(本实验默认为5ms);
u(
n)—第n次采样时计算机输出;
e(
n)—第
n次采样时的偏差值;
e(
n-1)—第
n-1次采样时的偏差值。
令积分系数,微分系数,则PID位置控制算式表达式可写成
(3) |
容易将上式转化成增量算式
(4) |
(2)积分分离PID控制算法----数字积分器抗饱和措施
在控制过程中,只要系统存在偏差,积分的作用就会继续,当偏差较大或累加积分项太快时,就会出现积分饱和现象,使系统产生超调,甚至引起振荡,这对某些生产过程是绝对不允许的。引进积分分离法,既保持了积分的作用,又减小了超调量,使得控制性能有了较大的改善。
令积分分离法中的积分分离阀值为
E0。当超过设定参考值偏差) |
e(
n)|>
E0时(偏差值|
e(
n)|比较大时),采用PD控制;当超过设定参考值偏差|
e(
n)|≤
E0时(偏差值|
e(
n)|≤比较小时),采用PID控制。积分分离法PID算法可表示为
(5) |
式中,。
(3)不完全微分PID算法
微分作用容易引起高频干扰,因此通常在典型PID后串接一个低通滤波器(一阶惯性环节)来抑制高频干扰,微分作用能在各个周期按照偏差变化趋势,均匀地输出,真正起到微分作用,改善系统性能。由此得到的PID算法称为不完全微分PID算法,其表达式为
(6) |
式中,,。
3、 电机调速与发电一体化模块主要有两个直流电机组成,分别充当电动机和发电机。由电动机产生动能,通过联轴器带动发电机转动发电,点亮后级负载灯。发电机后级设置的两个LED灯和小风扇用以指示电机的转向,负载灯的发光亮度用以间接反映转速的大小。模块右下角的开关用以接入和断开负载。电机转速的测量使用光电编码器,光电编码器把转速信号转变为电脉冲信号反馈给控制器,控制器通过接收脉冲信号,把电脉冲数换算成转速,通过对实际转速与设定转速作比较,再经过一定的PID算法计算出PWM占空比控制量,调节电机转速跟随设定值变化。由于需要控制电机正反转故驱动电路选择H桥电路,直流电机调速及发电一体化模块的工作原理如下图所示,H桥直流电机驱动部分有4个MOS管组成,当控制器输出PWM10占空比大于0,PWM20占空比等于0时,Q1、Q3间断性导通和闭合,且这两个管子的导通状态相反,即Q1导通时,Q3关断,Q1关断时,Q3导通,而Q2时刻关断着、Q4时刻导通着,此时M1电动机正转;当控制器输出PWM10占空比等于0,PWM20占空比大于0时, Q2、Q4间断性导通和闭合,且这两个管子的导通状态相反,即Q2导通时,Q4关断,Q2关断时,Q4导通,而Q1时刻关断着、Q3时刻导通着,此时M1电动机反转,不同的PWM占空比对应着不同的转速。在本方案中H桥的搭建是利用两片半桥芯片BTN7970B完成,其中Q1与Q3、Q2与Q4分别集成在同一片BTN7970B中。控制的PWM波端口使用八进制3状态总线缓冲器T74LS244与半桥芯片BTN7970B进行隔离,避免误操作将高电压引入控制器,造成控制器损坏。
图2 嵌入式电机转速控制硬件原理图
实验设备与软件:
1. MATLAB/Simulink软件
2. IAR嵌入式开发软件/LabVIEW
3. leaSaC实验平台
实验模块:嵌入式控制器模块/labVIEW接口及控制驱动模块、直流电机调速与发电一体化模块
实验内容
- 在硬件连接上光电传感器的A相数据由MSP430F149的P1.0口读取,光电传感器的B相数据由P1.1口读取。PWM1由MSP430F149的P4.2口输出,PWM2由MSP430F149的P4.3口输出。硬件连接:嵌入式控制器模块与电机调速与发电一体化模块之间用P6的牛角插头排线连接好,插头突出端对着插座缺口端;USB串口线绿色头连接嵌入式控制器模块的P3.5口,白色线连接嵌入式控制器模块的P3.4口,黑色线连接嵌入式控制器模块的GND端,另一端与上位机的USB口连接。在给出的程序框架的基础上进行编程,分别利用P、PI、PD、PID控制算法试凑出最佳参数进行试验。启动上位机软件,开始实验,按下K1或K2键设置转速值,按下K3键确认,在不开启负载灯的情况下,观察转速随时间的变化曲线,直至转速在控制误差允许的范围内保持相对稳定,对比四种控制算法的控制效果。
- 在不改变接线的情况下,打开负载灯开关,打开上位机软件,在给出的程序框架的基础上进行编程,在实验内容1的基础上利用PID控制算法的最佳参数进行实验,程序实现以下功能:设定转速两次变动,即设置初始转速为2500r/min,在一定误差允许的范围内达到稳定后,十秒钟后转速设定值变为3500r/min;之后,在一定误差允许的范围内再次达到稳定,十秒钟后转速设定值变为4500r/min,直到在一定误差允许的范围内转速最终达到稳定状态。观察整个实验转速随时间的变化曲线,分析实际转速跟随设定转速的能力。
- 不改变接线的情况下,先关闭负载灯开关,打开上位机软件,在实验内容1的基础上在单片机中烧录实验内容1中的程序,利用PID控制算法的最佳参数进行实验。按下K1和K2键设置转速值,设定转速为4500r/min,按下K3键确认。观察上位机转速随时间的变化曲线,在一定误差允许的范围内达到稳定后,打开负载灯开关,观察转速的变化,是否能在误差允许的范围内保持稳定,分析系统的抗干扰能力。
- 编写嵌入式控制程序,实现以下功能:电机正反转的连续切换,当电机转速在误差允许的范围内(±50转误差)稳定后(在该误差范围内保持10秒)自动改变旋转方向,当且仅当电机转速再次在误差允许的范围内稳定后旋转方向发生改变,不停重复。在实验内容1的基础上,实验接线不变,使用最佳的PID参数进行实验。打开负载开关,打开上位机参数设置及数据观测界面,配合K1和K2键设置转速值,按下K3键确认,观察上位机转速随时间的变化曲线以及电机转向的变化情况。
实验操作:
假设直流电机的模型是一个二阶系统,传动系数,机电时间常数,此时简化的开环传递函数:
Simulink仿真电路图:
原系统的仿真波形:
Kp=3的P控制器
Kp=3 Ti=3的PI控制器
Kp=3 Td=1的PD控制器
Kp=3 Ti=2 Td=2的PID控制器
仿真结果
离散时T=0.01s | Kp | Ti | Td | 仿真结果分析 |
P | 3 | 0 | 0 | 对比原系统超调量增大.系统响应加快 |
PI | 3 | 3 | 0 | 超调量对比单纯比例控制更大.对比发现稳定时间变长了,说明积分控制会使系统响应变慢 |
PD | 3 | 0 | 3 | 增大微分常数之后发现系统超调量更加小了,更加迅速到达稳定. |
PID | 3 | 2 | 2 | 对比PD的第二列数据发现超调量和稳定时间都变大了,对比PID第一列发现改善动态性能微分调节,积分调节会增大超调量,减小系统稳定性. |
比例调节能增大系统的超调量,不改变系统的响应增快,但是会降低系统的稳定性.
积分环节会增大系统的超调量,使系统响应变慢,并且降低系统的稳定性,
微分环节会减小系统的超调量,使系统的响应加快,并且增大系统的稳定性,可以改善系统的动态响应.
接线操作
将嵌入式控制器模块的插口与直流电机调速与发电一体化模块用牛角插口相连接,再将其引入电脑IAR软件内,通软件进行编译程序。
附:实验程序
1、标准PID算法(增量式)
#include"PID.h"
float thisE,lastE=0,lastlastE=0,D=0,Kp=0.09,Ki=0.0075,Kd=0.007;//thisE此时的速度误差;lastE上一时刻的速度误差;lastlastE上上时刻的速度误差
void PID(float Vset0,float Vreal0)
{
thisE=Vset0-Vreal0 ;//此时的速度误差计算公式
D=D+Kp*(thisE-lastE)+Ki*thisE+Kd*(thisE-2*lastE+lastlastE) ;//增量式PID公式:D=D+△D
lastE= thisE ;//上一时刻的速度误差等于
lastlastE= lastE ;//上上一时刻的速度误差等于
if(D>1500){D=1500;}//D值上限
if(D<0.0){D=0.0;}//D值下限
//if(thisE<=0.2){D=0;}
}
2、积分分离PID算法
float thisE=0,integral=0,lastE=0,D=0,Kp=0.09,Ki=0.0075,Kd=0.007;//thisE此时的速度误差;lastE上一时刻的速度误差;integral积分值;T采样周期
void PID(float Vset0,float Vreal0)
{
thisE=Vset0-Vreal0;//此时的速度误差计算公式
if(thisE<50)
{
index=1;
integral+=thisE;
}
else
{
index=0;
}
D=Kp*thisE+index*Ki*integral+Kd*(thisE-lastE);
lastE=thisE;
if(D>1500){D=1500;} //D值上限
if(D<0.0){D=0.0;} //D值下限
//if(thisE<=0.2){D=0;}
}
3、不完全微分式PID算法
float thisE=0,integral=0,a=0,thisD=0,lastE=0,D=0,Kp=0.09,Ki=0.0075,Kd=0.007;//thisE此时的速度误差;lastE上一时刻的速度误差;integral积分值;T采样周期
void PID(float Vset0,float Vreal0)
{
thisE=Vset0-Vreal0;//此时的速度误差计算公式
if(thisE<50)
{
index=1;
integral+=thisE;
}
else
{
index=0;
}
thisD=Kp*thisE+index*Ki*integral+Kd*(thisE-lastE);
D=a*lastD+(1-a)*thisD;
lastE=thisE;
lastD=thisD;
if(D>1500){D=1500;} //D值上限
if(D<0.0){D=0.0;} //D值下限
//if(thisE<=0.2){D=0;}
}
以上公式算法由指导书公式得来
已有 5 条评论
2021年06月04日
大神学长有pdf吗
2019年06月18日
优秀
2019年06月18日
谢谢您嘞?
2019年06月20日
嘻嘻
2019年06月20日
嘻嘻