论坛风格切换切换到宽版
  • 4385阅读
  • 14回复

基于ATmega48的串口电压表的制作(原创) [复制链接]

上一主题 下一主题
离线benladn911
 
只看楼主 倒序阅读 0楼 发表于: 2007-03-20
前言
现在很多的高档数字万用表都具有rs232串行接口,万用表在实际测量电参数的同时把测量到的电参数按一定的通讯协议通过rs232串行接口传输到计算机,由计算机的上位机软件进行数据的实时、定时采集,利用计算机端的软件可以记录大量数据从而方便对一定时间段内的电参数监测分析,生成电参数变化曲线。

但是目前具有这种pc机采集记录功能的高档万用表价格昂贵,让很多人望而却步,在技术论坛上看到很多技术网友想自制类似功能的万用表,希望有人能制作出相关功能的电压表出来,提供自制资料供大家自己制作,以方便平时工作和学习的需求。由于自己本人的技术成长也是受益于网络的共享精神,是到自己回报网络和网友的时候了…

很多网友提出了相关的方案。其中的一个方案是通过单片机读取普通数字万用表的lcd液晶段码信息,就像读取led数码管的段码信息来处理,然后通过单片机进行数据转换发送到计算机端的软件,当然还得开发计算机端的软件。但是lcd液晶是交流信号驱动的,和用数字电平驱动的led数码管属于两种不同的显示设备,所以用单片机来读取lcd液晶的段码信息是不现实的,而且自己开发上位机软件的难度和工作量都较大,于是这个方案推翻了。当然这其中网友提出了很多可行的模块方案。

最后结合了所有的建议,还是决定采用带ad功能的单片机直接测量采集电参数,进行数据转换,然后看看能不能直接利用市面上现成的万用表的上位机软件进行数据的采集保存,这样可以缩小开发的周期和成本,但是想要利用现成的万用表上位机软件的话就涉及到通讯协议的问题了,厂家一般是不公开这些资料的。于是还是利用了网络强大的搜索功能,总算找到相关协议资料了…在此再次感谢网络的共享精神,感谢《我爱电子制作网》 http://www.5iediy.com 的作者何光站长,原来何光站长已经制作出相关功能的串口电压表,并且在其网站上公布了相关万用表软件和协议文件,总共提供了2个万用表厂家的软件和协议,其中优利德厂家开发的ut60a数字万用表软件功能比较完善。本想直接推荐大家按此资料自制的,但最后本人还是决定在此基础进行功能的增强和完善,算是一个改进版本吧,相信何光站长也会赞同的。好了,下面就开始吧…


由于没有数码相机,所以暂时还没能把实际做好的串口电压表呈现给大家,是用万能板焊接的,会尽快落实照片的问题,请谅解

串口电压表基本工作流程:

atmega48单片机每0.5秒对输入到adc0口的直流电压(0 - 4v直流电压)进行ad转换,为了保证采集到的电压值的稳定性,单片机每次ad转换的时候连续读取8次的电压值,然后去掉其中的一个最大值和一个最小值再求平均值,在把得到的电压平均值进行bcd码转换,把bcd码数据送到数码管进行刷新显示,既每0.5秒更新一次当前电压值。
当把pd6口的s1拨动开关接地时,单片机就把bcd码数据按照ut60a万用表软件的协议要求进行特殊的数据转换,然后电路每0.5秒发送一次数据到串口。

电压采集中的工作图片:
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线benladn911
只看该作者 1楼 发表于: 2007-03-20
串口万用表技术指标
直流电压量程:0 – 4v
最大显示字:3.999
分辨率:4mv
准确度:可用高精度数字万用表调试到最佳准确度为止
环境温度:室温18~28℃
环境湿度:不大于75% rh

protel99se格式和pdf格式的原理图下载:
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线benladn911
只看该作者 2楼 发表于: 2007-03-20
hex烧写文件:
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线benladn911
只看该作者 3楼 发表于: 2007-03-20
atmega48的串口电压表详细制作说明文档(pdf格式):文件大,分成2个压缩包,一起下载后解压第一个即可。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线benladn911
只看该作者 4楼 发表于: 2007-03-20
ut60a的软件的下载地址如下:

http://www.uni-trend.com/software/ut60a_soft.exe

ut60a的软件的使用说明书下载地址如下:

http://www.uni-trend.com.cn/download/ut60asoft.pdf


软件的设计

  avr单片机开发环境采用avr studio 4.12sp4 + winavr20060421 ,采用c语言开发。本串口电压表暂时只提供hex文件,暂不提供源程序,请谅解。


本串口万用表目前版本为v1.1,只有一个4v的量程,功能的扩展将根据网友实际的需求和建议做改进。相信不久就会有新版的。


同时也欢迎大家访问我的技术博客   avr猎手的地盘: http://benladn911.21ic.org
离线aqqw751121
发帖
259
只看该作者 5楼 发表于: 2007-03-20
用户被禁言,该主题自动屏蔽!
离线BD7RC
发帖
3283
只看该作者 6楼 发表于: 2007-03-20
好东西。关键是通讯协议。
离线huashao128
发帖
4025
只看该作者 7楼 发表于: 2007-07-02
不错。。。。
离线bg2gc
发帖
971
只看该作者 8楼 发表于: 2009-06-21
我把很久前的帖子,翻了出来,感觉不错,也许能对大家有用
离线BG3AKS
发帖
199
只看该作者 9楼 发表于: 2009-06-21
不错的帖子!
无纸记录仪,标记。
离线bg7pcs
发帖
199
只看该作者 10楼 发表于: 2009-06-22
不错,手养顶!!!^-^*
离线MF35_
发帖
179
只看该作者 11楼 发表于: 2009-06-23
avr的内部电压基准可以设置为2.56v,ad是10位的,所以精度可以到2.5mv,不过量程也变成2.56v了
离线bg2gc
发帖
971
只看该作者 12楼 发表于: 2009-06-24
挺喜欢这种设计的 pc同步功能
  因为想自己按照楼主的电路做40v电压表头,就和楼主联系过,现在的v1.2版本有400mv,4v ,40v,400v,四个档位,每次开机要重新选择电压档位,有些不方便
  楼主答复说最近忙,空闲下来,要修改程序,把上一次关机前电压档位保存在单片机里,再开机就默认关机时的档位
  期待楼主的新程序,先排pcb板了
离线bg2gc
发帖
971
只看该作者 13楼 发表于: 2009-07-28
呵呵
出门十多天,回来发现
楼主真是爽快,应要修改了程序,把每次的量程状态修改存储到avr的内部eeprom中,做到每次设置好量程后重新上电工作会继续使用上一次的量程状态,这样大家要固定用什么量程就用什么量程了。
大家去楼主的博客http://blog.21ic.com/user1/1177/archives/2007/36320.html
看看,及下载程序
有时间时排排pcb版
离线soom
发帖
24924
只看该作者 14楼 发表于: 2009-07-29
有意思,,,