2系统总体方案的设计
2.1系统设计思想及方案选择
本设计中选择利用LC振荡电路的原理来测量水流量,它的基本电路图如图2-1所示。
图2-1 LC振荡基本原理
在图2-1的电路中,我们先把K开关处于1位,使电容C充满电;等充电完成后将K开关扳至2位。如果电感L中的电阻和线路上的损耗被忽略掉,这样就可以构成一个理想状态的LC振荡回路。当完成上述步骤后,回路中将会产生自由振荡。当开关K扳至2位后,充了电的电容C将通过电感L放电,产生两个结果:(1)放电过程中,电容器中的电荷量逐渐减少,电压也同时会逐渐降低,所储存的能量也会变少;(2)同时通过电感器电流增大,会导致电感器的磁能慢慢的增加。当电容放电完全后,电荷量、电压、电能都会变成零。
在这个时候,电感中的电流则会达到最大值,磁场中的能量也会达到最大。由于能量守恒,在这个时候电感中的磁能与电容放电前的电能会是相等的。如果是在理想的情况下,LC回路中的振荡将会一直进行下去。但是振荡总是会有衰减的而且衰减程度会不同,计量水流量可以利用衰减程度的不同判断当前传感器所处的状态。 2.2系统组成
本次设计的组成模块主要有以下几个模块,分别是单片机控制模块、蜂鸣器模块、液晶显示模块、电压检测模块、Flash存储模块、阀门控制模块、无磁计量模块、复位电路模块、防拆装置模块以及IC卡模块。无磁水表系统总框图如图2-2所示。
图2-2 无磁水表系统总框图
各模块的主要功能如下:
1.电压检测模块:主要用来检测电池电量。当电量不足时发出提醒并关闭阀门。
2.FLASH存储模块:主要用于储存水量余额、已用水量等信息。
3
3.IC口模块:用来购买水量,管理系统和下位机之间传输重要数据。 4.无磁计量模块:主要用于测量水流量。
5.阀门控制模块:用于控制供水的开关,当出现一些异常的情况时关闭。 6.液晶显示模块:显示水表中的各种数据。
7.蜂鸣器模块:用以提示相应的操作是否成功,成功时蜂鸣器响。 8.复位电路:为了保证单片机能够正常运行。 9.防拆装置:为了防止水表被拆卸。
3系统硬件电路设计
3.1单片机的选择
此次设计采用AT89C52单片机。Atmel公司生产的AT89C52单片机功能非常的强大,较低的功耗,很好的兼容性,很高的稳定性,而且有较高的性价比。
AT89C52单片机的主要工作特性如下:
(1)在硬件组成、指令系统等发面有很好的兼容性。
(2)运算处理能力相当的强大,能够实现数字信号处理的算法。 (3)拥有三个可编程定时器。 (4)有着低功耗的工作模式。 (5)可编程串行UART通道。 (6)全静态操作:0HZ-24MHZ。 (7)1000次擦写周期。
AT89C52外部引脚图如图3-1所示。
图3-1 AT89C52外部引脚图
AT89C52部分引脚功能介绍如下: VCC:电源电压。 GND:接地。
P0口:P0口为一个8位漏极开路型双向I/O口。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口。 P2口:P2口为一个内部上拉电阻的8位双向I/O口。
4
P3口:P3口管脚是8个带有内部上拉电阻的双向I/O口。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 3.2无磁计量功能模块 3.2.1无磁计量的原理
图3-2用两个LC传感器旋转测量的原理
如图3-2所示,在这个圆盘上,区域a镀有良好导电性的金属而另一半区域b是导电性很差的半圆盘,没有镀有任何金属。圆盘会随着水流的流动而转动,所以导致电感所处的位置也会变化。
当位于左边的电路给LC回路激励脉冲信号,可以使LC回路产生振荡,从而会让它拥有能量。随后断开激励电路,从而会让它发生阻尼振荡,振荡总会发生区域a的半盘或者区域b的半盘上。因为在振荡的过程中,能量会损失掉一部分,从而会导致振荡的不断衰减,衰减会遵循以下的公式:
V(t)=V0?e??t?cos?t (3-1)
式子中V(t)为振荡电压;V0为激励电压;?为阻尼系数;?为衰减振荡中角
22频率;衰减振荡中的角频率?跟阻尼系数有着很大的关系,即?=?????0,
式中?0?1,为LC回路的谐振的角频率。 LC从以上式子中我们可以看出:镀了导电性良好的金属的区域a如果处于电感线圈所产生的磁场中的话,金属的存在会一定程度上影响阻尼系数?的大小,衰减振荡的频率将受到影响,衰减会更快些,振荡波形如图3-3所示。
图3-3波形测量示意图
我们把两种不同的振荡波形转换为MCU可以识别的0或1代码,传感器所在的位置就可以被确定了。AT89C52单片机可以非常有效的转换这种振荡波形。我们对振荡中的电压进行对比和分析以后会发下,在左边的振荡电路断开以后,然后
5
我们需要延时一段时间tdelay,然后等待振荡衰减到可以测量的范围内的时候,然后在规定的tgate时间把测得的电压和基准电压Vref比较,如果比基准电压高的话,我们视为高,如果始终比基准电压低的则视为低,基准电压是由单片机AD采集模块得到的。旋转测量的转换结果如图3-4所示。
图3-4 旋转测量的转换结果
通过图3-4(a)所示,如果我们仅仅使用一个LC回路,只能测得水流的单向流动,只有使用2个LC回路才可以推断出水流的流向,利用传感器1或传感器2状态的变化导致的高低电平的变化来判断转盘转动的方向。图3-4(b)是转换后呈现的时序图,我们可以看出如果以逆时针旋转为正向的话,可以把当传感器1和传感器2从状态d改变到状态a时认为是水量增加1个单位,把从状态b改变到状态a时认为是水量减少1个单位。把前一次状态到当前状态转变的所有可能及相应的运动状态列成状态表,存储在单片机的存储器中,我们根据传感器采集到的转盘转动的方向和转动圈数N,仪表常数为K,再由Q(L)=N/K(且K=N/L)可以得出流过仪表的水量Q,从而达到计量水量的目的。 3.3阀门控制
阀门控制在水表控制系统中处于非常重要的地位,如果阀门控制的性能较差,将会给居民的生产生活带来不便,而且不利于供水部门的监管。而阀门的种类又有很多种,我们本次采用脉冲式电磁阀。阀门控制设计实现对电磁阀的开、关及故障诊断。当IC卡认证时,如果认证错误,则电控阀关闭,如果认证成功,则电控阀开启。如果电池缺电,电控阀也需要关闭。如果出现并显示阀门故障,此时水表用户需通知管理人员进行排除故障后方可正常用水。原理如图3-5所示。
图3-5电控阀模块原理图
在这个图中,可以看到电路中有一个三极管Q,它主要的作用是一定程度上能够减小电路中的静态功耗。在日常的生活中,阀门肯定长时间处于打开或者关闭的状态,所以开关中2和1接触,或者2和3接触。我们在这里假设2和1接触。如果不要三极管Q,则2会直接接地,Vcc、R1、开关、地就构成一个通路。我们假设R1为10K,电源为3.6V,我们可以得到静态电流为0.36mA,对于本系统静态电
6
流过大,所以三极管Q必不可少。 3.4液晶显示模块
本设计中的液晶显示模块采用LCD显示器,选择LM016L液晶显示器。显示器的作用是为了显示数值和提示信息。当放入IC卡后输入密码时,显示出需要输入密码的数字,当密码错误时提示输入错误。并且能够显示剩余水量,和使用水量的总和。液晶显示模块电路图如图3-6所示。
图3-6 液晶显示模块电路
LM016L液晶显示器在设计中非常的常见。它的显示的质量是非常高的,而且不会发生闪烁。而且这个显示器采用的是数字型接口,这种接口是相对比较可靠的,而且有着非常方便的操作。它在体积上是非常小的,并且有着很小的功耗,所以在本设计中是比较适合的。它是使用HD44780控制器,这个控制器的功能非常的强大,能够实现字符的移动和闪烁的功能。 3.5IC卡模块
由于传统的接触式IC卡的使用寿命不长,且损坏后难以修理。本设计采用非接触式IC卡,即射频卡。因为没有触点,所以它具有很好的可靠性。射频卡拥有多种可工作的距离,能够适应不同的场合。无需插拔,使它拥有很好的可操作性。IC卡模块采用RC522芯片,IC卡模块的电路图如图3-7所示。
图3-7 IC卡模块的电路图
如图所示,在复位以后,先使系统初始化,并且使看门狗复位,而且同时要使关键的数据得到恢复。当水表能够正常工作的时候,我们还要能够判断系统各个部件是否缺电,是否收到外界磁场的干扰,IC卡中的余额是否不足,阀门是否被拆卸过。如果系统发生电量不足、受到外界磁场的干扰、水表被人为的拆卸过、IC卡内的余额不足的情况,电控阀能够自动关闭。而且为了保护电控阀不长时间一直的工作,我们需要定时关闭、开启一次电控阀。
RC522系统的工作频率是13.56MHz,这个频率通过一个27.12MHz的晶振产生;IRQ端与单片机相连,用于产生中断信号。由于信号传输载波频率固定为13.56MHz,因此滤波和接收部分的元件L0、C0、R1、R2、Cmid和Crx的值是固
7