以下是DIY 24位ADC电压表的关键步骤和要点,基于高精度Delta-Sigma ADC芯片(如常见的ADS1256):
核心部件
- ADC芯片 (24位)
- 推荐型号:ADS1256 (TI)、ADS1248 (TI)、HX711 (低成本称重,但易用)
ADS1256最常用:8通道差分输入,30kSPS(实际高速模式噪声较高),SPI接口,内置PGA、参考源、时钟。
- 推荐型号:ADS1256 (TI)、ADS1248 (TI)、HX711 (低成本称重,但易用)
- 微控制器
- Arduino (Uno/Nano)、STM32、ESP32(需硬件SPI接口)
- 电压基准源
- 关键! 24位精度依赖超稳定基准电压。
- 推荐:ADR441/ADR431 (超低噪)、LM4040/REF5040 (±0.05%精度)
- 输入分压/衰减电路
- 测量高于基准电压时需分压(如测100V)。
- 电阻要求:低温漂(<10ppm/℃)、高精度(0.1%或更好)。
- 模拟前端 (AFE)
- 缓冲器:高输入阻抗运放 (如OPA2188) 减少信号源负载。
- 滤波器:RC低通滤波 (LPF) 抑制高频噪声(截止频率≈10Hz-1kHz)。
硬件设计要点
- PCB布局 & 布线
- 分区隔离:模拟区(ADC、基准、输入电路)与数字区(MCU、晶振)严格分开。
- 星型接地:模拟地 (AGND) 和数字地 (DGND) 单点连接(通常在ADC下方)。
- 电源去耦:ADC电源引脚并联 10μF钽电容 + 0.1μF陶瓷电容,紧贴芯片。
- 铺铜:模拟区底层完整铺地,减少干扰。
- 信号连接
- 差分输入线尽量短、对称、远离数字线。
- 基准电压引脚直接连到ADC的REF脚,避免长走线。
基础代码流程 (Arduino + ADS1256)
#include <SPI.h>
#define DRDY_PIN 7 // 数据就绪引脚
#define CS_PIN 10 // 片选引脚
void setup() {
Serial.begin(115200);
SPI.begin();
pinMode(DRDY_PIN, INPUT);
pinMode(CS_PIN, OUTPUT);
digitalWrite(CS_PIN, HIGH);
// 初始化ADS1256:设置PGA增益、数据速率、缓冲器等
writeRegister(0x03, 0x00); // PGA=1, 关闭缓冲 (根据需求调整)
writeRegister(0x02, 0x04); // 数据速率=30SPS (0xB0=2.5SPS高精度)
}
void loop() {
if (digitalRead(DRDY_PIN) == LOW) { // 数据已就绪
float voltage = readADC();
Serial.print("Voltage: ");
Serial.print(voltage, 6); // 显示6位小数
Serial.println(" V");
}
}
float readADC() {
uint8_t data[3];
digitalWrite(CS_PIN, LOW);
SPI.transfer(0x01); // 发送读取指令
for (int i=0; i<3; i++) data[i] = SPI.transfer(0);
digitalWrite(CS_PIN, HIGH);
int32_t adc_val = (data[0]<<16) | (data[1]<<8) | data[2]; // 24位有符号转32位
return (adc_val * 2.5) / 0x7FFFFF; // 计算电压 (基准=2.5V)
}
void writeRegister(uint8_t reg, uint8_t val) {
digitalWrite(CS_PIN, LOW);
SPI.transfer(0x50 | reg); // 写寄存器命令(0x50 + 寄存器地址)
SPI.transfer(val);
digitalWrite(CS_PIN, HIGH);
}
提升精度的关键技巧
- 校准!
- 零点校准:短接AIN+与AIN-,测量偏移值并储存。
- 增益校准:输入精确的已知电压(接近满量程),计算比例系数。
- ADS1256支持内部自校准 (
SELFCAL) 命令。
- 降噪措施
- 降低采样速率(如2.5SPS模式)可显著减少噪声。
- 增加软件采样求平均值(10次~100次)。
- 使用sinc滤波(ADS1256内置)。
- 优化基准源
- 为基准源添加LC滤波电路。
- 选用低噪声LDO(如TPS7A47)供电。
可选扩展功能
- 多量程切换:用继电器或模拟开关自动切换分压比。
- 显示界面:OLED/LCD屏实时显示数值。
- 数据记录:通过SD卡或WiFi(ESP32)存储数据。
- 保护电路:TVS二极管/限流电阻防止过压。
重要注意事项
- 电源稳定性:ADC和基准源需超低纹波电源,线性稳压器优于开关电源。
- 温漂影响:电阻/基准源温漂会导致漂移,恒温环境或自动温度补偿(需传感器)可改善。
- 噪声极限:24位分辨率≠24位精度,实际无噪声位数(ENOB)约16-21位,取决于设计和环境。
- 量程范围:ADS1256输入范围 =
±V_ref / PGA增益,例如±2.5V(V_ref=2.5V, PGA=1)。
替代简易方案
如果不需要全量程,可直接购买模块:
- ADS1256模块:10~50元,含基准和隔离电路,通过SPI与Arduino通信。
- HX711模块:仅5元,但只能测0~20mV或0~40mV(需外接分压)。
通过精心设计硬件+软件校准,DIY的24位电压表可达到微伏(µV)级分辨率,足以应对大多数高精度测量场景!务必先从低采样率+平均值开始测试稳定性。
3位半或4位半ADC实现2v量程数字电压表
请问有大佬会设计3位半mc14433ADC或者4位半ICL7135ADC实现数字直流电压表设计吗,用纯硬件,不用单片机
jf_03995326
2022-06-02 23:26:49
制作六位半电压表步骤分享!
,低的偏置电流,低噪声。AD8629用ADC缓冲驱动,AD8622做前端放大。电压表的输入量程:1:1000V档,输入阻抗10M,经过9.9M和0.1M分压得到100比1的10V电压,经运放缓冲再进
vmuwuerds
2019-09-01 23:28:45
数字电压表的工作特性_数字电压表工作原理
到7位8位。例如,3½位和4½位数字电压表(DVM)的精度可以分别达到±0.1%和±0.02%。数字电压表通过模数转换器(ADC)将模拟电压信号转换为数字信号,并经过计算和处理后显示出来,这一过程减少了人为误差和模拟电路中的漂移误差,从而提高了测量精度。
2025-01-28 13:54:00
设计一个简单的直流数字电压表
以单片机为核心器件,组成一个简单的直流数字电压表。(1)采用1路模拟量输入,能够测量0-5V之间的直流电压值。(2)电压显示可采用4位LED数码管显示,至少能够显示两位小数。简易数字电压表的制作
caosurround
2021-11-19 08:24:27
利用ADC0809设计一个简易数字电压表
课程设计题二十九:简易数字电压表设计 设计要求: 1. 利用ADC0809设计一个简易数字电压表,要求可以测量0~5V之间8路输入电压值,电压值由4位LED数码管显示,并在数码管上轮流显示或单路选择显示; 2. 测量最小分辨率为0.019V,测量误差约为±0.02V。8个按键对应某一路的选择。...
deco_89
2021-12-02 06:15:04
icl7135数字电压表制作,基于icl7107的数字电压表
ICL7107是一款高精度模数转换器(ADC),可用于构建数字电压表。它具有3-1/2位显示分辨率,可测量高达200mV、2V和20V满量程的电压,并采用+5V单电源电压工作。
2023-07-18 15:49:00
电压表测量电压是串联还是并联
电压表是一种用于测量电路中两点之间电压差的仪器。在测量电压时,电压表需要与被测电路连接。根据连接方式的不同,电压表可以分为串联和并联两种方式。 一、电压表的串联测量方式 串联测量原理 在串联测量方式
2024-07-13 10:46:39
电压表的使用方法 电压表的电阻有多大
电压表是用来测量电路中电压的仪器,可以测量直流电压和交流电压。使用电压表需要注意一些注意事项,同时了解电压表的电阻和性能参数也是很重要的。在本文中,我将详细介绍电压表的使用方法、电压表的电阻以及
2024-02-02 11:05:19
电压表的符号是什么样的,电压表分几种类型
测量电压或伏特电位差的仪器称为电压表。它的工作原理是,扭矩是由由于测量电压而感应的电流产生的,并且该扭矩使仪器的指针偏转。指针的偏转与点之间的电位差成正比。电压表始终与电路并联。 电压表
juju宇哥
2023-09-01 16:43:47
电压表的使用方法及注意事项 电压表的电阻越大越好对吗
电压表是一种用来测量电压的仪器,在电路实验和电器维修中起着重要的作用。正确选择和使用电压表不仅能提高测量的准确性,还能确保人身和设备的安全。以下是电压表的使用方法及注意事项。 一、电压表的使用方法
2024-02-02 11:13:40
直流数字电压表设计 精选资料推荐
摘要本设计利用STC15F2K60S2单片机的A/D转换功能设计一个直流数字电压表,由A/D转换、数据处理及显示控制等组成,测量0-5V范围内的输入电压值,并由4位共阴8段数码管扫描显示,最大
h1654155957.9311
2021-07-28 09:42:58
数字电压表的原理与特点
数字电压表(DVM,也称为数字多用表或简称DMM)是现代电子测量领域中不可或缺的一种测量仪器。与传统的模拟电压表相比,数字电压表以其高精度、高灵敏度、快速测量以及直观的数字显示等特点,得到了广泛的应用。本文将详细介绍数字电压表的原理和特点,以期为读者提供深入的理解。
2024-05-21 16:54:51
电压表原理及使用方法 电压表串联在电路中会怎么样
电压表是测量电路中电势差(电压)的一种电器仪器。它能够通过测量两个点之间的电势差来确定电路的电压。在以下文章中,我们将详细介绍电压表的原理和使用方法,并探讨电压表串联在电路中的影响。 一、电压表
2024-02-02 13:39:29
电压表是并联还是串联?电压表并联连接的原因
电压表的结构使其内阻始终保持高。如果它与电路串联,则由于测量电压而流过的电流最小化。因此,干扰电压表的读数。 电压表始终与电路并联连接,以便电路上出现相同的压降。电压表的高电阻与其所连接
dfgsdf
2023-09-01 16:39:07
电压表怎么看 测的是哪个的电压
电压表分为直流电压表和交流电压表。直流类型主要采用磁电系电表和静电系电表的测量机构。交流类型主要采用整流式电表、电磁系电表、电动系电表和静电系电表的测量机构。
2021-09-21 07:36:00
multism为什么电压表没识数
Multism是一款常用的电路模拟软件,它在电路设计、仿真等领域广泛应用。然而,在使用Multism进行电路仿真时,有时可能会遇到电压表无法识数的情况。本文将对Multism电压表无法识数的原因进行
2024-01-04 16:46:23
数字电压表的主要指标_数字电压表由什么构成
数字电压表的主要技术指标包括以下几个方面: 一、测量范围 测量范围指数字电压表可测量的电压区间。不同的数字电压表具有不同的测量范围,用户应根据实际测量需求选择合适的量程。在选择量程时,应尽量使被测电压值接近量程的上限,以提高测量的准确性。
2025-01-28 14:19:00
数字电压表概述_数字电压表的作用
数字电压表(Digital Voltmeter,简称DVM)是一种采用数字化测量技术,将连续的模拟量转换成不连续、离散的数字形式并加以显示的电子仪器。以下是对数字电压表的详细概述:
2025-01-28 14:14:00
电压表具有高电阻吗为什么
电压表具有非常高的内阻,因为它测量电路两点之间的电位差。电压表不会改变测量设备的电流。 如果电压表的电阻很低,则电流通过它,电压表给出不正确的结果。电压表的高电阻不允许电流通过它,因此获得了正确的读数。
天暗下来
2023-09-01 16:36:29
数字电压表的使用方法
数字电压表的使用方法通常包括以下几个步骤: 一、准备阶段 了解电压表: 在使用前,先了解数字电压表的基本功能、量程、分辨率以及连接方式等。 选择量程
2025-01-28 14:18:00
数字电压表测量的基本工作原理
一个参考电压、放大电路、模数转换器(ADC)、数字处理电路和数字显示部分。下面将对这些组成部分进行详细介绍。 首先,输入电路是数字电压表的关键组成部分之一。它主要负责接收被测电压信号,并将其转换为可以被放大器处
2024-01-25 13:55:56
电压表是根据什么原理工作的
电压表是一种测量电压的仪器,广泛应用于电子、电力、通信等领域。它根据电压表的工作原理,将被测电压转换为可读的数值。本文将详细介绍电压表的工作原理。 电压表的基本组成 电压表主要由以下几部
2024-07-13 10:44:26
采用数字电压表专用IC来制作数码管电压表
对于不会单片机编程的电子初学者来说,采用ICL7107(外形如上图所示)这类数字电压表专用IC来制作数码管电压表是比较合适的。
2020-06-29 16:09:53