新人首贴见笑了哈~~,受朋友邀请才知道的龙腾杯.作为一个正在度假新时代⑨好青年,我们要义不容辞参与这次比......赛...(被拖走) 咳咳闲言少叙,做这个电压电流表(以下简称表)主要目的是满足自己强迫症的东西,首先吐槽网上的5位表,用mcp3421方案那破adc什么玩意啊,芯片手册里面竟然写未完全测试指标,而且竟然不标基准压温飘.....简直笑掉大牙.
再者个人觉得在这里应该明确说一下有效分辨率和零噪声分辨率的概念,比较肤浅,大神见笑啊~
有效分辨率=log2(ADC满幅度输入范围/ADC噪声RMS值)-------大部分△-∑架构的ADC手册上都会直接标出这个分辨率
举例说明如一个24位的ADC.基准压2.5v,PGA128倍的差分ADC应用,其满量程为2.5V*2(差分)/128=39.1mV.
假如ADC噪声的RMS值为70nV,那这个ADC的有效分辨率为log2(39.1mV/70nV)=19.1bit(56万的读数)
这19.1位看起来读数很高,也许有人直接就用到量程±0-25.0000v的电压表去了.但是那ADC的噪声是以有效值形式定义的,噪声嘛必然有超过有效值很多的峰峰值.故如果这么应用则必然最后一位读数会飘.
由此零噪声分辨率=log2(ADC满幅度输入范围/ADC噪声VPP值)这个好理解多了,在这个分辨率里面使用,最大噪声都不会影响到读数的稳定性,故读数不会飘动.
那么问题来了,之前说的那mcp3421,18位的有效分辨率,谁知道零噪声分辨率是多少.......
苦于看上眼的表基本没有,唯一有兴趣的某昆明朋友做的电压电流表的,还是mcp3421的方案浑身难受,于是直接找24位ADC来搞.具体指标如下:
1:以4线方式进行电压电流测量
2:电流测量允许共模电压超过电源轨
3:尽可能大的测量范围,并且在输入稳定的情况下读数飘动在1个最低读数以内.
4:尽可能省电且供电方便
5:0.02%以内电压测试精度
6:0.05%以内电流测试精度
7:排除电压电流误差0.01%以内AH,WH计数精度
8:软件要爽
9:以上精度指标在0-70度范围内有效
一下为PCB图,为了小巧可爱分成了3x8cm左右的两个PCB
模拟板,上面有SPEIC架构的稳压,隔离电源,与给ADC供电的低噪声稳压,和ADC什么的东西
首先是稳压,可以看到输入电压有3-30v的宽范围,此部分主要部分FP5209 BOOST驱动芯片,为其供电的MIC5233 36v高压LDO,和AO3422 NMOS管.电路接成升降压形式,提供驱动OLED屏和隔离电源的9.6v高压.
然后是由TLC555搭成的半桥隔离电源,这555是CMOS形式的,对比普通555大的吓死人的10mA的IQ,这个效率高的很.电路产生接近50%占空比的方波,经过高电平扩流后去1:1的隔离电感,之后隔离过去4.3v左右交流方波,经过倍压整流后得到8v直流.
再者是ADC供电,因为4线测量且差分AD难免会测到反向的电压,故强迫症直接把电路设计成正负电压电流一样量程了.....
于是供电就选了±2.5v和+3.3v了.不过考虑到供电噪声一定要低....所以不能有开关稳压出现.....
然后就没有然后了...口误,然后就把隔离电源得来的8v电的负极当成了-2.5v,很喜感的用了两个431当稳压管获得0v和+2.5v,稳压管驱动从8v正级得来,经过有源滤波后用了俩8550搭了个2mA的恒流源,这下供电噪声有保障了吧
最后是ADC部分,具体看PCB吧,电流检测用了个10mΩ的35ppm温飘4线的检流电阻,电压测量用两组0.01% 10ppm电阻做分压,实现电压电流的独立测量,也就是指标1和2
这个是单片机电路板,因为下板大小问题,提供来的稳定供电只有9.6v,为了提高供电效率,搞了个同步整流降压,降到3v给单片机和那一大堆外设芯片.单片机用的是STC15l2k,开到30Mhz运行比较费电....其他有个字库和FRAM芯片,没什么好说.亮点是那OLED25664的灰度屏,显示效果吓死人,就是神™土豪,贵的想哭..........
实际图1:普通显示模式
实际图2:绘图显示模式,一个8档位亮点的led台灯的电流曲线
实际图3:绘图显示模式,对一个没电的破锂电池进行恒压4.2v充电,使用线阻限流充电35分钟后
实际图4:大字体模式,随意负载
电路图明天发出来吧,感觉看我发那pcb能看出来八九不离十的,程序完工超过80%差不多了,基本上所有难度都在程序上面.51内核嘛,优化速度优化到要死,不过效果特别好,基本上可以给51代言了(笑).程序现在差差程序标定部分和后续收尾可靠性测试.
最后是精度,最近来威海度假,没带什么仪器,8月28号才回家.所以大家最关心的测量精度现在对比不了只能等到月底回去再说了......
放心,之前和手里16年1月4号标定34401对比过精度,只是简单的自己手算了下标定值,电压误差是0-30v范围内就没有超过4mV以外的差别,加热也一样.
|