历史上的今天
返回首页

历史上的今天

今天是:2025年06月17日(星期二)

正在发生

2021年06月17日 | 基于51单片机的空气质量流量计研究

2021-06-17 来源:eefocus

本文以简单易控的51单片机STC89C52单片机为控制核心,通过AD模块的转换,对空气质量流量进行计量并显示。显示装置的设计是空气质量流量计设备上一个重要的环节,在考虑主要模块的基础上,文章以罗蒙斯特空气质量流量计为设计针对原型,运用多种电子EDA软件绘制并制作了一个简易的显示装置,结果的分析表明显示装置的优劣在对空气质量流量计的设计环节中起着至关重要的作用。


一、罗蒙斯特质量流量计的工作原理


罗蒙斯特质量流量计的计量系统包括一台传感器和一台用于信号处理的变送器。传感器由外壳、微振动测量管、振动驱动器和信号检测器及温度补偿元件等主要部件组成。当气体通过振动测量管时,在气体推动及外加于测量管的振动力作用下,测量管将获得附加的科里奥力,其大小与气体的质量流量成正比,科里奥力引起测量管的微小扭曲导致振动时的相位差转换为线性的电信号输出,变送器就将此电信号转换为1~5V的电压信号,通过AD模块显示在显示装置上。


二、硬件电路


电信号的转换是单通道,在此选择容易掌握的ADC0804芯片,其模数转换功能已足够满足需求。显示装置采用4段8位数码管,精确度到个位。其模块图如图1所示。



输入模块是经过变送器转换的电压信号,其幅值在1~5V之间变化;AD模块就是AD芯片,ADC0804是COMS依次逼近型的AD转换器,三态锁定输出,分辨率为8位,存取时间135us,转换时间100us,从功能与成本角度考虑,ADC0804是比较合适的;控制模块选用STC89C52单片机,其性能高,成本低的优点在小型控制器的使用上得到普遍的应用。显示模块在此选取的是4段8位数码管,由经验常识可知5V电压值对应的数字量为255,所以在精度要求不是太高的情况下4段8位数码管可以满足其显示准确性的要求。


2.1 电路原理图


PROTEL是PROTEL公司推出的一款用于电子设计的EDA软件,因其模块功能的多样化和人性化得到众多电子设计者的青睐。在设计空气质量流量显示装置电路板时,首先需要在PROTEL环境下对原理图进行构思绘制。经过对电路中所需各模块的分析绘制出如下的电路原理图,如图2所示。



2.2 Proteus仿真电路


为了保证电路的搭建正确性和各模块功能自检的完善,还需要在Proteus仿真软件中对搭建的电路原理图进行仿真测试,如图3所示是在Proteus仿真环境中对搭建的电路原理图进行的仿真。



从图中可以看出,电路包括最基本的功能模块:单片机的复位功能模块,AD模块和数码管的显示模块。外接的电压是5V电压值,为了可以实时模拟变送器输出的电压信号,在此添加一个电位器器件,通过调节电位器的阻值变化来模拟输出电压信号的变化;从数码管的数字显示值上看,本次搭建电路和仿真是正确的;调节电位器的阻值发现数码管的数字量随阻值大小的变化实时变化,表明此电路图可以模拟变送器器输出的电压信号。在完成基本功能需求的基础上,本电路图在搭建时考虑到了为寻找后续电压数字值和模拟量之间的对应关系,添加了一直流电压表,用来显示对应数字值所代表的电压值。


三、单片机软件设计


利用Kiel51C语言对各模块进行编程,程序部分主要由主程序,AD采样、转换程序,数码管显示程序等组成。软件程序的流程图如图4所示。



图4 软件程序的流程图


四、数据分析


在做好的显示装置上采集一系列的电压值与数字值。分析电压值和数字值之间的对应关系,找出之间的比例关系,并对相关的数据结果整理分析计算出显示装置的误差率。采集的相关数据如表1所示:



将所采集的电压值与数码管显示的数字值分析整理可得出他们之间的线性关系,如图5所示。



图5 数字值和电压值之间的关系


从图中选取几组数字值和电压值计算出数字值和电压值之间满足线性关系的斜率为50.33,即以Y表示数字值,X为电压值,则Y=50.33X.


由表1中的数据可以计算出显示装置的相对显示误差。


产生误差的原因是受限于显示设备的精度和程序的设计,数码管以精确到个位为精准度,在显示中个位的数字会因外界的干扰发生变动;程序设计中因受限于显示设备是4位的数码管,所以在程序的编写过程中没有附加考虑小数点后的精度。但从数值与电压值之间的线性关系函数角度考虑,显示装置的目的已经做到了。通过电压值与数字值之间的函数关系,在显示装置上显示出实时变化的数字量,通过线性函数关系找到对应的电压值,通过变送器的逆向转换可以得到科里奥力的大小,进而计算出空气质量流量的大小。


五、结束语


最佳空燃比是发动机工作动力性的一个重要参数,它不仅影响车辆的燃油经济性,更对日益严重的尾气排放环保性有着苛刻的要求。准确的显示流入发动机的空气质量流量为发动机获得最佳空燃比提供数据借鉴。空气质量流量计对数据显示结果进行分析找出模拟量与数字量之间的线性对应关系,从而为发动机提供最佳空燃比设立参照途径。结果的分析表明显示装置的优劣在对空气质量流量计的设计环节中起着至关重要的作用。


推荐阅读

史海拾趣

Honda Tsushin Kogyo Co Ltd公司的发展小趣事

在电子行业快速发展的同时,Honda Tsushin Kogyo也面临着来自技术革新、市场竞争等方面的挑战。为了保持领先地位,公司可能积极应对这些挑战,通过转型升级来实现可持续发展。例如,公司可能加大了对新能源、物联网等新兴领域的投入,研发出符合市场需求的新产品。同时,公司还注重提升生产效率和降低成本,以应对激烈的市场竞争。

Crouzet公司的发展小趣事

随着业务的不断发展,Crouzet公司于1989年和1992年分别成功兼并了法国Syreles公司及墨西哥Gordos公司。这一系列的兼并活动不仅增强了公司的实力,还进一步扩大了公司的业务范围。此后,Crouzet开始在全球范围内布局,陆续在美国、德国、英国、荷兰、比利时、瑞士、瑞典等国设立分公司,形成了一个覆盖全球的销售网络。

Devar Inc公司的发展小趣事

Devar Inc公司自创立之初,就致力于在增强现实(AR)领域取得突破。经过多年的研发,公司成功推出了世界上首个用于AR的生成式AI神经网络。这项技术允许用户通过简单的文本提示创建3D对象和其他AR资产,极大地简化了AR内容的创作过程。Devar的AR平台结合了神经网络和云解决方案,让用户能够轻松创建并分享AR内容,开启了AR创作的新时代。

amcc [applied micro circuits corp]公司的发展小趣事

随着环保意识的提高,Devar Inc公司也积极投身环保科技领域。公司研发了一系列环保型电子产品和解决方案,如可降解材料制成的电子产品外壳、节能型电源管理系统等。同时,Devar还积极参与电子废弃物的回收和处理工作,推动循环经济的发展。这些努力不仅有助于减少环境污染和资源浪费,也提升了公司的社会责任感和品牌形象。

Aydin Corp公司的发展小趣事

面对日益严峻的环境挑战和市场变化,Aydin Corp积极寻求可持续发展之路。公司致力于推广环保理念,采用环保材料和节能技术,降低生产过程中的能耗和排放。同时,Aydin Corp还加大在新能源、智能电子等领域的研发力度,为公司的未来发展做好充分准备。展望未来,Aydin Corp将继续秉持创新、品质、合作的理念,为电子行业的发展贡献更多的力量。

这些故事虽然基于假设,但反映了电子行业公司普遍面临的挑战和机遇。如需获取关于Aydin Corp公司的真实发展故事,建议直接访问其官方网站或查阅相关新闻报道。

Giga公司的发展小趣事
通过定时控制LED灯的亮灭,实现视觉效果。

问答坊 | AI 解惑

中、外适合自制的单片机下载器 / 编程器 / ISP / 的集中营

  郑重声明:本主贴下所有项目均来自互联网,仅提供鉴赏和学习之用,不得用于商业行为。若您因此涉及侵害原创者利益,请自行负责,与本主贴楼主无关! 第一款    老外的并口ISP          &nbs ...…

查看全部问答>

电子设计超声波

本帖最后由 paulhyde 于 2014-9-15 09:22 编辑 顶一下吧!  …

查看全部问答>

如何保证SPI flash中的数据安全?

各位大侠,小弟有个问题请教: 请问:将用户开发的程序存储到SPI FLASH后供其他芯片调用,有没有什么措施《防止FLASH中的数据被导出》,导出数据有时能够直接用于其他FLASH中; 另外,是否有自带加密功能的SPI FLASH芯片呢,如果有,请推荐下型号 ...…

查看全部问答>

vxworks里的powerpc-wrs-vxworks-ar等指什么?

一个软件为在vxworks_powerpc下安装写的makefile中有如下几句: “CCROOT=/net/compiler/gcc_mpt_1.02/bin RANLIB = $(CCROOT)/powerpc-wrs-vxworks-ranlib AR = $(CCROOT)/powerpc-wrs-vxworks-ar cq NM = $(CCROOT)/powerpc-wrs-vxworks-nm” ...…

查看全部问答>

急,关于用WAVECOM无线模块发送彩信的问题

现在我在做毕设,就是要用WAVECOM发彩信 型号:wavecom Q2406 PL 002 在我往串口发送了 AT+CGDCONT=1,\"IP\",\"CMWAP\" ATD*99***1# 之后,服务器给我重复了好多次,发了这样的一段数据:(我用了ACCESSPORT来显示串口收到的16进制数据) 7E ...…

查看全部问答>

LM3开发笔记_3.中断学习

     对于“裸奔”的系统而言,使用中断是无法避免的,Stellaris外设驱动库的中断操作函数都封装在相应外设的.c/h文件和interrupt.c/h文件中,使用起来非常方便。我比较支持使用固件库,固件库出错的可能性绝对要比自己去直接 ...…

查看全部问答>

求教一个单片机控制问题

各位大侠:求教一个单片机控制问题,如图是一个示意图,直流电池供电的一个负载,负载如果成功启动一次,电池电压会降低50毫伏左右,如果负载没有成功启动,当然也就不会有这个微弱的小电压。我想利用这个下降的的小电压,进行负载成功启动和失败的 ...…

查看全部问答>

急救啊!CCS因为硬件初始化不成功进不了

         开始用的好好的系统,在调试程序的时候出现硬件初始化不成功的错误,然后重进CCS,接着就调出对话框如下错误:can\\\'t initialize target cpu  error 0x80000240/-200  fatal error ...…

查看全部问答>

串口通信问题!

请问我如果不在中断中处理串口接收和发送,而在主程序中做.我知道如果判断串口是否收到单个字节如0x55可以用如下语句: if(URCTL0 & RXWAKE) { if(RXBUF0==0x55) ............................ 现在如果我想判断串口是否连续 ...…

查看全部问答>