5440|12

1万

帖子

25

TA的资源

版主

楼主
 

ESP32 ADC 校准库:MicroPython-ADC_Cal [复制链接]

 
 

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))

 

游客,如果您要查看本帖隐藏内容请回复

最新回复

需要的,谢谢   详情 回复 发表于 2024-6-27 01:11
点赞 关注
 
 

回复
举报

128

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

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

点评

应该可以提高ADC的绝对精度,具体需要测试,还与电源等有关。  详情 回复 发表于 2021-7-26 14:59
 
 
 

回复

2

帖子

1

TA的资源

一粒金砂(初级)

板凳
 

ddddddddddd

 
 
 

回复

1万

帖子

25

TA的资源

版主

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

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

 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

5
 

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

点评

如果要求不那么,可以不用。  详情 回复 发表于 2021-8-5 16:45
 
 
 

回复

1万

帖子

25

TA的资源

版主

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

如果要求不那么,可以不用。

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

take a look

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
需要用用看
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(初级)

9
 

学习了!

 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

10
 

sar adc

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

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

点评

现在ADC函数已经改为 ADC.read_uv(),实际精度和稳定性与系统电源、输入信号、干扰信号等因素有关,对一般使用已经足够高。没有仔细测试比较精度,估计和电源精度差不多吧,一般LDO电源芯片一般在2%左右。  详情 回复 发表于 2024-5-8 15:46
 
 
 

回复

1万

帖子

25

TA的资源

版主

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

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

 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

13
 

需要的,谢谢

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表