单片机水位信号采集系统

通常的数据采集系统都要在传感器与单片机I/O口之间设置模数转换电路,这样做既增加了电路的复杂性和成本,也降低了系统的可靠性。本文介绍的用最小化的通用单片机系统实现水位信号采集实例中省略了模数转换电路,直接将水位传感器的输出信号接在单片机的I/O口上,在单片机肉部直接进行信号变换处理,使电路变得非常简单,经过笔者两年的使用,系统运行可靠。
单片机水位信号采集系统电路如下图所示,其中IC1为AT89C52单片机,负责系统的数据处理与显示,IC2为专用看门狗电路,当单片机软件系统出现问题时,P34口的喂狗脉冲出现异常,将导致DS1232第5脚出现强制复位信号,从而使单片机系统复位,以保证系统的可靠性。IC3为串口电平转换芯片,当采集到的水位经过单片机处理发现有变化时,单片机将向串口发送包含水位数据的信号,以便与计算柳联接或送给数传电台实现远程监控。
为了简化显示系统,三位共阴数码管没有单独的驱动电路,而是采用了单片机直接驱动的方法,经过实验,这种驱动方式在采用高亮LED的情况下,完全可以满足正常显示的要求。
由于水位传感器的输入信号为9位,所以最大显示水位为2的9次方(512cm)。系统的分辨率为1cm,完全可以满足一般的水位测量要求。
硬件电路的简化需要软件来作相应的补偿,系统软件分为数据采集转换处理模块、显示模块、通信模块三个部分,程序流程如右图所示。
系统通电后,单片机定时对相应的I/O口进行扫描,通过软件的算法将传感器输出的格雷码转换成二进制码,转换后的数据除了直接送到显示模块实现水位显示外,还将实时的水位存入单片机RAM中,以便进行相邻时间段内水位的比较,如果水位与上次RAM中的水位通过比较发生了变化,就会马上将数据通过串口发送出去。发送的数据包括前导码、站号、水位数据、结束码等。完整的源程序和编译文件见本期配刊光盘。
本系统可以单机现场工作,也可以组网工作,笔者通过20多个测量站组网试用,在两年的试用期间稳定性很好,不失为一种低成本、高可靠的水位自动化测量系统。
评论