电子温度计电路分析与设计
2021-11-25廖敏
摘要:本设计介绍了DS18B20数字温度传感器的内部结构和工作过程,提出了基于DS18B20和AT89C51的数字温度计设计方案,并提出了基于51单片机和DS18B20数字温度传感器的温度测量方法,包括温度传感器芯片的选择,微控制器与温度传感器之间的接口电路设计以及温度信息收集和数据传输的软件设计。 该数字温度计的温度测量范围为-50至+110°C,精度误差在0.1°C以内,具有很高的温度测量精度和出色的控制性能。电子温度计适合一般使用,也可用于冷热警报,远程多点温度测量控制等。
关键词:数字温度计;单片机;温度传感器
前言
传统的温度测量系统通常使用热电偶或铂电阻进行温度测量。这些电路有一些问题需要解决。为了执行准确的温度测量,铂电阻器必须提供合适的恒流源。来自热电偶的信号是模拟信号,必须发送到CPU。首先执行A / D转换,然后发送到CPU进行处理。另外,热电偶信号非常弱,只有12 mA,因此通常需要在A / D转换之前执行增益放大。因此,使用热电偶和铂热电阻进行温度测量需要大量考虑,并且配置的系统更加复杂。 DALLAS发布的DS18B20数字温度传感器很好地解决了这些问题。 DS18B20使用单线接口,该接口仅在微型计算机上占用一个I / O端口,其外围电路也非常简单。 DS18B20测量温度信号。 DS18B20可以转换为数字输出,无需信号放大或A / D转换即可直接连接至单片机,使其用作温度采集的温度传感器,大大简化了电路设计。
一、设计的目的及意义
设计目标:整个系统基于微波AT89C51,与数字温度传感器DS18B20,数字电子管显示器等结合以实现温度显示。
单芯片应用系统具有体积小,功耗低,功能强大,性价比高,易于开发和推广等优点,广泛应用于自动控制、仪器仪表和家用电器领域。
二、设计方案论证
解决方案1:实施热电偶需要更多的外部硬件支持,复杂的电路,复杂的软件调试和较高的制造成本。 为此,需要进行温度补偿,并且难以满足精度要求。
解决方案2:使用智能传感器DS18B20作为检测元件,温度范围为-55°C至125°C,最大分辨率为0.0625°C。DS18B20可以直接读取测得的温度值。 此外,由于它是通过3线系统连接到单芯片微波的,因此外部硬件电路很少,而且成本低廉且易于使用。 作为显示设备,LED数字管用于通过89C51构建最小的系统。
总结一下,权衡不同方面的优点和缺点,选择使用方案2。
三、电子温度计电路分析
(一)总体设计
该系统基于AT89C51芯片,该芯片检测DS18B20是否正常工作,将内部数字温度读取到单片机,并通过相应的数字管显示出来。 如果温度超过设定温度,将使用蜂鸣器警告提醒,其外围电路包括复位电路和晶体振荡器电路。
(二)元件电路分析
该电路的功能是完成具有上电复位和按钮复位功能的单芯片计算机的复位。单片机千分尺千分尺复位是一种单片机初始化,可恢复程序执行。即,它将微控制器的PC寄存器初始化为0000H。正常初始化是指程序的正常初始化,但是如果系统由于程序错误或操作错误而死锁,请按“重设”按钮以重新启动系统并解决难题。这是一种责任。有自动重置和手動重置方法。该设计采用上电复位模式进行自动复位。晶体单位为12MHz。
AT89C51具有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是放大器的输入和输出。放大器和片外晶体或陶瓷谐振器用作反馈组件,以形成自激振荡器。
外部晶体振荡器(或陶瓷谐振器)以及电容器C1和C2连接到放大器的反馈环路,以形成并联振荡电路。对于外部电容器C1和C2没有严格的要求,但是电容器容量的大小对振荡频率,振荡器稳定性,开始振荡的难度和温度稳定性几乎没有影响。使用晶体振荡器时的推荐电容器为30pF±10pF,而使用陶瓷谐振器时的推荐电容器为40pF±10F。用户还可以使用外部时钟。图3-1显示了使用外部时钟的电路。在这种情况下,外部时钟脉冲连接到内部时钟发生器的输入端子XTAL1,而XTAL2保持悬空。报警电路设置的原理是电子温度计的极限范围是0到100度。如果超出此范围,则应发出警报。 PNP晶体管9015用于驱动蜂鸣器并在开/关状态下工作。原理图如图3-2所示。
电源单元的功能是保持单片机千分尺稳定运行,每个顺序都必须严格,对电源的要求也更高。我们建议使用开关电源。这是自制电源。变压器将输出电压从高电压转换为低电压,并且输出电压值为正弦曲线图。桥完全整流后,桥堆的输出电压呈波状。即,正弦波的负半周期变为正半周期。 C1整流后,C1充电,从而产生衰减波形。 7805是恒定输出调节器模块。 5V,C3和C2电压可以消除杂散波的共同频率。 7805的输出端不能高于输入端,因此添加二极管保护7805。原理图如图3-3所示。
数据显示电路的功能是显示传感器检测到的温度数据。 由于必须以0.1°C的分辨率显示0°C至100°C,因此该部件至少具有四个数字管来显示这些值。 单芯片计算机的资源有限,此处仅提供动态扫描。 通过这种连接方法,微控制器千分尺使用的端口线是端口P0,必须将其拔出作为输出端口,电阻为10K,数字管使用共用阳极管。
四、电子温度计系统设计
软件部分主要是:(1) 温度的采集;(2) 温度数据的处理(3) 数值的显示。
(一)温度的采集
设计的这一部分主要考虑DS18B20的工作过程和时序。
ROM操作命令存储器操作命令处理数据的初始化
(1)初始化
单个总线上的所有内容均始于初始化
(2)ROM操作产品订购
总线主机可以检测到DS1820的存在并发出ROM操作命令之一。
(3)内存操作命令
(4) 时 序
主机使用时间隙(time slots)来读写DSl8B20的数据位和写命令字的位
a).初始化
时序如下图4-1所示,主机总线发送一个复位脉冲(最短的480us低电平信号),释放总线进入接收状态。 DS18B20在检测到总线的上升沿后等待15-60us,然后DS18B20发送一个应答脉冲(低电平持续60-240 us)。
b).写时间隙
当主机总线从高电平拉低到低电平时,存在写时间间隔。 从开始算起的15us内,要写入的位被发送到总线上的DS18B20。 公交车的采样时间为15-60us。 低电平写入的位在下面的图4-2左侧显示为0。 如果以高电平写入的位数为1,请参见下面的图4-2右侧,以写入两个连续位之间的间隙应大于1us 。
c).读时间隙
见下图4-3所示,当主机总线从高电平拉至低电平时,总线应保持低电平15 s。 然后在t1处将总线拉高以产生读取间隙。 读取间隙在t1和t2之后有效。 到的tz距离为15μs或tz。 前端主机必须完成读取位并在60μs至120μs内释放总线。
设计软件部分的核心是DS18B20的使用,读取温度需要严格的时间,模块设计的主程序流程图如下:温度转换子例程如下:
(二)温度数据的处理
这部分是将温度传感器的数字量读入单片机后的处理内容。 它主要包括正负号处理,负数,正数,小数点处理,温度比较,最后决定是否发出警报。
(三)数值的显示
端口P0连接到7段显示器和数字管的小数点,P2的前四个端口连接到数字管的公共端作为芯片选择信号。 由于这里使用了动态扫描方法,因此在软件仿真中很容易接收。
四、总结
该设计是根据单片机应用系统开发步骤,硬件电路开发和软件开发的基本思想和方法进行的,采用模块化设计的思想实现了软件系统。模块化设计是将大型程序分为几个较小的模块,具体取决于它们的功能。每个模块都是相对独立的,具有定义明确的结构,并且具有简单的界面。这种模块化设计降低了程序设计的复杂性,提高了组件的可靠性,缩短了开发周期,避免了重复的程序开发任务,促进了维护和增强,等等。有优点。本设计中的软件功能模塊分为温度采集,温度数据处理,主程序模块,延迟子程序等。在系统范围的设计过程中严格遵循硬件电路设计规则,使整个系统的设计完全成功。
参考文献
[1]杨海波,张玮,刘晓静,等. 一种基于数字温度传感器DS18B20的多功能电子温度计设计[J]. 中国医学物理学杂志,2013,30(1):3890-3893.
[2]王林胜. 基于单片机控制的数字温度计的电路设计[J]. 通讯世界,2016(11):223-224.
[3]向继文,刘昕,陈善荣. 基于DS18B20的数字温度计设计与仿真[J]. 电脑与信息技术,2019,27(01):47-50.
作者简介:廖敏(1981-10),女,彝族,籍贯:云南镇沅,职称:讲师,学历:工程硕士,单位:普洱市职教中心,研究方向:电工电子。