矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: 小鬼头

合作设计基于mcu的数字式电容ESR表

  [复制链接]
     
发表于 2023-4-21 07:51:33 | 显示全部楼层


感谢分享。
由此我还想到一个问题,
过采样时能否不是采样4^N次?
我看许老师的ESR代码,
是过采样500次再除以50得到10倍模拟值,
按照你们前面的说法,
似乎这个也不太妥。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 08:53:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 09:36:15 | 显示全部楼层
小鬼头 发表于 2023-4-19 15:53
现在上更新后的设计草图(草图10,手持3.7V版和手持9V版)

发现个问题,TVS是用于瞬间过压保护的,长时间只能承受小功率。例如一个47uF电容充电到300V,搭上去后C9上电压将会达到150V,TVS导通去吸收这个能量扛得住吗?像电焊机、变频器等,电容量很大,数百uF甚至更大,搭个灯泡能亮好几秒,可恢复保险丝保护需要时间,TVS能抗住吗?压敏电阻较TVS有优势吗?又得做试验了。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 09:55:03 | 显示全部楼层
abbey_tom 发表于 2023-4-21 07:51
感谢分享。
由此我还想到一个问题,
过采样时能否不是采样4^N次?

可以啊,比如我希望提高十进制的一位分辨率,也就是说分辨率为原来的 10 倍,二进制就是提高 3.32192809488736234...位精度,需要的采样次数就是 (2^3.32192809488736234)^2 那不就是 100 么

采样 500 次就是提高 4.48 位二进制精度(十进制角度看就是大约 22 倍)。



回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:08:38 | 显示全部楼层
本帖最后由 xjw01 于 2023-4-21 10:28 编辑
小鬼头 发表于 2023-4-19 17:48
这个电路,改成方波也省不了几个元件。

虽然电阻的测量范围有限,但现在的电路通过切换工作频率,LC的 ...


电感大概能测到300mH,最小0.1uH以下。电容估计最小能测几百pF,最大可能是1000uF或10000uF
====================================================


我没能看清电路的用意。我感觉测不了1000uF以上的容量

A点输出的电压是包含了R8//R9的电压,对应的电阻是5欧,而1000uF在100Hz时的阻抗是1.6欧。电阻测得二者串联的模值,即sqrt(5*5+1.6*1.6)=5.25欧
相对于5欧,电容的电抗占30%,信号输出的检测端,模值只变化5%,不容易测准了。
如果被测电容是2000uF,那么模值是5.06欧,模值只变化1%,几乎测不到变化量了。
基于同样的原因,只能测量20uH以上的电感。

此外,0.1uH的电感,在100kHz时,电抗只有0.06欧,被测回路的电阻都可能超过电抗了,测量不了0.1uH电感。要在这么低频率下测量小电感,须分离电抗与电阻。


abc.jpg
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:11:41 | 显示全部楼层
washu 发表于 2023-4-21 09:55
可以啊,比如我希望提高十进制的一位分辨率,也就是说分辨率为原来的 10 倍,二进制就是提高 3.321928094 ...

光看这个手册的话,
可能会被误导,
这些都是从二进制的角度来说的。
http://www.crystalradio.cn/data/ ... il0qm3m80irfi7f.png
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:23:16 | 显示全部楼层
abbey_tom 发表于 2023-4-21 07:48
这玩意儿还分中文派和英文派?!
不过也不用纠结那个是否减一了,
这并不是问题的症结。

用哪个数计算,对于结果的影响可以忽略不计
不清楚您用4096计算的场合,
我这里阐述的是ADC读数转换电压值时算法的问题,
仅仅是指出了您和瓦数上面对该算法的错误,
如果用不到可以忽略它,
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:25:50 | 显示全部楼层
本帖最后由 xjw01 于 2023-4-21 10:28 编辑
abbey_tom 发表于 2023-4-21 10:11
光看这个手册的话,
可能会被误导,
这些都是从二进制的角度来说的。


基于噪声和功率的计算,比较适用于sigma delta ADC
如果是三角波,且同步采样(一个三角波周期内等距采样),理论上效果更好。
对于单片机的ADC,你就理解为平均值提高了精度就可以了。在统计物理中,平均值是最重要的一个指标。
评估一个班级的成绩,用平均分最简单。其它统计数据,不是最重要的。

我校生源变差,这些年出不了清北。校长老想重点培养几个尖子生,但总是失算。看好某人有希望,高考总是被其它同学超越。其实,整个班级平均分上去了,出清北的概率自然就增加了。所以,关键在于平均分。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:31:48 | 显示全部楼层
本帖最后由 abbey_tom 于 2023-4-21 11:13 编辑
天天爱玛丽 发表于 2023-4-21 10:23
用哪个数计算,对于结果的影响可以忽略不计
不清楚您用4096计算的场合,
我这里阐述的是ADC读数转换电压 ...



设4次采样值累加为x,
我前面说的算法是:
3.3V*x/4096/4
就是你说的算术平均,
这里只涉及到4096一个值(用不到8192)
至于是用4096还是4095只是对量化台阶的理解问题,
并不是本次讨论问题的关键,
而你分别用4095和8191计算,
因为不是整2倍关系,
两种途径计算出来的结果有些差异很正常,
但证明不了我这个算法有问题。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:33:15 | 显示全部楼层
天天爱玛丽 发表于 2023-4-21 10:23
...我这里阐述的是ADC读数转换电压值时算法的问题,
仅仅是指出了您和瓦数上面对该算法的错误,


8191 不是 4095 的两倍,用 2^n -1 计算,其实问题很多,你的问题就出自这里,错误是谁的,你需要考虑一下

回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 10:59:48 | 显示全部楼层
本帖最后由 天天爱玛丽 于 2023-4-21 11:03 编辑
washu 发表于 2023-4-21 10:33
8191 不是 4095 的两倍,用 2^n -1 计算,其实问题很多,你的问题就出自这里,错误是谁的,你需要考虑 ...


我的例子讲述的过采样的计算方法,
将连续采样4n(n是次数)数据求和,再对求和的结果右移n位,得到提升1bit分辨率的采样,
例如12bit提升至13bit,
然后再以13bit的量化进行运算,13bit对应8191,不是8192,
"8191不是4095的两倍",正确的运算就是2^n-1,
当对精度没有要求时,可以用2^n计算,
12二进制数怎么表示4096,只能表示为0~4095,Verf最大值对应为4095,
错误是谁的,...
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 11:05:36 | 显示全部楼层
本帖最后由 abbey_tom 于 2023-4-21 11:07 编辑
xjw01 发表于 2023-4-21 10:25
基于噪声和功率的计算,比较适用于sigma delta ADC
如果是三角波,且同步采样(一个三角波周期内等距采 ...


我的理解大致也是如此,
所谓过采样,
本质其实就是多次采样后的算术平均,
只要确保计算过程中不丢失精度就可以。

至于引入噪声的问题,
我看STM32的DAC就有噪声生成和三角波生成两项配置,
一直没有用过,
这个是不是在正常输出模拟量时附带引入噪声用途的?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-4-21 11:05:50 来自手机 | 显示全部楼层
往事已去 发表于 2023-4-21 09:36
发现个问题,TVS是用于瞬间过压保护的,长时间只能承受小功率。例如一个47uF电容充电到300V,搭上去后C9 ...

测电池内阻、遇到外接高压或误测带高压电的大电解时,tvs相关的工作过程是这样的——下面只说外来高压的负端接com口的情形(如果负端接esr/r/l/c口,则比较简单,就是pptc+二极管组件的保护模式):

1、初始阶段,外来电压经47u100v电容,到达pptc与二极管组件构成的保底保护电路。由于电容电压不能突变,所以,这个47u电容充电期间,与之并联的tvs不动作,呈高阻状态,由保底电路提供保护。

2、当外来电压低于100v时,47u电容充饱电后,这些外来电压全部由47u承担,保底电路不工作/不需提供保护。tvs也不动作。现在这种状况,就是本esr表测量电池内阻时的常态情形。

3、当外来电压高于100v时,tvs开始动作,呈现稳压二极管的特性,对于高出100v的这部分电压呈短路状态。这样,就等于外来高压超出100v的部分,全部由保底电路承担和提供保护。由于tvs呈接近短路的低阻、pptc呈高阻,tvs与pptc又是串联关系,因此,tvs的功耗小,pptc的功耗大,pptc不损坏,tvs也就不会损坏。

4、如果外接的是高压大电解,那么,第3点的情况会持续一小段时间。pptc会把大电解储存的电能量耗掉,外来的电压会相应持续下降,直至为0。

5、如果外接的是高压电源,那么,第3点的情况会一直持续。只要不撤掉外来高压电源,保底电路会持续工作,pptc会持续发热。这相当于一直处于保底保护模式中,tvs当然也不会坏。
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 11:09:03 | 显示全部楼层
等式3300mV / 4095 = x / adc,
求x,
这里没有4096的事,
你的问题就出在这里
电压值分成4096份,二进制表示范围0~4095,对应0~3300mV,
按照你们的算法
取样值4095 * 3300 / 4096 = 3299.194mV,
请问3300mV的电压去哪里.
回复 支持 反对

使用道具 举报

     
发表于 2023-4-21 11:16:39 | 显示全部楼层
abbey_tom 发表于 2023-4-21 11:05
我的理解大致也是如此,
所谓过采样,
本质其实就是多次采样后的算术平均,


采样不存在噪声时,过采样等效于算术平均,

存在噪声时,平均值中依然有噪声,
过采样会在运算中将噪声滤除掉,

MCU内置的ADC/DAC都有噪声存在
如果您不能理解这个概念,就无法应用过采样提高精度了

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-28 22:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表