数字式温度计的设计

news2024/10/7 12:17:42

       根据前期的设计要求,我们需要设计一个数字式温度测量计,能够实现将温度信号实时转换成实际方便查看的形式输出。

目录

题目要求

设计思路

电路模块

温度传感器电路

A/D转换电路

数码管显示电路

仿真显示


题目要求

        以下为题目的设计参考电路,该参考电路是摘自文章《MC14433在数字温度表中的应用》。其主要分为以下几部分:显示数码管、A/D转换芯片、4511芯片和MC1413芯片。显示数码管用来显示具体的温度数值、A/D芯片用来将LM50温度传感器的连续模拟信号转换为数字信号输出、4511芯片用于将A/D芯片输出的信号译码并从数码管输出、MC1413是用来驱动数码管的芯片。

设计思路

        由于本次设计是需要设计一个数字温度显示器,我们主要将设计分为两大部分:温度检测部分和数字显示部分。温度显示部分主要是使用传感器将温度信号转换为电压信号,而数字显示部分主要将温度显示部分的模拟信号转换为数字信号并且输入到数码管显示。

电路模块

温度传感器电路

        首先是温度传感器模块,温度传感器模块这里我们使用的是LM50模块,这个模块的的温度转换公式是:U=-10t+500(mv)。即温度每升高/降低一摄氏度,那么电压输出就会降低/升高10mv,而当期初始输入为0℃时,其输出为500mv。其电路的连接形式如下左图所示,而当其输入为0℃时,其具体的输出电压数值如下右图所示。

A/D转换电路

        A/D转换电路这里,由于我们没有找到MC14433芯片,根据对比,我们选取性能比较相近的三位半A/D转换芯片TC7107芯片,该芯片是一款高性能,低功耗的三位半 A/D 转换器。三位半的意思是其可以外接4个数码管,其中三个分别可以显示数值0-9,而剩下一个可以显示数值0/1。该芯片的引脚接法如下图所示,该图我摘自TC7107的技术说明手册。

        首先是OSC1、OSC2和OSC3引脚,这几个引脚主要控制产生振荡信号,即48kHZ的时钟信号,以此实现对A/D芯片的各项功能的协调控制。

        其中VIN+、VIN-和ACOM引脚主要是温度传感器电压的输入端,这里需要注意的是将VIN-要与引脚ACOM相连。

        引脚VBUFF、CAZ和VINT分别是集成电阻器的大小、自动调零电容器的大小和积分器大小。其中CAZ的大小将影响输入的系统噪声,一般是0.47μF用于200mV,而0.047μF用于2V。而VBUFF是集成的电阻器,当取200mV全量程时为47kΩ、当取2V量程时为470kΩ。它们的具体取值参数如下图所示:

        而对于VREF+、VREF-和C+REF分别是控制量程和当存在较大共模电压时的处理处理引脚。一般如果量程为200mV时引脚VREF+和VREF-间电压为100mV,而当量程为2V时引脚VREF+和VREF-间电压为1V,并且该电压还会影响输出的电压的

        对于当VREF+和VREF-这两个引脚之间的电压值将确定输入电压变化恒定时,输出电压的变化值,也就是一格刻度的数值,它们的具体转换公式如下所示:

而我们选择的量程是0-2V,所以我们引脚连接的具体方式如下图所示:

数码管显示电路

        TC7107含有七段译码器显示驱动器,所以可以驱动外接的4个共阳级7SEG-MPX1-CA数码管进行温度数值显示,四个数码管分别显示符号位、十位和个位、小数位。而由于其内部已经集成了译码电路和驱动电路,所以不用再外接MC1413和4511芯片。

       首先第一个数码管用于显示正负号,其只需要外接到特定的的引脚和驱动引脚,即可显示中间一段,该引脚接到A/D引脚POL,结合说明书所示,当该引脚输入电压为大于0时,其表现特点为不亮,而当引脚输入电压小于或等于0时,其表现特点为亮。

        其余3个数码管的显示引脚分别外到A/D芯片的Ai~Gi引脚即可,当引脚输入电压小于0时即可实现数码管点亮。值得注意的是个位和小数位之间需要数码管显示一个小数点,为此数码管三的小数显示引脚要接地。

仿真显示

         根据上面的电路接法,如果我们就这样就进行仿真的话,发现数码管显示的数值并不等于输入的温度数值。

        从上面的仿真结果可以看出,当输入温度为0摄氏度时,其输出的数码管显示为52.4℃,与0℃相差大概50℃。仔细观察不难看出,主要关系是当温度输入为0℃时,LM50电压的输出为500mv。

        如果我们在LM50与A/D转换电路之间加上一个减法电路减去50mv后再去仿真,可以看出输出结果是不同的,添加后的仿真结果如下图所示,但是因为没有处理小数点,所以结果会相对来说有一定偏差:

当输入为15℃

当输入为17℃

当输入为-3℃

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天龙八部场景编辑器(源码+软件+教程)

天龙八部场景编辑器,里面包括《源码》,《软件》,《教程》,喜欢研究天龙八部的可以下载看看。 天龙八部场景编辑器(源码软件教程) 下载地址: 链接:https://pan.baidu.com/s/1GWXErav0…

论文阅读_CogTree_推理的认知树

英文名称: From Complex to Simple: Unraveling the Cognitive Tree for Reasoning with Small Language Models中文名称: 从复杂到简单:揭示小型语言模型推理的认知树链接: http://arxiv.org/abs/2311.06754v1代码: https://github.com/alibaba/EasyNLP作者: Junbi…

PLC物联网网关BL104实现PLC协议转MQTT、OPC UA、Modbus TCP

随着物联网技术的迅猛发展,人们深刻认识到在智能化生产和生活中,实时、可靠、安全的数据传输至关重要。在此背景下,高性能的物联网数据传输解决方案——协议转换网关应运而生,广泛应用于工业自动化和数字化工厂应用环境中。 无缝衔…

【leetcode题解C++】160.相交链表 and 142.环形链表II

​160.相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 示例 1&#xff1…

使用Ultimate-SD-Upscale进行图片高清放大

之前我们介绍过StableSR进行图片高清放大,如果调的参数过大,就会出现内存不足的情况,今天我们介绍另外一个进行图片高清放大的神器Ultimate-SD-Upscale,他可以使用较小的内存对图像进行高清放大。下面我们来看看如何使用进行操作。…

web漏洞总结大全(基础)

前言 本文章是和cike_y师傅一起写的,cike_y博客:https://blog.csdn.net/weixin_53912233?typeblog 也欢迎大家对本文章进行补充和指正,共同维护这个项目,本文的github项目地址: https://github.com/baimao-box/Sum…

力扣343. 整数拆分(动态规划)

Problem: 343. 整数拆分 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该题目可以抽象成动态规划中的爬楼梯模型,将整数的拆分类比为上台阶: 1.每个阶段可以从整数中划分出1、2、…k的一个整数 2.int dp[n 1] dp[i]表示为i的整数划分的最大…

GEE:MCD12Q1土地利用分类产品下载导出制图

导入矢量文件和导出可以看以外博文 var roi ee.FeatureCollection(projects/a-flyllf0313/assets/yidaiyilu); Map.centerObject(roi,5.5)var dataset ee.ImageCollection(MODIS/061/MCD12Q1); var igbpLandCover dataset.select(LC_Type1).mosaic().clip(roi); var igbpLan…

力扣:474. 一和零(动态规划)(01背包)

题目: 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1: 输入&#…

【LeetCode每日一题】2788. 按分隔符拆分字符串

2024-1-20 文章目录 [2788. 按分隔符拆分字符串](https://leetcode.cn/problems/split-strings-by-separator/)思路: 2788. 按分隔符拆分字符串 思路: 对于每个单词,使用一个可变字符串 StringBuilder 来构建拆分后的单词。初始时&#xff0…

高性能前端UI库 SolidJS | 超棒 NPM 库

SolidJS是一个声明式的、高效的、编译时优化的JavaScript库,用于构建用户界面。它的核心特点是让你能够编写的代码既接近原生JavaScript,又能够享受到现代响应式框架提供的便利。 SolidJS的设计哲学强调了性能与简洁性。它不使用虚拟DOM(Vir…

VScode新增设备实现无感接入(不需要输入密码)

VScode远程开发接入设备,默认是需要输入密码的,但是日常开发中刷新就需要重新输入密码,很烦人。配置ssh的RSA密钥后会,就可以直接系统级别验证接入,对开发人员来说验证步骤就透明了,实现无感接入&#xff0…

企业级存储使用的SSD磁盘的健康度问题探讨

写在前面,我的主要工作是销售企业级存储系统的备品备件和提供一些额外的增值服务。谈到销售备件,很重要的就是备件质量了。现在SSD磁盘使用越来越广泛,对于SSD磁盘的健康度就是甲方爷爷们非常关心的一个问题。本文就是想梳理一下企业级SSD固态…

再论 如何通过一个项目征服Java

前面说过,我准备用几个月的时间,将Java体系认真的梳理一遍,不一定做的很好,但是每次都努力去做。 为什么我觉得需要加紧做这个呢?Java早已经不是高大上的稀世珍品了,程序员也不再是高科技工作者&#xff0…

操作系统-操作系统引导(磁盘 操作系统引导过程)

文章目录 总览一个刚买来的磁盘(硬盘)往磁盘安装操作系统后操作系统引导过程例:windows操作系统的初始化程序 总览 一个刚买来的磁盘(硬盘) 此时空空如也 往磁盘安装操作系统后 操作系统在C盘 主引导记录不属于某…

JVM工作原理与实战(二十二):方法区的垃圾回收

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、Java的内存管理和自动垃圾回收 二、方法区的垃圾回收 1.回收条件 2.手动触发垃圾回收 3.方法区的垃圾回收案例 总结 前言 JVM作为Java程序的运行环境,其负责解释和…

beego项目部署与热更新

1.开发自己的第一个项目 这里我引用的是在线聊天室,参考源码是https://github.com/beego/samples/tree/master/WebIM 在源码的基础上重新开发,整理项目发布到了liu289747235/WebIM 推荐下载源码:https://gitee.com/myselfyou/web-im 在线…

如何卸载旧版docker

环境: Docker1.13 centos7.6 问题描述: 如何卸载旧版docker 解决方案: 1.停止Docker服务。使用以下命令停止Docker服务: sudo service docker stop2.卸载Docker软件包。根据您的Linux发行版,使用适当的包管理器来…

ClickHouse/Doris vs Elasticsearch谁更胜一筹?

前言 我之前在ClickHouse vs Doris 读写性能比较 一文中,初步做了一下ClickHouse和Doris的读写性能比较,但由于数据样本比较小,且未发挥出所有硬件资源的性能,因此进行了第二轮压测。 本轮压测与上一轮的区别在于: 新加入了Ela…

用Python实现Excel中的Vlookup功能

目录 一、引言 二、准备工作 三、实现Vlookup功能 1、导入pandas库 2、准备数据 3、实现Vlookup功能 4、处理结果 5、保存结果 四、完整代码示例 五、注意事项 六、总结 一、引言 在Excel中,Vlookup是一个非常实用的函数,它可以帮助我们在表…