找回密码
 立即注册
查看: 880|回复: 4

vc890d rom校准思路 表a

[复制链接]
发表于 2022-11-14 11:07:56 来自手机 | 显示全部楼层 |阅读模式
万用表
主题类别: 校准_调试
仪表品牌: 胜利(VICTOR)
显示字数: 三位半
型号或关键字: vc890d 2016板软芯
本帖最后由 ftr315 于 2022-11-14 16:32 编辑

之前写了篇关于vc890d的rom校准的帖子,但是因为我那块表的比例电阻很好所以跳过了基准及线性的校准步奏,所以删掉了那个帖子。rom校准方法也就是改rom地址中对应的修正值来达到校准的目的。为了证实rom校准可以修正校准数据的线性又收了块vc890d来校准测试rom校准的实用性,因为没有1106的手册而0660的手册对应的rom功能只能借鉴所以只测试了rom中部分关于DC电压的校准数据,本贴没有权威性一切都是自己摸索,对于地址中的代码具体作用只能猜个大概。
IMG_20221114_095229477.jpg (133.93 KB, 下载次数: 0)
IMG_20221114_100350495.jpg (153.52 KB, 下载次数: 0)
先来说下vc890d,胜利这个厂家也真是个老六。本想收一块一样的,看了外壳是一样的字母型号也一样拆开就傻眼了。完全不一样的板子。一个牛屎一个硬芯,电路也不同。估计rom对应的代码也不同。
用到的工具如下。
IMG_20221111_161404432.jpg (102.48 KB, 下载次数: 0)
铝合金的5v电压基准源,usb接口ch341a烧录器,烧录座(方便反复测试烧录)
把芯片夹好并插入烧录器上,上电脑打开软件
设置好rom型号,点读取。数据就出来了。
IMG_20221111_162317882.jpg (70.81 KB, 下载次数: 0)
IMG_20221111_162019894_EDIT_1.jpg (135.24 KB, 下载次数: 0)
先从原始数据看我摸索的思路
IMG_20221114_100723452.jpg (198.76 KB, 下载次数: 0)
第二行00000010 竖00,01,02,03,04,05.也就是10h,11h,12h,13h,14h,15h 按照0660手册中表示的含义改9999(线性度后面测试) 应为是手动档所以10h,11h.改不改都没关系。12h,13h 就是9999字
超过就显示OL。测试了后确定改大于9920后mv档超过1v也不显OL可能是算法上有问题,所以最好就改到9920。 IMG_20221114_103336466.jpg (166.63 KB, 下载次数: 0) IMG_20221114_103344214.jpg (182.69 KB, 下载次数: 0) 用电脑上的计算器的程序员模式转换出16进制的9920 填入12h,13h.
IMG_20221114_103548618.jpg (152.34 KB, 下载次数: 0)
注意,因为访问rom是按进位访问的所以每个地址是反着填入的。12h,13h。是一组数据那这两个地址就反着填数据。一个地址为一个数据组的就不存在反填了。先改9920。14h,15h 是换挡下限。改与不改对手动档来说也没关系(反正我测试的没区别)。接着点软件的编程-再点校验 数据就写入成功了。
IMG_20221114_104425725.jpg (114.76 KB, 下载次数: 0)
如图,2v档测量9v左右没有显示OL。
接着就是校准了,按我自己的理解。万用表自己有个基准电压 ,按表不同电压也不同。我这个表的ref引脚只有一个小电容没看到电阻。所以校准基准电压一定在rom里有修正值。翻查0660的手册是
Screenshot_2022-11-14-10-50-54-0633105339_EDIT_1.png (38.6 KB, 下载次数: 0)
这样的,但我这个不对。大量反复测试后验证 20h,21h是那个基准电压 。22h是修正比例(我自己理解)。小技巧: 单片机中 一个地址从00到ff一共256个数,它的一半128换算成16进制就是80 所以只要是修正值那么一定是在80左右。20h,21h 是70 8d. 也就是 8d 70 是80 00左右那么这个一定是修正值(修正值默认值定在80 就可以上下浮动的调整了。)而22h 是11。就不是修正值了因该就是那个放大器的放大比例了。
为了验证20,21具体是什么数据才是准确的。这时就需要知道自己的表哪个档才是基础档。就是不通过比例衰减电阻进入芯片的档位。我的是200mv档跑线路经过保险后一个100r的限流电阻直接进了芯片。打到200mv档 把20,21改成00 80 烧录上表测量500mv基准。(5v基准用电位器调的,有5位半表)。
IMG_20221114_114502686.jpg (108.48 KB, 下载次数: 0)
501.9mv多了点,20,21分别改00 00是576.6mv 改ff ff是487.9mv 差值是28.7mv 除65535位(0000到ffff一共的位数)等于0.0004379339 这种方式计算20,21要填入的数值。但是算来算去都不对。原来rom中22h的这个11代表放大倍数而且不是标准的10倍关系我计算出来这个11代表15.9倍。(16进制?)搞不懂,不过没关系。
这个22h 与20h 21h 一样影响所有档位。暂且当它门三个就是基础值吧。这个22h的11没有动它因为改大1位或改小一位,20,21的值就按比例变动了很多,11是变动最接近500mv的。这三个值就是影响所有档位线性的关键吧。既然20h,21h按照65535位还有22h的倍数误差很难计算出数值那就手动改吧。先改低位20,改00是501.9改ff是501.8变化很小那就改高位21,最终值确定在80 90 烧录上表测量500mv IMG_20221114_151139747.jpg (97.09 KB, 下载次数: 0)
测量100mv IMG_20221114_153525953.jpg (99.8 KB, 下载次数: 0)
测量900mv IMG_20221114_152143708.jpg (97.11 KB, 下载次数: 1)
这个不知道是不是你们说的线性度。
明明200mv档是直接进入芯片的 还受22h的放大比例控制。就很奇怪。据我所知芯片里确实有个放大用的运放那个是给20mv档用的或其他微安档之类的。也就是说不管哪个档位既然20,21,22这个修正值与比例值影响全档位那说明信号在芯片内部也有电路分压了然后再放大修正了。而且这个放大倍数不同的表比例也不同。我这块是15.9倍什么奇怪的比例啊. 好在最终100mv 500mv 900mv线性度还OK。
接下来就是找到那个10倍放大运放的修正值了。这个值我也是排查代码找到的。200mv档的代码是9fh的位置,值是01 当我改成21后后万用表打到200mv档小数点向前移了一位变成了20mv 。50mv基准太难调了。用5位半表标定了个50mv左右验证下。
IMG_20221114_155328391.jpg (100.49 KB, 下载次数: 0)
标定值是53.31mv差了点,也需要修正(没找到比例)。具体地址是24h,25h 修正到标定的53.31mv就OK了。到此基础校准就结束了。然后是是各个档位的修正值了。很简单哪里有大量00 80值的区域哪里就是各档位的修正值。从c0,c1是2v档 c2,c3是20v档这么排下去。
另外,今天变天,我昨天调好的20,21h 今天就漂了0.1mv 但各档位的值没受影响,只是修正了下20,21的值其他各档位就准了。说明芯片基准的温漂影响比 电路外围比例电阻的温漂影响要大。查了下手册芯片基准的温漂是100ppm 果然没有外置基准的表都是低端表啊。

发表于 2022-11-15 07:56:57 | 显示全部楼层
了解的好深入,改的不错,学习了
发表于 2022-11-15 16:33:14 | 显示全部楼层
改的不错,学习了。
发表于 2022-11-21 10:35:20 | 显示全部楼层
感谢分享
发表于 2022-11-21 19:47:47 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|830数字技术网 ( 京ICP备2021027848号-4 )

GMT+8, 2025-5-9 12:05 , Processed in 0.063392 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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