打印
[AVR单片机]

【快乐分享】恒温空调系统控制器-基于ATmega88单片机

[复制链接]
10485|102
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qin552011373|  楼主 | 2013-7-23 17:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
此题是我去年的课程设计,因此先上设计要求:
一、设计任务与要求
1. 任务
设计并制作一个恒温空调自动控制系统,控制对象为在有机玻璃容器内的空气。温度可以在一定范围内由人工设定,并能在环境温度升高时实现自动调整,以保持设定的温度基本不变。

2.要求
(1)温度设定范围为15~26℃,最小区分度为1℃,标定温差≤1℃。
(2)环境温度升高时,温度控制的静态误差≤1℃。
(3)采用适当的控制方法,当设定温度突变(由26℃提高到16℃)时,减小系统的调节时间和超调量。
(4)用十进制数码显示容器中空气的实际温度。

针对此题做了以下方案论证:
二、方案设计与论证
温度可以在一定范围内由人工设定,并能在环境温度升高时实现自动调整,以保持设定的温度基本不变。此要求测温模块占用MCU时间较短,能及时跟踪环境变化,故对测温模块和控制部分的要求比较高。
控制部分分析
方案一、PID控制
PID控制器作为最早实用化的控制器,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需要十分精确的系统模型等先决条件,因而成为最为广泛的控制器。但PID也有其固有的缺点:
1. PID对系统基本线性和动态特性不随时间变化的系统能控制。而很多工业过程是非线性和时变的。
2. PID的参数K p T i和Td必须根据过程的动态特性整定的很好。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性的变化,PID参数重新整定。实际应用中PID参数的整定很困难。
3. PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时总是无能为力。
方案二、自适应控制
自适应控制可以看做是一个能根据环境变化智能调节自身特性的反馈控制系统,以使系统能按一些设定的标准工作在最优状态。传统的自适应控制适合于没有大时间延迟的机械系统和对设计的系统动态特性很清楚的情况。
但在工业过程控制应用中,传统的自适应控制并不如意。上述PID自整定方案可能是最可靠的,广泛应用于商业产品中。传统的自适应控制存在4个基本问题:需要复杂的离线训练;辨识所需的充分激励信号和系统平稳运行的矛盾;实际应用中,对系统结构假设,模型的收敛性和系统稳定性无法保证;另外,传统自适应控制方法之中结构的信息,在处理非线性、变结构或大时间延迟时很难。
方案三、鲁棒控制
鲁棒控制是一个着重控制算法可靠性研究的控制器设计方法。鲁棒性一般定义为在实际环境中保证安全要求系统最小必须满足的要求。鲁棒控制系统的设计要由高级专家完成,一旦设计成功,就不需太多的人工干预,如果要升级或作重大调整,系统就要重新设计。
鲁棒控制方法,对时间域或频率域来说,一般假设过程动态特性的信息和它的变化范围。一些算法不需要精确的过程模型但需要一些离线辨识。
一般鲁棒控制系统的设计是以一些最差的情况为基础,因此一般系统并不工作在最优状态。鲁棒控制方法适用于稳定性和可靠性作为首要怒表的应用,同时过程的动态特性已知且不确定因素的变化范围可以预估。飞机和空间飞行器的控制是这类系统的典型例子。
测温部分分析
方案一、使用集成芯片DS18B20,此芯片测温范围宽,反应迅速,但是读取一次温度的时间较长,比较浪费MCU时间。
方案二、采用PT100电桥测温电路,此模块反应迅速,直接输出电压值送入AD采样,但是硬件电路较为复杂,数据处理也比较困难。
综上分析,MCU控制部分采用PID算法,测温模块采用集成芯片DS18B20。

评分
参与人数 10威望 +30 收起 理由
shenpingbing + 3 赞一个!
筱禾1988 + 1 神马都是浮云
xiaoh1988 + 1 赞一个!
kk5290122 + 4 很给力!
5186 + 3 很给力!

查看全部评分

相关帖子

沙发
qin552011373|  楼主 | 2013-7-23 17:50 | 只看该作者
本帖最后由 qin552011373 于 2013-7-23 17:52 编辑

空调模块部分

显示模块


测温模块



使用特权

评论回复
评分
参与人数 2威望 +12 收起 理由
gaoyang9992006 + 9
5186 + 3 很给力!
板凳
qin552011373|  楼主 | 2013-7-23 17:57 | 只看该作者
当时测温还有另外一种方案,就是用PT100,最后由于各种原因,没有达到理想的效果,就直接用18B20

原理就是做一个恒流源出来,然后通过监测Pt100两端的电压并放大来检测温度是否变化

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
5186 + 3
地板
qin552011373|  楼主 | 2013-7-23 18:03 | 只看该作者
本帖最后由 qin552011373 于 2013-7-23 18:05 编辑

上传一下最终的图,反面当时记得是很漂亮的,忘记拍反面了,此板是手动焊接的双面板,上面有个ATmega88手动焊接的最小系统,大学期间在学校实验室的焊接功夫练得还是比较不错的,就是又浪费焊锡了。罪过罪过。

使用特权

评论回复
评分
参与人数 2威望 +1 收起 理由
shenpingbing + 3 赞一个!
gaoyang9992006 -2
5
qin552011373|  楼主 | 2013-7-23 18:12 | 只看该作者
继续上传PID资料,当时写程序时看了好久的PID,发现看不懂,咨询了好多老师,回去一看,发现老师说的和网上说的类似,最后的最后,忍不住按照自己的理解胡乱写了个程序,编译下载运行后,竟然是可以的,这是什么情况。。。竟然是可以用的,又稍微调了一下具体参数,程序很稳定的运行起来了,控制的整体效果还不错,欣喜如狂。。。


由于本人搬砖的风格不好,就不拿出来现丑了,奉上当时用的关于PID的资料,供大家下载使用

pid.rar (1.64 MB)


使用特权

评论回复
评分
参与人数 3威望 +1 收起 理由
shenpingbing + 3 很给力!
gaoyang9992006 -5 神马都是浮云
5186 + 3 很给力!
6
qin552011373|  楼主 | 2013-7-23 18:14 | 只看该作者
在调试PID的过程中发现:
(1)        比例系数过大时,容易引起系统过冲。
(2)        微分系数过大,系统容易震荡。
(3)        积分系数过大,把微分的效果覆盖了,总体上表现只有积分效果。

使用特权

评论回复
7
qin552011373|  楼主 | 2013-7-23 18:15 | 只看该作者
性能测试与分析
环境温度为25.5°C下测试数据:
  
目标温度°C
  
25
22
19
16
测温计实际温度°C
24.3
21.3
18.6
16.2
控制时间
50s
200s
380s
11min
从表中可以得出温度误差小于1℃,符合设计要求。
温度设定范围为15~26℃,可以以1℃递增,符合题目设计要求。
温度升高时,PID自动调节模块内温度,测试表明温度基本不变。
在环境度温度和目标温度相差大于5℃时,全速降温,结果表明,比只有PID调节时,可以较快达到目标温度。
使用LCD1602显示当前模块内温度和设定的目标温度,符合题目要求。

使用特权

评论回复
8
qin552011373|  楼主 | 2013-7-23 18:17 | 只看该作者
最后的最后,搞一个心得吧

结论与心得
电子产品设计应该用简单的电路实现尽可能多的作用(所谓的大道至简),复杂的电路不仅容易出错,制作起来也不容易,相当于做了很多无用功,我在用PT100制作测温电路时,开始选用了一张较为复杂的恒流源电路,结果很不理想,后来改为电桥测温,结果较为理想,发挥了PT100线性度良好的特性,如果设计时不考虑电路的复杂性,会给调试带来困难,甚至会影响整体的设计进度。
PID算法是一种比较成熟的算法,资料很多,借鉴前人的程序固然很好,但是这样的话学不到知识的精髓,在自己写的过程中,发现其实没有自己想的那么难,即使完全不懂理论(信号与系统),也可以把程序写出来,调试完成,不过如果把理论搞明白,会给调试带来方便,调试时比较方便。


本人菜鸟一枚,飞得低,请各位尽情拍砖

使用特权

评论回复
评分
参与人数 3威望 +9 收起 理由
shenpingbing + 3 神马都是浮云
kk5290122 + 4 很给力!
地瓜patch + 2 赞一个!
9
地瓜patch| | 2013-7-23 18:31 | 只看该作者
顶一个,这么多字的情分上

使用特权

评论回复
10
qin552011373|  楼主 | 2013-7-23 18:34 | 只看该作者
地瓜patch 发表于 2013-7-23 18:31
顶一个,这么多字的情分上

TKS

使用特权

评论回复
11
luochangqing112| | 2013-7-23 20:35 | 只看该作者
这个一定要收藏,好好学习。

使用特权

评论回复
12
qin552011373|  楼主 | 2013-7-24 00:08 | 只看该作者
luochangqing112 发表于 2013-7-23 20:35
这个一定要收藏,好好学习。

共同研究

使用特权

评论回复
13
Yang_Jia| | 2013-7-24 09:42 | 只看该作者
看你字多的面子上顶你一把。

使用特权

评论回复
14
qin552011373|  楼主 | 2013-7-24 09:48 | 只看该作者
Yang_Jia 发表于 2013-7-24 09:42
看你字多的面子上顶你一把。

怎么不给我加分  

使用特权

评论回复
15
szjlj168| | 2013-7-24 10:07 | 只看该作者
这么好的贴子,应该来顶一下:lol

使用特权

评论回复
16
qin552011373|  楼主 | 2013-7-24 10:19 | 只看该作者
szjlj168 发表于 2013-7-24 10:07
这么好的贴子,应该来顶一下

TKS

使用特权

评论回复
17
赛普拉斯| | 2013-7-24 13:33 | 只看该作者
2分已经送出,请查收!

使用特权

评论回复
18
qin552011373|  楼主 | 2013-7-24 13:43 | 只看该作者
赛普拉斯 发表于 2013-7-24 13:33
2分已经送出,请查收!

TKS  谢谢支持和肯定

使用特权

评论回复
19
laoxu| | 2013-7-24 14:14 | 只看该作者

看你字多的份上,加几分~~~~

使用特权

评论回复
20
zhangmangui| | 2013-7-24 14:22 | 只看该作者
看来大学搞得最多的就是PID算法啦   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:勿在浮沙筑高台。 广州电子工程师朋友交流群,电子行业相关朋友交流技术,畅谈未来,活动聚会交友群。21ic广州网友联谊群:462553656

427

主题

4543

帖子

11

粉丝