最近入手了一个胜利的万用表,86E,300多大洋。根据描述,自带RS232接口的,心想这个万用表好啊,可以接到电脑上做一些带记录功能的测量了。产品图片上显示位minUSB接口,心想里面应该是usb转uart的芯片,结果接到电脑上才发现根本没有多出来串口。
但电脑并没有报找不到硬件驱动的错误,也就是电脑已经识别到设备,但它并不是哥串口。
果然,在“人体学输入设备”中,发现多了一个设备。
插入前:
插入后:
也就是说,万用表用的并不是uart接口,而是直接用了hid设备。个人猜测hid设备可能比uart设备要便宜,就这样设计了。
然后向卖家要一个上位机软件,然而打开后却是这样。
并不能识别到我的万用表。
网上一搜,很多人都遇到了这个问题,然后需要到官网上找最新的驱动,安装后才行。
考虑到自带的软件灵活性不高,还不如自己写一个。
于是乎打开了万能的bus hound,来监听一下这个usb设备。
看么,它一直在往pc端传数据呢。
我平时用labview比较多,就用labview来做吧。
labview自带了一个usb设备驱动管理工具,可以自动生成usb设备的驱动。名字叫NI-VISA Driver Wizard,在win10以前的系统上比较好找,win10就藏的比较深了,我的在这个路径下面。
启动后,选择万用表对应vid和pid的设备,
一般的,win10系统会报一个权限错误,即使手动安装inf文件也会报“inf没有强制签名”的错误。请参考相关文档处理。就是按着shift键,然后点击重启按钮,选择高级选项,然后选择禁用驱动强制签名就可以了。
安装驱动后,就可以在max中看到这个设备了。
如果能看到这个设备,那就成功了一大半了。
接下来就可以写vi程序了。
参考各方面资料,这个usb设备,它是自动不停的往pc端发送数据的,和一般的visa查询返回模式不同,需要用中断的形式来接收。
功能实现是比较容易的,但让他可靠运行还是比较麻烦的,读取时每过一段时间就会报错,我这边是直接忽略来处理的。
对应前面板就是显示结果了,我给它接了一个热电阻,可以看到温度的变化情况。
这个是从角落到空调口的温度变化情况,中间的一个断点是我的手指温度。
所以以后如果需要长时间测量电压/电流/温度等信息时,只要将万用表和pc连接就可以了,可扩展性还是比较强的。
还缺少的工作是,万用表每次返回14个byte,每个byte的含义还没有全部搞清楚,希望有人可以解决一下。
目前已知的一些字段含义如下。
希望有人可以将其进行完善。
vi程序已上传,却看不到链接,我给传网盘吧。
链接:https://pan.baidu.com/s/1pLdgmoz