发作品签到
专业版

YQ-PCS微安表

工程标签

773
0
0
8

简介

随便做了个垃圾功率计,测量范围为0~10A,0~30V,采样率10~100KS/s,附带上位机可看波形,数据上传率10~100KS/s,可以当个小示波器,适用于低功耗设备电流查看……吧?

简介:随便做了个垃圾功率计,测量范围为0~10A,0~30V,采样率10~100KS/s,附带上位机可看波形,数据上传率10~100KS/s,可以当个小示波器,适用于低功耗设备电流查看……吧?
星火计划2025
复刻成本:110

开源协议

CC BY-NC-SA 4.0

(未经作者授权,禁止转载)
创建时间:2025-01-15 10:06:58更新时间:2025-03-24 09:19:39

描述

项目展示视频

     视频展示:www.bilibili.com/video/BV1JmoqYREqU

目录

  • 开源协议
  • 项目属性
  • 更新计划
  • 成本
  • 简单闲聊
  • 装配图
  • 项目背景
  • 为什么不直接选择专业仪器
  • 技术指标
  • 注意
  • 简单动态测试
  • 信号响应测试
  • 上位机
  • 换挡方案
  • 换挡逻辑+自动换挡
  • 换挡时间
  • 故障关断
  • 电流放大
  • 故障响应
  • 采样策略
  • 校准
  • PCB焊接、机器组装注意事项
  • 软件部分
  • 通信协议

 

开源协议

     本工程依据“CC-BY-NC-SA 4.0”知识共享许可协议,请勿用于商用,转载时请标明出处

项目属性

     本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖

更新计划

     (未完成)还有挺多bug要修

     (未完成)3月底之前上传初版上位机、固件、外壳3D模型

     (未完成)增加单通道模式,使得电压或电流的采样率和回传率上升到100K

     (未完成)外部供电扩展组件

     (未完成)外部通用接口扩展组件

     (不想干)尺寸加大一点,解决一下大电流采样电阻升温的问题

     (待定)衍生方案,按照方案修改一下,帮晓滢改成个0~60A的电源的表头

 

成本

     如果是单独复刻的话,通篇算下来不包含外壳也需要¥89,买东西花在邮费上就花了¥23,有很多东西一买就要买几十几百个的就很难绷,加上外壳应该在110左右,但像我这种手上有很多料都有的话,做出来基本也就是几十块钱,淘宝的BOM配单我没试过,如果能配的话应该会省挺多分开买的邮费

简单闲聊

     本来设计的挺小的,后来迭代之后变大了,加上接线柱就更大了,不太mini了

     本次设计也解决了我平时在使用普通功率计上的痛点,比如输入和输出是有方向的,固定在一个方向上输入或输出,但如果电源和被测对象摆放的位置刚好相反的话就很难绷,虽然说可以反过来然后倒转屏幕,但输电线也要换个方向,就很别扭,而且老是倒来倒去有点麻烦,所以这次设计就多加了两个接线柱,通过接入不同的接线柱可以实现左右输入输出的切换

     如果只需测电流,可以按下图中黑色和绿色电流方向选择一对接线柱即可:

     如果只需测电压,可以按下图中根据左右习惯,选择黑和绿色指向的两个接线柱,注意极性接:

     下图为接口的简单介绍:

 

 

 

装配图

     外壳和按键只用嘉立创3D打印,LED的导光柱1块钱包邮

 

1、项目背景

     由于笔者之前开发了一款低功耗的时钟,使用合宙IoT Power - CC表进行低功耗设备功率分析,但自从一个卖到¥1300以后,一旦手头的CC表产生损坏,就丸寄吧读子,本人十分焦虑。另外合宙IoT Power - CC表虽然内部采样率>80KHz(疑似),但上报速度只有10KHz,有点跟不上笔者的需求,测量某些频率高的电流变化时会因为采样率不够而不准,故想自己开发一个采样速度、上报速度更快的玩具功率计(但其实更注重电流测量,电压只是附带的),用于分析低功耗设备电流情况

   原因是有一次,测试蜂鸣器电流的时候发现用合宙IoT Power - CC表和万用表ZT-225测出来的数据不一样,一个是89mA,一个是86mA,蜂鸣器驱动频率为3.85KHz

    使用采样电阻1Ω 0.1%电阻接入回路中,并用示波器对其进行测量,电流平均值为96.3mA:

    保持采样电阻1Ω 0.1%电阻接入回路中,使用合宙IoT Power - CC复测,电流平均值为91.7mA:

    放大之后观察到电流波形失真有点严重:

 

    在同样的测试回路接入本项目制作的电流表,通过上位机测量(采样率10K),平均电流为96.91mA(测试时上位机未更新,正确显示应为平均值和mA),此时可以看到波形还是有点难绷:

    将采样率设置到50K,两根测量线之间的平均电流为96.39mA(测试时上位机未更新,正确显示应为平均值和mA),可以看到采样率提高之后,测量出来的平均电流很接近示波器的测量值,且波形很接近示波器的波形,可以还原更多细节,能更好的分析低功耗设备是否有意料之外的唤醒或者其他动作: 

    此处有一个疑点,合宙IoT Power - CC好像内部采样速度80K(官网介绍是10K,淘宝店介绍内部速度>80KHz,上报速度10KHz),按道理比我测试的50KHz采样更快,不太应该比我飘

    其实我的诉求也很简单,开发一款精度和万用表差不多的、采样率一定要更快的、可以连接上位机将数据实时上传的、常温下飘得不是太离谱的、价格差不多是星期四网友经常发的   玩具仪器就可以了

 

2、为什么不直接选择专业仪器

   1. 贵,而且测量的跨度较大,一般示波器垂直精度不够(买一台CX3300可以在我老家全款买一套房,再配一个一个40nA~1A的探头CX1101A七万块钱),一般台式万用表速度不够,例如现在卖¥2500安捷伦的六位半 34401A,六位半上传速度是1KS/s,五位半的上传速度是10KS/s(小道消息,用户手册上只说了1KS/s,这个未提及),卖¥1.5W的Keysight 34465A 是50K读数/秒,而且台式万用表换挡时间普遍都是在毫秒级,换挡时间较长,电流分析仪也鱼龙混杂

   2. 孩子之前没搞过,瞎搞着玩,看立创好像也没有,填补一下空白

 

3、技术指标

  • 数据接口:TYPE-C接口,串口通信波特率2M
  • 自动量程(如果有下个版本的话再考虑无缝量程)
  • 换挡延迟(自动):
  • 接口隔离:
  • 电流档位&精度:

档位

设计量程

理论分辨率

档位理论稳定延时

(出厂设置)

校准后静态精度

(也取决于做标定的万用表的精准度)

温漂

0

0 ~ 4.096uA

0.001uA

/(最后一个档位了,不用等了)

<0.5%

幽默[1]

1

4.096~ 40.96uA

0.01uA

(15.63)+0.7+3us

<0.5%

幽默[1]

2

40.96 ~ 409.6uA

0.1uA

(3.5)+0.7+3us

<0.5%

幽默[1]

3

409.6uA ~ 4.096mA

1uA

(0.125)+0.7+3us

<0.5%

幽默[1]

4

4.096 ~ 40.96mA

0.01mA

(0.125)+0.7+3us

<0.5%

幽默[1]

5

40.96 ~ 409.6mA

0.1mA

(0.125)+0.7+3us

<0.5%

幽默[1]

6

409.6mA ~ 4.096A

1mA

(0.125)+0.7+3us

<0.5%

幽默[1]

7

4.096~ 40.96A(到不了40A,PCB和MOS选型设计撑死十来安)

10mA

(最高档位固定约2.8us)

(没那么大量程的表校准)

幽默[1]

表3-1

    [1]玩具罢了,用热风枪一吹就飘了,温漂就看个乐呵吧,室温下还行

    [2]具体换挡时间计算可参考10.换挡时间-升档 相关内容

  • 电压档位&精度:

档位

设计量程

理论分辨率

档位理论稳定延时

(出厂设置)

校准后静态精度

(也取决于做标定的万用表的精准度)

温漂

0

0 ~ 4.096V

1mV

一个采样周期

<0.5%

幽默[1]

1

0~ 8.192V

2mV

一个采样周期

<0.5%

幽默[1]

2

0 ~ 29.4912V

7.2mV

一个采样周期

<0.5%

幽默[1]

3

0 ~ 37.6833V

9.2mV

一个采样周期

<0.5%

幽默[1]

表3-2

    [1]玩具罢了,用热风枪一吹就飘了,温漂就看个乐呵吧,室温下还行

     出厂默认自动档位最小档位是1档,0档需要手动进入

   校准方法见后文

  • 采样率(数据上传速度):10~50KS/s(可设置),回传电流、电压数据,当屏蔽其中一路将带宽留给另一路时,采样率可以达到约100KS/s的速度
  • 电流检测方向:单向
  • 电压检测方向:单向
  • 正向过流(短路)保护:√(最快15usS)
  • 反向过流(短路)保护:√(最快5usS)
  • 反流保护:(最快10usS,但过于灵敏,空载的时候一摸就报警,平时一般屏蔽,或者打开自恢复,属于半残废状态)
  • 过压检测:
  • 反压检测:√(因为没有负压,和其他原因,只能设计成反压超过1.9V保护,有时候也是一摸就报警,一般配合自恢复一起使用)

   PCB铜厚1oz,小秘诀:去捷配打,印象里面领他们的免费券能打4oz还是3oz的

   硬件框图如下:

图3-1 硬件框图

 

 

 

 

4、注意

   本项目精度只能接近您标定所使用的万用表或者其他与仪器,且标定大电流时所需的电子负载(最次买个水泥电阻当负载)或者电源也不是每个人都有,当您没有看波形的需求、没有合适的标定设备时,建议不要考虑该项目

   本项目由于有换挡间隙,所以自动档位下不太适合测试瞬态信号,以及变化频率太频繁的信号,详见“信号响应测试”章节

   由于7档和6档采样电阻发热,大概常温下长时间会飘个0.5%的样子,如果有需要的话请额外加导热硅胶垫、散热片缓解,详见“15.校准”章节

   本项目采样精度随时间的漂移未知

   本项目就是个玩具

   仅用18650进行过短路测试,大电流短路时依然有炸管风险

   其次,研究、复刻、制作本项目只是浪费时间和金钱的项目,还是听从群里大佬们的建议:


  别把时间浪费在做这个垃圾表上,费钱费时,只做出了一个玩具,建议大家都买一个带USB传输功能示波器采样,上传给上位机。自己做个上位机数据处理二次开发,懂的自然懂。现在台式万用表都可以连电脑了,大家直接花钱就可以买到比我这个垃圾表采样速度和回传速度快多了的台式万用表啦,我只是花费了时间和金钱做了一个可笑的项目,如果大家有兴趣看下去,就当来马戏团看我这个无知的小丑表演了

 

 

5、简单动态测试

  测试条件:串联100Ω电阻,连上信号发生器,示波器探头并联在100Ω电阻两端(示波器垂直精度不太够,也只能说做个参考),采样频率设为50K,积分次数设置为10,电流变化范围在0~6mA左右,跨3个量程

 

 

 

 

 

 

 

 

 

 

 

 

6、信号响应测试

  测试目的:量程交越或切换时,测试设备自身对原始信号的影响

  本项目采样电阻两端满量程为40mV,加上MOS内阻、PCB内阻,测小、弱信号时不至于压降太离谱从而影响输入信号

  测试条件:约6mA,脉宽100us信号,最大档位7档,最小档位1档,可以看到前面大约有10us多的换挡响应时间

  此种测试方法测试输出电压仅为600mV左右,因此测试仪器如果分压越大,越容易对电流产生影响,因此波形也能反映出测试仪器对被测设备运行电流的影响

 

 

  测试条件:约6mA,脉宽10us信号,最大档位4档(40mA档,将前面那几个不必要的档省掉,加快一点点换挡速度),最小档位1档,可以看到前面大约有4us的换挡响应时间,比起之前有改善,但不多

 

 

  测量这种信号,可以将档位定死在一个量程,避免换挡

 

  同样的条件测了一下合宙IoT Power - CC,情况比CC表好,但也是五十步笑百步

  测试条件:约6mA,脉宽100us信号,可以看到CC表对原始信号的影响很大:

  测试条件:约6mA,脉宽10us信号,可以看到CC表对原始信号的影响很大: 

 

 

 

 

 

 

7、上位机

     上位机部分十分感谢我的好兄弟阿栋手搓绘图底层,在此基础上我用学的半拉吧唧的C#一通瞎几把乱写搞了上层UI,目前可能会有一些bug,有问题的话关掉重启就行了

     秉持着能用就行的摆烂精神,上位机绘图数据目前是保存在电脑的运行内存里面的,所以不能记录太多数据,这个后续看有需求的话可不可以改成分包本地保存

     目前可以记录波形,统计,测量数据的平均值或均方根的值,可保存或导入数据

     具体操作请看VCR

 

8、换挡方案

     由于笔者只是个废物,只能采用MOS管切换采样电阻的方案,图1为单路MOS切换单元的的电路图,采样电阻两端的电压设计为最大40mV,MOS管源(S)极电压约等于GND_A,对Vgs电压影响甚弱,对MOS控制的影响可以忽略不计

IMG_256

图1 单路MOS切换单元电路图

     在图1中,Q32为电流切换MOS,Q33为采样信号切换MOS,这两个MOS管被同一个信号一起控制,可将电路图抽象为图2

IMG_257

图2 单路MOS切换单元示意图

     将8个MOS切换单元组合起来,就得到了一个采样切换阵列,如图3所示(实际硬件以最新原理图为准),嫌麻烦使用了NMOS在高侧的方案

图3 采样切换阵列

     可将电路图抽象为图4

 IMG_259 

图4 采样切换阵列模块示意图

     当微安表当前档位处于小档位时,例如处于0档,此时微安表内阻为10KΩ,如果此时被测负载突然变大,如启动电机,或者蜂鸣器,档位来不及切换,此时微安表的内阻就会分走绝大部分电压,造成被测设备电压的跌落,导致被测设备故障。为了应对此种情形,我增加了一个续流二极管(图3 U60),当切换阵列来不及反应时,电流会流过二极管,此时只会产生0.3~0.5V左右的压降,将影响降到最小,也算是没有办法的办法。也因此原因,被测电流在导线、采样电阻、切换MOS两端的电压之和(图5右侧),不能超过二极管的最小正向导通电压值,否则会产生分流,故将采样电阻的满量程电压值设定在40.96mV。

     最大测试电流也因此被限制,因为Q29最大内阻为8.8mΩ,加上采样电阻1mΩ,加上其他线路阻抗,姑且算他15mΩ,0.3V/0.015 = 20A,这就意味着如果续流二极管两端并联部分达到15mΩ,被测电流达到20A,二极管两端压降将到达0.3V,再增加电流时,电流会开始通过二极管分流,导致读数开始不准(其实能测到20A也行了,PCB还不一定能抗住20A)

     该二极管的选择,或者说整个采样切换阵列的器件选择也有讲究的,即结电容小,抗冲击能力也要好。这是为什么呢?

     众所周知,二极管和MOS上,都有结电容的存在,将图3器件的结电容画出,如图5所示(省略画法):

IMG_260

 

图5 采样切换阵列模块结电容分部示意图

     如果有一个微弱的电流流入,如图6所示(大概,笔者水平拉胯,,远不及群里的大佬,这里只是笔者的一些无端的揣测,实际情况更复杂),那么电流将会先对结电容进行充电,达到稳定状态后,该微弱电流才会绝大部分都流过采样电阻,所以选用器件的结电容越大,电流需要达到稳定状态的时间就越长,换挡后等待的时间越长,动态响应越不佳(虽然也没多少响应了),故而也不能一味通过堆MOS达到更广的测量范围。此外5V控制电平(紫色)输入MOS管G极,结电容充电电流会流过采样电阻或者直达电流采样输出,造成开关切换时采样信号中出现尖峰噪声,采样电阻阻值越大越明显(其实问题不大,切换时不采样)

 

IMG_261

图6 采样切换阵列模块切换时结电容分充电示意图(二极管省略一个)

IMG_262

图7 切换至1档时采样电阻两端电流信号(黄色,倍率为10mV一格,示波器与探头设置未对齐)波形(V2.0.0之前版本)

     如图7黄色波形所示,在V2.0.0之前版本的硬件,切换到1档时,切换打开MOS瞬间,结电容充电电流会在采样电阻两端产生一个尖峰,随后跟随一个反压,最后被测微弱电流在慢慢充电,达到稳定状态。其中反压的形成有以下基于笔者的无知进行的臆想,如图8所示。

     单片机IO控制从一个开关切换到另外一个开关,我设计的切换逻辑是假如从A切换到B,状态为:A打开B关闭→A打开B打开→A关闭B打开,来避免切换时可能会发生被测负载一瞬间被断开的情况,确保连续导通。可观察图8,原先打开的那一组MOS(左),结电容是充满电的状态,当单片机IO口变成0,也就是单片机IO口与GND_A相连时,此时下一组要切换的MOS已经是导通状态,结电容通过单片机IO口→GND_A→采样电阻→已经打开的MOS回路进行放电(真实情况可能更复杂,但问题不大,换到档期间不采样),导致的出现反压的情况。以上仅仅是菜鸡笔者基于自身贫瘠知识的理解,仅供参考。

IMG_263

图8 采用电阻两端反压形成原因猜测

     综上所述,大家已经明白结电容的大小对采样的影响,关于MOS与续流二极管的选取,还有两个比较重要的因素:

     一是器件的抗冲击能力,更好的抗冲击能力,有助于设备在短路的情况下成功打赢复活赛。

     二是器件的漏电流,漏电流越小,说明被二极管分走的电流就越小,示数就越精确

     表2列举了我备选的一些续流二极管参数

 

型号

额定电流

额定负载上叠加的8.3ms单半正弦波非重复峰值正向浪涌电流

反向电流(Ir)

正向导通压降

 开始导通电压

结电容

SDM2100S1F-7(笔者选了此型号)

2A

50A

35nA@100V

780mV@2A

375mV

42pf

SS220F

2A

50A

500uA@200V

920mV@2A

未测试

170pf

SS10100B

10A

175A

0.02uA

850mV@10A

未测试

400pf

BAS100CS-AU_R1_000A1

0.5A

5.5A

15nA@80V

850mV@0.5A

未测试

21pf

SK84

8A

150A

500uA@40V

550mV@8A

未测试

350pf

DSK16

1A

30A

300uA@60V

700mV@1A

未测试

110pf

表2

 

     MOS管选型如表3所示,0~6档大家可按照每个档位的电流大小,留出余量,自由选择即可:

 

位置

型号

额定电压

额定电流

脉冲漏极电流

导通内阻RDS(MAX)

输入电容CISS(pf)

输出电容COSS(pf)

反向传输电容CRSS(pf)

0~2档电流选择开关

2N7002-7-F-ES

60V

300mA

1.2A

28

11

4

8路电流信号输出选择

2SK3018

30V

100mA

/

13

9

4

7档电流选择开关、总开关

NTMFS5C670NLT1G

60V

71A

440A

8.8mΩ

1400

640

15

3~6档电流选择开关

AGM310AS

30V

22A

88A

16mΩ

850

130

98

表3

     通过硬件的选择和优化(优化选型,增加栅极电阻)+软件优化(略微延迟两个档位直接的过渡时间,避免结电容一起充放电),尖峰消除效果如图9所示,有些许优化(但新版好像又倒回去了):

IMG_264

图9 V2.1.0版本硬件测试1档MOS栅极信号对电流采样信号的影响

9、换挡逻辑+自动换挡

     两个档位直接的切换,假如从1档切换到0档,流程为:1档打开  0档关闭→1档打开  0档打开→1档关闭  0档打开,使得任意时刻,采样电阻切换阵列中,至少有一路是导通的

     本次设计采用的自动换挡机制,使用两路高速比较器比较运放放大后的电流信号,一路向下换挡信号IDS(运放输出信号与430mV比较),一路向上换挡信号IUS(运放输出信号与4090mV比较)

     首先来谈一下为什么高速比较器要接在运放后面而不是直接接在原始电流信号上,因为直接接在电流原始信号回路(V2.0.0之前的版本),会导致电流原始信号回路输入电容增加,同时比较器比较小于1mv以下的电压,输出容易蹦迪

     可能有人会有疑问,接运放输出信号来比较,不就滞后了吗?这个问题我们放在之后聊

     我们聊一下比较器的阈值电压为什么这么设计,或者说要遵守什么样的规则。首先结论是在失调电压很小的情况下可以参考:向下换挡信号IDS的阈值要比向上换挡信号IUS的1/10小

     假如IDS阈值为430mV,IDS阈值为4090mV,430 > 4090/10,这种时候,会在电流信号小于430,假设该值为420时,向下换挡,信号放大十倍,变成4200mV,此时又会触发向上换挡,向上换挡之后,信号又小十倍,变成420mV,再次触发向下换挡,疯狂鬼畜。所以要设置向下换挡信号IDS的阈值要比向上换挡信号IUS的1/10小。但笔者这边设置的就是IDS阈值为430mV,IDS阈值为4090mV,这又是为什么呢?

     前文提到这个结论是在“失调电压很小的情况下”,由于笔者使用的运放系统最后输出的失调有+50mV,所以向下换挡信号IDS阈值为430mV(380+50mV),当运放输出信号为420mV(370+50)时,向下换挡,倍率X10,结果为3750mV(3700+50),不会触发向上换挡。当然,大家按实际的失调情况适当修改阈值电压

     接下来来聊一下自动换挡的逻辑,如图10、图11:

IMG_265

图10 升档逻辑

IMG_266

图11 降档逻辑

     可以看到升档切换,其实是先切到最高档位后,再向下查询,因为升档信号IUS信号触发时,无法预测这个电流到底是多大,所以先用最快的速度切到最大档位,如果到达最大档位后IUS信号还在,则确认过流,报警,断开输入回路。如果IUS消失,则向下查询。

     图12为从7档切换到1档的实际波形,测试电流为38uA,最低档位设置为1档,可以看到切换到1档之后不在继续往下切换

图12 V2.4.3硬件升降档位实测波形

     图13为从7档切换到2档的实际波形,测试电流为3.8mA,最低档位设置为1档,可以看到切换到2档之后,在“2档检测”的位置会对IDS、IUS信号进行检测,档检测到IDS信号为假(低电平为真),证明不需要向下换挡,随即停在档位2,不在继续往下切换

图13 V2.4.3硬件升降档位实测波

 

10、换挡时间

档位

档位理论延时

0

/(最后一个档位了,不用等了)

1

(15.63)+0.7+3us

2

(3.5)+0.7+3us

3

(0.125)+0.7+3us

4

(0.125)+0.7+3us

5

(0.125)+0.7+3us

6

(0.125)+0.7+3us

7

(最高档位固定约2.8us)

 表4

 

 

     观察表1或表4可以看到,0档等待稳定的时间与其他档位不是一个量级,所以为了切换的速度,出厂默认自动档位最小档位是1档,0档需要手动进入

     相较之下,台式万用表的自动量程换挡时间有点长,不太适合测量瞬态变化

 

 

     关于档位切换时间的优化问题,如果项目没被各位看官巨佬喷死的话,就在以后的版本再更换方案优化,毕竟在巨佬面前,我就是一个无知的新兵蛋子

 

 

 

 

     升档:

              最高档位到目标档位,中间经过的档位等待时间之和(不包括目标档位),例如,查询表1可知,从1档换到2档,经过的流程为7→6→5→4→3→2(目标档位不计算),所以切换时间为2.8us(最高档位固定2.8us,7→6)+(3+0.7+0.125)us(6→5)+(3+0.7+0.125)us(5→4)+(3+0.7+0.125)us(4→3)+(3+0.7+0.125)us(3→2)+(3+0.7+3.5)us(2→1)= 25.3us(大概值,图13可以进行佐证)

     降档:

              与升档计算方法类似,但不用先切到最高档位,只需要向下查找,计算方法与升档一致

     其实当初选取高速运放,是因为V2.0.0之前的版本,使用LM339来切换,1.3us的响应时间实在令我有点难绷,所以后续迭代版本使用了高速运放,,表5列举了之前对比的一些比较器的比较时间:

 

型号

传播延迟(从低到高)

传播延迟(从高到低)

比较器个数

单价(RMB)

GSV332-MR

98.6nS(10mV)

77.5nS(100mV)

114.7nS(10mV)

59.4nS(100mV)

2

1.347

LM339

1.3us

300nS(大信号)

1.3us

300nS(大信号)

4

0.349416

TPV393LS8

460nS(10mV)

400nS(100mV)

950nS(10mV)

850nS(100mV)

2

0.5224

TLV3202AIDGKR

50nS(20mV)

50nS(100mV)

50nS(20mV)

50nS(100mV)

2

3.9

 表5

     当初贪图速度快,考虑性价比选择了GSV332-MR,但就目前看来,单片机处理用了4us,如果处理速度在高一点的话,用TPV393LS8甚至LM339也不是未尝不可,还是期待今年4月份的时候STC出新单片机,算力有所提高,到时候硬件成品又可以做低一点

    

 

 

 

 

 

11、故障关断

     关于故障关断模块,因为设计需求上要阻断双向的电流,所以使用了两个MOS管组成的故障关断电路,如图14所示(实际选型以最新原理图为准):

 

IMG_269

图14 故障关断模块

     因为整个电路是隔离供电的,所以不用担心和其他设备共地所带来的问题,图14中GND_A、GND是通过焊锡短接相连,所以可以看做同一个点,I_INT通过与采样开关阵列并联的续流二极管接到GND上,压差并不大,也可以看成约等于GND,所以控制起来不用担心Vgs电压波动导致控制失效。此外还需要注意的点是,故障关掉模块也是设备能否在异常情况下打赢复活赛的关键,它的反应一定要快,但有细心的朋友可能会发现,我栅极输入电阻高达1K,甚至还在栅极并联了一个100nf的电容,这不是降低MOS的驱动速度吗?

     关于这个问题,需要单独说明一下

     这个问题得从我更换了高速运放后的V2.0.0硬件开始说起,之前调试的时候,没贴故障关断电路,后续打样调试时,贴了障关断电路,发现运放输出信号老有一些跳动的干扰,后来查到是采样电阻上也有干扰,而且采样电阻越大,这种干扰越明显,而且干扰有时有周期性,有时又挺随机的,当时挺懵逼的,测了电源,挺稳的,没啥问题,更懵逼了,后来查来查去搞了一个多小时,终于发现,是我单片机的SPI和OLED屏幕通信的时候,产生了一些干扰,干扰随机的原因是我OLED做了显示优化,内容不变的时候不刷新

    但新的问题又来了,采样电阻切换阵列根本和没接电源,是独立的,这个干扰是怎么窜进去的?后来经我一天的复盘,终于发现了罪魁祸首:结电容

    具体分析如下图15所示,图15只画出了我认为影响最大的一路,因为大管子的结电容也大,对于高频干扰来说,简直跟回家了一样,直接就窜过去了,其他路径以此类推:

IMG_270

图15 干扰路径分析(二极管省略一个)

   随后在故障关断MOS管G极测到干扰波形,如下图16所示,且把故障关断MOS管G极短接到GND后,干扰小了好多(仅剩的一些可能是其他与MCU引脚相连的MOS的结电容窜入)

IMG_271

图16 故障关断MOS栅极交流耦合波形

   所以,现在可以解答刚刚的问题了,加一个RC滤波网络是过滤这个难绷的干扰用的(md这个这种情况我还是第一次见,果然我就是个无知的废物,比不上群里的大佬),加了RC之后,还增加了一个泄放二极管,这样关断的时候,结电容的电量就可以用过二极管直接绕过电阻进行释放,加快关断速度,使得关断速度不太受影响,打开速度的话,慢点就慢点吧,问题也不是太大。

   其他8路采样电阻切换MOS,栅极也增加了100Ω电阻,每一路预留有一个0402的滤波电容位,但我想的是用100Ω和管子本身的结电容组成RC滤波,这样就不用加电容了,目前看效果也还好

   另外加大滤波电容、修改线路以及程序使得SPI线路远离模拟部分、增加磁珠等,目前V2.1.0版本以上该问题解决

12、电流放大

     之前用的RS8552XM精密运放,放大100倍,挺好,失调几乎没有,但放大100倍之后带宽过于难绷,因为RS8552XM增益带宽积(GBP)是4.5M,放大100倍之后带宽变为45k,可以看图17,升上时间超过10us。

IMG_272图17 RS8552XM串联复合运放测试

     使用串联复合运放电路对带宽进行补偿,测出上升沿已经达到压摆率的上限,但看起来还是有点慢,测试条件为输入约10mV(9.09mV),串联复合运放外环放大倍数为101,如图18所示:

IMG_273

图18 RS8552XM串联复合运放测试

     后来更改运放,重新选择一款高速运放TPH2501-TR,增益带宽积(GBP)120MHz,压摆率(SR)180V/us,也使用串联复合运放电路对带宽进行补偿,测试条件为输入400mV,输入分压为1/11,示波器探头是x1,所以实际输入运放的电压为约40mV(36.36mV),串联复合运放外环放大倍数为101,如图19所示,可以看到计时放大101倍,响应速度已经很快:

IMG_275

图19 TPH2501-TR串联复合运放测试

     因为延迟比较低,所以将高速比较器放置在运放输出的后面进行比较也是问题不大的,串联复合运放外具体电路如图20所示,外环G = 100,内环G = 8.647

图20 两个TPH2501-TR组成串联复合运放电路

     因为延迟比较低,所以将高速比较器放置在运放输出的后面进行比较也是问题不大的,串联复合运放外具体电路如图20所示,外环G = 100,内环G = 8.647

     电流采样电阻AGND和运放GND在靠近1mΩ的最大档位处用焊锡进行短接,以借此来最大程度减小PCB铜箔走线内阻对采样电阻的影响,但也仅仅是减少影响,6档位的采样电阻还需要通过并联电阻的方法物理修正,详见后续章节

图21 采样电阻地和运放地短接点

 

13、故障响应

     正向过流(短路):

             过流有独立的硬件比较器,但考虑到不是所有的用户都会在硬件上选取最大档位(有的用户用不到最大档,贴器件的时候不贴),而过流专用比较器是绑定最大档的,所以目前使用了升档信号来做过流检测,当检测到升档信号,且当前档位为最大值时,触发过流保护,过流保护的时间大约为15uS

 

图13-1 最大档位为2档时的过流保护

图13-2 最大档位为6档时的过流保护(18650直接短路)

     反向过流(短路):

             反向过流(短路)时,完全靠最大档位的MOS管的体二极管钳位,保护运放两端不被反向高压冲坏,所以抗过流短路的能力完全由最大档位的MOS管的体二极管决定,由于是直接中断检测判断,所以反应速度要快上一些:


图13-3 表情包

图13-4 18650直接反接短路

             如图25,使用微弱电流测试反流保护,反应也很快,后面那大段应该是MOS关断后不知道对哪里充电了:

图13-5 微弱电流反流测试

             由于设计的过于灵敏,导致平时接线、接近空载或空载,手摸上去都会触发报警,所以设计了软件屏蔽按钮,平时处于屏蔽状态,半残废了属于是,有反流保护,有但没有完全有

     正向过压:

             未测试,应该也是差不多的时间,都是写在同一个中断里面

     反压报警:

             输入反压保护电路:


图13-6 输入反压保护电路

             由于没有负压的原因,导致负压检测一直不稳定,但又不想增加爱多成本,还有本人水平有限,无奈只能采用若智办法

             当输入接反时,电流会从GND_O流向V_INOUT,会在AB两形成一个电压Vb = 0V,Va = -0.7V,此时MOS的Vgs = +0.7V,这个电压是因为MOS打开后,IO口电流灌入达到平衡后电压,实测只能流过3.8uA电流。IO口短路电流为17uA,所以需要单独一个2M电阻上拉,提供2.5uA上拉电流,并将IO口设置为开漏模式,这样输入负压的时候就可以检测了,但难绷的一点是这样需要输入大约-1.9V才能触发,使用导通阈值400mV的MOS管,可以达到-1.7V左右保护,这样的话,然后使用1.5V的电池作为电源,反接是没有提示的,有一定的局限和风险,请各位悉知

             当输入此外这种设计检测也不是太稳定(可能),手摸上去也有可能报警,所以设计了一个反压自恢复功能,检测到反压移除后200ms内自动恢复,一定程度上解决了频繁报警的难绷问题

14、采样策略

     本项目采样策略为使用定时器触发定时中断,在定时中断里面进行采样。但本项目没有使用无缝换挡,当需要采样时,有可能会碰到正在换挡的情况,此时要等待换挡完毕才能采样,但因此放弃一次采样还是不妥的。所以策略上是如果出现上述情况,将测量任务挂到换挡任务结束后马上补采一次,同时记录次数,方便使用者查看错位次数是轻微还是严重,是否接受

图26 采样错位策略示意图

     当采样频率很高或换挡太频繁的时候,会碰到换挡中进行两次或多次采样的情况,这种情况下就真的只能放弃采样,同时丢失数量会记录在“采样丢失”寄存器中,方便使用者查看错位次数是轻微还是严重,是否接受。

图27 采样丢失示意图

     如在下图中,图片摘自“简单响应测试”章节中,对全波波形的测试,测试条件为采样频率50K,积分次数10。图中OLED显示示数上方有两行数字,第一行为13915,第二行为2661。第一行为采样错位,第二行为采样丢失。意思是在50K*10 = 50万次采样中,采样错位1.39万次,占比2.78%,采样丢失2661次,占比0.532%,用户自行决断是否接受,是否满足用户自己的要求

图28 采样丢失与错位实测

 

15、校准

     由于淘宝买到的1%毫欧电阻,基本上都偏大3~4%,导致大电流的量程缩水,比如满量程4A,会缩水成3.8A,问题倒也不大,如果缩水的太厉害了,就要使用其他电阻对采样电阻进行并联补偿,例如我这个,100mR档,用了两个4.7R进行补偿,10mR档位,用一个250mR并联补偿,5、6、7档附近裸露PCB部分适当镀锡,其他部分抹一层就行了,1mR档位理论满量程是40A,就算缩水也够用了,补偿电阻立着焊,因为采样电阻要散热,之前老版本硬件就是因为器件堆太近了,而且采样电阻叠叠乐,导致采样电阻温升比较明显,产生比较明显的温漂

图29 采样电阻补偿

 

图30 老版本3.5A电流温升

     本项目由于丐的比较厉害,做的也比较拉胯,失调较大,干扰窜入,再加之淘宝买的大电流采样电阻,虽然标的是1%,但普遍达不到1%的精度,导致比较依赖校准,未校准的表基本上偏差很大,附件提供一个文档可用于档位的校准,校准方法如下:

     微安表积分设置为10,需要校准的档位补偿K设置为30000,B设置为0,记录下配测仪器与微安表的数值,数据取接近下限与接近上限且稳定不跳档位时的数据,例如图31,测40mA档位,就选取了7mA,35mA这两个点,测小电流时推荐使用电池+电位器,不然干扰太大

图31 校准前测量

     测得的输入填入校准表格中,表格会自动得到当前档位应该填写的校准K与B值:

图32 获得校准K、B值

     将数值设置到微安表内,记得保存参数:

图33 设置校准K、B值

     再次对照测量值,可以看到读数就比较精确了:

图34 校准后测试

 

     稳定度:

图35 稳定性

     使用同样的方法校准5档,先记录接近下限与接近上限且稳定不跳档位时的数据:

图36 5档校准前测量

     测得的输入填入校准表格中,表格会自动得到当前档位应该填写的校准K与B值:

图37 获得校准K、B值

     将数值设置到微安表内,记得保存参数:

图38 设置校准K、B值

     再次对照测量值,可以看到读数就比较精确了:

图39 校准后测试

     新版硬件对发热器件进行了分散,但采样电阻自身温升依旧明显,测试180秒输入3.5A电流,采样电阻从室温升至44℃,电流示数也从3.4985A变为3.5113A,大概漂移了0.37%,所以有条件的话,可以放弃增加补偿电阻(新版留够了位置,可以焊两个1206的电阻,可以不用立着焊),压一个散热泥+小铝片或小散热片

图40 新版本硬件热成像图

     下图给出常用档位1~6档校准前和校准后的精度对比,可以看到校准前基本上是比较拉的,当然,这里没有对校准后整个量程之内取多点测量,只能说看个乐呵,实际整体个人猜测应该会在0.5%之内:

图41 1~6档校准前与校准后对比

16、PCB焊接、机器组装注意事项

     ①如果要用0805焊接到0603的焊盘上,可以吧电阻竖着焊接

图42 不建议大家学习

     ②焊接接线柱的时候,请注意焊接后能否将后盖合上,建议在焊接的时候,先将PCB放入前盖中,接线柱尽量挨着下边缘,简单焊接固定号一边后,盖上后盖,确定是否有浮起,能否紧密合上后盖,如果不能,则对接线柱位置进行调整,实在不行可以挖大接线柱的孔

     ③电压参考源焊接好后,测量输出,如果偏差有些大(和4096mV差别10mV以上),可以考虑并联电阻对参考源进行微调,我用的这个参考源和通用431引脚是镜像的,如果和我使用一样的参考源芯片,需要丝印朝底下翻过来焊

     ④注意引脚之间有没有连锡或者锡珠造成的短路或者信号异常

     ⑤接线柱焊接时,接线孔尽量朝上

图43 接线柱接线孔方向

     ⑥屏幕焊接时,斜45°焊接,不然装不到支撑架上,屏幕装到支撑架后,可以先于前盖试装,看看屏幕有没有歪,歪了的用热熔胶或者双面胶什么的粘一下,调整屏幕位置

图44 屏幕焊接方式

     ⑦STC8芯片和相关部分焊接之后,插上电脑进行升级,使用附件里的AIapp-ISP工具,选中识别的USB-HID口,芯片选择STC8H2K12U,然后在编程这里选图45中的选项,然后看是否需要勾选切换管脚功能,调换TX和RX,点击确定,完成升级。隔离芯片有些型号或者替代料,发送和接收是颠倒的,如图45表示,板子上做了兼容处理

图45 隔离芯片示例

 

图45 串口芯片升级流程

 

17、软件部分

     软件写的跟狗屎一样就不开源挨喷了,求放过

 

18、通信协议

     本设备通信为UART串口通信,波特率2000000,数据位8,校验位无,停止位1
     遵从部分Modbus-RTU协议,支持连读连写,寄存器功能表见附件,设置为写命令无返回值,开始传输后,256个数据为一包发送,具体格式如下图:


    图46 数据包文解析

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
BOM_微安表.xlsx
2
2
微安表校准-V1.2.xlsx
2
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航