找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3554|回复: 1
收起左侧

单片机驱动垂直起降系统的螺旋桨 数学模型建模PID控制资料

[复制链接]
ID:22266 发表于 2020-12-13 17:22 | 显示全部楼层 |阅读模式
通过完成一个具有一定复杂程度的机电闭环控制项目,进行构思、项目设计,以51单片机为核心搭建控制系统,驱动垂直起降系统的螺旋桨,使垂直起降系统的悬臂升到期望的角度位置上。

技术条件
(1)51单片机开发板;(2)直流电机,螺旋桨,悬臂;(3)电源;(4)计算机。

系统的建模与仿真

3.1建模建立

电机螺旋桨悬臂构成了一组具有一定质量的机械系统,能够在拉力的作用下,绕中心上下转动,如图一所示。为了简化分析,忽略悬臂质量、忽略摩擦力。设l为悬臂长度,m电机质量,悬臂角度,f为螺旋桨拉力,u电机电压。

图一 受力分析

图二 电机螺旋桨悬臂系统工作原理

角度:定义水平方向为零度,逆时针方向为正方向。

工作点:悬臂受到螺旋桨拉力和重力的共同作用。拉力与电机电压有关,始终垂直于悬臂与运动方向。重力在运动方向上的分量为。若施加某个电压螺旋桨产生拉力,使悬臂稳定停留在某个位置,则此时。这时就构成了一个工作点

3.1.1电机螺旋桨模型

给电机施加电压u,电机带动螺旋桨旋转产生拉力f,已知电机电压和转速的简化数学模型为一阶线性微分方程。

            (1)

其中T为时间常数,表征了系统的响应速度快慢。K为系统稳态增益,表征了当转速稳定不变时,电压和转速成正比。

电机电压和转速之间的传递函数由式(1)可知为

          (2)

这里假设在工作点附近螺旋桨拉力和电机转速成正比,Kf是比例系数。那么拉力和电压的传递函数可以得到

                        (3)

3.1.2悬臂系统数学模型

切线方向上的运动方程由牛顿第二定律可得

        (4)

其中,b代表摩擦阻力。方程中存在难以分析的非线性项。但是我们可以使用微小偏差法对其在某个特定的工作点附近进行线性化。首先将力和转角表达为工作点附近的增量形式,带入上式得到

(5)
(6)

对非线性项在工作点处使用一阶泰勒级数展开进行局部线性化

(7)

将式(7)代入式(6),并考虑到 ,得到近似后的线性方程

(8)

为了简化表达,去掉△符号,并整理为标准形式

(9)

传递函数

(10)

3.1.3电机螺旋桨悬臂系统数学模型

电机螺旋桨悬臂可以看作一个整体,则合并式(3)(10)、消去中间变量F(s),得到指令电压和悬臂实际角度的传递函数为

(11)

当悬臂位于水平线下方时,,则是一个正数。此时分母多项式里没有负系数。

悬臂系统为三阶系统,有3个极点。如果电机的反应速度非常快,远快于悬臂的反应速度,也就是说对应的极点远离虚轴,其他两个极点是主导极点。则可以简化为2阶系统。

(11)

3.2 PID 控制以及MATLAB仿真

比例积分微分(PID)控制器

比例控制能够提高系统响应速度,减小稳态误差,但是稳定性减弱、震荡加剧。因此引入微分控制抑制震荡改善稳定性。如果希望消灭稳态误差,就需要引入积分环节提高系统稳定性。

仿真图

利用simulink中进行仿真分析查看P、PD、PI、PID控制器的控制效果

图一 仿真原理

说明:图一为控制系统的simulink仿真模型。

PID 控制是工业控制实践中最常见的控制算法(95%以上)。控制器由比例单元(P, proportional)、积分单元(I,integral)和微分单元(Dderivative)组成,包含 Kp、Ki 和 Kd 三个需要设定的系数。控制原理如图 2所示,微分方程及传递函数如下式所示。

PID控制原理图

PID 控制器的比例、积分和微分作用分别对应当前误差、过去累计误差及误差变化速度(未来误差)。若是不知道受控系统的特性,一般认为 PID 控制器是最适用的控制器。借由 调整 PID 控制器的三个参数,可以调整控制系统,设法满足设计需求。控制器的响应可以用 控制器对误差的反应快慢、控制器超调程度及系统震荡的程度、稳态误差大小来表示。 根据具体应用场合可以使用PID 控制的各种组合,如P控制、PI控制、PD控制等。其中以PI控制最常用,I 控制能够消除稳态误差。D 控制对反馈信号噪声十分敏感,需要精心

设计。

3.2.1 数值计算

比例、积分、微分算法在没有计算机的年代是使用模拟器件来实现的。现代工业中普遍 使用数字计算机实现。计算机以固定时间间隔????不断的重复运行 PID 控制算法,第 k 次的比 例控制项????(??)、微分控制项????(??)、积分控制项????(??)分别如下

然后 合成控制器的总输出

PID算法流程图

3.2.2 PID 控制算法实现

1. 微分控制对高频扰动十分敏感,需要设法抑制;

2. 积分控制存在积分饱和问题,对控制效果影响较大,需要解决;

4系统硬件电路设计和软件编程

4.1电路设计

4.1.1硬件电路图

总电路图

局部电路图1(总开关)            局部电路图2(晶振)

局部电路图3(USB读写模块)

局部电路图4(LED显示屏模块)

局部电路图5(USB转串口模块)         局部电路图6(ad转换模块)

局部电路图6(电机驱动模块模块)

说明:利用89C51单片机来实现对直流电机的PID控制以及实时状态数据的显示。

4.1.3 PCB电路图

PCB图

PCB三维图

4.1.3 Proteus电路图仿真

说明:仿真符合预期效果。

4.1.4元件清单

单片机STC90C516RD+(1)

PCF8591T ad转换芯片——(1)

CH340G USB转串口芯片——(1)

ULN2003电机驱动芯片——(1)

LED显示屏LCM1602K-NSW-BBW——(1)

Micro USB连接器——(1)

开关K2-1107ST-A4SW-06——(3)

排针X6511WV-04H-C30D60——(3)

晶振X49SD27MSD2SC——(2)

三极管2n3904S-RTK/PS——(1)

电阻:10KΩ——(2);200Ω——(1);4.7K——(1);10KΩ可变电阻VZ067TL1B103——(1);10K排阻C26615——(1)

电容:10u——(1);22p——(6);104——(2);0.1u——(1)22u——(2)电化学电容1u——(1)

4.2原理图以及流程图规划

原理图

说明:

我们用51单片机去控制电机转到指定角度,并通过lcd显示出来

系统的综合测试和评估

5.1 PID测试实现过程

比例(P)控制

当控制器的输出与偏差成比例时,称之为比例控制(proportional control)。即  

系统闭环传递函数为

利用终值定理求得单位阶跃响应的稳态值

分析可知 ,电机的指令电压控制了电机转速,即拉力。比例控制意味着拉力和误差成正 比。因此: 1) 比例控制必然存在误差。误差是产生拉力的源泉,没有误差就没有拉力。要维持一 定的拉力,????越大,所需的误差就越小; 2) 比例控制器的输出只和误差成正比,????越大,控制器反应越灵敏。当悬臂快速冲到 指定位置时,误差为 0,拉力也为 0,加速度为 0。虽然悬臂的加速度为 0,但可能 还会存在一定速度,产生过冲。

图一P控制的理论曲线

通过实验我们发现Kp较大时会加快响应速度快速达到稳定,能减少误差但不能消除误差,Kp越大时会很容易引起振荡;Kp减小,发生振荡的可能性减小,但调节速度变慢。

比例微分(PD)控制

一个控制系统的基本要求是稳定、准确、快速。增加比例控制系数能够减小偏差提高准 确性、减小反应时间提高快速性。但是同时带来的问题就是系统稳定性减弱,表现为容易过 冲、产生震荡。 当控制器输出不仅和偏差成比例,同时还与偏差的变化速度(微分)成比例时,称之为 比例微分控制(Proportional + Derivative control)。

即:

对应传递函数:

PD控制中的比例项能够减小偏差,微分项能够减小偏差的变化速度、抑制振荡。PD控制方框图如下图所示。

如果悬臂能够简化为标准二阶系统,则 PD 控制的闭环传递函数为

从理论上分析,增加 Kd会增加阻尼比,抑制振荡。单纯的比例控制器增加Kp 能够减小误差、增加响应速度,但是会增加超调、恶化稳定性。产生超调的原因前面已经简要说明过,原因是当偏差为0时,偏差的速度不为0,这时引入微分控制作用可以抑制偏差的变化。理想情况是偏差为0时,偏差的速度也为 0,达到稳定状态。

图五pd控制理论响应曲线

经过调节我们发现理论和实际有一些不吻合我们认为是在现实系统中系统响应速度慢,使微分环节作用削弱。微分控制可以改善动态特性,如超调量减少,调节时间缩短,允许加大比例控制,使静差减小,提高控制精度。但当Kd偏大或偏小时,超调量较大,调节时间较长,只有合话的时候,才可以得到比较满意的过渡过程。

比例积分(PI)控制

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti, Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器。

图九 kp0.018 ki0.58理论响应曲线

从图中对比可以发现积分环节的作用是:只要系统存在误差,积分控制作用就不断地积累,输出控制量以消除误差。因此只要有足够的时间,积分控制将能完全消除误差,但是积分作用太强会使系统超调加大,甚至使系统出现振荡。

PID 实际运行

图二 kp=0.5 ki=0.6 kd=0.15响应曲线

图三 kp=0.5 ki=0.6 kd=0.15响应曲线理论响应曲线

我们发现PID控制可以较好地实现系统稳定通过PID算法的组合可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。但实际系统和理论系统总存在不足无法达到想要的理论状态,我们在实际中发现该组pid可以很好的控制悬臂系统因此选用该组pid参数。


5.2综合评估

在这次设计中我们首先将项目分成三部分:第一部分通过51单片机将角度读出,第二部分实现按键能改变设定角度,第三部分实现可以通过pid控制螺旋桨悬停在特定角度。

在实现项目过程中我们遇到了一些困难,并通过组员的一起努力解决问题。

(1)在读取电位器角度并将其显示在LCD上时,我们发现电位器读到的数据并不能及时显示在LCD上,有很长的延时。我们通过查阅资料和咨询老师最终发现在我们的库函数里存在较长时间延时从而导致数据不能被及时显示,我们删去了延时,发现角度可以很好显示在LCD上。

(2)在调试程序时我们发现读取的角度和设定的角度并不能一起显示在LCD上,我们把自己所写的显示函数封装成函数,并将显示当前角度的代码放在设定角度代码上面,通过这样的调试我们的LCD可以很好显示。

(3)在pid控制时我们发现单片机虽然可以实现对电机控制但是波动周期和时间都很大,经过查阅资料和讨论我们发现应该是定时器中断时间和pwm周期存在问题,经过试验我们把定时器中断时间设置在10微秒,pwm周期为1毫秒,

这时的电机可以很好的控制。

(4)在调试过程中我们发现螺旋桨虽然可以转到指定角度但是只会维持一定的时间并不能长时间维持在指定角度,我们经过讨论,和查阅资料认为是pid的计算存在问题,我们重新设计了pid的计算方法,最终解决了这些问题。

在整个系统调试过程中我们

(5)比例控制一定存在误差。误差是产生拉力的源泉,没有误差就没有拉力。比例控制器的输出只和误差成正比,比例控制当快速到指定位置时,会发生过冲。

用比例微分控制时,PD控制中的比例项能够减小偏差,微分项能够减小偏差的变化速度、抑制振荡。微分控制可以改善动态特性,如超调量减少,调节时间缩短,允许加大比例控制,使静差减小,提高控制精度。但当Kd偏大或偏小时,超调量较大,调节时间较长,只有合话的时候,才可以得到比较满意的过渡过程。

比例+积分(PI)控制器,积分环节可以使系统在进入稳态后无稳态误差,提高误差度。

PID控制可以较好地实现系统稳定通过PID算法的组合可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。

(6)电路图的绘制起初对整体电路图不熟悉,导致在Proteus中仿真失败,后来发现是硬件型号不对,不同型号和规格的电容以及三极管对电路的影响会累积,导致最后的结果误差极大,最后在多次更换调试后得以解决。

(7)PCB板的绘制最开始在AD上绘制,但各种元件库还需要下载极其不方便,导致浪费了很多时间,究其原因也是对软件的不熟悉,之后用的eda在线绘图,进度就加快了很多,对应的元器件也能看见实物图以及对应封装,能够对元件有更深刻的印象。

1-31头文件,端口等定义,为程序运行做准备
32-41 主函数,对液晶初始化,执行显示函数和控制函数
42-45 显示函数,显示出当前角度和设定角度
46-53 读取电位器数据,显示角度
54-58 键盘扫描函数
59-70 pid控制函数,输出计算后pid值
62-85 定时器输出pwm
86-167 lcd1602库文件
167-182 延时库文件
183-238 i2c通信库文件
239-251 键盘扫描库文件

本文来自作者wc201314 :http://www.51hei.com/bbs/dpj-199699-1.html
回复

使用道具 举报

ID:986266 发表于 2021-11-30 10:21 | 显示全部楼层
可以分享一下源代码吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表