dcexpert 发表于 2021-7-25 18:17

ESP32 ADC 校准库:MicroPython-ADC_Cal

<p>Espressif IDF API参考文件描述了ESP32内置ADC的局限性,并提供了一种(部分)解决方案,通过使用存储在efuse中的芯片特定校准值来提高其精度。它还提供了有用的信息,包括降低噪声和每种模式下建议的输入电压范围。<br />
<br />
MicroPython-ADC_Cal是根据这个方法实现的 micropython 库。<br />
<br />
<strong>使用方法</strong>:</p>

<p>&nbsp;</p>

<pre>
<code class="language-python">    from machine import Pin
    import adc1_cal
   
    ADC_PIN   = 35                # ADC input pin no.
    DIV       = 1               # div = V_measured / V_input; here: no input divider
    AVERAGING = 10                # no. of samples for averaging (default: 10)
   
    # vref = None -&gt; V_ref calibration value is read from efuse
    ubatt = ADC1Cal(Pin(ADC_PIN, Pin.IN), DIV, None, AVERAGING, "ADC1 Calibrated")
   
    # set ADC result width
    ubatt.width(ADC.WIDTH_10BIT)

    # set attenuation
    ubatt.atten(ADC.ATTN_6DB)

    print('ADC Vref: {:4}mV'.format(ubatt.vref))

    print('Voltage:{:4.1f}mV'.format(ubatt.voltage))</code></pre>

<p>&nbsp;</p>

<p>**** Hidden Message *****</p>

9zhmke 发表于 2021-7-26 11:25

<p>就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?</p>

qiantou 发表于 2021-7-26 13:40

<p>ddddddddddd</p>

dcexpert 发表于 2021-7-26 14:59

9zhmke 发表于 2021-7-26 11:25
就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?

<p>应该可以提高ADC的绝对精度,具体需要测试,还与电源等有关。</p>

电子小强强 发表于 2021-8-5 11:23

<p>这样是不是每个产品都需要出厂校准?</p>

dcexpert 发表于 2021-8-5 16:45

电子小强强 发表于 2021-8-5 11:23
这样是不是每个产品都需要出厂校准?

<p>如果要求不那么,可以不用。</p>

jason8057 发表于 2021-11-23 09:29

<p>take a look</p>

oxygenorange 发表于 2023-7-19 13:38

需要用用看

kunpeng032 发表于 2023-11-2 21:18

<p>学习了!</p>

Australis 发表于 2023-11-14 09:24

<p>sar adc</p>

yingchungc 发表于 2024-5-8 15:37

就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?

dcexpert 发表于 2024-5-8 15:46

yingchungc 发表于 2024-5-8 15:37
就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?

<p>现在ADC函数已经改为 ADC.read_uv(),实际精度和稳定性与系统电源、输入信号、干扰信号等因素有关,对一般使用已经足够高。没有仔细测试比较精度,估计和电源精度差不多吧,一般LDO电源芯片一般在2%左右。</p>

永努机 发表于 2024-6-27 01:11

<p>需要的,谢谢</p>
页: [1]
查看完整版本: ESP32 ADC 校准库:MicroPython-ADC_Cal