单片机在智能水位监控仪中的应用方案
1 引言
水位监控仪广泛应用于水利、石油、化工、冶金、电力等领域的自动检测和控制系统中。目前有些水位监控仪在运行过程中存在着一些问题,如:系统不稳定、抗干扰能力差、精度低、输出控制或显示信号不满足要求、现场更改程序或程序升级麻烦及通信能力差等。本文设计的智能水位监控仪是吸收了国内外最新智能化仪表的设计经验,采用工业控制单片机,集水位采集、存储、显示及远程联网于一体,适用于各种液位测量及闸门开度的测量。
2 系统硬件总体设计
本系统硬件部分主要考虑的功能有:模拟量的变换;模拟量的采集;高精度16位模数转换器AD7705在系统中的应用;精确时钟芯片DS1302的应用;四路继电器报警,继电器驱动芯片采用ULN2003;4~20mA电流环输出数模转换器AD421的应用以提供系统检测信号;用于与上位微机通讯的接口实现。系统框图如图1。
在本系统中,我们选用的主控芯片是高集成度MCU芯片C8051F021。C8051F单片机是完全集成的混合信号系统级芯片(SOC).具有与8051兼容的高速CIP-51内核和与MCS-51完全兼容的指令集;片内集成了数据采集和控制系统中常用的模拟、数字外设及其他功能部件;内置FLASH程序存储器、内部RAM;大部分器件内部还有位于外部数据存储器空间的RAM,即XRAM;C8051F单片机具有片内调试电路,通过4脚的JTAG接口可以进行非侵入式、全速的在线系统调试。
2.1 SPI 通讯接口设计
在系统设计中,有两个外部芯片应用了SPI接口方式:AD7705和AD421,单片机和这两个外围芯片构成了一个SPI总线系统。其中单片机的NSS端悬空并被片内上拉电阻置为高电平连接,因为AD421是一个4~20mA输出的数模转换器芯片,所以它与单片机的数据线连接只有主设备输出从设备输入,即 MOSI。水位监控仪中SPT系统的连接如图2所示。
2.2 模数转换设计
在本次设计中,我们选用了两种模数转换电路,第一种是利用单片机片内的12位ADC,在可变电阻器通道中用的是该电路:另外一种是片外的高精度模数转换芯片 AD7705,该芯片的精度达16位,应用于压力传感器通道的数据采集中,下面计算得出具体应用中能达到的精度。在水位监控仪的设计中,我们忽略模拟电路的前端误差,那么可精确到的毫米数可由式1计算得出:
计算可得,当测量量程a=10m时,如果采用12位的ADC,测量精度为2.44mm;如采用16位ADC,测量精度可达0.153mm。
我们的设计要求为精确到2mm,所以如采用16位的ADC完全能符合我们的设计要求。在设计中由于可变电阻器法本身测量精度较低所以使其采用了单片机片内的 12位ADC,为尽量提高测量精度,减小测量误差,我们还用单片机的另一通道对可变电阻器的供电电源电压进行了采集,在软件中两者进行了适当融合处理,在此不再详述。压力传感器通道我们选用了片外的ADC转换芯片AD7705, AD7705芯片正好有两路模拟通道,供我们的两路压力传感器通道使用,在软件中进行通道的切换。
2.3 报警电路设计
本系统中四路报警电路的设计是采用单片机的I/O口加达林顿驱动芯片ULN2003实现的,然后将输出接到继电器的控制端。ULN2003由7组达林顿晶体管阵列和相应的电阻网络及钳位二极管网络构成,具有同时驱动7组负载的能力,是单片双极型大功率高速集成电路。继电器选用的是G6B-1174P型号的产品,24V供电电压。电气内部结构连接示意如图3。
本系统设计中采用四路继电器信号输出报警,包括高水位一、高水位二、低水位一、低水位二,这四个报警水位高度可通过下位机按键或上位机界面中人为设定和修改。以高水位一为例进行说明,当水位值在高水位一和高水位二之间时,单片机发出开关量控制信号,使其对应的继电器常开触点接触导通,具体报警方式可灵活选择,可在外电路中串接报警灯或报警铃,当该继电器动作时,相应报警开始(表现为灯亮或者铃响)。
2.4 4-20mA 电流环输出数模转换电路与时钟电路的设计
在微机工业测控现场中,经常会出现待测模拟电压信号与测量设备之间有较远的距离的情况,把该待测模拟电压信号直接通过很长的线路送入测量设备显然是不合理的。通常采用的方法是:在测量现场对待测模拟信号进行放大、滤波等预处理,再经过变换后进行远距离传送,在测量设备附近再反变换成电压信号进行测量。适合工业测控系统远距离传送的信号一般有电流源或频率信号。为了把待测模拟电压信号变换成电流源信号传送,常常使用电压/电流变换电路。本系统采用一种高性能数字模拟变换器AD421,变换器输出信号为4~20mA电流环。
单片机应用系统中,为了使系统具有实时性,需由一时钟电路给系统提供时钟信号(年、月、日、时、分、秒)。我
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)
- 采用混合时钟模式提高Linux时钟精度的方法(05-10)
- MSP430低功耗原理及其在海温测量中的应用(06-06)