基于Atmel单片机的水文测验系统
压差就可以判断流速仪的转动情况。实际测量中IN0口的电压差大小与测点垂线的距离和水质有关,距离越大电压差越小,在150 m的河道中流速信号的电压差大于0.5 V。用ADC0809监测流速信号,当VREF=5V时分辨率为0.02 V足以区别流速仪的转动,考虑到某些不确定的干扰因素将电压差的分辨率定在0.1 V,可以满足一般中、小河道的测验要求。对于较宽的河道可以通过改进电路或提高工作电压的方法来增加电压差。与PC机通信接口等部分组成的接口信息如:
(1)行程信号如水深、水平距离;
(2)水位信号;
(3)输出控制信号用来控制电动机进行正转、反转、停止,使铅鱼按要求运动做定点测量。
接口电路如图1所示,电路充分利用ADC0809多路模数变换器将复杂的接口信息转换成数字信号。同时还利用光电门将工作索行程(水深和水平距离的移动)转换成电脉冲信号,送到ATMEL89单片机进行处理、显示、控制完成自动测验。
1.2 行程信号的获取接口电路
铅鱼的行程信号包括铅鱼水平往返移动的行程信号,和铅鱼测量水深时垂直移动的水深信号。位移信号的获取如图4所示。他是由加装在机械传动装置上的切光板和光电门获得。设计为缆索每移动1 cm切光板遮光一次,光电门产生一个脉冲。水深和往返信号分别从光敏二极管D3,D4上取出,经过异或门后加到单片机P3.2外部中断0输入端,每移动1 cm产生一个中断,中断服务程序可以区别铅鱼此时作水平往返移动还是垂直移动,两者只取其一。
1.3 其他电路部分
P1口的输入功能是从控制面板读入操作命令和初始化数值,输出功能是输出控制信号。一是控制行程电动机正、反转和停机,使铅鱼按测验要求进行垂直和水平运动;二是在水深测量过程中控制继电器J1、J2的闭合与断开获取水面水底信号。显示打印电路部分用6个LED管显示和微型打印机进行简单打印。用 P3.1串口与PC机相连可以进行数据的转存和进一步处理,显示和打印。
2 系统软件流程图
本系统的软件约占7 kB,系统程序流程图如图5所示。
程序分为系统管理、运算处理、测验控制3大模块。系统管理模块包括:初始化、系统监控、操作切换、紧急处理等程序。运算处理模块包括:数据运算、误差修正、显示打印等程序。测验控制模块是由包括:测垂线到起始点距离、测垂线水深、测垂线流速、测垂线水位、接口数据采集等诸多子程序组成。BR>BR> 为了尽量减少测量误差保证测量精度严格符合水文规范要求,在测垂线水深子程序中采用了二次入水操作,程序流程如图6所示。
实际水深测量中由于铅鱼的运动会引起缆索的起伏跳动而造成测量误差,我们在程序中设定的操作是:当铅鱼入水后暂停在水面10 s不进行水深计数,待其稳定后升出水面20 cm,再第二次进入水面。铅鱼第二次到达水面后启动水深计数暂停下降,测量水面偏角θA,铅鱼继续下降直到河底停止水深计数,测量水底偏角θB。最后根据干绳长度(缆索到水面的高度)、湿绳长度(水深初值)、θA,θB计算出实际的该条垂线水深值。
3 结 语
ATMEL89单片机水文缆道测验系统具有较强的兼容性,适合中、小河道的自动或半自动测验,操作方便性能稳定,测验精度达到部颁《规范》要求,有效地减少了操作者的劳动强度和工作时间。
参考文献
[1] 余永权.ATMEL89系列单片机应用技术[M].北京:航空航天大学出版社,2002.
[2] 胡汉才.单片机原理与接口技术[M].北京:清华大学出版社,1996.
[3] 李广第.单片机基础[M].北京:航空航天大 学出版社,1998.
[4] 何立民.单片机应用技术选编[M].北京:航空航天大学出版社,1998.
- Arduino是什么?(07-07)
- 单片机课程设计-ATMEL51系列单片机编程器(12-01)
- ATMEL的ISP下载线(12-01)
- Atmel和STC的51单片机通用ISP下载线制作(11-29)
- ATMEL9263 800*600屏驱动问题(11-22)
- MSP430与ATMEL 93C46通讯子程序(11-13)