具体现象如下,所用芯片是stm32f103c8t6 主要做电源的控制功能,其中有电压信号电流信号和水流信号3路采样,用的是stm32自带的adc,采用的是DMA转换方式,然后在100us定时器里面定时读取采样值,现象出现的问题是,设备正常运行时,采样数据都正常,出现打火现象后,触摸屏显示的数据就不动了,(这里排除触摸屏数据读取问题,同时有其他数据是在正常刷新的),这个时候系统还能正常进行开关机、和输出调节控制,唯独就是ADC采样值不变了,实际检测送到AD口的采样电压是正常变化的 |
ADC采集加隔离吧
芯片内部的ADC的电路是模拟电路,包括提供的参考电压,不能承受大的干扰。 所以设计外部线路时适当的给予保护或限制过流过压的设计,同时也要保护参考电源或相邻的引脚不要耦合过来大的干扰。 逐次比较型的ADC的原理可以参考看一下就清楚很多了,官方应用笔记上也有介绍的。
ADC采集加隔离吧
单片机说有的输入输出口其实都加个隔离措施的,AD采样时用的隔离变送器转换的,到采样口也加了二极管嵌位,其他IO输出都用的光耦隔离,通信也是用的隔离模块;我们是做高频高压电源的,干扰这块也确实遇到过,之前都是直接单片机死机,向这种其他功能正常,然后AD模块数据值不转换就感觉理解不了
芯片内部的ADC的电路是模拟电路,包括提供的参考电压,不能承受大的干扰。 所以设计外部线路时适当的给予保 ...
因为我们对采样进度要求不高,ADC的基准电压直接用的内部3.3V,这个供电和外部其他的供电都是隔离开的,单片机所有的输入输出也都经过隔离处理的,不过确实有几个悬空的口没有处理;您说的逐次型比较采样我也了解过,我理解如果某个口出现干扰导致数据不对也就算了,现在是一旦出现这种现象是3个采样口数据值都不变了
检查一下周边的引脚是不是有较大的负向注入电流。这种负向注入电流会影响ADC工作的。
检查一下周边的引脚是不是有较大的负向注入电流。这种负向注入电流会影响ADC工作的。 ...
好的,感谢
好的,感谢
另外朋友的经验:如果数字地和模拟地比较分开走,在外界强大干扰下,两个地线间引起很大的压差会严重影响ADC工作。建议参考一下哈。