数字温度传感器电路图AT89S52单片机ds18b20液晶频 或数码管显示 都 可以
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 13:15:28
数字温度传感器电路图AT89S52单片机ds18b20液晶频 或数码管显示 都 可以
数字温度传感器电路图
AT89S52单片机
ds18b20
液晶频 或数码管显示 都 可以
数字温度传感器电路图AT89S52单片机ds18b20液晶频 或数码管显示 都 可以
压,
单片机的 10 位 A/D 在满度量程下,最大显示为 1023 字,为了得到 PT100 传感器输出电压在显示 500 字时的单片机 A/D 转换输入电压,必须对传感器的原始输出电压进行放大,计算公式为:(500/1023 * Vcc)/传感器两端电压( mV/℃ ) ,(Vcc=系统供电=5V),可以得到放大倍数为 10.466 .
关于放大倍数的说明:有热心的用户朋友询问,按照 (500/1023 * Vcc)/传感器两端电压不能得到 10.466 的结果,而是得到 11.635的结果.实际上,500 个字的理想值是无法靠电路本身自然得到的,自然得到的数字仅仅为 450 个字,因此,公式中的 500℃ 在实际计算时的取值是 450 而不是 500 .450/1023*5/(0.33442-0.12438)≈10.47 .其实,计算的方法有多种,关键是要按照传感器的 mV/℃ 为依据而不是以被测温度值为依据,我们看看加上非线性校正系数:10.47*1.1117=11.639499 ,这样,热心朋友的计算结果就吻合了.
运算放大器分为两级,后级固定放大 5 倍(原理图中 12K/3K+1=5),前级放大为:10.465922/5=2.0931844 倍,为了防止调整时的元器件及其他偏差,使用了一只精密微调电位器对放大倍数进行细调,可以保证比较准确地调整到所需要的放大倍数(原理图中 10K/(8K2+Rw)+1).
通常,在温度测量电路里,都会有一个“调零”和另一个“调满度”电位器,以方便调整传感器在“零度”及“满度”时的正确显示问题.本电路没有采用两只电位器是因为只要“零度”调整准确了,就可以保证整个工作范围的正确显示,当然也包括满度时的最大显示问题了.
那么,电路中对“零度”是如何处理的呢?它是由单片机程序中把这个“零度”数字直接减掉就是了,在整个工作范围内,程序都会自动减掉“零度”值之后再作为有效数值来使用.
当供电电压发生偏差后,是否会引起传感器输入的变化进而影响准确度呢?供电变化后,必然引起流过传感器的电流发生变化,也就会使传感器输出电压发生变化.可是,以此同时,单片机的供电也是在同步地接受到这种供电变化的,当单片机的 A/D 基准使用供电电压时,就意味着测量基准也在同步同方向发生变化,因此,只要参数选择得当,系统供电的变化在 20% 之内时,就不会影响测量的准确度.(通常单片机系统并不允许供电有过大的变化,这不仅仅是在温度测量电路中的要求.)
从传感器前置放大电路输出的信号,就送入到 HT46R23 的 A/D 转换输入端口(PB0/AN0),由单片机去进行各种必需的处理.首先是进行软件非线性校正,把输入信号按照不同的温度值划分为不同段,再根据其所在的段分别乘以不同的补偿系数,令其与理论值尽量接近,经过非线性校正的数字,才被送去进行显示,比较用户设定的控制值等等.
本电路还有一个特点,就是用户可以在工作范围内,任意设定 3 个超限控制值.当测量显示值大于设定值的时候,对应的控制端口就会输出高电平.利用这个高电平信号,再外接一级三极管驱动继电器的电路,就可以实现自动控制.在某一个控制端口输出高电平的同时,与之串联的 LED 发光管会同时点亮,以便提示使用者是哪一个设定值在输出控制信号.
电路中的 24C02 是电存储器,可以把使用者设定的控制值可靠地保存起来,即使掉电也不会丢失数据.
电路图中还有 3 只按键,它们分别是“设定”、“加置数”和“减置数”操作按键,用于使用者进行超限值的设置.使用方法如下:
按动一下设定键,屏幕显示“1--”,表示现在进入第一个超限值的设置,三秒后屏幕自动跳转到显示“***”并闪烁(*** 代表原来电存储器里储存的超限数值),然后,按压加数键(或减数键),屏幕上的最低位的数字就会加一(或减一),如果按住按键三秒以上本电路还有一个特点,就是用户可以在工作范围内,任意设定 3 个超限控制值.当测量显示值大于设定值的时候,对应的控制端口就会输出高电平.利用这个高电平信号,再外接一级三极管驱动继电器的电路,就可以实现自动控制.在某一个控制端口输出高电平的同时,与之串联的 LED 发光管会同时点亮,以便提示使用者是哪一个设定值在输出控制信号.
电路中的 24C02 是电存储器,可以把使用者设定的控制值可靠地保存起来,即使掉电也不会丢失数据.