《单片机的水温自动控制系统.doc》由会员分享,可在线阅读,更多相关《单片机的水温自动控制系统.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录1 引言12 总体方案设计12.1总体方案的确定12.1.1 控制方法选择12.1.2 系统组成22.2 硬件方案论证22.2.1 单片机系统选择22.2.2 温度测量模块选择32.2.3 数据接口的选择33 系统硬件设计43.1系统框图43.2 键盘显示电路43.3系统温度控制43.3.1前向通道43.3.2 后向通道44 系统软件设计54.1定时中断服务程序64.2 系统控制总程序65 参数计算65.1 温度采集部分及转换部分75.2 传感器输出信号放大电路部分75.3 模数转换电路部分75.4 ADC0804芯片外围电路的设计85.5 数值处理部分及显示部分95.6 PID算法的介
2、绍95.7 A/D转换模块95.8 控制模块96 系统硬件与软件调试106.1 单片机基本系统调试106.2 软件调试107 看门狗设计118 测试方法和测试结果118.1 系统测试仪器及设备118.2 测试方法118.3 测试结果119 总结12附录114附录215参考文献资料1 引言 目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能即使热水器具有辅助加热功能。也可能由于加热时间不能控制而产生过烧,从而浪费电能。本文设计的太阳能热水器控制系统以MCS-51单片机为检测控制中心单元,采用DSl2887实时时钟,
3、不仅实现了时间、温度和水位三种参数实时显示功能,而且具有时间设定、温度设定与控制功能。控制系统可以根据天气情况利用辅助加热装置(电加热器)使蓄水箱内的水温达到预先设定的温度,从而达到24小时供应热水的目的。实际应用结果表明,该控制器和以往显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点,提高了我国太阳能应用领域控制水平,具有可观的经济效益和社会效益。 水温控制系统的基本要求的要求如下: (1)一升水由1kw的电炉加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。 (2)主要性能指标,温度设定范围:30-90,最小区分度为
4、1,控制精度:温度控制的静态误差1,用十进制数码显示实际水温,能打印实测水温值。 (3)扩展功能,具有通信能力,可接收其他数据发来的命令,采用适当的控制方法实现当设定温度与环境温度突变时时间和超调量,温度控制的静态误差1,能自动显示水温随时间变化的曲线。2 总体方案设计2.1总体方案的确定 AT89C2051、AT89C51单片机是最常用的单片机,是一种低损耗、高性能、CMOS八位微处理器。AT89C2051与MCS-51系列的单片机在指令系统和引脚上完全兼容,而且能使系统具有许多MCS-51系列产品没有的功能,功能强、灵活性高而且价格低廉。AT89S51可构成真正的单片机最小应用系统,缩小系
5、统体积,增加系统的可靠性,降低了系统成本。2.1.1 控制方法选择由于水温控制系统的控制对象具有热存储能力大,惯性也较大的特点。水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,它对任何信号的响应都会推迟一段时间,使输出与输入之间产生相移。对于这样一些存在大的滞后特性的过渡过程控制,一般来说可以采用以下几种控制方案:(1) 输出开关量控制 对于惯性较大的过程可以简单地采用输出开关量控制的方法。这种方法通过比较给定值与被控参数的偏差来控制输出的状态:开关或者通断,因此控制过程十分简单,也容易实现。但由于输出控制量只有两种状态,
6、使被控参数在两个方向上变化的速率均为最大,因此容易硬气反馈回路产生振荡,对自动控制系统会产生十分不利的影响,甚至会因为输出开关的频繁动作而不能满足系统对控制精度的要求。因此,这种控制方案一般在大惯性系统对控制精度和动态特性要求不高的情况下采用。(2) 比例控制(P控制) 比例控制的特点是控制器的输出与偏差成比例,输出量的大小与偏差之间有对应关系。当负荷变化时,抗干扰能力强,过渡时间短,但过程终了存在余差。因此它适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。使用时还应注意经过一段时间后需将累积误差消除。2.1.2 系统组成就控制器本身而言,控制电路可以采用急经典控制理论
7、和常规模拟控制系统实现水温的自动团结。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,采用数字控制、显示、A/D与D/A转换,配额后执行器与控制阀构成的计算机控制系统,在过程控制过程中得到越来越广泛的应用。2.2 硬件方案论证 系统的硬件接El电路包括:控制器实时时钟接口电路、蓄水箱温度和水位检测接口电路、设定键和串行显示接口电路、看门狗和复位接El电路以及继电器输出接口电路等。2.2.1 单片机系统选择 方案一: 8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,且使用8031还需要另外购买其他的芯片,如A/D转换及定时计数器(PWM)等芯片,从而
8、造成成本较高,性价比低。 方案二: 89C51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,但是其不具备ISP在线编程技术,需把程序编写好以后再放到编程器中烧写,才可以进行硬件电路的调试,倘若程序编写出现问题,调试电路就比较麻烦,而且其芯片内存也只有4KB。 方案三:AT89C2051、AT89C51单片机是最常用的单片机,是一种低损耗、高性能、CMOS八位微处理器。AT89C2051与MCS-51系列的单片机在指令系统和引脚上完全兼容,而且能使系统具有许多MCS-51系列产品没有的功能,功能强、灵活性高而且价格低廉。AT8
9、9S51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K,四个I/O口全部提供给拥护。系统运行中需要存放的中间变量较少,可不必再扩充外部RAM。经比较应采用此方案。2.2.2 温度测量模块选择方案一:用热敏电阻:通过电阻的变化来获得电压的变化,起价格虽然便宜但是精度不是很高。对于一个精度要求高的系统不宜采用。方案二:用A/D590:通过AD590温度传感器采集温度,由于AD590是电流传感器,经过电阻转换为电压。虽然价格较高但是精度高。但是其不具备ISP在线编程技术,需把程序编写好以后再放到编程器中烧写水在容器内的流动或热量传递都存在一定的阻
10、力,因而可以归于具有纯滞后的一阶大惯性环节。经比较,我选择方案二。图2-1 DS18B20引脚2.2.3 数据接口的选择 在串行通信时,要求通信双方都采用一个标准接口,是不同的设备可以方便地连接起来进行通信。当前流行的接口有:RS-232-C和RS-485。 方案一: RS-232-C总线标准设有25条信号线,且片内ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,RS-232-C标准规定的数据传输速率为每秒50,75,100,150,300,600,1200,2400,4800,9600,19200波特。最大通信距离为l5m。因此一般用于20m以内的
11、通信。 方案二: RS-485总线,通信距离为几十米到上千米时,因此长距离要求时被广泛采用。RS-485采用半双工工作方式,且片内ROM全部采用Flash ROM,电路原理同无水检测电路相似,在容器的顶部装上金属传感片,当水位上升至金属片位置时,电平发生跳变,其中加热装置可用小功率的电热棒,根据测量温度与设定温度的差值和89C51单片机的算法生成控制信号,控制电热杯的通电与断电。它可达到加热的目的,又较容易实现对温度的控制。而降温装置可用加入冷水的方法,用一个分流阀实现对冷水加入量的控制,当水的温度过高要进行降温时,降温驱动电路工作,打开分流阀,缓慢注入冷水,动态温度比较,实现对温度的实时控制
12、。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,应用RS一485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。故本系统采用RS-485接口。3 系统硬件设计3.1系统框图图3-1 系统框图3.2 键盘显示电路本模块以AT89C2051单片机为核心,利用138译码器对显示器动态扫描及作为键盘的扫描线,如果直接由单片机控制,一方面必须扩充系统I/O口,另一方面,键盘与LED显示的扫描处理占用大量机时,增加软件编程负担。3.3系统温度控制3.3.1前向通道以AT89C51单片机为控制核心,RS-485总线,通信距离为几十米到上千米时,因此长距离要求时被广
13、泛采用。当然,系统同时也存在几点缺点。在选择STC89C51单片机的控制器时用了速度相对较慢的单片机,若采用速度更快的单时钟周期系列的单片机,提高采样频率,控制精度将会更高。同时本系统没有采用与上位机通信的方式,这样在实际的应用中会有些不便。另外此设计虽然能够完成温度的显示和控制,但是功能和精度有待于进一步提高。以后可以通过加入PID算法优化控制功能,并通过液晶显示屏实时显示温度。RS-485采用半双工工作方式,且片内ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,应用RS一48
14、5可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。故本系统采用RS-485接口,程序需要占用很大的存储空间,PID运算中间结果及输出结果等十几个变量.因而8051片内的RAM能够满足要求,可不必再扩展。3.3.2 后向通道 后向通道是实现控制型号输出的通道,单片机系统产生的控制信号经过功率放大器的放大控制电炉的输入功率,同时本系统没有采用与上位机通信的方式因此它适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。以实现水温的控制的目的。同时本系统没有采用与上位机通信的方式,根据系统的总误差要求,后向通道的控制精度也要应控制在0.83%之内。4 系统软件设计
15、系统软件由主程序、键盘扫描、LED显示、串行口中断组成。 (1)初始化。但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,采用数字控制、显示、A/D与D/A转换使输出与输入之间产生相移。采集到温度,经放大,AD转换后送单片机处理,当然,系统同时也存在几点缺点。在选择STC89C51单片机的控制器时用了速度相对较慢的单片机,若采用速度更快的单时钟周期系列的单片机,提高采样频率,控制精度将会更高。同时本系统没有采用与上位机通信的方式,这样在实际的应用中会有些不便。另外此设计虽然能够完成温度的显示和控制,但是功能和精度有待于进一步提高。以后可以通过加入PID算法优化控制功能,并
16、通过液晶显示屏实时显示温度。再通过串行口发送到显示模块因为考虑到PID运算时需要调用浮点数运算程序库对于这样一些存在大的滞后特性的过渡过程控制经放大,AD转换后送单片机处理,设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始状态。系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景 (2)读温度程序 通过DS18B20的侧温.RS-485总线,通信距离为几十米到上千米时,因此长距离要求时被广泛采用。根据测量温度与设定温度的差值和89C51单片机的算法生成控制信号,控制电热杯的通电与断电。RS-485采用半双工工作方式,且片内ROM全部采用Flash ROM,在软件上,基
17、于89C51单片机的算法的温度控制系统采用了经典的89C51单片机的算法,从某个角度上说这种算法优于传统的控制算法,有更稳定、控制精度更高等优点,而控制量的输出上采用了模拟的PWM变换,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,但随着计算机与超大规模集成电路的迅速发展,以现代控制理论和计算机为基础,应用RS一485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。故本系统采用RS-485接口。 (3)调用PID算法子程序通过键盘模块发送过来的数据,即给定值,和测量值进行计算,输出PWM波.对电炉的水温度进行控制.采集到温度,经放大,AD转换后送单片机处理,再通过
18、串行口发送到显示模块因为考虑到PID运算时需要调用浮点数运算程序库,程序需要占用很大的存储空间,采集到温度,水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,它对任何信号的响应都会推迟一段时间,因此长距离要求时被广泛采用。RS-485采用半双工工作方式,且片内ROM全部采用Flash ROM,同时本系统没有采用与上位机通信的方式确定硬件连接,软件设计分模块进行,然后将各模块综合实现所需要求,最后对系统进行测试以验证其正确性。这个水温控制系统是以AT89C51单片机为核心,配合温度传感器,信号处理电路,显示电路,输出控制电路等
19、组成,软件选用汇编语言编程。根据测量温度与设定温度的差值和89C51单片机的算法生成控制信号,控制电热杯的通电与断电。它能于3V的超低压工作,与MCS-51系列单片机完全兼容,同时本系统没有采用与上位机通信的方式但是其不具备ISP在线编程技术任何时候只能有一点处于发送状态,因此发送电路使能信号加以控制。理论和计算机为基础,采用数字控制、显示、A/D与D/A转换使输出再通过串行口发送到显示模块因为考虑到PID运算时需要调用浮点数运算程序库对于这样一些存在大的滞后特性的过渡过程控制经放大。PID运算中间结果及输出结果等十几个变量控制电路可以采用急经典控制理论和常规模拟控制系统实现水温的自动团结。4
20、.1定时中断服务程序采样定时由定时器0的定时操作完成,定时器0的定时初值时间由PID的运算结果控制。 4.2 系统控制总程序入口返回P0.0输出高电平脉宽标志位清0P0.0输出低电平把脉宽标志位置1脉宽标志位是高电平?NY图4-2 系统控制总流程图5 参数计算 系统调试包括硬件调试和软件调试。按+键设定温度值加一;按-键设定温度值减一;按设温键,可任意设置温度,输入相应的数值,按确定键即可,按取消键则返回前一次设置的值;按初始键则返回刚一开机的状态。软件的调试府在仿真器提供的单步、断点、跟踪等功能的支持下对各子程序分别进行调试将调试完的工程序连接起来再调试逐步扩大调试范围。5.1 温度采集部分
21、及转换部分 我使用AD590来采集外界的温度。AD590是美国模拟器件公司生产的单片集成两端感温电流源。 它的主要特性如下: (1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数, 即:mA/K式中:流过器件(AD590)的电流,单位为mA;T热力学温度,单位为K。 (2)AD590的测温范围为-55+150。 (3)AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 (4)精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+
22、150范围内,非线性误差为0.3。由于AD590采集的输出数据是模拟量电流,而且很小,不易测量,所以我要将电流量转换成电压量,这样有利于后面的放大及D/A转换。我改用一个固定电阻(9.1k或10k)和一个电位器(1K)串接的方法,这样可以通过调节电位器使得每路输出电压基本一致。如以0为参考值则应使其电压输出为2.73V;如以25为参考值,则应使其电压输出为2.98V.5.2 传感器输出信号放大电路部分 由于取得的电压量很小,我选用LM324做为运放,以为其内部带有四个运放,可以使得运放部分在电路版上不占用太大的体积。我用了其内部的三个运放。第一级运放我做成射级跟随器的形式,起到阻抗匹配的作用。
23、5.3 模数转换电路部分这部分最初想用ADC0809的,但为了配合使用CD4051,我最终选择了ADC0804。ADC0804的规格及引脚图 8位CMOS逐次逼近型的A/D转换器三态锁定输出存取时间:135s;分辨率:8位;转换时间:100s;总误差:1LSB;工作温度:ADC0804LCN0+70;ADC0804LCD-40+85; 引脚图及说明如图所示:图5-1 AT89C51引脚图/CS:芯片选择信号。/RD:外部读取转换结果的控制脚输出信号。RD为高时,DB0DB7处于高阻抗; /RD为低时,数字数据才会输出。/WR:用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/
24、WR由高变为低时,转换器被清除;当/WR回到高时,转换正式开始。CLK IN, CLK R:时钟输入或接振荡元件(R,C),频率约限制在100kHz1460kHz, 如果使用RC电路则其振荡频率为1/(1.1RC). /INTR:中断请求信号输出,低电平动作。VIN(+)、VIN():差动模拟电压输入。输入单端正电压时,VIN()接地;而差动输入时,直接加入VIN(+)、VIN()。AGND,DGND:模拟信号及数字信号的接地。VREF:辅助参考电压。DB0DB7:8位的数字输出。VCC:电源供应以及作为电路的参考电压。 众所周知, 精度是数据采集系统的重要指标, 模数转换器的量化误差是影响系
25、统精度的主要因素,A/D转换器的位数越多, 其量化误差越小, 设A/D转换电路的模拟输入电压为Vi当模数转换器的位数选定后, 其相对误差D与其模拟输入电压V i成反比。因此只有将输入信号V i 预放大到接近参考电压V ref, 才能充分发挥A/D转换器位数的效能, 减小量化误差, 提高系统数据采集精度。此即为引入前置放大器的目的之所在。 当输入电压越大,A/D转换的相对误差越小,当然输入电压不能大于A/D最大转换电压。因此为了减少A/D转换误差,对输入信号进行放大。5.4 ADC0804芯片外围电路的设计 (1)19脚的CLKR端接一个10k的电阻和150PF的电容,根据公式f=1/(1.1R
26、C),可算得时钟输入频率为0.6兆左右。 (2)9脚:选择470k的电阻、5k的电位器和2.7伏的稳压管来调节芯片的相对电压。本电路中应调节电位器使得9脚电压为2 .56伏。 (3)1、7、8脚接地。 (4)6脚接运放的输出端,采集收集到的信号,经过A/D转换最后输出8位2进制数,这样就可以送到单片机里进行处理了。5.5 数值处理部分及显示部分数值处理部分:我采用8051芯片,其内部自带程序存储器。其外接12 兆的晶振来 给起供应震荡频率。9脚接一个10F的电解电容再接地,来实现复位功能。/RD和/WR分别与ADC0804的/RD和/WR相连,实现数据的读写控制。P2.4脚与ADC0804的/
27、INTR相接,可以通过编程来判断该脚的高低来得知A/D转换是否完成。P1.4P1.7及P2.7口分别外 接一个4.7k的电阻接至三极管的C端,来控制三极管的通断,来控制5个数码管的亮暗。P2.0P2.2口分别与ADC0804的9、10、11脚来控制选择的路数。5.6 PID算法的介绍在模拟系统中: P(t)调节器的输出信号: e(t)调节器的偏差信号,它等于测量值与给定值之差; KP调节器的比例系数; TI调节器的积分时间; TD调节器的微分时间。5.7 A/D转换模块转换模块由于系统对信号采集的速度要求不高,故可以采用价格低的8位逐次逼近式A/D转换器ADC0804,该转换器转换速度为100
28、us,转换精度为0.39%,对应误差为0.2340C。故采用AD0804,ADC0804是8位模数转化电路,它能把模拟电压值转化为8位二进制码,其转化公式如下:DX=VIN*256/VREF我这里设置VREF等于5V(因为这里悬空没接,查资料可知其为5V)。A/D转换器时钟电路参数计算,ADC0804片内有时钟电路,其振荡频率可按下式计算:fclk1/1.1RC式中R和C分别是CLK_R和CLK_IN两端外接一对地电阻、电容的阻容值。其典型应用参数为R=10K,C=150PF。此时fclk640kHz,A/D转换时间约为103s。A/D转换器的INTR与89C51的P1.0相连,单片机以查询方
29、式获取A/D转换器转换完毕的信息。5.8 控制模块 由于用单片机来控制双向晶闸管,而晶闸管阳极和阴极间所接的是220V的交流电压,故本电路在中间加了一个光电耦合器件,使低压区和高压区隔离开。光电耦合器件采用的是MOC3041,其耐压值为400V,可以满足本设计的要求。而光电耦合器件的工作电流较大,因此前面需加放大电路,采用的是小功率硅三极管9012可满足要求,另外为了保护光电耦合器件需在高压侧接一个大功率电阻。双向晶闸管的选取:由于负载是1KW的电炉,用于控制负载输入功率的双向晶闸管应能满足负载对工作电压、电流的要求。6 系统硬件与软件调试温系统经温度传感器和信号放大器产生05V的模拟电压信号
30、送入A/D转换器的输入端,A/D转换器将模拟量转换为数字量通过系统总线送入单片机进行运算处理。硬件电路的调试应依次对单片机基本系统、前向通道和后向通道分别进行调试。调试时可利用仿真器对各接口地址进行读写操作,静态地测试电路各部分的连接是否正确;对于动态过程(如中断响应、脉宽调制输出等)可以编写简短的调试程序配合硬件电路的调试。6.1 单片机基本系统调试 (1)晶振电路,将仿真器晶扳开关打到外部,如果仿真器出现死机现象,说明用户系统晶振电路有问题,此时应用示波器观察单片机时钟信号,或输入端是否振荡信或检查品振电路各器件参数。 (2)复位电路,按下复位按钮应使系统处于复位状态,否则用用表检查复位电
31、路各点信号和器件参数。LED显示电路本电路采用8个共阴的数码管动态显示,前4个为设定温度,后4个为实测温度。动态扫描时采用74LS138对这8个数码管轮流扫描,进行位控,而P1口是进行段控信号的控制,为了增加数码管的亮度,共阴端有三极管来驱动它的电流。键盘接口电路本电路采用键盘扫描法对16个按键进行读取状态。使用行列式,把这16个按键分为82,采用74LS138对8行键盘轮流扫描,再通过P3.2和P3.7列读进来,从而判断按键是否按下前向通道调试比较简单,后向通道调试,传感器电路部分。 温度传感器种类较多热电偶由于热电势较小,因而灵敏度较低;热敏电阻由于非线性而影响精度;铂电阻温度传感器由于成
32、本高,在一般小系统中很少使用。AD590是美国Analog Devices公司生产的二端式集成温度传感器,具有体积小、重量轻、线性度好、性能稳定等一系列优点。它的测温范围为-50+155C,满刻度误差为0.3C,当电源电压在510V之间,稳定度为1%,误差只有0.01C,完全适用于本设计对水温测量的要求。6.2 软件调试 软件的调试府在仿真器提供的单步、断点、跟踪等功能的支持下对各子程序分别进行调试将调试完的工程序连接起来再调试逐步扩大调试范围。调试的过程一般是:(1)测试程序输入条件或设定程序输入条件; (2)以单步、断点或跟踪方式运行程序; (3)检查程序运行结果;(4) 运行结果不正确时
33、查找原因。修改程序,重复上述过程7 看门狗设计 单片机最易受干扰的是内部计数器PC的值。在受强干扰的时,PC值改变,改变后的值又是随机的,为一不确定值。因此,对系统内核CPU进行R软件抗干扰显得尤为重要,本设计采用的是看门狗设计。 看门狗(Watchdog)电路是嵌入式系统需要的抗干扰措施之一。本文用X25045芯片设计了一种新的看门狗电路,具有体积小、占用I/O口线少和编程方便的特点,可广泛应用于仪器仪表和各种工控系统中。系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。看门狗(Watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包
34、含看门狗电路。8 测试方法和测试结果 8.1 系统测试仪器及设备 双路跟踪稳压稳流电源DH1718E-5 直流稳压电源 数字示波器Tektronix TDS1002 伟福E6000/L 仿真器 多功能数字表GDM-8145 数字万用表 0100温度计、调温电热杯、秒表8.2 测试方法 由于系统不完善,我采用的是分步调试的方法,步骤如下: (1)在水杯中存放1L净水,放置在1KW的电炉上,打开控制电源,系统进入准备工作状态。 (2)先调零,先将OP07的2、3脚短路,然后调节滑动变阻器,使六脚输出为0。 (3)在改变温度使温度为35时输出为0V,温度为95时输出为5V。在65时为2.5V。 (4
35、)在结合软件进行水温控制,假如设定温度为88,而实际温度为55,那么就加热使水问到达88,此时水炉会自动断电,当水温低与88,水炉有会自动加热实现控制的作用。 (5)然后在双机通讯,用键盘设定温度,结合软件加以控制。8.3 测试结果 测量温度与给定温度的相应值用温度计标定测温系统。读取温度DS18B20模块的流程图,DSI8B20温度传感器的内部存储器包括一个高速暂存RAM(便笺式的内部存储器)和一个非易失性的可电擦除的EEPROM,后者存放高温和低温触发器TH,TL和结构寄存器。分别是水温稳定在35、45、55、65、75、85,观察系统测量温度值和实际温度值,尽量校准系统使测量误差在1以内
36、。记录测量数据填入表1。由下表可以看出,实测温度和给定温度之间的绝对温度超出了1之间,由于系统显示数值没有小数部分,系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标,铂电阻温度传感器由于成本高,在一般小系统中很少使用。AD590是美国Analog Devices公司生产的二端式集成温度传感器抗干扰能力是衡量工控系统性能的一个重要指标。抗干扰能力是衡量工控系于1的,测量结果不是很满足系统误差的要求。打开电源,电路自动复位,首先不要接入DS18B20,此时数码管显示错误8888,然后接入DS18B20,字节0的内容是温度的低8位,字节1是温度的高8位,字节2
37、是TH(温度上限报警),但让其处于无水状态,此时数码管显示错误8888,并且蜂鸣器发出报警声。接着让DS18B20处于有水状态,此时数码管显示DS18B20所读到水的当前温度T1,用温度计测量水的当前温度T2,字节0的内容是温度的低8位,字节1是温度的高8位,字节2是TH对比T1与T2的值,通过按键设定某个值,并使这个值大于当前温度值,当退出“确认”按键时,观察到继电器1能够吸合。再次通过按键设定一个值,并使这个值小于当前温度值,当退出“确认”按键时,也能观察到继电器2的吸合,所测数据如表8-1。在原理上基本能达到预期效果。源程序见附录2。表8-1 温度变化记录图9 总结 根据设计要求,调试完
38、成的系统应作全面的指标测试。测试过程如下: (1)通过键盘输人水温给定值,输入范围能满足40一90C区分度为1 C的要求。 (2)运行水温控制系统,观察水温变化情况测量水温静态误差,该误差应能满足要求。 (3)在给定突变或环境温度突变的情况下,观察系统的调节时间和超调量,并能根据需要改变系统控制参数,实现不同的控制品质要求。 通过这次实验, 了解了传感器A/D590的特性和其应用。也收获了很多关于单片机相互通信的知识。特别是对PID算法有了一定的了解。在整个系统的制作过程中,温度的采样遇到了很大的困难,电阻值没有调准。还有在PCB板的制作过程中预先没有设置好线条的粗细,在加220V电压的线路中
39、,线条应该加粗,防止相互之间的干扰。本系统温度采样,PWM波和通信都已经已经完成,但是由于PAB板不能加220V电压,故而没有最总完成电路系统。使我的动手能力提高了许多,能够让我在做电路时,自己来解决碰到的问题,学会了怎样去分析电路,怎样把所学到的知识和实际相起来。但是由于自己是第一次真正做系统,所以在很多方面都没有经验,故而并没有完成老师的要求,今后将都作系统来加强自己这方面的不足。附录1总电路图如下:附录2ORG 0000HLJMP MAINORG 0030HMAIN: MOV SP,#29H MOV 40H,#00H MOV 41H,#00H MOV 42H,#00HNEXT: JNBP
40、3.4,NEXT1CLR P2.3LCALL ERRLCALL DLYSETBP2.3LCALL DLYSJMPNEXTNEXT1:SETB P2.3 LCALL READ_TEMPJB 20H.0,NORMAL LCALL ERR SJMP NEXTNORMAL:LCALL DATA_DEA LCALL BtoBCD LCALL ZHUANHUAN LCALL SCAN_KEY LCALL DISPLAY LCALL SWITCH JNB P3.5 NEXT2 CLR P2.4NEXT2: SJMP NEXTERR: MOV R4,#08HMOV R5,#08HMOV R6,#08HMOV
41、R7,#08HLCALL ZHUANHUANLCALL DISPLAYRETDLY: MOV R3,#01HLOOP: MOV R2,#3FHLOOP6: NOP DJNZ R2,LOOP6 DJNZ R3,LOOP5 RETDATA_DEA:MOV A,R6 MOV C,ACC.7 MOV F0,C JC SEPERATE1 SJMP SEPERATE2SEPERATE1:MOV A,R6 CPL A MOV R6,A MOV A,R7 CPL A CLR C INC A MOV R7,A MOV A,R6 ADDC A,#00H MOV R6,ASEPERATE2:MOV 30H,R7 A
42、NL 30H,#0FH MOV R0,#12HSEPERATE3:MOV A,R6 RRC A MOV R6,A MOV A,R7 MOV A,31H RRC A MOV 31H,A DJNZ R0,SEPERATE3 MOV R6,31H MOV R7,30H RETBtoBCD:MOV A,R6 MOV B,#100 DIV AB MOVR4,A MOVA,B MOVB,#10 DIVAB MOVR5,A MOVR6,B MOVA,R7 MOVB,#5 MULAB MOVB,#10 DIV AB MOV 30H,A MOV A,R7 MOV B,#2 MUL AB ADD A,30H MO
43、V B,#10 DIV AB MOV 30H,A MOV A,R7 MOV B,#6 MUL AB RET UAN1: MOV A,R4 MOVC A,A+DPTR MOV 35H,A ADD A,30H MOV B,#10 MOV R7,A MOV A,B CLR C SUBB A,#5 JC ZHUANHUAN1 INC R7 ZHUANHMOV A,R5 MOVC A,A+DPTR MOV 36H,A MOV A,R6 MOVC A,A+DPTR MOV 37H,A MOV A,R7 MOVC A,A+DPTR MOV 38H,A INC 37H MOV A,35H CJNE A,#0FCH,ANDY2 MOV 35H,#00H MOV A,36H CJNE A,#0FCH,ANDY2 MOV 36H,#00H ANDY2:JB F0,ANDY3 SJMP ANDY ANDY3: MOV A,35H CJNE A,#00H,ANDY MOV A,36H CJNE A,#00H,IVERSON MOV 36H,#02H SJMP ANDY IVERSON:MOV 35H,#02H ANDY:RET TABLE:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H