基于SIM900A的高精度无线远传压力表设计
自来水管网的分布广泛,难以由人工完成大范围压力测量点的高频率和高精度数据记录。针对这一情况设计 了基于SIM900A的无线远传压力表。该压力表能够实现压力的高精度测量,压力数据的等时间间隔采集、保存和无线远 传。为了实现高精度的压力测量,设计了精度高、温漂小、噪声低、负载接地的恒流源,采用了 24-bit CS5530模数转换器以 相对测量的方式完成模数转换,利用了光耦隔离电路实现模拟电路与数字电路的完全隔离。最后单片机控制SIM900八模 块与服务器之间建立基于GPRS的TCP连接,完成压力数据无线远传。
1 .引言
为了保障人们的用水需求和减少漏损,必须对 城市自来水管网的压力进行严格控制。在控制 压力过程中,需要对压力进行测量并得知管网的压 力分布。由于管网分布广泛,压力测量和传输多由 远传压力表完成。传统远传压力表利用滑动变阻 器原理和长距离布线实现了压力的测量和传输。 这种测量和传输方式精度不高,易受干扰,不便维 护,难以大规模使用,无法直观反映管网的压力分 布。本文的无线远传压力表采用灵敏度高的压阻 式OEM压力传感器;设计了精度高、温漂小、噪声 低的恒流源电路和24-bit A/D转换电路,实现了 压力的高精度测量;利用了光耦将模拟电路与数字 电路完全隔离,减少了测量电路的干扰;通过无线 远程传输压力数据到服务器,几乎不需要维护,节 省人力物力,非常适合大规模使用。服务器接收到 压力数据后绘制出管网压力分布图,能够直观地反 映管网压力分布状态,为管网的压力控制提供依 据。
2.系统总体设计
系统的总体设计思想是压力传感器在恒流源 供电的条件下,输出与作用压力成正比的差分信 号,该信号在A/D测量部分经过滤波、放大后以相 对测量的方式转换为数字信号;RTC时钟为单片 机提供实时时间基准;当压力数据采集时刻到来, 单片机通过光耦读取A/D测量部分的数字信号; 该数字信号会被换算为当前压力数值并被存储在 Flash中;当压力数据发送时刻到来,存储在Flash 中的压力数据通过SIM900A发送给服务器。系统 的整体结构如图1所示。
3.系统硬件设计
3. 1恒流源
压力传感器采用压阻式OEM压力传感器,其基 本参数如表1所示。该压力传感器灵敏度高、稳定性 好、体积小、价格低廉。传感器内部原理图如图2所 示,图中带箭头的电阻桥路为敏感元件,私和风为零 位温漂补偿电阻,风和风为调零电阻,及为灵敏度 温度补偿电阻。+IN、一IN为供电输入端,接入恒定 电流;十OUT和一 OUT为信号输出端,和 U—ajT分别为十OUT和一OUT端的对地电压。 +OU 丁与一 OU 丁之间的差分信号U—与激励电流 IL、外界作用压力P之间的关系如式(1):
Uslgnai — U+OUT 一 U —OUT =KSIlP 十 KZIL (1)
式(1)中,KS为灵敏度系数、K2为零点系数,均为常 数。当辽恒定,US P成线性关系。
由式(1)可知恒流源的精度和稳定性会影响压力 传感器输出信号的质量,因此对恒流源的精度、温漂和 噪声提出了要求。王金晨设计的恒流源中[4],负载悬 浮使噪声增加。陈笑风构造的的电流源结构[]复杂, 电阻难以匹配。本文设计的恒流源为负载接地恒流 源,具有精度高、温漂小、结构简单、无需电阻匹配、噪 声低等特点;考虑了运放的正向端、负向端输入电流的 影响;输出了 A/D转换器的参考电压。
图2传感器内部原理图 恒流源电路原理如图3所示。REF192为高 精度、低温漂的带隙参考电压芯片,正常工作时其 OUTPUT引脚与GND引脚之间电压差为2. 5V; Rs为5Kn的低温漂电阻是压力传感器的等效 电阻;RF是5Kn的低温漂电阻,一方面其两端的电 压作为A/D转换器的参考电压,另一方面使压力 传感器输出信号的共模电压满足后续A/D测量的 要求R是普通电阻;C9、C10是滤波电容。下面 对该电路的直流状态进行分析。
Uo、UN、UP分别为运放输出端、负向端、正向端的对地电压;分别为运放负向端、正向端的 输入电流;、是运放的输入失调电流;Us是
REF192的OUTPUT引脚与GND引脚之间电压 差,Us = 2. 5V。
故运放处于负反馈状态,能够稳定。
Il为流经传感器等效电阻Rl的电流,s为流 经采样电阻Rs的电流。在节点A处利用KCL定理可得:
3.2 A/D测量
a/d测量是将传感器输出的差分信号滤波、 放大和A/D转换后得到数字信号。
A/D测量原理图如图4所示。U廳是恒流电路 产生的电压,提供A/D转换器CS5530基准电压; A5V提供CS5530的模拟电源;另一路5V电源经过 一阶低通滤波器后提供CS5530的数字电源。
压力传感器的输出端+ OU 丁和一out经过 二阶低通滤波器后接入模数转换芯片CS5530,通 过CS5530内部斩波稳定仪表放大器将差分信号 放大64或128倍。一般情况下就无需额外设计信 号放大电路,提高测量精度,降低成本。
在A/D转换之前,通过程序控制将CS5530的 信号输入引脚短路,测量出共模噪声,在最后的测 量结果中将该噪声减去,来降低噪声对测量结果的 影响。通过内部的数字滤波器滤除工频干扰,减少 了单片机的数字滤波处理,节约了单片机软件资 源。
CS5530的通信端口是串行SPI接口,包括CS、SDI、SDO、SCLK。CS为片选端口,直接拉低选中;SDI为数据输入端口 ;SDO为数据输出端口 ; SLCK为时钟输入端口,这样就只需要占用单片机 的三个I/O 口。相比于并行模数转换器而言, CS5530节约了单片机的硬件资源。
采用CS5530设计A/D测量部分使电路简洁、 精度高、成本低,从硬件和软件两个方面减少对单 片机资源的占用。
下面就A/D测量进行分析:
U5-a/为压力传感器输出的差分信号,A = 64 为该差分信号的放大倍数,U^f = IlRf为参考电 压,ADC为Um-的模数转换结果。24-bit的模数 转换满量程ADCmax = 16777215。由模数转换原理 得如下关系:
数,建立了模数转换结果ADC与压力P的线性关 系。线性系数k与激励电流八无关,减小了激励电 流波动对测量结果的影响;仅与电阻Rf有关,测量 精度由电阻Rf决定,提高电阻Rf的精度和稳定性 能够增加测量精度和稳定性,实现了相对测量。
3.3 光耦
在混合电路设计过程中,数字电路干扰比较 大,如果模拟电路与数字电路不隔离,就会导致模 拟电路受到干扰,影响测量精度。为了抑制这种干 扰一般采用的办法是将模拟电路与数字电路分开 布局,模拟地和数字地最后在某一点短接。
上述办法虽然可以减小数字电路对模拟电路 的干扰,却难以消除这种干扰。为了使数字电路不 会干扰模拟电路,这里采用的办法是通过光耦将数 字电路和模拟电路完全隔离。这种处理能够降 低PCB设计的难度,消除数字电路对模拟电路的 干扰,增加测量精度。
将A/D转换器CS5530归为模拟电路,单片机 归为数字电路。单片机通过光耦与CS5530进行 通信。光耦一端连接CS5530的SDI,SDO,SCLK 引脚,另一端连接单片机引脚MCU_SDO,MCU— SDI,MCU_SCLK。这样就完成了模拟电路部分与 数字电路部分之间信息的传递,实现了二者的完全 隔离。单片机通过光耦与CS5530连接原理图如 图5所示,图中3.3V为单片机的电源电压,5V为 CS5530的数字电源电压。
3.4数字电路部分
在数字电路部分,RTC时钟DS3231为单片机 提供时间基准。当压力采样时刻到来,单片机会通 过光耦启动CS5530的A/D转换,并且保存当前日
图6发送流程图 采用SIM900A通过GPRS网络发送数据的过 程:首先设置网络,数值到串行Flash存储M25P128 中。当数据发送时刻到来,单片机启动SIM900A 与服务器进行无线通信。单片机与外设连接原理 图 如 图 5 所 示 。
RTC时钟DS3231的I2C接口和INT引脚会 分别连接到单片机的I/O 口和外部中断引脚。通 过程序设置DS3231的INT引脚输出周期为1S的 方波,触发单片机中断。
CS5530的SPI接口通过光耦与单片机的I/O 口连接。单片机可以发送命令给CS5530启动A/ D转换,读取A/D转换结果和停止A/D转换。
单片机与串行Flash M25P128通过SPI接口 连接,可以对其进行读、写、擦除等操作。该Flash 的最小读写单元是1个字节,可以提高存储利用 率。在压力数据采集完后将其保存在M25P128 中;当无线发送时,将压力数据从M25P128读出。
单片机通过UART串口发送AT命令给 SIM900A实现压力数据的无线远传功能。
4.系统软件设计
4.1SIM900A程序设计
SIM900A内嵌TCP/IP协议可以实现语音、 SMS和GPRS数据的传输。用户可以通过AT命 令控制SIM900A。在AT命令操作过程中,当等 待握手超时后,即判断AT命令发送失败终止等 待。
采用SIM900A通过GPRS网络发送数据的过 程:首先设置网络,与服务器建立TCP连接;然 后单片机发送压力数据;发送完成后,关闭该TCP 连接减轻服务器的负担。由于无线网络不稳定,会 出现连接不上、中途掉线和TCP握手超时等现象,因此需要设置重传机制。发送流程如图6所示,采 取的措施是连续三次出现数据发送不成功就关闭 SIM900A,等到下次发送时刻到来继续发送。
4.2系统程序框架设计
系统软件的运行框架如图7所示,主要有两部 分:主程序和1S中断程序。
系统上电后,首先在主程序中进行系统初始化 工作:R丁C时钟DS3231、A/D转换器CS5530、 Flash M25P128和UAR丁串口的初始化。然后单 片机进入低功耗模式,暂停继续执行。DS3231输 出的1S方波的上升沿会触发单片机的1S中断程 序。在1S中断程序中,判断压力数据采集时刻是 否到来,一旦到来采集压力数据保存到M25P128 中,唤醒单片机跳出低功耗模式。1S中断程序结 束后,主程序继续执行,判断压力数据发送时刻是 否到来,一旦到来就通过SIM900A发送压力数据 到服务器,然后进入低功耗模式,就这样不断循环。 该款单片机进入低功耗模式后会保持其引脚的上 升沿中断和UAR丁串口发送、接收中断的响应。
压力数据采集部分在1S中断程序中进行,压 力数据发送部分在主程序中执行,这样使数据采集 的优先级更高,保证了压力数据采集的时间间隔恒 定不变。由于压力数据采集和压力数据发送都需 要使用M25P128,故需要做好对临界资源的互斥 访问。
上述处理方式使单片机在1S的大部分时间内 处于低功耗模式,既满足功能要求又避免了因判断 时间是否到来而频繁地读取R丁C时钟,节约了单
片机的软件资源、降低了功耗。
5.结语
本文设计了恒流源电路、a/d测量电路和光 耦隔离电路,利用光耦完成模拟电路部分和数字电 路部分的通信,达到了这两个部分有效隔离的目 的,在采样率为100Sps情况下,实现了 16位的精 确测量;设计了数字电路部分,通过SIM900A实现 了压力数据无线远传的功能。该装置已在自来水 管网中使用,测量精度达到0.2%。、数据发送稳定。
上一篇:液压道岔智能数字压力表设计
下一篇:压力表安装误区分析及对策