【完结DIY】一个7位半的电压电流表

时间:2016-11-17 16:12来源:世纪电源网

摘要:教你用低成本DIY高可靠性电压电流表。

作者:micropower
最近逛淘宝,无意中发现一棵单通道24位ADC只要0.9元。上图:
1
有点想做一个高位数的电压电流表。
接下来又看到一棵驱动LED数码管的芯片TM1640,可以带16位显示,而这棵IC也只要0.7元。
2
ADC有了,显示有了,就差一个MCU,估计也用一个一块钱的MCU也就搞定了。必竟MCU只是把ADC里的数据读出来,并送到显示就可以了。
3
花了20个大洋,多买了几棵7707与7705。
首先,肯定的是高位数不代表高精度,但不用花太多的钱练练手还是不错的。
7711X2 + 1640X2 + MCU  = 4.2RMB  再加上数码管等外围器件,也就十来块钱吧。
做8位电压电流显示,功率显示也是8位。
4
显示一排8位,共4排,刚好用两片1640。
本来只想做显示电压,电流,还有功率的。但两片1640可以驱动四排显示,不装上有点浪费了。

显示板原理图:

下面是AD及MCU板原理图:
5
更正一下设计要求,原想做7位半,先做7位。
电流只设计一个档位:0.000000A——9.999999A
电压为3档:
0.000000V——9.999999V
10.00000V——99.00000V
100.0000V——999.0000V
电压自动换档,采用单极直流采样(即只能测正电压,不可以测负电压),采用双极的话会降低一半分辨率。
控制板PCB图:
6
50mmX50mm
板已发出去,过几天就可以测试了。
先只做直流电压电流采样,不做太复杂的功能。
除了显示功率,还显示纹波电压与纹波电流。
 
网友讨论:
nc965:
楼主神勇,能找到高精度的基准吗?
 
楼主:
这个问题留在后面。现在先强调高位数。
基准精度,要看两个指标,一个是精度,这个比如1.2V  有的是百五的也有百分之0.1的。
另一个就是稳定度。不能变来变去呀!
因为精度可以校正,所以稳定度才是关键呀!
 
nc965:
稳定度是个什么指标?按什么论?信源的指标还是基准的指标?
 
楼主:
这是一个ADC片内基准

7711是没有片内基准的。
 
Coming.Lu:
电子称的呢,精度还可以,就是比较慢。
 
楼主:
采样是很慢的呀!不过也没关系。正常来说表头要0.3S才更新一次显示。
最重要的还是精度。
正因为这样,我想把显示,AD采样,MCU分开做。这样更新或修改就不用每次动合部。
 
Coming.Lu:
精度不好做的,哪怕布线差一点点,都影响很大。
比如,线路有1mR电阻,走了1mA电流,压降就有1uV。也就是 0.000001V。
这刚刚好就是6位的1个字。
 
楼主:
是呀!这也是为什么高精度AD都是差分输入的原因。
好像TI有出32位ADC,你米多可以玩一下,那个可能会更爽,你向电路板吹口气可能可都有较大的影响。
那个ADC的型号好像是ADS1262,有兴趣可以看看。ADS1262片内基准:
7
 
Coming.Lu:
这个基准,一般般啊。也就比 431 好点。
 
楼主:
不是吧?拿出来对比下呀!
TM7711为什么没集成基准?估计一个基准要比它贵好几倍。TM7707有内部基准,但没给出内部基准的参数,只推荐用外部基准。
做电了称是不用基准的。
测电阻与电容也可以不用基准。拿来做高精度电阻电容测试表估计是不错的。
 
Coming.Lu:
现在,好点的431,可以做到 0.5% 的准确度。温漂好像也就是几十mmp了。具体多少,不记得了。
你可以多找几家的431来看看。
另外,再看看这个 MCP3421 的,这个内置的,才准:
8
 
楼主:
MCP3421确实是个不错的片子,也便宜。基准精度及稳定度都不错。
还有这片子功耗非常低,做万用表的话应是非常不错的。
就这个基准来说,有很多专用基准芯片都比它贵了。
 
Coming.Lu:
来看个稍好点的431吧:
10
这个就是准确度差一点,温漂也算过得去了。
用做一般的基准是可以了。
 
lahoward:
楼主继续,MCU选定了没有?
 
楼主:
哎!这也是个烦事呀!
正在做一版是用PIC16F1503,大概是2块5吧,这样的话加上7707,7707是2块2,总共就4块7了。这样的话还不如来一片。
MSP430AFE253来得好,253才4块5,而且采样速率达1K。
已定了253样片,到时可以两个对比下。
 
lahoward:
两套方案各有千秋。楼主功力强大,期待更新。
 
楼主:
基于学习的心态来搞呀!很多东西做过了才知道。
253样片已到。TM7707的板已发出去,要试下之后再做253的板子对比。
PCB打样了两个板,一个采样及MCU,一个显示板,每个板打样是50块。最大的开支在PCB打样上了。
 
lahoward:
253开发环境用什么?编程语言应该用C吧?
 
楼主:
CCS还没下载,要注册才可以下载。
我基本是用C,一些特殊的地方才用汇编。
CCS还没用过,大师觉得哪个开发环境好用呀! 网上有的人说IAR好用。
因为这个功能很简单,用代码自动生成器应该就可以了。
 
lahoward:
CCS吧,两个MCU的程序下载器用的是什么?不可瞎叫我什么大师哦。期待楼主更新进展。
 
楼主:
253没用过,准备淘一个20块的下载器;PIC的一直用kit3

村料到齐。

开始写程序,先写显示驱动,先确定1640驱动LED数码管是否正常。OK后就可以试AD部份了。
 
单片机有输出了,但数码管没显示。要查看下哪不对先。
17
根据手册写的数据输入,看波形是达到要求的,但就是显示不正常,还不知道问题在哪?
传输格式:
18
测试波形:
19
显示输出:
20
 
开始没有了解清数据手册,以为是每发送一个8位数需要一个start与一个ned,
实际是这样的:

把程序中start与end分出来,输入数据,显示正常。

 
显示已OK,就等调AD芯片了。
还没加载AD采样,显示调得还算是顺利的,开始主要还是对于1640资料上理解不够,要不然这程序也就半小时的事。

主程序代码

显示结果。
接下来就是从AD读到数据,经过校正后直接送到显示就可以了。
更多精彩内容,请点击原文链接:http://bbs.21dianyuan.com/thread-239287-1-1.html

更多技术文章请关注官方微信,搜索微信号V-21dianyuan或扫描以下二维码


免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
帖子推荐更多

Copyright 2008-2024 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348号-2