水温控制系统 论文

  • 格式:docx
  • 大小:472.94 KB
  • 文档页数:13

目录摘要 (2)Abstract (2)第一章设计实验任务和要求 (3)1.1 任务 (3)1.2 要求 (3)第二章设计方法与论证 (4)2.1 温度检测电路的方案选择 (5)2.2 显示电路的方案选择 (5)2.3 加热和控制方案选择 (5)2.4 控制算法选择与论证 (6)第三章系统理论分析与计算 (6)3.1 系统方案设计 (6)3.2 测温电路设计 (7)3.3 水温控制电路设计 (7)3.4 系统供电电路设计 (8)3.5 系统显示和按键控制设计 (8)3.6 单片机最小系统设计 (9)3.7 控制算法 (10)3.8 系统电路图 (12)第四章测试方法与结论析 (13)4.1 温控测量 (13)4.2 结论分析 (13)摘要通过分析和论证,我们系统采用的以STC89C52为主控芯片,以防水型DS18B20作为温度传感器。

加热部分采用的是电热棒。

该控制系统可以根据设定的温度,通过PID算法调节和控制PWM波的输出,控制电磁继电器通断时间从而控制水温的自动调节,系统设计了相关的硬件电路和相关应用程序。

该系统主要包括STC89C52单片机最小系统,DS18b20测温模块、键盘模块.LCD液晶显示模块,过零检测和继电器控制模块等构成。

关键词: STC89C52 DS18B20 LCD12864 过零检测 PWM PID算法AbstractThrough the analysis and argumentation .Our system USES to STC89C52 for master control chip.With waterproof model as a temperature sensor DS18B20. Heating part adopts is electrical bar.The control system can be set according to the temperature .Through the PID algorithm to adjust and control PWM wave output . Control electromagnetic relay on-off time so as to control water temperature automatic control .The relevant system design of hardware circuit and related applications .The system mainly include STC89C52 SCM minimum system .DS18b20 temperature measurement module .Keyboard module .LCD liquid crystal display module .Zero crossing detection and relay control module composition .Key Words:STC89C52 DS18B20 LCD12864 Zero crossing detection PWM PID algorithm一设计实验任务和要求一 .任务设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。

二 .要求1.基本要求(1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。

(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。

(3)用十进制数码管显示水的实际温度。

2.发挥部分(1)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

(2)温度控制的静态误差≤0.2℃。

(3)在设定温度发生突变(由40℃提高到60℃)时,自动打印水温随时间变化的曲线。

二设计方法与论证2.1 温度检测电路的方案选择方案一:线性NTC温度传感器,它是一种线性温度-电压转换电路,在通过工作电路(100uA)的条件下,元件的电压值随温度呈线性变化。

测温范围在-200~+200℃之间。

但是这个温度值对应于唯一的电压值,读取的是电压,需要做相应的转换才能变成温度,所以这样就不方便。

方案二:使用数字温度传感器DS18B20检测温度(如图2.1),内含AD转换器,因此线路连接十分简单,它无需其他外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单,它能够达到0.5℃的固有分辨率,使用读取温度暂存寄存器的方法还能达到0.2℃以上精度,应用方便,这样的电路主要工作量就集中到了单片机软件编程上,故我们选用该方案。

图 2.1 DS18B20 芯片封装原理图2.2 显示电路的方案选择方案一:使用数码管显示,通过数码管显示被测温度和设定温度。

该方案程序简单,但硬件占用单片机I/O口较多,对于尽量节约端口,并且只能显示数字和少数几个字母,不能显示汉字显示功能提示,只能显示一行。

故放弃此方案。

方案二:使用液晶屏1602显示,可以显示设定温度及测量温度,但显示时1602只能显示两行,且也只能显示字符及数字,不能显示汉字及曲线,不够完善本次设计中功能,故我们放弃选择方案二。

方案三:使用液晶屏lcd12864,可以显示字母,数字及汉字,而且一次可以显示4行,显示很直观,通过字幕显示模式、温度、曲线。

该方案程序较复杂,但是显示所需图形代码较简单且显示观察清晰,显示更加直接明白,且可以显示温度曲线,故为最佳方案,我们选择方案三。

2.3 加热和控制方案选择方案一:使用电热炉进行加热,控制电炉的功率即可控制加热速度,当水温过高时,关掉电炉即可,但考虑到电炉成本较高,且精度不好控制,故不选用。

方案二:是使用可控硅控制加热器的工作。

可控硅是一种半控器件,通过控制导通角的方式来控制,对每个周期的交流电进行控制,因为导通角连续可调,故控制精度较高,但是控制不当易造成电磁干扰须加装各种防制措施,而且费用较高。

方案三:通过控制继电器通断来控制加热器工作,固态继电器使用非常简单,而且没有触点,无需外加光耦,自身就可以实现电气隔离,还可以频繁动作。

可以使用类似PWM的方式,通过控制固态继电器的通断时间来调节占空比,从而来控制加热功率。

此方案实行较为简单而且价格较为便宜。

所以我们选择方案三。

2.4 控制算法选择与论证方案一:通过软件来调节占空比。

根据实时的水温值来调节温度,由于水温值变换快,且惯性大。

通过软件控制不仅需要写大量的代码而且控制精度还会受到影响。

方案二:通过采用PWM控制加PID算法,通过采用PWM可以产生一个矩形波形,而矩形波形的占空比是通过PID算法调节,PID算法会不断的获取当前的温度值,通过设定好的参数进行比较和调节。

这样就可以实时调节加热棒的功率进而控制温度的变化,从而使精度提高,我们选择方案二。

三系统理论分析与计算3.1 系统方案设计通过对题目进行分析和思考,整个系统可以分为以下几个部分:单片机最小系统,测温电路,加热控制电路,过零检测电路,显示电路,系统框图如下:图 3.1 系统总体方案3.2 测温电路设计测温电路采用的是DS18B20数字式温度传感器,无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源测量温度范围为-55 ° C至+125 ℃。

最小分辨率为0.0625 ° C。

DS18B20温度传感器只有三根外引线:单线数据传输总线端口DQ ,外供电源线VDD,共用地线GND。

外部供电方式(VDD接+5V,且数据传输总线接4.7k的上拉电阻,其接口电路如图3.2所示。

图 3.2 DS18B20 温度传感器接口3.3 水温控制电路设计本系统采用的是继电器控制加热棒。

我们采用的是JQC-3F继电器(如图3.4)。

因为要用到220V的加热棒加热,而加热棒没有开关,因此我们必须制作一个开关来控制加热棒的通断。

JQC-3F继电器线圈功耗低,可直接焊接在印刷线路板上。

与继电器连接的是三极管和二极管,通过电阻将其与单片机端口P1.0相接。

低电平导通,高电平截止。

控制部分电路如下图3.3.图 3.4 JQC-3F继电器图 3 .3 加热控制电路3.4 系统供电电路设计该系统的供电部分是由9v的电池和整流稳压模块构成,单片机最小系统需要5v的电源,我们采用了LM7805和滤波电容等来将电压变到5v。

电路的原理图如下:图 3.5 5v稳压电路3.5 系统显示和按键控制设计在经过分析论证之后,我们按键控制采用的是4*4的独立键盘,电路图如图3.6,显示部分我们采用的是12864液晶模块。

通过相应的程序,可以实现非常美观,丰富的显示界面,及温度变化曲线。

通过键盘的控制,可以让LCD 在普通显示模式切换到温度曲线变换模式下,使用起来效果十分明显。

12864液晶电路图如下:3.6 单片机最小系统设计本系统采用的STC89C52芯片,STC89C52是增强型8051 单片机,是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

该单片机性能较为可靠,价格便宜。

使用起来很简单。

下面是它的引脚图和电路图。

图 3. 8 stc89c52单片机引脚图图 3.9 stc89c52 最小系统图3.7 控制算法控制算法是这次实验的核心,是控制温差精度的关键,我们这里用的是PID 算法。

PID控制算法是控制理论中应用很广泛的一种算法,对于一般控制系统来说,PID 算法从某种意义来说具有通用性,对各种系统具有广泛的适用性,通过现场的参数调试,可以达到很好的控制效果。

在过程控制中,按偏差的比例(P )、积分(I )和微分(D )进行控制的PID 控制器。

PID 调试一般原则:a.在输出不振荡时,增大比例增益P 。

b.在输出不振荡时,减小积分时间常数Ti 。

c.在输出不振荡时,增大微分时间常数Td 。

确定比例增益P 时,首先去掉PID 的积分项和微分项,一般是令Ti=0、Td=0(具体见PID 的参数设定说明),使PID 为纯比例调节,由0逐渐加大比例增益P ,直至系统出现振荡;再反过来,从此时的比例增益P 逐渐减小,直至系统振荡消失,记录此时的比例增益P ,设定PID 的比例增益P 为当前值的60%~70%。

比例增益P 调试完成。

Ti 和Td 的调节也如此理。

图 3.10 PID 控制系统图对于我们这次水温控制系统的设计,我们同样也可以使用PID 控制算法,具体算法如下:e(i)=t 测-t 设E=o i i d i j j ii P i u e e T T e T T e K u +-++=-=∑)]([10 (2)∑e(i)算法中,u(i)为当时的功率输出。