ESP32 ADC 校准库:MicroPython-ADC_Cal

ESP32、ESP8266
ESP32-S2、ESP32-S3、ESP32-C3
回复
头像
shaoziyang
帖子: 2236
注册时间: 2019年 10月 21日 13:48

ESP32 ADC 校准库:MicroPython-ADC_Cal

#1

帖子 shaoziyang » 2021年 7月 25日 17:57

Espressif IDF API参考文件描述了ESP32内置ADC的局限性,并提供了一种(部分)解决方案,通过使用存储在efuse中的芯片特定校准值来提高其精度。它还提供了有用的信息,包括降低噪声和每种模式下建议的输入电压范围。

MicroPython-ADC_Cal是根据这个方法实现的 micropython 库。

使用方法

代码: 全选

    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 -> 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))
隐藏内容
你必须登入/注册才可观看隐藏内容
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章