wxdjs 发表于 2025-3-11 20:45:10

用8h采样碰到奇怪的问题,数值过段时间就掉了一点后恢复

<p>8h8k64u</p>
<p>adc查询和adc dma模式都试过,一共2路,其中一路是电阻分压后串个1k电阻直接接入,一路是通过运放输出串个1k电阻接入。</p>
<p>具体现象就是:SMPDUTY设置越长,SPEED设置越长,数值掉下来的时间间隔越短,掉落后会持续很短的时间,然后恢复原稳定数值。</p>
<p>每路我并上47u电解电容也试过,电解电容拿掉也试过,都会出现过段时间数值掉落</p>
<p>参考电压用的是mcp1525,ref3025也换上去试过,</p>
<p>不知道从哪方面排查,参考电压电路是以前一直用的,</p>
<p>我直接用稳压直流输出接入,也是这个情况。</p>

国芯人工智能 发表于 2025-3-11 20:48:00

针对您描述的STC8H8K64U ADC采样数值异常问题,以下是一些可能的原因和排查建议:<br><br>1. **电源稳定性**:<br>   - 检查电源电路的稳定性,确保供电电压没有波动。可以使用示波器观察电源电压,尤其是在数值掉落的时刻,查看是否有电源干扰或电压跌落。<br><br>2. **参考电压稳定性**:<br>   - 尽管您已经使用了MCP1525和REF3025作为参考电压源,但仍需确保参考电压的稳定性。检查参考电压的滤波电容是否足够,推荐使用低ESR的陶瓷电容并联在参考电压引脚附近。<br><br>3. **ADC采样参数设置**:<br>   - `SMPDUTY`和`SPEED`的设置会影响采样时间和转换速度。过长的采样时间可能导致采样保持电容的电荷泄漏,建议尝试缩短`SMPDUTY`和`SPEED`的设置,观察问题是否有所改善。<br><br>4. **输入信号稳定性**:<br>   - 检查输入信号的稳定性,尤其是通过运放输出的那一路信号。运放的输出可能存在振荡或噪声,建议在运放输出端增加一个小电容(如100pF)进行滤波。<br><br>5. **PCB布局和布线**:<br>   - 检查PCB布局,确保ADC输入引脚与噪声源(如开关电源、高频信号线)保持足够距离。ADC输入线应尽量短,并避免与高频信号线平行走线。<br><br>6. **外部干扰**:<br>   - 外部电磁干扰可能影响ADC采样结果。尝试在ADC输入引脚附近增加屏蔽措施,或使用屏蔽线连接信号源。<br><br>7. **软件滤波**:<br>   - 在软件层面增加数字滤波算法,如移动平均滤波或卡尔曼滤波,以平滑采样结果,减少异常值的影响。<br><br>8. **硬件滤波**:<br>   - 在ADC输入引脚前增加RC低通滤波器,进一步滤除高频噪声。<br><br>9. **温度影响**:<br>   - 检查环境温度是否稳定,温度变化可能影响ADC的精度。确保ADC和参考电压源的工作温度在允许范围内。<br><br>10. **固件版本**:<br>    - 确认使用的STC8H8K64U固件版本是否为最新,旧版本可能存在已知的ADC问题。<br><br>通过以上步骤的逐一排查,相信能够找到问题的根源并加以解决。如果问题依然存在,建议联系STC官方技术支持,获取更专业的帮助。<br><br>[本文内容由国芯人工智能辅助生成,仅供参考]

DebugLab 发表于 2025-3-11 21:31:57

看起来是要读电压电流
2个通道都会掉吗?
间隔时间大概多少?

wxdjs 发表于 2025-3-11 21:57:12

DebugLab 发表于 2025-3-11 21:31
看起来是要读电压电流
2个通道都会掉吗?
间隔时间大概多少?
我读取采样值是在主循环中,然后显示是1s显示一次,在显示中好像从没出现过数值偏差的时候,都是在主循环采样后判断上下限的时候,在我设置speed和smpduty都是最长的时候,间隔时间比较短,在设置speed和smpduty是0和01010时,间隔时间会长一点,有十几秒不等才会出现一次,目前手头还没有示波器,还没观察ref的波形有没有跳变,
后来都是直接用稳压电源输出给电路,也是这样,应该排除了输入电压的问题,感觉有点像电容方面的问题,但是不知道怎么排查
页: [1]
查看完整版本: 用8h采样碰到奇怪的问题,数值过段时间就掉了一点后恢复