注册登录才能更好的浏览或提问。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
粘度测量系统的设计与实现
摘要:介绍了粘度测量系统的软、硬件设计。控制和测量部分以51系列单片机为控制器,通过RS232接口将最终结果传输给微机进行数据管理,同时微机可显示各个测量单元的状态并对测量单元进行控制。
关键词:粘度测量,51单片机。
粘度是流体的重要物理特性。粘度测量与石油、化工、轻工、交通、冶金、建材、煤炭及国防等领域的关系非常密切。在这些领域中,粘度测量室控制生产流程、实现安全生产、提高产品产量、保证产品质量、节约与开发能源的重要手段。
重力型毛细管粘度计由于计量准确而得到广泛应用,其中又以乌别洛特粘度计(又称乌式粘度计)使用最多。但在测量过程要在恒温水浴中进行,操作者用秒表手工计时劳动强度大,测量准确度易受测量者目测的影响,而且效率低下。目前国外的毛细管粘度计测量已经普遍进行自动测量,仪器也很多,如德国的Lauda公司、美国Cannon公司、日本离合社等都有自动粘度计产品,但价格昂贵。所以开发一种自动测量系统就具有现实的意义。
笔者参与的某公司开发的粘度测量系统是基于51单片机的模块化粘度测量系统,可以自动完成粘度的测量工作。整个系统功能完善、运行稳定、工作可靠、扩展方便,具有较高的实用价值。
整个系统分为3个部分:测量单元,中转单元和微机单元。下面分别予以介绍分析。
1.测量单元的结构、原理与实现
乌式粘度计的基本工作过程是这样的:将待测液体通过压缩空气压入毛细管上方的小玻璃泡中,然后释放,让待测液体在重力的作用下自由流过毛细管,测量全部液体通过大玻璃泡两端两个测量点的时间,就可以通过公式计算出液体的粘度值。由于粘度受温度影响很大,所以整个测量过程必须在高精度的恒温水浴中完成。
为了适应不同的恒温水浴,本系统采用模块化的设计理念。每个测量单元相对独立,完成各自的测量功能。测量单元包括上下两个检测点的发射管和接收管。发射光和接收光通过光纤置于粘度计玻璃管两侧,以检测液位的到来。发射管采用红色超高亮LED,接收管采用光敏三极管。光敏三极管得到的信号的放大采用LM258双路运算放大器,一级放大即可得到可靠的信号。AD转换采用TL0832双路AD转换器,这样就省却了电子多路开关,对缩减测量单元的体积很有帮助。
上液功能的实现是通过两个电磁阀和一个微型气泵来完成。
每个测量单元采用一个89C2051单片机完成控制上液与排空、完成检测的过程,并将当前测量单元的状态以电平信号的方式告知中转单元。
在实现的过程中,有3个难点:一个是如何有效地检测到液面的到来以保证测量精度,一个是如何快速有效地上液。一是可靠地流空。
对于前一个问题,通过AD转换得到的吸光度的值经过计算精确地检测液面的情况,由于玻璃管中有液体、无液体及液气交界处的吸光度均有差异,通过检测者三者的吸光度综合计算,判断液面到达光纤检测点的时刻。
第二个问题国外的方法通常是采用一定时间的延时来实现,但这样会给操作带来很大的麻烦,由于每次检测的液体的粘度各不相同,每次都要根据经验调整延迟时间,稍不注意就会造成上液不足或过多,影响测量。特别是上液过多,被测液体会涌出乌式粘度计,污染水浴,有毒的液体还容易造成对操作者的健康损害。在这里,本系统在上液过程中检测从开始打气到液位到达上检测点时间,将此时间经过处理自动变成一个可变的延时时间,这样保证每次上液都能准确地将液体打到小玻璃泡的2/3处,极大地方便了使用者。
第三个问题国外的方法也是采用使用者设定的延迟时间来实现。但这样也会给操作造成不便,虽然没有被测液体涌出的危险,但流空时间过长会降低效率,过短则容易在下次测量启动的时候造成气泡,影响测量的准确性。在这里,笔者采用了与解决上液时间延迟的同样的方法,取得了良好的效果。在保证排空的前提下提高了效率。
为了保证每个模块的一致性和互换性,测量单元的单片机和中转单片机的接口采用的电平信号而非串行信号。将上液、测量、排空等过程分为6个状态,另外设置了错误或单元不存在状态和校准状态2个状态。这样通过3根线的高低电平组合告知中转单元。另外,通过一条I/O口线接收中转单元的信号来决定测量的启动或停止。
测量单元与中转单元的连接采用RJ45接口。给测量单元及微型气泵供电的5V电源及给电磁阀供电的24V电源均由此接口引入,不再外接电源,系统安装调试比较方便。
同时在每个测量单元上加装了指示灯和启动按钮,这样即使没有微机,也可以用按钮启动指定的单元,由测量单元自动完成上液、检测和排空等环节,而操作者此时可以用秒表根据知识灯的状态进行测量。
2.中转单元的结构和功能
中转单元由一片89C51和一片MAX232构成,完成如下功能:读出各个检测单元的数据电平信号,并予以状态解释。当处于检测状态时对各个检测单元予以计时。将检测结果和各个单元的状态编码,通过RS232串口传输给上位微机;同时接收上位机的信号启动或停止某个测量单元。一个中转单元最多可管理6个测量单元,并且会自动识别测量单元所在的位置,比较方便。
由于粘度测量对测量时间的计量精度要求较高――不低于10毫秒,所以在中转单元软件的设计上将定时中断的级别定为最高,以保证测量精度。在中转单元的单片机上设置了6个软件计时器,分别对每个测量进行计时。在与微机通讯的过程中,中转单元不断将各个单元的测量信息传送给上位机,以近似实时的方式反应各个单元的工作状态。如果采用上位微机直接计时的话,则很难实现10毫秒的时间中断完成计时。
同时中转单元也接收微机传送的信号启动或停止某个测量单元。
上传的数据格式如下:
* * ******
通道号 通道状态 测量时间(10ms)
接收的数据格式如下:
* *
通道号 启动或停止(0或1)
在与测量单元的电平信号设计上采用负逻辑,具有较强的抗干扰能力,同时采用了HotFix技术,可以带电插拔各个测量单元RJ45接口电缆。如果测量单元电缆被拔下或测量单元失效,中转单元会自动将单元状态置于无效状态并通知上位机。
由于某些被测液体具有毒性,所以在一些使用单位,粘度测量仪和监控计算机分别置于不同的房间。为了保证安全,(比如说测量者下班只关了监控计算机而忘记到粘度测量仪所在的房间关测量机),中转单元在软件上做了如下处理:如果中转单元在一定时间内不能通过串口接收到上位机的信号,则会自动停止所有测量单元的测量,排空测量液体。并用蜂鸣器报警。
3.微机监控单元的设计
微机监控单元通过RS232接口与中转单元连接并通讯,15米的传输距离基本上可以满足实验室对粘度测量仪与监控计算机的距离的要求。
监控单元采用VB作为编程语言,一是可以加快开发速度,二是VB中的MSCOMM控件及其他控件的使用非常方便,可以极大地减少编程的工作量。
微机监控程序通过微软的MSCOMM控件与中转单元通讯。将中转单元上传的数据予以解释,将操作者的要求变成控制码下传给中转单元,由中转单元解释成控制信号来启动或停止某一测量单元。
用微软的数据库控件完成数据的存储、计算等功能。用水晶报表控件完成报表的打印功能。
为了更加形象地显示和操作,操作界面用FLASH动画表示各个单元的状态,清晰美观,比较方便。
整个开发历时半年时间,从电路原理设计、电路板制图、单片机程序编制、到上位微机的VB程序编制及Flash动画制作,均由笔者一人完成。此装置经过在研发过程中的上万次测量实验,性能良好。并且在一家工厂和一家科研机构进行试用,得到较高的评价。价格只有进口产品的1/5,具有良好的市场前景。
参考文献
1.徐爱钧 彭秀华编著 单片机高级语言C51Windows环境编程与应用 电子工业出版社 2001
2.沈纪新 江英编 Visual Basic使用速成 清华大学出版社 1995
3.马忠梅 马岩 张凯 籍顺心编著 单片机的C语言应用程序设计 北京航空航天大学出版社 1997
4.杨守申 刘思源编著 Flash4.0入门与提高 清华大学出版社 2000
5.李华编著 MCS-51系列单片机实用接口技术 北京航空航天大学出版社 1993
6.周航慈著 单片机应用程序设计技术 北京航空航天大学出版社 1991
7.陈惠钊编著 粘度测量 中国计量出版社 1994 |