基于模糊控制的恒温控制系统设计

发布者:WhisperingGlow最新更新时间:2010-12-23 来源: 现代电子技术关键字:恒温控制  模糊控制  单片机  AD590 手机看文章 扫描二维码
随时随地手机看文章

    在日常工业生产当中,恒温控制应用非常广泛。模糊控制技术是通过模仿人的思维方法,运用不确定的模糊信息进行决策以实现最佳的控制效果。模糊控制所关心的是目标而不是精确的数学模型,即研究的是控制器的本身而不是被控对象。因此可以利用特殊的控制媒介,研究控制器本身。本系统以此作为出发点,以单片机为核心控制器,研究模糊控制算法,实现了精确的恒温控制。并设计了单片机与上位机的通信软件,实现了远程温度控制和温度曲线可视化的功能。

1 系统功能和硬件设计

    本系统以水温作为测量媒介,以AT89C51单片机作为核心控制器,以AD590温度传感器作为采集器,实现温度的采集、控制、传输、显示的功能。系统采用模糊算法对电热丝的加热时间进行控制,从而达到对水温的控制。同时通过上位机软件可以进行实时控制和显示温度曲线图等,系统框图如图1所示。

a.JPG

1.1 温度采集模块

    温度采集模块实现温度信号采集、信号调理、模/数转换的功能。主要以集成温度传感器AD590M为采集主体,经过电压跟随器、差分式减法器、电压放大器、反相器等电路作为信号调理,后输入10位A/D转换器TLC1549进行模/数转换。电路图如图2所示。

d.JPG

    AD590是电流型集成温度传感器,具有抗干扰能力强的特点,其输出电流和温度值成正比,且是以绝对温度零度(-273℃)为基准,其线性电流输出为1μA/K,利用10 kΩ的电阻可将电流信号转换为电压信号。本系统的测量范围为0~100℃,因此输出电压范围为2.73~3.73 V。为了增大后端电路的阻抗,减小对电流信号的分流,利用电压跟随器作为信号隔离。后输入差分减法器减去2.73 V,并经过5倍电压放大后,对应的输出电压范围为O~6 V。电压信号输入10位逐次比较型模数转换器TLCl549。其参考电压为5 V,则输入电压的分辨率(单位:mV)为:

b.JPG
  
    从而本系统温度采样的理论分辨率为:
   c.JPG
    由于传感器信号微弱,极易受到外界电磁环境影响,须使用双绞线传输传感器信号。

1.2 人机交互和远程管理模块

    系统开发了丰富的人机交互接口,分为本地管理和远程管理,最大程度上简化了操作的复杂度和方便度。在本地端,设有三个功能按键,分别为:设定温度加O.1℃、设定温度减O.1℃、温度控制开关。两个三位七段数码管,分别显示:设定温度和实时采集温度。

    系统通过串口转换芯片MAX232,实现上位机和单片机的通信。上位机作为远程管理端,实现了显示温度变化曲线、显示当前温度、显示设定温度、显示最大正负误差,放大或缩小曲线、保存曲线等功能。

1.3 温度控制和超界报警模块

    系统利用单片机控制电热丝在一个加热周期内的加热时间来实现对水温的控制。单片机端口信号经过光耦隔离后,利用三级管驱动电磁继电器的闭合与断开,从而控制加热时间。当温度超过100℃或者实时温度变化超过10℃时,单片机将驱动蜂鸣器进行长时间报警提示,当设置温度变化超过10℃时,蜂鸣器进行短时间报警提示。

2 软件系统设计

    系统的控制思路为:根据模糊控制模型和实际应用情况推理出模糊查询表,模糊查询表表示对于不同状态的加温周期时间。单片机根据实时采样温度的变化查取模糊查询表,对加温周期做出调整,从而达到对温度控制的目的。

2.1 主程序

    主程序一直处于等待接收串口信号状态,同时判断是否需要发送数据。定时中断每秒对采样温度进行平均值滤波后,置串口发送标志,在主程序中发送。单片机接收到PC信号的第一个字节时,调用接收数据子程序,将剩余数据接收到缓冲区内,并判断接收数据的类型,执行相应操作。

    为避免串口干扰信号,系统采用应答模式和单向传输混用的串口通信,以提高通信的稳定性和系统的实时性。上位机下发命令采用应答模式,单片机实时温度信息上传采用单向通信模式。通信协议由包头、命令、数据长度、数据包、校验位组成。

2.2 1ms定时中断程序

    1ms定时中断作为系统的总时钟。每1 ms刷新一位数码管,每10 ms扫描一次按键,每1 s的最后100 ms中,每隔10 ms采样一次温度值,将10次采样值冒泡排序,去掉最大值和最小值后的平均值,作为本次实时采样的最终值送入显示缓冲区。若恒温控制开关打开,则每1 s还要调用恒温控制程序。若报警开关打开,则每1 s取反一次扬声器输出。定时中断返回前将重置看门狗。

2.3 模糊控制模型建立

    系统利用了双输入单输出的模糊控制模式。2个输入语言变量E,EC分别表示温度误差和温度误差的变化率,输出语言变量U表示继电器的闭合时间。语言变量E赋8个值,即正小(PS)、正零(PO)、负零(NO),负小(NS),负中(NM),负大(NL),负加大(NXL),负超大 (NXXL),考虑到系统中并未设置降温措施,E的赋值并不对称。EC赋7个值,即正大(PL)、正中(PM)、正小(PS)、零(PO)、负小 (NS)、负中(NM)、负大(N-L)。U赋4个值:零(O)、正小(PS)、正中(PM)、正大(PL)。为补偿温度控制无超调量,E的量化值为 -10~2,EC,U的量化值分别为-6~6,0~6。每个值采用三角形隶属函数模型,如图3~图5所示。

f.JPG

g.JPG

    依靠经验来建立控制规则,但是得到的控制量并是一个模糊量,不能直接用来作为控制输出,采用C语言进行解模糊处理,得到模糊查询表,并在测试中反复调整,最终得到模糊查询表如表1所示。

2.4 模糊控制程序

    在单片机的程序中,设置了变量TOUT表示恒温控制周期,TSET表示一个恒温控制周期中韵加热输出时间,即表中的U。每隔TOUT的时间,将调用模糊推理程序,求出误差E和误差变化率EC。其中:

    E=实时采样温度值-设定温度值
    EC=当前误差-上次误差

    当误差较大时,不必进行模糊控制,只需判断是全速加热或是停止加热。当误差进入预设的控制范围时,量化E,EC,并由量化值查询模糊查询表,得出该周期应该输出的加热时间TSET。

    在测试中发现,采用单一的E,EC论域的效果并不让人满意,系统灵敏度较低。考虑加热惯性和高温散热较快的影响,采用了两级控制的方式。在第一级控制中,E和EC的论域范围较大,可快速加热到恒温设定温度附近;此后进入第二级控制,缩小E和EC的论域范围,提高控制的灵敏度。经测试,采用此方式可在各温度层次控制过程中将恒温误差稳定在±0.3℃以内。

3 系统实验和误差分析

3.1 传感器零点校准

    系统采用电流型温度传感器AD590,同时使用单点调节电路。在理想情况下,在冰水混合物(O℃)中并联10kΩ电阻,输出电压为2.73V,即为传感器零点。同时为保证系统的精确性,使用单点调节电路进行进一步调节。

3.2 系统实验

    利用本系统对自来水进行重复性测试。由于本地气压和水中杂质的影响,当水到达沸点时仍无法到达100℃,因此系统的测试范围设定为40~90℃。当系统达到温度恒定且停止加温后,随机进行一次静态数据测量;在此后100 min内,每隔5 min进行一次恒温控制数据测量。静态数据如表2所示,恒温控制数据如表3所示,50℃恒温控制上位机曲线如图6所示。

h.JPG

    由表3可知,系统的静态误差为±0.2℃。对表3中每组数据的后10个数据进行标准差计算,结果如表4所示,可知其平均误差小于±0.3 ℃。

4 结语

    该系统以模糊控制算法和单片机设计了一种恒温控制系统。利用单片机作为核心控制器,开发了丰富的友好的人机交互环境:温度变化曲线可视性、远程可控性非常适合工业远程管理要求。其成本低,可扩展性好,非常容易扩展为多路采集系统;同时采用模糊查询表的方式,提高了系统的移植性。实验表明:本系统能够将水温恒定的控制在40~90℃范围内,控制误差小于0.5℃,静态误差小于0.2℃,可广泛的推广和移植到工业当中。

关键字:恒温控制  模糊控制  单片机  AD590 引用地址:基于模糊控制的恒温控制系统设计

上一篇:基于MCGS系统的DCS总线接口的设计与实现
下一篇:煤矿井下电力监测监控系统的设计与实践

推荐阅读最新更新时间:2024-03-30 21:33

轮式移动机器人的循迹设计
1 智能循迹小车总体设计方案 1.1 整体设计方案 1)根据设计要求,确定控制方案。 2)利用Proteus设计合理的硬件原理图。 3)画出程序流程图,使用C语言进行编程。 4)在洞洞板上焊接元器件,然后往单片机内烧录程序。 5)进行调试以实现控制功能。 1.2 整体控制方案确定 图1为智能循迹小车的系统控制框图。黑色引导线是小车进行跟踪的目标,循迹传感器对目标轨迹进行检测,然后将得到的信息反馈给单片机进行处理,单片机处理后给电机驱动发出控制信号对两个直流电机进行控制,从而确保小车可以沿预定的路线正确行驶。 本设计使用两节3,7 V充电电池对整个系统进行供电,主控芯片为STC公司的89C52,直流电机的驱动模块
[单片机]
轮式移动机器人的循迹设计
单片机C51编程几个有用的模块
Keil C51常用功能模块使用说明 说明 本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参数的设置,而不是直接更改源代码。 这些可选内容大部分为宏定义,如果不定义宏相应的功能在编译时被屏蔽,不会增加代码长度。 具体可选内容见各模块中的说明。 在Config.h文件中还要包含一个单片机硬件的资源头文件。 各模块使用了定义在Common.h中的一些数据类型。如:BIT(bit) BYTE(unsigned char)等,具体请参见源程序。 时钟模块 在单片机软件设计中, 时钟是
[单片机]
飞思卡尔与Continental联合设计多核32位MCU,优化EBS应用
汽车行业的第一个三核微控制器设计将Power Architecture e200内核与Continental的无故障电子刹车系统(EBS)技术集成起来 德国慕尼黑(飞思卡尔技术论坛)讯--2007年1 0月1 6日 --微电子的不断发展使主流汽车的电子刹车系统(EBS)更可靠、响应更灵敏且更经济。为了支持下一代EBS及底盘控制系统,飞思卡尔半导体和位于法兰克福的大陆汽车系统 (Continental Automotive Systems) EBS事业部联合设计了一款高性能、多核微控制器(MCU),优化了EBS应用。 汽车业界的两位领导者正在就被称为SPACE的定制MCU展开合作,旨在为Continental的下一代EBS产品
[单片机]
51单片机 bit定义标志位无效原因
我的51程序中用到了位定义:bit flag; 这样定义后,运行程序,下载到电路板上,发现flag根本不是按照自己设定的值,导致函数判断错误;后来查找到了原因 将keil中options中 target中 Memory Mode中要选择下图那两种方式才行;设置好后运行程序到电路板,果然成功正确运行了; 原因:之前设置成 Small:in DATA了,因为bit变量是位可寻址变量,而在51单片机RAM中有单独的区域是可位寻址的,那就是 PDATA区,至于为什么选择XDATA也可以, 那是因为XDATA区已经包括PDATA区了;
[单片机]
基于ATMega16单片机的密码锁的设计
随着科技的发展,安全问题越来越受人们关注,各种安全产品相继问世,如指纹防盗,红外防盗等,虽然这类产品的安全性较高,但其成本也同样较高,携带安装都不方便也同样限制了其发展。本文利用ATMega 16单片机,通过4×3键盘和七段数码管显示,除实现了密码锁的密码验证、重新设置和输入错误报警等基本功能外,还创新性的实现了键盘的重新定义。通过对键盘的重新定义可以有效的防止密码被盗,同时也降低了成本,便于携带安装。 一、设计目的、用途、功能 1.设计目的 随着科技的进步,安全问题越来越受人们重视,市场上也相应的出来很多产品,如指纹防盗,红外防盗等。最然其安全性能很高,但是成本也相对较高,也不方便携带和安装。本设计的目的就是为了保证高安全性的
[单片机]
基于ATMega16<font color='red'>单片机</font>的密码锁的设计
51单片机在微机自动交换系统中稳定运行的设计方法
  MCS—51 单片机 在电力线载波通信中处理任务时的实时性尤为突出。由于该系统整机配置的主要服务对象是电力调度,且它的使用环境将来多为无人值守站,所以系统工作是否稳定直接影响到电力线载波机的整机性能。针对电力通信特点,在考虑稳定运行方面我们采取了以下几项措施。   1 设置上电延时复位电路   1.1 为什么要进行上电复位46   计算机在启动运行时都要进行复位。作为在控制领域中应用最广泛的单片机,复位处理更是设计中的关键。单片机内部的各个功能部件均受特殊功能寄存器控制,程序运行直接受程序计数器指挥,寄存器的复位状态决定了单片机内有关功能部件工作用的初始状态,而程序的正常运行就是从这个状态开始的。如果上电时没有做到正
[单片机]
51<font color='red'>单片机</font>在微机自动交换系统中稳定运行的设计方法
用8位单片机实现串口-以太网转换器
    摘要: 用8位单片机8031和ISA总线网卡,实现RS485串行设备与以太网的连接,以传送控制信令和数据文件。程序设计采用C51语言,便于移植和调试。     关键词: 以太网 串行通讯 单片机 C51 单片机或微控制器(MCU)(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与监测、伺服、指示设备配合实现一定的功能。以太网是当今最受欢迎的局域网之一,现已成为社会重要的基础信息设施,是信息流通的重要渠道。如果嵌入式系统能够连接到Internet,则可以方便、低廉地将信息传送到世界上的任何一个地方。 将嵌入式系统与Internet相连的主要困难在于:Inter
[网络通信]
MAX7219多片级联驱动点阵单片机程序编写经历
main.c #include reg52.h #include intrins.h #include Max7219.h uchar code laji ={ {0x18,0x24,0x42,0x42,0x7E,0x42,0x42,0x42},//A {0x7C,0x42,0x42,0x7C,0x42,0x42,0x42,0x7C},//B {0x3C,0x42,0x40,0x40,0x40,0x40,0x42,0x7C},//C {0x7C,0x42,0x42,0x42,0x42,0x42,0x42,0x7C},//D }; /*n毫秒的延时程序*/ /*void Delay_xms(uint x) { uint
[单片机]
MAX7219多片级联驱动点阵<font color='red'>单片机</font>程序编写经历
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved