Page 1 of 2
【已同步-7231NL需要使用对应的模组】CBU模组ADC读电压值对不上
Posted: 2023年 Jan 3日 11:08
by 小螃海
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);
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 3日 11:50
by 小螃海
有哪位大佬能帮忙看看是哪里的问题吗?为什么读出来的ADC值不随着VDD的变化而变化呢?这个内部基准源有没有什么函数可以查看的到是否是配置为内部2.4V的基准源。
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 5日 19:01
by 愚者千虑必有一得
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 5日 20:23
by chaser
你好,你使用的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);
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 6日 10:23
by 小螃海
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 6日 10:31
by 小螃海
我们的产品是用两节干电池供电,电压是3V,需要用到内部基准对电池电压进行采集。这个SDK怎么设置内部2.4V为基准源呢?
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Jan 12日 12:43
by chaser
你好,目前你们使用的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 不兼容。
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Feb 13日 11:34
by 小螃海
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Feb 21日 09:45
by 愚者千虑必有一得
小螃海 2023年 Feb 13日 11:34
您好,这个网址点开提示连接错误
这个链接是内部下载的地址,我给你直接发一个附件。
Re: CBU模组ADC读电压值对不上
Posted: 2023年 Feb 21日 10:09
by 愚者千虑必有一得
小螃海 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,不然可能会有各种问题。