STM32 ADC 乱跳
STM32 ADC 乱跳
STM32 ADC采样值不稳定(乱跳)通常由硬件干扰、配置不当或软件处理引起,以下是常见原因及解决方法:
一、硬件问题排查
-
电源与参考电压噪声
- 确保模拟电源(VDDA、VREF+)干净,纹波≤50mV。建议在VDDA/VREF+引脚并联 10µF电解电容 + 0.1µF陶瓷电容 滤波。
- 若使用外部参考电压芯片(如REF3033),优先选择低噪声型号。
-
信号输入问题
- 信号源阻抗过高:ADC输入阻抗较高(约50kΩ),若信号源阻抗>1kΩ,需增加RC低通滤波(如1kΩ电阻串联 + 100nF电容对地)。
- 输入信号噪声:用示波器检查信号是否纯净。高频噪声可增加RC滤波(截止频率按信号带宽计算)。
-
接地与布线
- 分离模拟地(AGND)与数字地(DGND),单点连接。
- ADC信号线远离高频信号(如时钟、PWM),避免平行走线。
二、软件配置优化
-
采样时间调整
- 增加采样时间(
SamplingTime),尤其是高阻抗信号源。例如:ADC_ChannelConfTypeDef sConfig; sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; // 适当延长采样时间 - 计算公式:
采样时间 ≥ (信号源阻抗 + 1kΩ) × 14 pF × ln(2^12)
- 增加采样时间(
-
时钟配置
- ADC时钟频率勿超规格(通常≤36 MHz)。通过PCLK分频调整:
hadc.Instance->ADC->CCR |= ADC_CCR_ADCPRE_0; // 分频系数=2(例:72MHz→36MHz)
- ADC时钟频率勿超规格(通常≤36 MHz)。通过PCLK分频调整:
-
校准与去噪
- 启用ADC校准(上电后执行一次):
HAL_ADCEx_Calibration_Start(&hadc, ADC_SINGLE_ENDED); - 启用硬件去噪(部分型号支持):
hadc.Instance->CR1 |= ADC_CR1_EOCIE; // 开启噪声抑制模式
- 启用ADC校准(上电后执行一次):
三、软件滤波处理
-
均值滤波
#define SAMPLE_TIMES 16 // 采样次数 uint32_t adc_sum = 0; for(int i=0; i<SAMPLE_TIMES; i++) { HAL_ADC_Start(&hadc); adc_sum += HAL_ADC_GetValue(&hadc); } uint32_t adc_avg = adc_sum / SAMPLE_TIMES; -
中值滤波
#define SAMPLE_SIZE 5 uint16_t adc_buf[SAMPLE_SIZE]; // 采样并排序后取中间值 -
滑动平均滤波
#define FILTER_WINDOW 8 static uint32_t filter_buf[FILTER_WINDOW]; static uint8_t index = 0; filter_buf[index++] = HAL_ADC_GetValue(&hadc); index %= FILTER_WINDOW; uint32_t avg = (filter_buf[0] + ... + filter_buf[7]) / FILTER_WINDOW;
四、其他注意事项
- 避免在ADC转换期间切换IO状态或开启大功率外设。
- 低温环境注意参考电压温漂(部分型号需温度补偿)。
- 对于高精度需求,使用差分输入模式(若支持)或外置ADC芯片。
通过上述步骤排查,通常可显著降低ADC采样抖动。若问题持续,建议用示波器检查硬件信号质量及电源稳定性。
ad7606采集集成运放输出电压值出现乱跳的情况怎么解决?
使用stm32f103驱动ad7606采集集成运放输出端电压值会出现采集值乱跳,但采集其他电压值时正常,唯独在采集集成运放输出电压值时出现
ADS1211采样数据乱跳是什么原因引起的?
原理图如上用的是内部参考10M的晶振短接AIN1NAIN1P读取的数据在乱跳不是一直为0,波动还挺大,麻烦各位帮我分析一下,是什么原因引起的,寄存器,x写进去,读出来都是对的,谢谢。 void
使用stm32f103系列的自带ADC采样时,在mV位采的电压无规则跳是怎么回事?
我在使用stm32自带的ADC来测量前端的电压信号,开始使用时,采的的电压信号在mV位上0-9乱
基于STM32的ADC电流测量系统设计(包含程序 原理图)
基于STM32的ADC电流测量系统设计(包含程序 原理图)(24v稳压电源尺寸)-基于STM32的
资料下载
佚名
2021-07-26 09:47:31
AD5360输出波形乱跳是由什么问题引起的呢?
如附件所示: 我原本是输出一个标准的三角波,但是其实际输出波形乱跳 请问一下这个可能是由什么问题引起的呢? 谢谢
电容触摸屏乱跳点是什么原因造成的?
电容触摸屏乱跳是由什么原因造成的?这是个复杂而简单的问题,跟一定的环境有关系或者是装机过程中有电磁感应、参数太大、程序不合适等都有可能会影响到,今天深圳市瑞翔数码科技有限公司来讲解一下。我们测试电容
CS1237称重乱跳
用CS1237/CS1231做的称重系统,拔掉传感器后,重量显示乱跳,有没有办法让系统不插传感器时,重量稳定显示在零点附近且不影响插传感器后的称重精度?
触屏手机屏幕乱跳是怎么回事
首先尝试长按电源键重启一下手机看是否解决,也有可能是由于您处于潮湿环境使用,温度过高过低环境或者是当前处于低电量状态,都会造成屏幕暂时的乱跳;此外,也有可能是您的屏幕组件损坏导致。
2020-05-09 09:22:39
iPhone屏幕失灵乱跳的原因有哪些应该如何解决
最近有苹果用户反映,自己没有触碰到手机屏幕,它就不受控制的乱跳,有时就固定在一块区域,屏幕其他位置都没有反应。虽然大部分情况下都可以通过重新锁屏再解锁能够暂时解决问题。不过令人烦恼的是,这种屏幕失灵
2020-01-22 11:54:00
iPhone手机屏幕失灵乱跳的原因有哪些
最近有苹果用户反映,自己没有触碰到手机屏幕,它就不受控制的乱跳,有时就固定在一块区域,屏幕其他位置都没有反应。虽然大部分情况下都可以通过重新锁屏再解锁能够暂时解决问题。不过令人烦恼的是,这种屏幕失灵
2020-01-16 12:12:00
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机