ESP32 ADC 校准库:MicroPython-ADC_Cal
<p>Espressif IDF API参考文件描述了ESP32内置ADC的局限性,并提供了一种(部分)解决方案,通过使用存储在efuse中的芯片特定校准值来提高其精度。它还提供了有用的信息,包括降低噪声和每种模式下建议的输入电压范围。<br /><br />
MicroPython-ADC_Cal是根据这个方法实现的 micropython 库。<br />
<br />
<strong>使用方法</strong>:</p>
<p> </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 -> 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> </p>
<p>**** Hidden Message *****</p>
<p>就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?</p>
<p>ddddddddddd</p>
9zhmke 发表于 2021-7-26 11:25
就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?
<p>应该可以提高ADC的绝对精度,具体需要测试,还与电源等有关。</p>
<p>这样是不是每个产品都需要出厂校准?</p>
电子小强强 发表于 2021-8-5 11:23
这样是不是每个产品都需要出厂校准?
<p>如果要求不那么,可以不用。</p>
<p>take a look</p>
需要用用看 <p>学习了!</p>
<p>sar adc</p>
就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢? yingchungc 发表于 2024-5-8 15:37
就是说如果用于实际产品的话,使用这个会提高数据的精度和稳定性了?那么大约是多少呢?
<p>现在ADC函数已经改为 ADC.read_uv(),实际精度和稳定性与系统电源、输入信号、干扰信号等因素有关,对一般使用已经足够高。没有仔细测试比较精度,估计和电源精度差不多吧,一般LDO电源芯片一般在2%左右。</p>
<p>需要的,谢谢</p>
页:
[1]