基于51单片机的PID智能控制器设计研究
2020-08-14田冰
田冰
摘 要 在科技不断发展的今天,智能控制技术已经成为工业控制技术的发展方向,现在工业上常用的PLC和调节器的基本控制算法是PID,但是它们不能通过简单的更改程序而适用于各种应用情况,所以一种基于51单片机的PID智能控制器就是一个简单方便的开发平台。
关键词 智能控制技术;PID;开发平台
本次项目的主要目的是设计一个基于51单片机的PID智能控制器。这个控制器的主要功能是控制单容水箱的液位。当水箱液位与设定值出现偏差时,本次设计的PID智能控制器能够快速反应,以此来控制单容水箱的液位。
1 项目设计
硬件设计方面,主要利用AT89c51单片机最小系统作为控制器,而信号的转换则利用A/D、D/A芯片来实现。
软件设计方面,对基于51单片机的PID智能控制器来说,它程序编写的主要思路如下:
(1)信号采集和数据处理器选用AT89C51单片机[1]。
(2)根据I2C总线协议来定义两个I/O口,控制A/D模块,把下水箱的液位传感器所反馈回来的电流量通过电阻转换为电压信号,再转换成数字量信号并传递给51单片机[2]。
(3)51单片机对信号进行采集的同时根据用户所设定的水位值进行PID算法计算,分析得到控制电压值。
(4)通过D/A转换模块把所需要的电压传递给调节阀,从而实现对水箱液位实时、快捷、准确地控制。
2 PID控制算法
PID调节器把系统设备所给的值和我们在实际中所得到的系统真正输出的值之间的偏差通过P、I与D之间的线性组合来组成系统所需要的控制量,进而控制被控对象。
PID调节器各环节对系统校验的作用:
(1)比例环节P:能快速减小系统实际输出值与我们所需要得到的输出值之间的偏差。
(2)积分环节I:消除静差。积分常数越大,积分作用越弱[3]。
(3)微分作用D:能在系统偏差值变大之前,尽早引入有效修正信号,减小调节时间。
基于51单片机的智能控制器采用的PID为增量型控制算法,所以在程序编写时,主要采用了公式(1):
编程时,我们可以定义比例系数Kp,积分系数Ki,微分系数Kd,PID输出最大输出值PID_MAX,误差error=设置水位值Set-实际水位值Real,得出比例量P_term=Kp*error,积分量I_term=Ki *(error+error1), 微分量D_term=Kd *(error-last error1),根据公式,可以得到PID输出PID_out=P_term+I_term+D_term。在计算中如果所得值大于最高上限值或低于下限值那么就直接输出。把PID函数计算所得到的值赋值给执行器这样就实现了水箱水位的控制。
3 系统调试与实验结果分析
本次项目的调试过程是在A3000过程控制实验装置上进行的。此实验装置包括被控水箱、供电系统、液位传感器、调节阀等装置,将此实验装置与本次项目所设计的PID控制器相连。
在PID控制器与A3000实验装置的硬件接线上,首先将A3000实验装置中的液位传感器与A/D模块相接,然后A/D模块与51单片机相连,51单片机又与D/A模块相连,最后 D/A模块与调节阀相连,由此构成一个回路,用来控制水箱液位。
对于单容水箱液位的控制,当设定值为180时,PID控制算法所得到的系统输出变化值如下图。分析PID控制系统的液位输出图可知,当时间为150左右时,PID控制系统液位达到180并逐渐趋于平稳;
4 结束语
本次项目设计的PID控制器的基本原理為:
(1)通过A/D模块将液位传感器检测到的模拟量转换为数字量传递给51单片机;
(2)用PID算法计算控制作用值;
(3)将控制作用值通过D/A模块传递给调节阀,以此来控制水箱液位。
通过实验分析,当水箱液位与设定值出现偏差时,本次设计的PID控制器能够快速反应,以此来控制单容水箱的液位。
参考文献
[1] 孙全芳.基于CAN总线的智能化温度检测系统的设计与研发[D].青岛:中国海洋大学,2011.
[2] 夏晓晶.单片机实现的仿人智能PID控制器[D].大连:大连海事大学,2004.
[3] 马林,周炜明.变频器SB60G过程PID控制技术的应用[J].精密制造与自动化,2013(4):41-42.