如何解决ADC采样值跳变?

0
回复
201
查看
[ 复制链接 ]

45

主题

7

回帖

185

积分

注册会员

积分
185
2025-6-2 23:43:57 显示全部楼层 阅读模式
如何解决ADC采样值跳变?
根本原因与解决方案
问题根源
检测方法
整改措施

电源噪声(>50mV)示波器FFT分析添加π型滤波电路(10Ω+10μF+0.1μF)
参考电压不稳监控Vref引脚纹波独立REF5025基准源(温漂3ppm/℃)
信号源阻抗过高测量输入阻抗加电压跟随器(OPA2188)

代码级优化:
c


复制



下载






// 过采样+中值滤波uint16_t adc_stable_read(void) {  uint16_t samples[32;  for(int i=0; i<32; i++) {    samples[i = HAL_ADC_GetValue(&hadc);    HAL_Delay(1);  // 间隔采样避开关电源噪声  }  qsort(samples, 32, sizeof(uint16_t), compare);  return samples[16;  // 取中值}


收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则