【已同步-7231NL需要使用对应的模组】CBU模组ADC读电压值对不上

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
小螃海
Posts: 35

CBU模组用的是bk7231NL_2.3.1的固件,在使用ADC读1/2VDD时,VDD电压从2.5-3.3V之间调整时,ADC所读出来的电压值都是在2040左右。感觉这个ADC的参考电压是VDD不是内部2.4V基准。代码如下:
tuya_adc_t *adc = (tuya_adc_t *)tuya_driver_find(TUYA_DRV_ADC,TUYA_ADC2);
TUYA_ADC_CFG(adc,TUYA_ADC2,0);
tuya_adc_init(adc);
tuya_adc_convert(adc,&adc_value,1);
PR_DEBUG("-----------------adc_value=%d------------",adc_value);
volt = (float)adc_value * 2400 / 4096;
PR_DEBUG("-------------volt=%d------------",volt);

小螃海
Posts: 35

Re: CBU模组ADC读电压值对不上

有哪位大佬能帮忙看看是哪里的问题吗?为什么读出来的ADC值不随着VDD的变化而变化呢?这个内部基准源有没有什么函数可以查看的到是否是配置为内部2.4V的基准源。

愚者千虑必有一得
Posts: 413

Re: CBU模组ADC读电压值对不上

稍等,我找内部同事支持一下。

chaser
Posts: 53

Re: CBU模组ADC读电压值对不上

你好,你使用的bk7231NL_2.3.1 是传感专用sdk, 这个sdk为了使得adc采样误差小,adc的基准源改为了模组供电电压也就是给模组供电的3.3v。 adc采样范围也就变为了 0-3.3v, 不再是2.4v了。

备注:
这个分支是传感专用分支。 adc 采样准确要求外部给模组供电电压稳定且为 3.3v, adc 采样范围变为:0-3.3v

tuya_adc_t *adc = (tuya_adc_t *)tuya_driver_find(TUYA_DRV_ADC,TUYA_ADC2);
TUYA_ADC_CFG(adc,TUYA_ADC2,0);
tuya_adc_init(adc);
tuya_adc_convert(adc,&adc_value,1);
PR_DEBUG("-----------------adc_value=%d------------",adc_value);
volt = (float)adc_value * 3300/ 4096;
PR_DEBUG("-------------volt=%d------------",volt);

小螃海
Posts: 35

Re: CBU模组ADC读电压值对不上

好的,那我要设置内部2.4V的基准该怎么设置?

小螃海
Posts: 35

Re: CBU模组ADC读电压值对不上

我们的产品是用两节干电池供电,电压是3V,需要用到内部基准对电池电压进行采集。这个SDK怎么设置内部2.4V为基准源呢?

chaser
Posts: 53

Re: CBU模组ADC读电压值对不上

你好,目前你们使用的bk7231NL_2.3.1 是 bk7231n 平台的传感专用sdk, 由于需要较小的adc 采样误差,采样范围改为了3.3v。 没办法设置为2.4v。

如果需求要求 adc 采样误差小,且采样范围在0-2.4v。 建议切换到 bk7231nl 平台。 该平台就是为了解决 adc 采样误差大 给传感类产品使用的芯片平台。 目前 bk7231n 没有adc 采样误差小,且采样范围在0-2.4v 的sdk。

目前使用bk7231n 这个传感分支sdk:ty_iot_sdk_bk7231nl_BK7231NL_2.3.1-beta.14 的客户,有adc 误差小需求。都是外部电路设计了升压稳压电路。

bk7231nl sdk 下载地址:https://maven.tuya-inc.top/nexus/conten ... 0.5.tar.gz

注意:bk7231nl sdk 使用要对应 bk7231nl 模组。 bk7231nl 与 bk7231n 不兼容。

小螃海
Posts: 35

Re: CBU模组ADC读电压值对不上

您好,这个网址点开提示连接错误

愚者千虑必有一得
Posts: 413

Re: CBU模组ADC读电压值对不上

小螃海 2023年 Feb 13日 11:34

您好,这个网址点开提示连接错误

这个链接是内部下载的地址,我给你直接发一个附件。

愚者千虑必有一得
Posts: 413

Re: CBU模组ADC读电压值对不上

小螃海 2023年 Jan 3日 11:08

CBU模组用的是bk7231NL_2.3.1的固件,在使用ADC读1/2VDD时,VDD电压从2.5-3.3V之间调整时,ADC所读出来的电压值都是在2040左右。感觉这个ADC的参考电压是VDD不是内部2.4V基准。代码如下:
tuya_adc_t *adc = (tuya_adc_t *)tuya_driver_find(TUYA_DRV_ADC,TUYA_ADC2);
TUYA_ADC_CFG(adc,TUYA_ADC2,0);
tuya_adc_init(adc);
tuya_adc_convert(adc,&adc_value,1);
PR_DEBUG("-----------------adc_value=%d------------",adc_value);
volt = (float)adc_value * 2400 / 4096;
PR_DEBUG("-------------volt=%d------------",volt);

我和内部的同事沟通了一下,对于cbu有专门的模组,CBU-NL, CB3S-NL2款专门的模组。使用对应的SDK,不然可能会有各种问题。

Post Reply