基于51单片机的红外遥控水温控制系统的设计

更新时间:2024-05-14 11:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

【摘要】

本设计基于AT89C51单片机为控制核心,片外配合红外线遥控模块、水温加热模块开关、基于Dallas单线数字式的DS18B20温度传感器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位电路模块以及电源模块为一体构成无线水温控制系统。本水温控制系统设计采用自上而下的模块化设计,具有形象直观、操作简单、结构紧凑、温度控制灵活等优点。本系统能够对水温进行实时并且快速地温度采集、温度值显示、超温报警以及加热等功能,并且能够通过红外线遥控器实现对温度值的设定。经过大量实验测试,本次设计的系统通用性强、功能齐全、简单实用,值得在工控领域被大量推广,它能够将实现水加热系统的自动化,对企业及社会的发展具有重要意义。

【关键词】:AT89C51,DS18B20温度传感器,LCD1602液晶显示器

ABSTRACT

The design is based on AT89C51 single chip microcomputer as control core, chip with infrared remote control module, the temperature of the water heating module switch, based on Dallas digital DS18B20 temperature sensor module, buzzer alarm module, a key module, LCD1602 liquid crystal display module, crystal oscillator circuit module, reset circuit module and power module are integrated to form a wireless temperature control system. The water temperature control system design uses the modular design from top to bottom, has the advantages of visual image, simple operation, compact structure, flexible temperature control. The system can real-time temperature and rapid temperature acquisition, temperature display, temperature alarm, heating and other functions, and can realize the setting temperature value through the infrared remote controller. After a lot of experiments testing, the design of the system has strong universality, complete function, simple and practical, it is worth to be popularized in the field of industrial control, it will be able to realize automatic water heating system, has important significance to the development of enterprises and society.

【KEY WORD】:AT89C51,DS18B20,LCD1602

目 录

一、引言 ............................................................................................................................ 1

(一)选题背景 ........................................................................................................ 1 (二) 设计意义 ...................................................................................................... 1 (三)设计任务 ........................................................................................................ 2 二、总体方案设计 ............................................................................................................ 3

(一)方案的选择 .................................................................................................... 3 (二)方案简述 ........................................................................................................ 3 三、元器件介绍 ................................................................................................................ 5

(一)AT89C51单片机 ........................................................................................... 5 (二)DS18B20温度传感器 ................................................................................... 7 (三)红外遥控系统介绍 ........................................................................................ 8 四、系统硬件设计 .......................................................................................................... 11

(一)原理图描述 .................................................................................................. 11 (二)DS18B20温度传感器模块 ......................................................................... 12 (三)加热器开关模块 .......................................................................................... 12 (四)蜂鸣器报警模块 .......................................................................................... 12 (五)LCD1602液晶显示器模块 ......................................................................... 13 (六) 按键模块 .................................................................................................... 13 五、系统软件设计 .......................................................................................................... 15

(一)主程序设计 .................................................................................................. 15 (二)子程序设计 .................................................................................................. 15 总 结 ................................................................................................................................ 18 致 谢 ................................................................................................................................ 19 参考文献 .......................................................................................................................... 20 附录一 系统原理图 ........................................................................................................ 21 附录二 PCB .................................................................................................................... 22 附录三 元器件清单 ........................................................................................................ 23 附录四 系统程序 .......................................................................................................... 24

一、引言

(一)选题背景

对于温度的控制在工业活动中非常普遍,温度参数是一个最常用的被控参数,在化工、食品、燃料以及钢铁产业中都涉及到温控过程。由此可见,温控在工业活动中的地位越来越高,并且随着科学技术的迅速发展,对于温控系统的性能提出了更高的要求,要求其具有更高的精度和更快的速度。随着工业环境的逐渐复杂,以至于许多场合已经不适合实验人员全程监控,于是温控系统发生了巨大的改革,在工业上对于温度的控制已经不再仅限于较近距离的控制,远程温度控制已经在各个场合迅速发展,并且得到了各界的广泛关注。

目前市场上热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能。即使热水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能。本文设计的热水器控制系统以AT89C51单片机为检测控制中心单元,实现了温度显示和温度控制等功能。实际应用结果表明,该控制器和以往显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点,提高了我国水加热系统的性能,具有可观的经济效益和社会效益。 (二)设计意义

目前工业上较为通用的有无线电和有线网络等通信方式的远程温度控制,虽然各种类型在不同场合都得到了广泛的利用,但是每一种都存在各自的优缺点。在无线通信商,由于不需要布置很复杂的线路,并且通信质量高,不易受到外界干扰,所以它的应用场合较有线网络较为广泛。而有线通信由于要通过长长的通信电缆才能传输信号,所以在电缆受到损坏时,对于通信的质量将会带来巨大的影响。基于上述分析,所以本文设计了一种基于AT89C51单片机而实现的无线水温控制系统。

本文设计的水温控制系统跟传统的水温控制系统相比具有如下优势:

1、具备了一定的智能化元素,可以使得水加热系统在无人看管的情况下自行运作,这不仅节省了使用者的大量宝贵时间,并且水的温度也相当精准;

2、可以通过红外线遥控器对温度值进行设定,可以灵活的设定温度不受距离的约束;

3、采用DS18B20温度传感器作为温度采集装置,有高达0.5℃的精度,比传统的温度传感器使用更加灵活;

1

4、能够通过LCD1602液晶显示器将温度数据显示出来,使用者能够直观地观察到水的温度;

5、水温控制迅速,对水温非常敏感; 6、功耗低,成本低廉。 (三)设计任务

设计一个红外线遥控水温控制系统,系统指标如下:

1、设计一个水温控制范围在40~90摄氏度的数字水温控制系统; 2、能够通过红外线遥控器或者终端按键灵活设置温度; 3、具有超温报警功能;

4、温度数据能够通过液晶显示屏显示出来;

2

二、总体方案设计

(一)方案的选择

方案一:采用51单片机作为控制核心,配合红外线遥控模块、水温加热模块开关、基于Dallas单线数字式的DS18B20温度传感器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位电路模块以及电源模块为一体构成无线水温控制系统,由于51单片机再业界内已经具备了相当成熟的开发技术并且开发资料丰富,对于完成本次毕业设计是绝对有利的,另外该方案成本低廉,模块分明并且稳定性强。

方案二:采用FPGA或者CPLD芯片作为控制核心,FPGA就是可编程现场门阵列的英文名称,它是随着超大规模集成电路技术发展的一个产物,内部集成了上百万门逻辑器件,通常用VHDL或者Verilog语言对他进行描述,它是一种硬件电路。FPGA的显著特点是速度远高于单片机,其主频动辄上百M的速度,是数字信号处理的首选,然而本次设计的水温控制系统对于处理速度没有过高的要求,并且考虑到过高的数字信号会给整体系统带来不稳定性,使最终的设计可靠性得不到保障。

方案三:采用DSP芯片作为控制核心,TI公司生产的TMS320F28335芯片性能优良,片内集成了大量的常用模块,如16路AD采样通道以及高精准的PWM输出,是工控领域的新型宠儿,然而其成本较高,对于此次的设计来说,无疑增加额外的负担,并且TMS320F28335的优秀性能用在本次设计中时大材小用。另外其开发资料片目前较少,不利于系统的开发。

综合上述三个方案的分析,本次设计采用方案一作为水温控制系统的最终设计方案。

(二)方案简述

本温控系统采用AT89C51单片机作为控制核心,它通过DS18B20温度传感器采集环境中的温度,并通过其内部的AD实现模数转换,通过其输出管脚将带有温度数据的数字信号传送给AT89C51单片机,单片机得到数据后对数据进行解码,然后将得到的温度值通过LCD1602液晶显示出来,与此同时在AT89C51内部,单片机将采集温度与设定温度进行比较,当温度值低于设定温度值时,就要关闭蜂鸣器模块并且打开加热模块的开关;否则将进行超温报警并且关闭加热系统开关。在温度值的设定上,可以通过

3

按键或者红外线遥控器两种方式完成,图2-1为本控制系统的总体框图。

LCD1602液晶显示器模块蜂鸣器报警模块按键AT89C51单片机主控核心加热模块红外线遥控器HX1838红外一体接受管 图2-1 水温控制系统总框图

4

三、元器件介绍

(一)AT89C51单片机 1.AT89C51单片机概述

AT89C51单片机的组成如图3-1所示。

外部中断中断控制4K字节ROM256字节RAM定时器0和1CPUOSC总线控制4×8 I/O口串行口ALEPSENEAP0P1P2P3TXDRXD 图3-1 AT89C51内部结构

ATMEL公司出产的AT89C51是一种带4K字节FLASH存储器的单片机,它是一种能在低电压场合工作的高性能CMOS类型的8位处理器。它内部集成的只读存储器具有高达1000多次的可擦除性,这样好的性能使得它非常适合学生做实验。另外这种类型的单片机已经采用了高密度的非易失储存器的制造技术,AT89C51单片机的通用IO管脚能够和工业上广泛采用的MCS-51类型的指令集能够完美兼容。ATMEL公司研发的这种高效率的微控制器将FLASH和性能强大的8位CPU集成在一个芯片里使得它在嵌入式领域有着广泛的应用。常用的AT89C2051型单片机是AT89C51单片机的精简版本。基于上述的特点,在很多嵌入式场合,AT89C51单片机正在发挥着越来越多的作用。DIP-40封装类型AT89C51单片机的芯片引脚图如3所示:

5

图3-2 AT89C51单片机引脚图

2.振荡器特性

XTAL1和XTAL2端口分别AT89C51内部反向放大器的输入和输出管脚。可以将这个反向放大器配置为片内震荡器。石英晶振和陶瓷晶振都可应用在此。在用外部的时钟源做作为震荡信号时,XTAL2不用接。由于进入内部的时钟信号要经二分频电路处理,所以对时钟信号的脉宽没有严格要求。

3.芯片擦除:

可以通过正确的控制信号组合并且保持ALE管脚处于10ms低电平来进行整个EPROM阵列和三个锁定位的电擦除。当EPROM被擦除后,其内部阵列将全部被写1。

另外,AT89C51具有稳态逻辑的功能,其支持两种软件可选的掉电模式,可以在低到零频率的条件下稳定逻辑。在低功耗的闲置模式应用下,单片机内部的CPU将停止运行,然而其RAM、计数器/定时器、串口和终端系统仍能正常工作。在掉电的模式应用下,会将RAM中的内容保存起来,振动器将停止工作,片内其他模块也将停止工作,只有等到复位信号来临时才能正常工作。

4.复位电路

当我们使用电脑时如果出现死机等异常现象后,我们通常会选择重启电脑,而在单片机中,如果遇到程序运行异常如程序跑飞等现象时,该如何是好呢?同样的,在构建单片机最小系统时,我们通常会配置一个复位电路,如下图所示,它的功能就如同电脑的重启。在51单片机中,只要在其9号管脚保持2us的高电平,就可以使其被“重新启动”。

在给51最小系统上电的瞬间,系统自动被复位一次,如果按动S10按键一次,系统也会被复位。如3-3所示:

6

图3-3 复位电路模块

(二)DS18B20温度传感器

DS18B20温度传感器有不锈钢封装式、磁铁吸附式、管道式以及螺纹式等封装,其型号有LTM8877,LTM8874等,在多种场合有广泛应用,其输出信号为数字信号,使用非常方便。在不同的场合下,DS18B20的外观不同,也正是由于其外观多样,它才能广泛应用,在洁净室测温、弹药库测温、机房测温、农业大棚测温、电缆沟测温、高炉水循环测温、锅炉测温等各种非极限温度场合,DS18B20发挥着重要的作用。它的体积小、耐磨耐碰、封装多样并且使用方便,适用于各种狭小空间设备数字测温和控制领域。如3-4所示:

图3-4 DS18B20数字温度传感器内部结构

7

(三)红外遥控系统介绍

红外线也是电磁波的一种,它又被称之为红外光波,它的波长处于0.01um~1000um范围内。光波的可见性由其波长决定,可见光的波长范围为0.38um~0.76um,此范围内的光波颜色依次为红、橙、黄、绿、青、蓝、紫七种颜色,在此段光谱的左边是波长为0.01um~0.38um的光波为紫外光,右边是波长为0.76um~1000um的光波为红外光。按照波长可将红外光分为近红外、中红外、远红外、极红外四种类型。红外线遥控器通过波长为0.76um~1.5um的近红外光发送其指令,由于目前红外接收器件(光敏二极管、三极管及光电池)和目前红外发射器件(红外发光管)的受光和发光峰值波长一般为0.8um~0.94um,两者能够良好的匹配,所以一般用近红外光发射遥控的指令。

红外线遥控系统主要由调制模块、发射模块和接收模块三个部分组成,如图3-5所示。

图3-5 红外遥控系统结构图

1.调制模块

红外线遥控发射的数据是通过一定方式的调制后发出的,即把待发射的数据与载波进行与运算,这样既能提高数据的准确性又能提高电源的使用效率。通常使用的载波频率在30kHz至60kHz之间,38kHz是较常使用的频率,他的方波占空比为1/3。

2.发射模块

目前已经已经开发出了很多用于红外发射的芯片,其功能众多性能稳定,能够选择不同类型的编码方式进行发送。由于遥控都是便携式的,所以必须用电池供电,这样就要求芯片具有低功耗性能,所以目前流行的芯片都具有休眠功能,即只有按键被按动时才能启动其内部系统,否则其处

8

于低功耗的休眠状态。

红外线最终通过红外发光二极管(LED)发射出去,这种二极管与普通的发光二极管不同,当在其两端施加电压时,它发出的红外光不能被人眼看见。图3-6图3-7为两种常用的红外LED驱动电路,但是第一种存有一定的缺陷,当供电电压下降时,流过LED的电流就会减少,由于发生强度与流过LED的电流强度有关,所以发射出去的信号强度将会降低,发送距离见小。而第二种电路中加入了两个钳位二极管,他们能够将是三极管的基极电压保持在1.2V左右,所以是三极管的

发射机电位保持在0.6V左右,这样Ie就能基本保持不变,根据Ie≈Ic,所以流过红外二极管的Ic也就基本不变,这样就能保证供电电压下降时,遥控控制的距离不变。

图3-6 简单驱动电路

图3-7 射级输出驱动电路

3.接收模块

本系统采用HX1838一体化红外接收头作为接收模块,HX1838红外接收管内部结构,如图3-8所示。

9

图3-8 红外线接收头内部电路

其内部主要由带通滤波器,积分电路,比较器、红外监测二极管、放大器和限副器组成,红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。

以上电路被集成在一个元件中,成为一体化红外线接收头,如下图3-9所示。

图3-9 红外线接收头

红外线接收头的种类很多,引脚定义也不相同,一般都有三个引脚,包括供电脚,接地和信号输出脚。根据发射端调制载波的不同应选用相应解调频率的接收头。红外线接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰。

10

(一)原理图描述

四、系统硬件设计

图4-1为本水温控制系统的原理图,采用AT89C51单片机作为主控芯片,片外配

合红外线遥控模块、水温加热模块开关、基于Dallas单线数字式的DS18B20温度传感

器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位

电路模块以及电源模块为一体构成无线水温控制系统,下文将分别对各模块进行介绍。

图4-1 原理图

11

(二)DS18B20温度传感器模块

图4-2为DS18B20模块的原理图,在本系统中,其主要完成对水的温度采集,其1号管脚GND接地,2号DO管脚接AT89C51的P1.0管脚,3号管脚VCC接正5V直流电源。

图4-2 DS18B20温度传感器模块原理图

(三)加热器开关模块

在本系统中,当温度传感器采集到的温度低于设定温度时,系统就要开启加热系统的开关,而本系统的设计为了追求简洁性,所以加热器模块用一个继电器代替,即继电器充当加热系统的开关。当温度低于设定温度时,继电器上电,加热器开关被打开;而温度高于设定温度时,继电器关闭,加热系统不工作,下图4-3为继电器在本系统中的原理图。

图4-3 继电器模块原理图

(四)蜂鸣器报警模块

在本系统中,当采集到的温度值高于设定温度值时,就要进行超温报警功能。下图4-4为蜂鸣器模块的原理图,当单片机的P3.7口为高电平时,MOS管被导通,蜂鸣器上

12

电发出报警声;而当P3.7为低电平时,MOS不能被导通,蜂鸣器不发声,这就是蜂鸣器报警的原理。

图4-4 蜂鸣器模块原理图

(五)LCD1602液晶显示器模块

图4-5为LCD1602液晶显示器模块,其中通过改变电阻器R5的值,就可以改变LCD1602的背光亮度。在本系统中,其主要完成显示温度值的功能。

图4-5 LCD1602液晶显示器模块

(六)按键模块

通常情况下,由微处理器实现的控制系统中有两种按键形式较为普遍使用,第一种是矩阵式的编码键盘,另一种是静态的独立按键。编码键盘即动态扫描键盘,这种结构的按键电路形式适用于多按键配置的系统中,只需要消耗较少的I/O口就可以实现较多的按键输入,其能够实现的最大按键输入数N与占用的I/O口数m关系为:

N?(m2) 2然而这种动态扫描键盘需要较复杂的代码才能实现。第二种独立按键是一种静态的按键,单片机不会对它进行扫描,其结构较为简单,代码形式也很简单,只需要对其接

13

的管口进行电平判断就可实现逻辑功能。

轻触式的机械开关是一种较长使用并且成本低廉的开关,在没有被按下是,其内部的电路结构是断开的,不能到点,而当它被按下时,其等效的开关就被接通,从而实现了电路的导通。另外,由于机械式开关内部由于有一个弹性部件,所以在按动的时候会伴随一系列的抖动过程,这个抖动过程会给逻辑判断带来极大的干扰,所以在程序构建上通常会对按键进行消抖处理,通常较为常用的是延时消抖,即通过一定的延时将抖动阶段避开,过了这段时间再对电平进行判断,这样就能使系统得到必要的保障。

按键模块的主要作用是对水温值进行设定,图4-6中的P1.0口接的按键为升温按键,P1.1口的按键为降温按键。

图4-6 按键模块原理图

14

五、系统软件设计

系统的实现必须要有软件和硬件的相互配合,上文中对本系统的硬件进行了描述,下文将对系统软件的设计进行设计: (一)主程序设计

图5-1为主程序流程图,主程序主要完成了一系列的初始化工作,如AT89C51单片机的初始化、LCD1602液晶显示器的初始化等等。在主程序中,通过DS18B20温度传感器对水的温度测量,通过AT89C51主控核心的处理,当温度高于设定温度时,蜂鸣器报警并且关闭加热器;当温度低于设定温度时,蜂鸣器关闭,启动加热器。

开始实际值显示AT89C51初始化温度是否超标通过按键或遥控对水温设置蜂鸣器关闭,启动加热系统设置值显示结束蜂鸣器报警,关闭加热系统 图5-1 主系统程序流程图

(二)子程序设计

1、DS18B20温度传感器测温流程设计

子程序主要完成温度的采集工作以及报警和启动加热器工作,图5-2为子程序流程图。

15

开始数据处理DS18B20初始化数据发送温度采集结束 图5-2 温度采集子程序流程图

图5-2为DS18B20温度传感器的测温过程,首先在系统上电后,单片机要发出指令对DS18B20进行相关初始化,比如对其内部寄存器进行清零、AD进行初始化等。当初始化工作完成后,DS18B20就在AT89C51单片机的指令操控下进行温度读取,当传感器读取到温度后就实现了非电量和电量的转换工作,然而目前得到的信号是模拟信号,由于模拟信号不适合传输,所以还不能直接传送给单片机,在设计DS18B20的时候,研究人员在其内部嵌入了一个AD模块,目的就是要实现将模拟电压转换成适合传输的数字信号。当模拟电压经过AD的转换后,就得到了温度数据的数字信号,然后就能通过DS18B20的输出管脚将温度数据传送给单片机了,这就是DS18B20的温度采集流程。

2、温度报警子程序流程图设计

16

开始设置字符位置LCD初始化写数据LCD写命令LCD判忙LCD判忙NNP0.7=0?P0.7=0?YNY完成?完成?NYY结束

图5-3 温度报警子程序流程图

图5-3为LCD1602液晶显示器的显示流程,在系统上电后,AT89C51单片机就开始对LCD1602的内部控制芯片进行初始化。初始化工作完成之后,就要开始显示内容了,虽然通过人眼的观察显示内容是个很简单的工作,其实不然,LCD1602的显示过程要经过写命令、判忙、写数据以及判忙等工作,只有在这些过程有条不紊的进行下,LCD1602才能正常的显示,否则将出现乱码甚至毫无反应。

17

总 结

时间在无数个实验中匆匆过去了,最终我完成了预期给自己设立的相关目标,其中经过了最初的方案设定、方案对比、最终方案、资料搜集、查阅文献、代码调试、功能仿真、论文撰写以及论文修改等主要过程,可谓是每个过程都充满着挑战与艰辛。即使是一个结构很简单的功能电路,如果出现一个字符问题,表现出来的现象也是各种各样的,检查的过程也需要细心和经验。就比如说一开始在硬件上出现一个模块的虚焊,结果导致整个系统不运作,所以非常失望没有得到预期的现象,但是没有灰心,通过一个一个模块内检查,最终很快找到了异常的根源。通过这次毕业设计,在硬件上提高了我的动手能力和对相关集成模块的使用能力,巩固了我对以往学过的专业知识积累;在软件方面,让我了解并且使用的Keil uVison,使我掌握了其使用方法,提高了我的编程能力。所以毕业设计是非常有必要的,是对专业学习的一个最终总结。

通过本次毕业设计,实现了基于单片机的水温控制系统,本设计采用Keil uVison软件作为开发平台,采用C语言编写系统程序。在设计过程中,使我对单片机原理、C语言的理解又上升了一个新的台阶,在硬件上我也接触到了51芯片、LCD1602液晶显示器等集成模块,发现使用了这种集成模块,对系统的稳定性是极为有利的。该系统性能十分优越,但是也存在诸多可以改进的地方,比如使用机械按键作为电梯的控制按键,虽然价格低廉、性能也十分稳定,但是它的使用起来十分不灵活,使得按动按键需要很大的力气并且手指不舒服,而如果采用现在极为流行的电容触摸按键模块的话,却能带来更好的人机交互和用户体验。

18

附录四 系统程序

24

25

26

27

28

本文来源:https://www.bwwdw.com/article/xa97.html

Top