基于继电器的水温控制系统_第1页
基于继电器的水温控制系统_第2页
基于继电器的水温控制系统_第3页
基于继电器的水温控制系统_第4页
基于继电器的水温控制系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE18基于继电器的水温控制系统摘要:单片机在检测和控制系统中得到广泛的应用,温度则是系统常需要测量、控制和保持的一个量。本文从硬件和软件两方面介绍了基于继电器的温度控制系统的设计,对硬件原理图和程序框图作了简洁的描述。关键词:单片机;温度传感器;温度;测量设计要求:1.用51单片机控制水槽的加热温度。从现在的室温加热到目标温度40℃。2.加热棒功率2KW,控制器为继电器。3.要求在尽可能短的时间内将水从室温加热到目标温度,并且能够保持在目标温度附近的一定精度范围内。一工作原理该水温控制系统主要由单片机控制系统、前向通道(温度采样转换电路)、后向通道(温度控制电路)、键盘显示电路等四部分组成,其总体设计框图如图1所示。显示电路显示电路加热装置测试部分键盘输入控制部分图1单片机控制系统原理框图单片机控制系统原理如图1所示,其工作原理是单片机依次查询各传感器的输出信号(水温模拟传感器输出的模拟信号需要经过温度传感器进行模数转换);然后对输入信号进行相应处理后通过显示模块输出。单片机控制系统是以单片机为核心,配合温度传感器,信号处理电路,显示电路,输出控制电路组成,软件选用汇编语言编程。单片机可将温度传感器检测到的水温模拟量转换成数字量,显示于显示器上。功能由硬件和软件两大部分协调完成,硬件部分主要完成各种传感器信号的采集、转换,各种信息的显示;软件主要完成信号的处理及控制功能等。前向通道是系统的温度采样转换电路,它主要包括传感器、信号调理系统、A/D转换芯片。其中A/D转换芯片是整个前向通道的核心。后向通道是系统的温度控制电路,在单片机控制系统中,单片机总是要对被控制对象实现控制操作,因此,在这样的系统中,需要有后向通道。后向通道是计算机实现控制运算处理后,对被控对象的输出通道接口。系统的后向通道是一个输出通道,其特点是弱电控制强电,即小信号输出实现大功率控制。键盘显示电路既是用键盘输入的方式来控制单片机,以实现人们的需求。键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。二系统设计基本方案确定单片机控制系统总体方案是进行系统设计最关键一步,总体方案的好坏直接影响整个控制系统的性能及实施细则,其设计主要是根据被控对象的任务及工艺要求而确定。根据题目要求系统模块可以划分为:控制器模块,加热装置模块,温度采集模块,键盘与显示模块四个部分。2.1控制器模块设计方案根据题目要求,控制器主要用于对温度测量信号的接受和处理,控制电热丝和风扇使控制对象满足设计要求,控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。控制器模块可以选择以下方案:采用单片机89C51为核心。采用了温度传感器DS18B20采集温度变化信号,并通过单片机处理后去控制温度,使其达到稳定。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

1.主要特性:

与MCS-51兼容

4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

全静态工作:0Hz-24Hz

三级程序存储器锁定

128*8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

2.管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

5.结构特点:

8位CPU;

片内振荡器和时钟电路;

32根I/O线;

外部存贮器寻址范围ROM、RAM64K;

2个16位的定时器/计数器;

5个中断源,两个中断优先级;

全双工串行口;

布尔处理器;

2.2加热装置模块设计方案本设计使用功率2KW的加热棒进行加热,控制加热棒的功率即可以控制加热的速度。对加热装置模块可以选择以下方案:采用继电器控制。使用继电器可以通过较高的电压和电流,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制,提高系统动态性能。采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好的效果。2.3温度采集模块设计方案本设计温度信号为模拟信号,要对温度进行控制和显示,所以要把模拟量转换为数字量。该温度采集模块可以选择以下方案:采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。DS18B20与传统的热敏电阻相比,他能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。2.4键盘与显示模块设计方案为了方便的修改控制参数,系统设计了键盘与显示电路。显示器的扫描方式一般有静态显示和动态显示,对于多位LED数码显示器,通常采用动态扫描方法,即逐个地循环地点亮各位显示器。这样虽然在任一时刻只有1位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮的效果基本一样(在亮度上要有差别)。静态显示显示多位LED时,硬件电路结构比较复杂,为简化电路结构,电路中没有采用译码器,直接用单片机程序进行编码输出,这样使硬件结构清晰。图2显示电路此电路中的LED数码显示器是8段共阳极接法,所以显示0、1、2、3、4、5、6、7、8、9时分别对应编码C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H,要显示小数点时,只需再将相应的编码的最高位置0。由于LED显示器的段电流为8mA左右,所以不能由单片机直接驱动,因此接上驱动器74LS245八双向总线收发器,而LED显示器的公共端的驱动电流较大,8段全亮时需约40~60mA。因此在单片机与LED的公共端之间接上三极管做为电流驱动器以提高驱动能力。此三极管采用的是PNP型。表174LS245输入与输出键盘采用非编码键盘结构,目的为了简化硬件电路,图3和4表示了此4*4行列式键盘的结构示意图。4*4表示有4根行线和4根列线,在每根行线和列线的交叉点上均匀分布1个单触点按键,共16个按键。其中定义0~9十个数字键,小数点,开/关键,显示参数键,设定值键。P1.4P1.5P1.6P1.7P1.0第一行P1.1第二行P1.2第三行P1.3第四行第1列第2列第3列第4列图3键盘示意图图4键盘电路三系统各模块的总体设计方案继电器随着设定的温度,依据情况跳变。加1键Up键(P1.1),当按下

Up,调节当前温度。减1键Down

键(P1.2),当按下Down,调节当前温度。OutputOutputLCD数码管继电器DS18B20键盘输入89C51Input图5系统基本框图系统的基本框图如上图5所示。CPU首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过89C51来处理数据。数据处理后的结果就显示到数码管上。另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到继电器。DS18B20可以被编程,所以箭头是双向的。四硬件设计与实现该系统设计目的为一实验系统,系统设计要求:用51单片机控制水槽的加热温度。从现在的室温加热到目标温度40℃。加热棒功率2KW,控制器为继电器。要求在尽可能短的时间内将水从室温加热到目标温度,并且能够保持在目标温度附近的一定精度范围内。单片机初始化模块继电器控制模块键盘扫描模块(扫描有无单片机初始化模块继电器控制模块键盘扫描模块(扫描有无Enter键按下)测到温度值,存放到Buffer中处理温度值,换算成BCD码温度显示模块图6系统硬件模块关系图4.1温度采集部分设计本系统采用半导体温度传感器作为敏感元件。传感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度。DS18B20应用广泛,性能可以满足题目的设计要求。4.2DSI8B20的测温功能的实现其实测温电路的实现是依靠单片机软件的编程上。当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.25℃/LSB形式表示。温度值格式如表1所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与TH做比较,若T>TH或T<TL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令做出响应。4.3温度转换算法及分析温度控制算法通常,温控都采用偏差控制法。偏差控制的原理是先求出实测温度对所需温度的偏差值,然后对偏差值处理获得控制信号去调节电阻的加热功率,以实现对温度的控制。在工业上,偏差控制又称PID控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。温度控制程序框图温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)温度采样、数字滤波;3)数据处理;4)PID计算、温度标度转换主程序框图(右图)本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描等程序。4.4系统总体电路图设计以热电偶为检测元件的单片机温度控制系统电路原理图如图7所示图7单片机温度控制系统电路原理图五系统软件设计系统的软件设计采用汇编语言,对单片机进行实现各项功能。主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘、和继电器各模块。用的是循环查询方式,来显示和控制温度。本软件设计采用循环查询来处理各个模块,温度是缓慢变化量,所以可以满足性能要求。主程序流程图如图8所示。5.1系统程序流程图 系统程序流程图如图8所示。图8系统程序流程图5.2温度部分软件设计DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--)开始初始化启动DS18B20读温度计算温度LED显示{DQ=0;//给脉冲信号dat>>=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsignedchara=0;unsignedcharb=0;unsignedintt=0;floattt=0;Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0x44);//启动温度转换Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0xBE);//读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625;t=tt*10+0.5;//放大10倍输出并四舍五入此行没用(3)主程序部分见附录结束语本文的温度控制系统只是单片机广泛应用于各行各业中的一例,通过本次设计,对单片机的应用有了初步了解,对以前学过的模电数电知识又温习了一遍。单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。参考文献[1]耿方志.温度控制系统的设计.电子世界,2003,12(5).37-38[2]张培仁.十六位单片微型处理器原理及应用.清华大学出版社,2005[5]刘震,张宗勇,肖敬若.数字式自动控温热水器的设计[J].科学技术与工程,2004附:程序代码===============主程序===============ORG0000HLJMPMAINORG0003HLJMPINT0ORG0030HMAIN:MOVSP,#70H;置初值CLRP1.7MOVR0,#40HSETBPSW.4SETBPSW.3SETBIT0SETBEASETBEX0MOVTMOD,#20H;波特率9600MOVTH1,#0FDHMOVTL1,#0FDHSETBTR1MOVSCON,#50HSETBTICLR30HCLR01HSETBP1.7CLRP1.6CLRP1.5MOVDPTR,#0BFFFHMOVA,#00HMOV2EH,#0MOV2DH,#0MOV2CH,#0MOV2BH,#0MOV2AH,#0MOV29H,#0MOV62H,#0LOOP:MOVDPTR,#0BFFFHMOVX@DPTR,A;启动A/D转换CLR00HWAIT:LCALLXUANCHAXUN:JNBP1.3,LOOP1;调整JNBP1.4,LOOP2MOVA,29HCJNEA,2CH,AALJMPXXX;正常AA:JNCERRO;上限低于下限,跳转XXX:SETBEX0MOVA,@R0LCALLXUANLJMPWAITERRO:MOV63H,#0EH;显示“ERRO“MOV62H,#15HMOV61H,#15HMOV60H,#0HSETB30HSETB01HEEEE:LCALLDELAYJNBP1.3,XX1;是否重新调整JNBP1.4,XX2LJMPEEEEXX1:LJMPLOOP1XX2:LJMPLOOP2;==========显示数据转换=========Xian:MOVA,@R0MOVB,#100MULABMOVR3,AMOVA,BMOVB,#10DIVABMOVR1,#62HMOV@R1,ADECR1MOV@R1,BMOVA,R3MOVB,#10MULABDECR1MOV@R1,BCLR30HACALLDELAYMOVA,2EHCJNEA,62H,E1MOVA,2DHCJNEA,61H,E1MOVA,2CHCJNEA,60H,E1LJMPE2E1:JCSHANG_BAOLJMPE2;======超上限温度报警======SHANG_BAO:SETBP1.7SETBP1.6CLRP1.5LJMPX2E2:CLRP1.5CLRP1.6CLRP1.7X1:MOVA,2BHCJNEA,62H,E3MOVA,2AHCJNEA,61H,E3MOVA,29HCJNEA,60H,E3LJMPE4E3:JNCXIA_BAOLJMPE4;======低于下限温度报警======XIA_BAO:SETBP1.7SETBP1.5CLRP1.6LJMPX2E4:CLRP1.5CLRP1.6CLRP1.7X2:CLR30HACALLDELAY;========串口通信=========MOVR3,#30H;转ASCII码MOVA,62HADDA,R3DAAMLP3:JBCTI,MLP2;当TI为1时清0SJMPMLP3MLP2:MOVSBUF,AMOVA,61HADDA,R3DAAMLP5:JBCTI,MLP4SJMPMLP5MLP4:MOVSBUF,AMOVA,#46;小数点MLP8:JBCTI,MLP9SJMPMLP8MLP9:MOVSBUF,AMOVA,60HADDA,R3DAAMLP7:JBCTI,MLP6SJMPMLP7MLP6:MOVSBUF,AMOVA,#32MLP10:JBCTI,MLP11SJMPMLP10MLP11:MOVSBUF,ARET;==========延时加显示=========DELAY:MOVR3,#0A0HD00:ACALLDISPLAYDJNZR3,D00RETDISPLAY:JNB30H,DDMOV30H,#40MOVDPTR,#TAB0MOVA,63HMOVCA,@A+DPTRMOVDPTR,#0F8FFHD0:MOVX@DPTR,ADJNZ30H,D0;千位DD:MOV30H,#40MOVDPTR,#TAB0MOVA,62HMOVCA,@A+DPTRMOVDPTR,#0F9FFHD1:MOVX@DPTR,ADJNZ30H,D1;百位MOV30H,#40MOVDPTR,#TAB0MOVA,61HMOVCA,@A+DPTRJB01H,TTADDA,#80HTT:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论