51单片机用PID算法温度控制器毕业设计 完整资料,Matlab作图仿真源码

最近天气变冷,感冒了一段时间又加上考研的事情让我忙的不可开交,今天听说疫情已经蔓延到常州了,小伙伴们没事还是不要出门了,再家专心搞科研技术吧。
话说回来,前几天有小伙伴给我留言,问我单片机控制的PID算法,想让我帮他讲一讲,最好是视频讲解,无奈最近我太忙了,刚好前不久帮别人做了一个PID算法温控器的毕业设计项目,现分享出来和大家共同学习一下。

毕业设计任务
设计并制作一个水温自动控制系统,控制对象为纯净水(容量大于等于1升),容器为瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。

基本功能及要求
1.温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。
2.环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。
3.在硬件中显示水的实际温度。
4.采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。
5.温度控制的静态误差≤0.2℃。
6.在设定温度发生突变(由40℃提高到60℃)时,用上位机显示温度变化曲线。

实物图
51单片机用PID算法温度控制器毕业设计 完整资料,Matlab作图仿真源码_第1张图片
电路原理图
51单片机用PID算法温度控制器毕业设计 完整资料,Matlab作图仿真源码_第2张图片
功能框图
51单片机用PID算法温度控制器毕业设计 完整资料,Matlab作图仿真源码_第3张图片
PID
算法公式
51单片机用PID算法温度控制器毕业设计 完整资料,Matlab作图仿真源码_第4张图片
MATLAB 参考代码
function plotxy(v)%串口复制过来的温度(列向量),目标温度
%v=v’;
[m,~]=size(v);
for i=1:m-1
if v(i,1)<0 || abs(v(i,1)-v(i+1,1))>2
v(i,1)=v(i-2,1);
end
end
x=linspace(0,10,m);
plot(x,v(:,1),‘r’)
%line([0 10],[t t])
%line([0 10],[t+0.2 t+0.2])
%line([0 10],[t-0.2 t-0.2])
clear;
clc
end

鉴于篇幅限制,只能写部分代码
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序MATLAB源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。也可以通过简介进入QQ群下载,和大家一起学习,进步!

谢谢!

你可能感兴趣的:(编程,单片机,马达控制算法,matlab,51单片机,算法)