一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.2.2 DS18B20的测温原理
DS18B20的测温原理如图2.1所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 DS18B20在正常使用时的测温分辨率为0.5℃,如果要更高的精度,则在对DS18B20测温原理进行详细分析的基础上,采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.1~0.01℃。
图 2.1 DS18B20测温原理图
6
2.2.3 DS18B20与单片机接口电路
P3.7口和DS18B20的引脚DQ连接,作为单一数据线。U4即为温度传感芯片DS18B20,本设计虽然只使用了一片DS18B20,但由于不存在远程温度测量的考虑,所以为了简单起见,采用外部供电的方式,如左图2.2所示。测温电缆采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一对接VCC和地线,屏蔽层在电源端单点接地。
图 2.2 DS18B20与单片机接口电路
2.3 显示驱动电路设计
采用74HC245总线驱动器,是典型的TTL型三态缓冲门电路。主要作用是将信号的功率放大。第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、A2=B2、A3=B3、A4=B4、A5=B5、A6=B6、A7=B7、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地。第20脚VCC,电源正极。如下图2.3所示:
图 2.3 74HC245驱动器的电路连接
7
2.4 按键电路设计
采用独立按键接口,这种方式是各种按键相互独立,每个按键接一根输入线,一根输入线按键的工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下。
独立式按键电路配置灵活,软件简单。但每个按键需要占用一根输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘用于按键较少或操作速度较高的场合。独立式按键电路按键直接与单片机的I/O口连接,通过读I/O口,判定每个I/O口的电平状态,即可识别按下的键。
由于只有四个按键,因此按键接口电路的设计比较简单,单片机P3.2和P3.3端口设定为输入状态,平时通过电阻上拉到Vcc,按键按下时,对应的端口的电平被拉到低电平,如下图2.4所示。这样就可以通过查询有无外部中断来判断有没有按键按下,按键各接一根输入线,一根输入线的按键工作状态不会影响其他输入线上的工作状态。通过内部判断是否产生外部中断,即可识别按下的键。2个按键定义如下:
P3.2:个位按键,按此键则设定温度的设定值个位加一。 P3.3:十位按键,按此键则设定温度的设定值十位加一。
图 2.4 按键电路
2.5 光耦隔离输出电路
光耦隔离就是采用光耦合器进行隔离,光耦合器的结构相当于把发光二极管和光敏(三极)管封装在一起。发光二极管把输入的电信号转换为光信号传给光敏管转换为电信号输出,由于没有直接的电气连接,这样既耦合传输了信号,又有隔离作用。
在此系统中,使用的绿色LED灯模拟加热装置与红色LED灯模拟报警信号装置的控制就是采用的光耦隔离电路,单片机产生的命令信号通过光电耦合隔离电路传送给加热装置和报警装置。电路如下图2.5所示,U5为光电耦合隔离装置:
8
图 2.5 光电耦合隔离输出电路
2.6 整体硬件电路
系统整体的硬件电路设计如下图2.6所示:
图 2.6 整体硬件电路
9
第3章 热式热水器温度控制系统的软件设计
整个系统需要对每一个硬件模块进行软件设计。在这一章,主要针对每个硬件电路模块编程,然后进行系统的整合,最后输入到控制处理器中实现所有设计功能。
3.1 系统软件设计框图
如下图3.1所示:
主 程 序 温 度 采 集模块 报警电路模块 温度显示模块 键盘扫描模块 温度控制模块 图3.1系统软件设计框图
根据设计要求,首先要确定软件设计方案,即确定该软件应该完成那些功能;其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。一般划分模块应遵循下述原则:
1)每个模块都应具有独立的功能,能产生一个明确直观的结果 。
2)模块长度要适中。模块太长时,分析和调试比较困难,失去了模块化程序结构的优越性;模块太短则信息交换太频繁,也不合适。
3)每个模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数是指模块进入开始运行和退出停止运行的条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频率。
该系统的软件由五大模块组成:主程序模块、温度采集模块、报警及加热电路模块、温度显示模块、键盘扫描模块。下面将对这几个模块具体阐述,相对应的汇编程序语言详见附录。
10
相关推荐: