相关文章推荐
兴奋的牛肉面  ·  python psycopg2 ...·  2 年前    · 
低调的海豚  ·  Android ...·  3 年前    · 
失落的饭卡  ·  Disable or delete a ...·  3 年前    · 
很拉风的单杠  ·  如何让MP4 ...·  3 年前    · 

【已解决】ESP32的ADC连续读取模式为什么测量误差这么大 (IDFGH-8611) #10058

@kurau1

Description

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.
  • General issue report

    开发板模组:ESP32-WROOM-32
    操作系统:WIN10
    开发软件:VSCODE
    ESP-IDF版本:V4.4.2

    我使用了ESP32-S2(80k采样率)以及ESP32(250k采样率)分别对一个5Khz的正弦波信号进行了测量(100mv-1000mv)

    下面是ESP32的测试结果图:

    下面是ESP32-S2的测试结果图:

    可以看出无论是时域还是频域,ESP32得到的结果都比较糟糕,我有在网上听说ESP32的ADC测不太准,但是他这个不准得很有规律。从频域来看就像叠加了120KHz的高频。我想知道这是硬件问题还是软件问题,如果是硬件问题我就要重新选择adc采样方案了。

    还有一个困惑我很久的问题,ESP32文件里写明了,其拥有2Mhz的采样率。

    #define SOC_ADC_SAMPLE_FREQ_THRES_HIGH          (2*1000*1000)
    #define SOC_ADC_SAMPLE_FREQ_THRES_LOW           (20*1000)
    

    但实际上我只能将其设置到250khz,如果我将其设置为.sample_freq_hz = 500*1000,,我得到的结果里,每相邻两个结果会是一摸一样的,当我设置为.sample_freq_hz = 1000*1000,,每相邻四个结果也是一样的。所以等同下来还是250KHz的实际采样率啊。不知道我有没有表达清楚。我想知道使用官方idf\esp-idf_4.4,2\esp-idf\examples\peripherals\adc\dma_read此例程到底能不能达到2Mhz的采样率啊T T。

    以上是我的两个问题,谢谢大家!