ADC采集的电压误差比较大怎么办?
目录
1、电源噪声和电源不稳定
2、参考电压不稳定或不准确
3、采样电路设计不合理
4、温度影响
5、软件校准和误差修正
6、时钟抖动
ADC(模数转换器)采集的电压误差可能会受到多种因素的影响,要有效减少误差,需要从硬件和软件两方面进行分析和优化。

1、电源噪声和电源不稳定
电源电压不稳定会直接影响ADC采集的精度,尤其是当电源上有高频噪声时,会影响ADC的参考电压,导致采集的电压波动或不准确。
解决方案:
- 使用低噪声稳压器来为ADC供电。
- 在ADC的电源引脚附近加入去耦电容(如0.1uF和10uF的组合)来滤除高频噪声。
- 对于高精度应用,考虑使用独立的电源轨,专门给ADC提供稳定的参考电压。
例如,在一个嵌入式系统中,ADC采集的电压总是有±20mV的波动,经过检查,发现电源上有50Hz的交流干扰。通过增加10uF电容并使用更高质量的稳压器,成功将误差减少到±2mV。
2、参考电压不稳定或不准确
ADC的精度依赖于参考电压的稳定性。如果参考电压有漂移或噪声,采集到的数据就会不准确。
解决方案:
- 使用高精度、低漂移的基准电压源,如基准电压芯片。
- 在参考电压引脚处加入滤波电容,以减少噪声干扰。
- 参考电压应尽可能稳定,避免与其他有波动的电源共享。
例如,一个系统中使用了3.3V电源作为ADC的参考电压,由于3.3V电源波动较大,导致ADC的误差达到1%。通过使用一个2.5V的高精度基准电压源,并通过10uF的电容滤波,误差减小至0.1%。
3、采样电路设计不合理
ADC采样电路不当设计,比如信号输入阻抗过高、PCB布线不良等,都会引入误差。
解决方案:
- 使用低阻抗输入电路,以确保ADC输入能迅速达到稳定状态。
- 如果输入信号阻抗较高,可以在信号与ADC输入之间添加缓冲运放。
- PCB布线应尽量避免长距离信号线,特别是在高噪声环境中,走线应尽量短且远离噪声源。
例如,在某设计中,传感器输出信号直接连接到ADC,但传感器的输出阻抗较高,导致ADC采样时间延长,结果采样电压比实际电压低了约50mV。通过在传感器输出和ADC输入之间增加一个运放缓冲,误差完全消除。
4、温度影响
温度的变化会影响ADC的内部电路,包括基准电压源和转换器的线性度,进而影响采集的精度。
解决方案:
- 选择具有温度补偿功能的ADC或基准电压源,减少温度对其工作的影响。
- 对温度敏感的电路部分(如基准电压、ADC芯片)进行适当的热设计,如加装散热片或将其放置在温度相对稳定的区域。
例如,某工业系统中,ADC在25℃时表现良好,但当环境温度升高至60℃时,采集数据出现了约5%的误差。更换了一个带温度补偿的基准电压源后,系统在不同温度下的误差控制在0.5%以内。
5、软件校准和误差修正
ADC的非线性误差、增益误差和偏移误差等可以通过软件进行修正,尤其是对于精度要求较高的应用场景。
解决方案:
- 通过软件校准来修正ADC的偏移误差和增益误差。例如,可以在已知输入电压下进行多次采样,计算出偏移量和增益系数,并在运行时对采样结果进行修正。
- 如果ADC存在线性度误差,可以采用分段校正法,通过查表的方式修正不同电压范围内的误差。
例如,在一个精密测量系统中,ADC的采样结果存在0.5%的系统性误差。通过测量多个已知电压点,得出校准曲线,并在软件中对每次采样结果进行修正,最终将误差降至0.05%。
6、时钟抖动
ADC的转换精度与采样时钟的稳定性密切相关,如果采样时钟存在抖动,采样的信号可能不准确。
解决方案:
- 采用低抖动时钟源,如晶体振荡器,来提供稳定的时钟信号。
- 如果ADC允许,可以使用内部时钟源代替外部时钟,以减少噪声干扰。
例如,在某设计中,使用了一个低成本的RC振荡器作为ADC的时钟源,导致数据波动较大,平均误差为0.2%。更换为高精度晶体振荡器后,误差减少至0.05%。
ADC采集误差问题可以通过从电源、参考电压、采样电路设计、温度影响、软件校准以及时钟稳定性等多个方面进行优化。通过结合硬件设计的改进和软件算法的校正,可以显著提高ADC的采样精度,降低采集误差。
相关文章:
ADC采集的电压误差比较大怎么办?
目录 1、电源噪声和电源不稳定 2、参考电压不稳定或不准确 3、采样电路设计不合理 4、温度影响 5、软件校准和误差修正 6、时钟抖动 ADC(模数转换器)采集的电压误差可能会受到多种因素的影响,要有效减少误差,需要从硬件和软…...
【单片机】MSP430MSP432入门
文章目录 0 前言1 开发方式选择2 CCS和开发相关软件3 Keil开发MSP4324 IAR for 430开发MSP4305 总结 0 前言 最近因为想学DSP,所以把之前卸载的CCS给装回来了,手头也还有之前电赛剩下的MSP430和MSP432的板子,由于年代久远,想着花点…...
linux中conda3安装
1、下载安装包 清华源-》https://mirrors.tuna.tsinghua.edu.cn/# 本文使用Anaconda3-2022.10,对应的下载路径-》https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh 2、将下载到的sh脚本放在Linux中用sh脚本解析器执行 …...
大模型自动提示优化(APO)综述笔记
自大型语言模型(LLMs)出现以来,提示工程一直是各种自然语言处理(NLP)任务中激发期望响应的关键步骤。然而,由于模型的快速进步、任务的多样性和相关最佳实践的变化,提示工程对最终用户来说仍然是…...
SOME/IP-SD -- 协议英文原文讲解6
前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.3.1 E…...
每日Attention学习24——Strip Convolution Block
模块出处 [TIP 21] [link] CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery 模块名称 Strip Convolution Block (SCB) 模块作用 多方向条形特征提取 模块结构 模块特点 类PSP设计,采用四个并行分支提取不同维度的信息相比于…...
ECharts graphic 的学习
ECharts 的 graphic 属性用于在图表中自定义图形元素(如文本、形状、图片等),实现更灵活的视觉效果增强或交互设计。以下是结合搜索结果的整理与分析: 一、graphic 的核心功能 自定义图形类型 支持多种基础图形元素,包…...
Springboot快速接入豆包大模型
背景 突然接到上面的通知,想要在系统里面接入各大模型的能力,我这边随机选了个豆包,然后快速对接了一下,很顺利,一把过,现在文档的快速入门还是很ok的,在此记录一下过程,给宝子们参考…...
DeepSeek的安全挑战和安全控制措施
本研究探讨了与 DeepSeek 相关的安全风险,为安全和风险管理领导者提供了有针对性的策略来缓解这些威胁,并提供了可行的措施来加强基于现有安全控制的 AI 保护。 主要发现 了解 DeepSeek 当前的安全状况。DeepSeek的采用激增暴露了关键的安全挑战&…...
掌握 JavaScript 旋转技术
1. 基本概念 1.1 角度与弧度 在讨论旋转之前,首先需要了解角度和弧度的概念: 角度:通常用度数表示,一个圆周为360度。弧度:数学上更常用的角度单位,一个圆周为2π弧度。 在JavaScript中,大多…...
力扣-贪心-968 监控二叉树
思路 用true和false作为放置了摄像头,会有局限,就是没法判断以下情况 所以要用数字代表三种状态 2:有覆盖1:有摄像头0:无覆盖 两个节点都被覆盖时,要返回0 两个节点有一个无覆盖就要返回1 两个…...
从零开始搭建你的第一个HBase项目:实战经验分享
从零开始搭建你的第一个HBase项目:实战经验分享 数据洪流中的你,准备好了吗? 在大数据时代,数据量的增长速度令人咋舌。面对海量的数据,如何高效地存储、管理和分析成为了一个亟待解决的问题。今天,我们将…...
计算机毕业设计SpringBoot+Vue.js智慧社区(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Elasticsearch 的分布式架构原理:通俗易懂版
Elasticsearch 的分布式架构原理:通俗易懂版 Lucene 和 Elasticsearch 的前世今生 Lucene 是一个功能强大的搜索库,提供了高效的全文检索能力。然而,直接基于 Lucene 开发非常复杂,即使是简单的功能也需要编写大量的 Java 代码&…...
每日一题之混乱的草稿纸
问题描述 一年一度的蓝桥杯省赛即将开赛,小蓝卧薪尝胆,目标直指省一。 为了实现这个宏伟目标,小蓝偷偷准备了一份 NN 行的代码模板,分别写在 NN 张草稿纸上(每张草稿纸上都写有一行代码,并用 11 到 NN 的…...
【redis】数据类型之hyperloglog
Redis的HyperLogLog(HLL)是一种高效的概率数据结构,也是一种基于字符串的数据结构,用于估计大数据集的唯一元素数量(基数统计)。它通过极低的内存占用(约 12KB)实现接近线性的时间复…...
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration,这个对象里面有compareDate字段,刚好表格查询的对象也是FakeRegistration,所以表格展示的时间就是刚才…...
Chat2File - DeepSeek Chat 导出助手:解决deepseek对话导出问题,提升开发效率
Chat2File - DeepSeek Chat 导出助手:解决deepseek对话导出问题,提升开发效率 大家好久不见,最近这段时间一直在开发一些项目,今天给大家带来一款刚在 Edge 成功上线的实用插件 ——Chat2File - DeepSeek Chat 导出助手。作为开发…...
MEMS光纤麦克风传感器特色解析
概念原理 光纤麦克风是利用光纤作为传光介质和传感元件,将声音信号转换为光信号,并通过对光信号的检测和处理来获取声音信息的设备。它区别于传统基于电信号转换的麦克风,利用光的特性来实现声音的传感与传输。 原理:声音引起敏…...
LLC谐振变换器恒压恒流双竞争闭环simulink仿真
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换)针对全桥LLC拓扑,利用Matlab软件搭建模型,分别对轻载…...
山东大学软件学院ai导论实验之生成对抗网络
目录 实验目的 实验代码 实验内容 实验结果 实验目的 基于Pytorch搭建一个生成对抗网络,使用MNIST数据集。 实验代码 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data…...
C++ Qt常见面试题(2):QT中的文件流(QTextStream)和数据流(QDataStream)的区别
在 Qt 中,QTextStream 和 QDataStream 是两种常用的流类,用于通过文件或其他 I/O 设备(如网络、内存)读写数据。虽然它们都可以用来操作数据,但它们的设计目标和使用场景不同。以下是它们的主要区别和适用场景的详细说明: 1. QTextStream:文本流 QTextStream 是一种专门…...
入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】
🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火,这个行业因为国家政策趋势正在大力发展,大有可为!但很多人对网络安全工程师还是不了解,不知道网…...
【论文解读】《C-Pack: Packed Resources For General Chinese Embeddings》
论文链接:https://arxiv.org/pdf/2309.07597 本论文旨在构建一套通用中文文本嵌入的完整资源包——C-Pack,解决当前中文文本嵌入研究中数据、模型、训练策略与评测基准缺失的问题。论文主要贡献体现在以下几个方面: 大规模训练数据…...
Cramér-Rao界:参数估计精度的“理论底线”
Cramr-Rao界:参数估计精度的“理论底线” 在统计学中,当我们用数据估计一个模型的参数时,总希望估计结果尽可能精确。但精度有没有一个理论上的“底线”呢?答案是有的,这就是Cramr-Rao界(Cramr-Rao Lower …...
ClickHouse 的分区、分桶和分片详解
在大数据场景下,数据的存储和查询效率至关重要。ClickHouse 作为一款高性能的列式存储数据库,提供了多种数据组织方式来优化存储和查询,其中最常见的就是 分区(Partition)、分桶(Sampling)、分片…...
【操作系统、数学】什么是排队论?如何理解排队论?排队论有什么用处?Queueing Theory?什么是 Little’s Law?
排队论(Queueing Theory)是研究系统中排队现象的数学理论,旨在分析资源分配、服务效率及等待时间等问题。它广泛应用于计算机科学、通信网络、交通规划、工业工程等领域。 【下文会通过搜集的资料,从各方面了解排队论,…...
2209. 用地毯覆盖后的最少白色砖块
2209. 用地毯覆盖后的最少白色砖块 题目链接:2209. 用地毯覆盖后的最少白色砖块 代码如下: class Solution { public:int minimumWhiteTiles(string floor, int numCarpets, int carpetLen) {vector<vector<int>>memo (numCarpets 1, vec…...
DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级
在近两年由AI引发的生产力革命的背后,一场关乎数字世界秩序的攻防战正在上演:AI生成的深度伪造视频导致企业品牌声誉损失日均超千万,批量生成的侵权内容使版权纠纷量与日俱增,黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…...
(0)阿里云大模型ACP-考试回忆
这两天通过了阿里云大模型ACP考试,由于之前在网上没有找到真题,导致第一次考试没有过,后面又重新学习了一遍文档才顺利通过考试,这两次考试内容感觉考试题目90%内容是覆盖的,后面准备分享一下每一章的考题,…...
