2020电赛模拟题:自制积分式直流数字电压表_双积分式直流电压表-程序员宅基地

技术标签: 电压表  电子设计  stm32  芯片  嵌入式  2020 电赛  单片机  

双积分式直流数字电压表

By SCU Team

任务

全国大学生电子设计竞赛模拟题
在不采用专用A/D转换器芯片的前提下,设计并制作积分型直流数字电压表。

要求

1.基本要求;

(1)测量范围: 10mV~2V
(2)量程: 200mV,2V
(3)显示范围:十进制数0~ 1999
(4)测量分辨率: 1mV (2V档)
(5)测量误差:≤士0.5%士5个字
(6)采样速率:≥2次/秒(7)输入电阻:≥1MQ
(8)具有抑制工频干扰功能
(9)用液晶屏将所有信息显示和设置。

2.发挥部分

(1)测量范围: 1mV~2V
(2)量程: 200mV, 2V
(3)显示范围:十进制数0~ 19999

方案论证与比较

方案一:积分式直流电压测量电路

如图1所示,当电容器上的电压Uc比待检测的信号电压Vin低时,从比较器的输出端就可以检测到高电平;当电容器上的电压Uc比待检测的信号电压高时,从比较器的输出端就可以检测到低电平,也就是在比较器输出端出现下降沿的瞬间Vin和Uc正好相等,即:
在这里插入图片描述
该方案对电阻和电容器的精确度、稳定性以及单片机的时钟要求比较高,Vcc的变化对充电时间t的影响非常大,在测量小信号和大信号时,精度会下降。被测电压的值与时间是非线形的,计算处理较为困难。
在这里插入图片描述

方案二:双积分直流电压测量电路

测量步骤

先将被测电压加到积分电路上,对电容充电一段固定时间(定时积分),然后使电容对基准电源放电(反向积分),当电容上的电荷放完,比较器翻转,给单片机中断信号,从而检测充电和放电时间。运放采用集成块OPA134,具有超低失真,低噪声等特点。通过充电时间和放电时间,可以计算出被测电压。公式:在这里插入图片描述

结合上述公式,可得
在这里插入图片描述

所示为双积分电路核心电路,OPA134作为积分运算器,LM339作为比较器。所有开关均采用CD4066模拟开关,通过单片机控制。综合以上几种方案,我们选择方案二。在这里插入图片描述

系统硬件电路设计

基准电压Vref产生电路

如图3所示,通过对VEE进行滤波,用电位器进行分压产生负压,之后通过电压跟随器,提高带负载能力,稳定基准电压。在这里插入图片描述

信号调理电路

用于调节不同量程档位。
如图4所示,该信号调理电路采用仪表放大器芯片PGA202,该芯片可利用单片机控制1,2管脚达到对输入信号放大1,10,100,1000倍,且放大倍数稳定可靠。本电路将7管脚接地,8管脚输入待测信号,单片机判断信号后进行相应放大处理。在这里插入图片描述

模拟电子开关的设计

由于两次积分的切换不能直接用手动控制,并且每次测量都需要对积分电容进行放电处理,为实现短延时,自动化处理,我们采用了CD4066芯片,内置4个模拟开关,其引脚如图5所示。本电路将A开关控制待测电压接入,B开关为校零调整开关,C开关控制基准电压接入,D开关控制积分电容放电。单片机通过控制4个control端实现相应开关的打开闭合。
在这里插入图片描述

分压电路设计

由于积分信号经过LM339比较器后输出正负电压过大,无法直接输入单片机,本电路采用如下简单分压电路,将LM339输出的电压控制在0V~VCC/2之间,之后输入单片机进行检测。分压电路如图7所示。在这里插入图片描述

总仿真图

在这里插入图片描述

软件控制内容:

软件自动控制是基于嵌入式stm32F429IGT6型ARM处理器作为核心板,使用cubeMX软件快速初始化程序。利用2个定时器中断捕捉比较器的上升沿和下降沿,准确测量出两次电路积分的过程时间,并通过检测时间,通过(time2-time0)*Voltage0/time1公式换算出电压值,自动判断出其量程,反馈到程控放大器调整其放大倍数,测量时进行自动调零。通过I2C通信协议将各种指标参数显示在OLED屏上。

程序逻辑参考

TG1:自动校零(接地)
TG2:积分电容的放电
TG3:选择被测电压
TG4:选择基准电压
预先设置计数比较值n0,n1,基准电压E0,系统时钟周期T0;

电路部分程序逻辑设计建议:

t0~t1整备阶段:TG2闭合,整个积分电路输出为零,计数器清零,默认量程200mV-2V(不进行放大),建议设置延时20-30ms,以待电路稳定;

t0~t1重整备阶段:TG2闭合,整个积分电路输出为零,计数器清零,建议设置延时20-30ms,以待电路稳定;

t0~t1校零阶段:TG2闭合,TG1闭合,整个积分电路输出为零,计数器清零,控制仪表放大器100倍放大,建议设置延时50-60ms,以待电路稳定;

t1~t2采样阶段:TG3闭合,计数器开始计数,建议采样时间T1为60ms 或100ms,计数值N1为T1/T0;

t2~t3比较阶段:计数器计满N1产生中断,TG4闭合,进行基准电压反向积分,重新计数,等待电压比较器下降沿信号,获得计数值N2:
N2>n1 ,电压200mV~2V, 直接执行输出阶段;
(N2 > n0)&&(N2 < n1),电压20mV~200mV,控制仪表放大器10倍放大,重新回到重整备阶段;
N2 < n0,电压1~20mV,控制仪表放大器100倍放大,一旦N2已大于n1,可不等待下降沿信号,立即回到重整备阶段,以节约时间;

t4输出阶段:输出(N2-N0)*E0/N1,每30s执行一次校零阶段,否则直接回到整备阶段;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smart_99/article/details/104136575

智能推荐

element ui 表格中的字太长,想要把多余的字变成...解决方法,一个属性即可_element ui table文字变多转换...-程序员宅基地

文章浏览阅读3.4k次,点赞5次,收藏4次。问题描述如下相应代码段 <el-table style="width: 100%" height="330px" :data="tableData" border stripe> <el-table-column align="center" type="index" label="#"></el-table-column> <el-table-column align="center" label="社团编号" prop="a_element ui table文字变多转换...

详解Java泛型机制-程序员宅基地

文章浏览阅读598次,点赞29次,收藏13次。分享一份自己整理好的Java面试手册,还有一些面试题pdf。

DOCTYPE的作用,常见声明,删除<!DOCTYPE>发生什么?严格模式和混杂模式_<!doctype>-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏10次。在HTML文档首部往往会有这样一行代码:<!DOCTYPE html>由于常见而且一般可能自己使用编辑器设置了默认模板(包含这一句代码),可能很多时候我们会忽略它的存在,不知道它的作用以及重要性。实际上,这行代码是一个声明, 其作用是告诉浏览器按照哪一种HTML文档规范解析HTML文档。Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。H_

Java中使用FFmpeg进行视频图像的人脸检测_java 视频识别人-程序员宅基地

文章浏览阅读106次。在Java中,我们可以使用FFmpeg库来进行视频图像的处理和分析。其中一个常见的应用是人脸检测,通过识别视频中的人脸,我们可以进行人脸识别、情感分析等各种应用。总结起来,本文介绍了如何在Java中使用FFmpeg进行视频图像的人脸检测。通过使用外部进程和FFmpeg命令,我们可以方便地在Java应用程序中集成人脸检测功能。安装和配置FFmpeg的详细步骤超出了本文的范围,您可以在FFmpeg的官方网站上找到相关的文档和指南。然后,我们构建了一个FFmpeg的命令字符串,该命令使用了FFmpeg的。_java 视频识别人

时差问题-程序员宅基地

文章浏览阅读567次。Problem4:时差问题。一个地方和北京相差17个小时(比北京慢17h),输入北京时间,输出当地时间;输入格式:年 月 日 时 分,输出格式一样。此题注意输出格式控制(后四项数字位数为两位)#include &lt;iostream&gt;#include &lt;iomanip&gt;using namespace std;bool isLeap(int year);...

【车间调度】基于matlab樽海鞘算法求解带小车的车间调度AGV-fjsp问题【含Matlab源码 3283期】-程序员宅基地

文章浏览阅读62次。樽海鞘算法求解带小车的车间调度AGV-fjsp问题完整的代码,方可运行;可提供运行操作视频!适合小白!

随便推点

保姆级爬虫无水印视频大全 最新版java+selenium_java爬取抖音视频-程序员宅基地

文章浏览阅读1k次,点赞8次,收藏8次。抖音、快手视频无水印爬虫,以及通过请求网页获取html页面数据_java爬取抖音视频

ruby on rails win下安装-程序员宅基地

文章浏览阅读4k次。ruby on rails win下安装发现新的技术ruby on rails,关于他一些介绍就不说了,我说下今天的我的安装过程!首先是下载http://rubyforge.org/projects/rubyinstaller/我弄的是最新的!然后安装,跟安装其他软件一样本地安装没学会,需要下载gemhttp://rubyforge.org/frs/?group_id=126还要下载一个配套的ap

Python Challenge笔记 - 1-程序员宅基地

文章浏览阅读93次。http://www.pythonchallenge.com/pc/def/map.html图片中提示 K->M O->Q E->G下面给了一段话 看起来是加密过了的 根据提示可以知道 每个字母后移了2位使用string和maketrans可以解决此问题解密出来的文字提示使用这个规律解密地址 将map解密后得到 ocr即下一关地址http://www.pythonchall..._maketrans(l,l[2:]+l[:2])

markdown合并单元格、设置单元格背景颜色和字体颜色_markdown表格颜色-程序员宅基地

文章浏览阅读2.6k次。markdown 编辑器通过HTML实现:设置单元格背景颜色、设置字体颜色和合并单元格的两种方式_markdown表格颜色

【Halcon轮廓提取】-程序员宅基地

文章浏览阅读1.6w次,点赞13次,收藏137次。edges_image算子:edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )功能:使用Deriche, Lanser, Shen或者Canny 滤波器进行边缘提取参数:Image (input_object) : 单通道图像(数组)ImaAmp (output_object):多通道图像(数组),边缘振幅或梯度大小图像。ImaAmp输出变量,说的是edges的amplitude,其实就是梯度的大小(因为边缘_halcon轮廓提取

【PLS预测】基于PCA主成分分析结合PLS实现近红外光谱检测的菠萝含水率预测附matlab代码_近红外数据pca分析-程序员宅基地

文章浏览阅读967次,点赞26次,收藏24次。近红外光谱技术(NIRS)是一种快速、无损的分析技术,已广泛应用于水果品质检测中。本文提出了一种基于主成分分析(PCA)和偏最小二乘回归(PLS)相结合的近红外光谱预测菠萝含水率的方法。该方法利用PCA降维提取光谱特征,并通过PLS建立光谱与含水率之间的定量关系模型.数据预处理:对光谱数据进行标准正态变换和一阶导数处理利用PCA对光谱数据进行降维处理,提取主成分PLS模型建立:采用PLS算法建立光谱与含水率之间的定量关系模型交叉验证法优化PLS模型参数,包括成分数和正则化参数。_近红外数据pca分析

推荐文章

热门文章

相关标签