打印
[技术问答]

n76e003单片机怎么利用内部的带隙电压计算外部电压啊

[复制链接]
2149|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近diy制作一个USB电源电流表,使用的N76E003单片机,液晶屏显示部分程序,也弄好了,就差adc采样了,想利用内部带隙电压计算外部电压值,不知道怎么计算,读取UID最后两个字,值为1663,计算出来的带隙电压值为1.24725v,用ADC读取带隙电压采样值为1613,芯片手册看的不怎么明白带隙电压与满量程adc比例关系,希望大佬给讲解一下。

使用特权

评论回复
沙发
zhuomuniao110| | 2019-9-21 17:24 | 只看该作者
然后你再测个准确值的读数,进行对比,因为是线性关系,就可以推算出满量程与带隙的关系

使用特权

评论回复
板凳
zhuomuniao110| | 2019-9-21 17:25 | 只看该作者
你先测出来满量程对应多少,然后等比换算就知道关系了。

使用特权

评论回复
地板
law3411209|  楼主 | 2019-9-21 20:05 | 只看该作者
zhuomuniao110 发表于 2019-9-21 17:24
然后你再测个准确值的读数,进行对比,因为是线性关系,就可以推算出满量程与带隙的关系 ...

大佬,具体是怎么计算的啊,有计算方法吗,因为我要用AIN4读取usb的电压,

使用特权

评论回复
5
law3411209|  楼主 | 2019-9-21 20:05 | 只看该作者
zhuomuniao110 发表于 2019-9-21 17:25
你先测出来满量程对应多少,然后等比换算就知道关系了。

大佬,具体是怎么计算的啊,有计算方法吗,因为我要用AIN4读取usb的电压

使用特权

评论回复
6
zhuomuniao110| | 2019-9-21 20:41 | 只看该作者
law3411209 发表于 2019-9-21 20:05
大佬,具体是怎么计算的啊,有计算方法吗,因为我要用AIN4读取usb的电压

分压后读就行了,读出来个结果。然后你用万用表测一下具体是多少,然后你就知道了两组对应数据,就可以利用线性关系计算了。

使用特权

评论回复
7
xixi2017| | 2019-9-21 22:52 | 只看该作者
先测出来原始结果,看看变化。

使用特权

评论回复
8
xixi2017| | 2019-9-21 22:53 | 只看该作者
好像论坛有人发过这个方案,可以找找看。

使用特权

评论回复
9
law3411209|  楼主 | 2019-9-22 11:28 | 只看该作者
各位大佬,我整了半天,终于搞明白了计算公式,计算公式是根据大佬的程序弄出来的
知道的参数有:UID带隙电压数据是1663,ADC读取带隙电压adc值是1613,电阻分压比是0.1,
知道AIN3端口adc值是414, 图中画红圈的数值到底是uid读取的带隙电压值,还是adc读取的带隙电压值,
如果是UID读取的带隙电压值,按照我贴的公式,计算出来的vdd电压值是3.07v,我用万用表测量测量的电压值也是3.07v,但是按照手册里面的方法,
VDD电压计算出来是3.16v,与实际电压值不符合,各位大佬,这个计算公式,究竟是需要UID读取的带隙电压值?,还是需要adc读取的带隙电压值?

使用特权

评论回复
10
law3411209|  楼主 | 2019-9-22 11:48 | 只看该作者
zhuomuniao110 发表于 2019-9-21 20:41
分压后读就行了,读出来个结果。然后你用万用表测一下具体是多少,然后你就知道了两组对应数据,就可以利 ...

大佬,按你说的方法,电阻分压后读取的ADC值是414,万用表测量测量的电压是0.31v,关系比是0.74,但是计算内部带隙电压关系比是0.77,

使用特权

评论回复
11
tianxj01| | 2019-9-22 16:38 | 只看该作者
本帖最后由 tianxj01 于 2019-9-22 16:40 编辑
law3411209 发表于 2019-9-22 11:28
各位大佬,我整了半天,终于搞明白了计算公式,计算公式是根据大佬的程序弄出来的
知道的参数有:UID带隙电 ...


理论上。厂方提供的方法是没问题的。
这里没有分压比什么事情。都是VCC当基准直接读的。
当我们通过UID读取的,实际上是厂家在标准供电电压下面,用该芯片读取该芯片带隙基准获得的数据。这个过程我们叫做标定,芯片厂家出厂时候完成的工作。
根据公式3072/4096,我们可以知道,该所谓的标准电压应该就是3072mV。这里你提问的数据,通过UID读取的是1663,物理意义就是在供电3072mV时候,该芯片AD测量内部带隙读取的数据为1663。
所以根据公式我们可以知道该带隙基准的实际值为3072/4096*1663=1247mV
其实官方提供的方法走远了,我们只需要知道UID读取的数字,然后和当前读取的数字进行比例,再根据标定时候的3072mV,可以直接获得当前电压值。
我们用当前的供电,通过AD去读取带隙基准测试值,那么如果我读取的是也是1663,则说明目前供电的电压,就是3.072V。如果读取的是1613,则说明当前单片机供电电压=1663*3072/1613=3167mV。
虽然你按照官方的算法,也算出来=3.167mV,并疑问这和我实际测试的电压值不符合则就不是你的错了。
经过用多种方法测试,003芯片用内部基准反推VDD精度不怎么样,而且数据更读取过程精密相关,比如多次读取等变化很大,还要什么插入延时等待等等,反正你别指望精度能够到1%以内,还是别折腾了吧。

使用特权

评论回复
12
law3411209|  楼主 | 2019-9-22 18:41 | 只看该作者
tianxj01 发表于 2019-9-22 16:38
理论上。厂方提供的方法是没问题的。
这里没有分压比什么事情。都是VCC当基准直接读的。
当我们通过UID读 ...

谢谢大佬的指点,我本来还指望单片机内部带隙电压比较精准呢,结果是这个样子,我的USB电压电流表也就测个USB充电器什么的,也够用了,

使用特权

评论回复
13
law3411209|  楼主 | 2019-9-22 18:54 | 只看该作者
usb电压电流表已经弄的有模有样,因为是有一次使用新塘单片机,好多的地方不明白,谢谢大佬们指点

使用特权

评论回复
14
dongnanxibei| | 2019-9-24 15:29 | 只看该作者
太优秀了,楼主这个方法做的真好。

使用特权

评论回复
15
zhuotuzi| | 2019-9-24 21:41 | 只看该作者
用什么画的图啊

使用特权

评论回复
16
zhuotuzi| | 2019-9-24 21:42 | 只看该作者
电流怎么采集的?

使用特权

评论回复
17
jony5| | 2020-3-24 12:04 | 只看该作者

使用特权

评论回复
18
gx_huang| | 2020-3-24 12:19 | 只看该作者
如果你的MCU是LDO供电的,就不需要带隙基准比较。
如果MCU是非稳压供电的,可以利用带隙基准,精度一般是还可以的,最好是12bit的ADC,如果是8bit的就差很多没有必要了,10bit的马马虎虎。
我用STM8L的芯片,精度还不错,基本在1%以内。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

56

帖子

0

粉丝