基于单片机的IC卡智能水表控制系统设计方案.doc_第1页
基于单片机的IC卡智能水表控制系统设计方案.doc_第2页
基于单片机的IC卡智能水表控制系统设计方案.doc_第3页
基于单片机的IC卡智能水表控制系统设计方案.doc_第4页
基于单片机的IC卡智能水表控制系统设计方案.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的IC卡智能水表控制系统设计方案 1文献综述1.1课题的背景及意义环境与发展,是当今国际社会普遍关注的重大问题,保护环境是全人类的共同任务。水资源作为生态环境中的重要资源,是人类生活的生产中不可取代的资源,对一个国家的生存和发展也是极为重要的。水资源是一切生命的源泉,是人类不可缺少的物质条件,没有水人类就不能生存,没有水人类赖以自下而上的物质生产就不能发展。IC卡智能水表是一种利用现代微电子技术、现代传感技术、智能IC卡技术对用水量进行计量并进行用水数据传递及结算交易的新型水表。这与传统水表一般只具有流量采集和机械指针显示用水量的功能相比,是一个很大的进步。IC卡智能水表除了可对用水量进行记录和电子显示外,还可以按照约定对用水量自动进行控制,同时可以进行用水数据存储的功能。由于其数据传递和交易结算通过IC卡进行,因而可以实现由工作人员上门操表收费到用户自己去营业所交费的转变。IC卡交易系统还具有交易方便,计算准确,可利用银行进行结算的特点1。IC卡智能水表及其管理系统的出现,将从根本上解决了已上问题。采用IC卡智能水表进行交易结算,不但实现了用水收费的电子化,而且还改变了先用水后收费的不合理状况,使的供水部门能预先收取部分费用,有利于公用事业的发展。IC卡智能水表具有成本低、可靠性高、使用寿命长及安全性好等优点,可提高居民用水收费的管理水平,确保供水部门能及时收取水费。因此,IC卡智能水表成为相关科研单位关注的重点,具有很好的经济效益与社会效益2。1.2 智能水表的发展趋势随着微电子技术的快速发展,加上国家相关政策的推动,民用计量仪表的智能化将是一个必然的发展方向。这不仅是中国的一种趋势,也将成为世界性的趋势。而在近十年里,单体式智能IC卡类仪表又将会是发展主流。从实际情况看,现在的IC卡智能水表确实还存在着许多影响其大规模推广使用的问题。这些问题集中起来主要是(1) 价格太高;(2) 质量不可靠;(3) 存在安全隐患。随着科学技术的不断发展, IC卡智能水表将会不断发展完善。比如,现在这种在老式水表上取信号的模式,将会由先进的水流量信号提取装置代替,机械计量和机械显示部分会被淘汰,而表和阀将会集中在一体等等。总的说来,IC卡智能水表是一种先进的计量仪表,对这种先进仪表的大规模推广使用将会有力促进中国供用水管理的现代化进程。中国在这个方面的超前发展会使这种计量模式得到优先完善,并有可能成为中国的一个有竞争力的产品出口到其它国家3。1.3 本课题的研究工作详细分析课题任务,对IC卡智能水表的发展现状进行分析,并对现代传感器技术、IC卡技术和智能水表控制的原理进行了深入的研究,并将其综合。然后根据课题任务的要求设计出实现控制任务的硬件结构及其原理图和相关软件程序,并进行访真调试。下面对本设计的主要研究工作做个简述。 (1) 根据设计要求,提出几种方案,对它们进行了全面的论证;(2) 根据系统需要,合理选择微处理器,并且详细地阐述了它的基本功能特性;(3) 介绍了相关现代传感技术,选择出信号采集的最佳方案;(4) 根据低功耗要求,对电磁阀的选择与设计进行了深入的研究;(5) 详细分析了E2PROM的工作原理;(6) 对IC卡技术做了简明扼要的分析,并对其软件的读写原理进行了详细的讨论;(7) 应用LED显示技术,可随时查询累计用水总量、可用水量;(8) 改进了普遍应用电源方案,详细地介绍了超级电容技术及其在本设计中的应用;(9) 对整个系统的软、硬件进行了深入的分析,并且绘制了相关硬件电路图、软件流程图,还编写了相关软件程序。2 本论文的方案论证2.1 设计方案方案一:脉冲发讯集中抄收式智能水表系统工作原理:由表具不断发出脉冲信号,经采集器对脉冲信号进行采集、累加、存储和数据上传。优点:发讯式集抄系统目前在国内已普遍采推广应用方便,价格较低,只要生产厂商、系统集商严格把好每一环节的质量关,且发讯不随时间产生疲劳损伤,此系统不失为一种可供选择的、适于一定历史时期的过渡产品。缺点:(1) 初始化及维护工作量大;(2) 磁铁强磁场干扰;(3) 电能耗费。方案二:基于CAN总线的智能水表自动抄收系统工作原理:自动抄收系统主要由小区管理中心计算机(主控机)、水表数据采集器、采集服务器、中继站等几个部分组成,是一种智能化多用户能耗集中自动抄收系统。其原理是将原能耗计量表的流量转换为脉冲信号,经信号传输线至系统总线,由接口电路通过有线传输或主机直接抄读,最后经微机管理,实现耗能数据的自动处理。优点:CAN现场总线的方式来传送数据,以克服市场已有传送方式所存在的不足之处,其传送方式可实现10公里范围的小区抄收工作,同时性能比同类系统稳定可靠。采用点对点、一点对多点、全局广播等几种方式,数据收发灵活,可实现全分布式多机系统,且无主从机之分,便于实现设备异常主动报警。节点故障自动关闭,不影响网络性能,提高了系统的稳定性,且不关闭总线即可任意挂接或拆除节点,方便了系统的调试和维护。缺点:前期经济投入太多,需要大量的专业网络维护人员,维护工作量大。设计过于复杂,太难,且不容易实现4。方案三:基于89C2051单片机的IC卡智能水表系统工作原理:以接触IC卡或非接触射频卡作为媒介,将各种信息输入表中控制系统来自动开关阀门(供水或停水),由用户到自来水公司网点先预购买水量,再将用水量通过IC卡输入表中控制系统,等水量用尽即自动关阀并中断水的供应,报警器在设定水量用完之前会自动报警以提醒用户购水,达到“先买水、后用水”的目的。优点:在用户不缴费的情况下可自动断水,有效控制收费单位的资金回笼,不需要人工上门抄表、收费,减少抄表员。缺点:(1) 电磁阀在长期开启状态下由于水垢和水中杂质而影响阀门关闭,使用户在不缴费的情况下继续用水,而收费单位还一无所知,一旦发现也无法向用户追缴多用水费;(2) IC卡表也是由发讯脉冲进行累加计量,如果人为强磁干扰或强电瞬间电击,也会造成芯片损坏,从而无法计量;(3) 锂电池在长期使用中是否能达到设计年限还有待考证,到期后由谁负责更换是个问题。随着微电子技术、现代传感器技术的快速发展,以上该方案的缺点我们通过可行的具体方案基本可以解决了。该方案所设计的IC卡智能水表主要由开关阀门控制模块、流量采样模块、微处理器、电源模块、IC卡读写模块、数据存储器模块、显示模块等组成2。2.2 方案选择从投入成本来看,方案二需要建立一整套的网络系统,所需设备多,前期所需经济投入最大,方案一次之,方案三最低。从设计的难易程度来看,方案三融合了微电子技术、现代传感器技术、IC卡技术等,这些技术都已经相当成熟,最容易实现,方案二最难,方案一次之。从维护成本来看,方案二是由一个专用的网络系统组建而成,需要专业的网络技术维护人员,它的维护成本最高,方案一次之,方案三最低。从长期效益来看,随着技术的成熟,社会各行各业网络化进程的加速,方案二必定是今后的发展趋势,它所达到的效益最佳,方案三次之,方案一最差。综合考虑以上三种方案,根据现在的各种实际情况、现有技术水平和设计要求,我们选择了第三种方案基于89C2051单片机的IC卡智能水表系统来进行设计。3 IC卡智能水表的硬件设计本章是本文的核心内容,主要介绍的是系统硬件部分的设计,我们采用了模块化的设计方法,针对系统的工作原理和各个硬件模块的原理和电路进行了具体的介绍。还对各种器件的选择(如微处理器、传感器等)做了详细的分析。3.1 主系统的构成根据设计要求,所要设计的系统除了解决最基本的正常供水还应具有一定的智能功能。主系统的框架图如图3-1所示。由图中可以看出,系统由这样一些功能模块组成:微处理器、流量传感器、信号处理模块、IC卡接口电路、E2PROM数据存储电路、显示电路、报警电路、电源模块、电磁阀驱动电路以及其他辅助电路。所有模块的设计均考虑了低功耗的要求,本系统采用外接3节5号电池供电,内部采用超级电容作为备用。系统时钟采用外接晶振方式,约为6MHz。 图3-1 主系统框图IC卡智能水表工作原理:首先由用户购买IC卡(即用户卡),并携IC卡至收费工作站交费购水,工作人员将购买水量等信息写入卡中。用户将卡插入IC卡水表,卡表内单片机识别IC卡密码并确认无误后,将卡中购买水量与表内剩余水量相加后,写入卡表内存储器,同时必须将IC卡内购水值清零。当用户用水时,由流量传感器采进来的信号以脉冲形式触发单片机的外部中断,换醒单片机,进行用水处理。用户在用水过程中,卡表内剩余水量相应减少。当剩余水量低于一定量,如5m3,卡表报警提示用户购水。当E2PROM中存储的水量用完时,单片机自动关闭电磁阀。用户只有重新购水,才能使电磁阀打开。此外,在发生人为故意破坏时,阀门也会关闭2。3.2 微处理器 微处理器是本设计中的核心器件,我们一般都选用单片机来进行控制,下面给出了对它的选型与功能介绍。3.2.1 单片机的选型单片机的选型从以下几个方面考虑:(1) 单片机的系统适应性适应性指单片机能否完成应用系统的控制功能,它主要从以下几个方面体现。 单片机的CPU是否有合适的处理能力。 单片机是否有系统所需要的I/O端口数。 单片机是否含有系统所需的中断源和定时器。 单片机片内是否有系统所需的外接口。 单片机的极限性能是否能够满足要求。(2)单片机的市场供应情况(3)单片机的可开发性3.2.2 单片机STC12C5A60S2简介STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。1、增强型8051CPU,1T(1024G),单时钟/机器周期2、工作电压 5.5-3.5V3、1280字节RAM4、通用I/O口,复位后为:准双向口/弱上拉可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA5、有EEPROM功能6、看门狗7、内部集成MAX810专用复位电路8、外部掉电检测电路9、时钟源:外部高精度晶体/时钟,内部R/C振荡器常温下内部R/C振荡器频率为:5.0V单片机为:1117MHz3.3V 单片机为:812MHz10、4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T111、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟12、外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.313、PWM2路14、A/D转换,10位精度ADC,共8路,转换速度可达250K/S15、通用全双工异步串行口(UART)16、双串口,RxD2/P1.2,TxD2/P1.317、工作范围:-408518、封装:LQFP-48,LQFP-44,PDIP-40,PLCC管脚说明P0.0P0.7 P0:P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0A7,数据线D0D7P1.0/ADC0/CLKOUT2标准IO口、ADC输入通道0、独立波特率发生器的时钟输出P1.1/ADC1P1.2/ADC2/ECI/RxD2标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端P1.3/ADC3/CCP0/TxD2外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端P1.4/ADC4/CCP1/SS非SPI同步串行接口的从机选择信号P1.5/ADC5/MOSISPI同步串行接口的主出从入(主器件的输入和从器件的输出)P1.6/ADC7/SCLKSPI同步串行接口的主入从出P2.0P2.7P2口内部有上拉电阻,既可作为输入输出口(8位准双向口),也可作为高8位地址总线使用。P3.0/RxD标准IO口、串口1数据接收端P3.1/INT0非外部中断0,下降沿中断或低电平中断P3.3/INT1P3.4/T0/INT非/CLKOUT0定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出A/D转换器的结构STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。该单片机的ADC是逐次比较型ADC。主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为1,将相应的口设置为模拟功能。STC12C5A60引脚图如图图3-2图3-2 STC12C5A60S2单片机的引脚图3.2.3 晶振与复位电路的设计单片机内部带有时钟电路,因此,只需要在片处通过XTAL1、XTAL2引脚接入定时控制单元(晶体振荡和电容),即可构成一个稳定的自激振荡器。振荡器的工作频率一般在1.212MHz之间,当然在一般情况下频率越快越好。可以保证程序运行速度即保证了控制的实时性。一般采用石英晶振作定时控制元件;在不需要高精度参考时钟时,也可以用电感代替晶振;有时也可以引入外部时脉信号。C1、C2虽然没有严格要求,但电容的大小影响振荡器的振荡的稳定性和起振的快速性。在设计电路板时,晶振,电容等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。在本设计中,我们采用的外接晶振频率约6MHz,因此机器周期约2s。RESET引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即两个机器周期)以上。如使用频率为6MHZ的晶振,则复位信号持续时间应超过4s才能完成复位操作。产生复位信号的电路图如图3-3所示5。图3-3 复位电路和时钟电路3.3 传感器的选择3.3.1 霍尔接近开关传感器 集成式霍尔开关传感器的主要优点是:可靠性强、抗干扰性能好、温度特性优良、电源电压范围宽、输出电流能力强、兼容性好、能与CMOS集成电路直接接口,动作响应时间短以及体积小巧、寿命长和使用方便等。 但是,从对上述对霍尔开关传感器的原理描述中可以看出,霍尔开关传感器中必须对霍尔效应片输入控制电流、同时其内部还有差分放大器等具有较大功耗的器件,典型的集成式霍尔开关传感器耗电为mA级,因此,霍尔开关传感器不适合应用在本低功耗设计中。3.3.2 光电检测传感器 当光照射在半导体材料的PN结上时PN结的两侧将产生光生电动势,如外部用导线连接,将有光电流流过,通常的光电检测传感器都是基于这一原理。 目前的光电检测传感器就是利用上述原理,以光电二极管为例,把发光二极管和光电二极管相对放置便组成了光电检测电路,当被检测物体通过二者之间时,由于光电二极管所接受的光的强度发生变化,其产生的光电动势也发生变化,将这种变化进行放大和处理,就能产生反映有无物体通过二者之间的电压脉冲信号。然而,由于在此结构中必须用到发光二极管(对于不需要发光二极管的光电检测传感器,功耗得到了降低,但是,其容易收到环境光线变化的影响,可靠性和检测精确度较低),因此,其功耗电也较高,不宜用在本低功耗设计中。3.3.3 Wiegand(韦根)传感器(1) Wiegand传感器组成Wiegand传感器由三部分组成:(1)Wiegand线;(2)检测线圈,将其缠绕在Wiegand线上,或放置在Wiegand线附近;(3)磁铁。常用结构示意如图3-4所示。图3-4 Wiegand传感器组成(2) Wiegand传感器工作方式根据Wiegand线外部磁场引入的方式不同,Wiegand传感器有两种驱动方式:非对称驱动方式和对称驱动方式。非对称驱动方式开始把Wiegand组件置于一种称为渗透磁场的强磁场中,此时Wiegand线的外壳和内芯按同一方向极化,如图3-5 a) 所示;再把组件置于一种称为复位磁场的弱磁场中,此时内芯的极性反向,而外壳的极性不变,如图3-5 b) 所示;然后把组件置于渗透磁场中,Wiegand线内芯与外壳的极性又恢复到图3-5 a)的情况,由于Wiegand线中磁场的变化,导致在检测线圈中一个周期内产生单一方向的电压脉冲,如图3-5 c)所示。图3-5 非对称驱动方式在对称驱动方式中,采用两块磁场强度大小相等但极性相反的磁铁,一块磁铁首先将Wiegand线的外壳和内芯按同一方向进行渗透,如图3-6 a)所示;再将Wiegand线切换到第二块磁铁,在这过程中,首先线芯的极性改变,如图3-6 b)所示;然后外壳的极性发生改变,这一作用在检测线圈中产生一个方向的电压脉冲输出,如图3-6 c) 所示;接着,再将Wiegand线转回到第一块磁铁,首先内芯的极性改变为起始的极性,如图3-6 d) 所示;其次外壳的极性也随之改变为起始的极性,这一过程产生相反方向的电压脉冲输出如图3-6 e) 所示6。图3-6 对称驱动方式(3) WG系列韦根传感器原理及其特点WG系列韦根传感器是利用韦根效应制成的一种新型磁敏传感器。其工作原理是传感器中磁性双稳态功能合金材料在外磁场的激励下,磁化方向瞬间发生翻转,从而在检测线圈中感生出电信号,实现磁电转换。它具有以下特点: 传感器工作时无须使用外加电源,适用于微功耗仪表,如电子水表、电子气表和其它智能型仪表。 使用双磁极交替触发工作方式,触发磁场极性变化一周,传感器输出一对正负双向脉冲电信号,信号周期为磁场交变周期。 输出信号幅值与磁场的变化速度无关,可实现“零速”传感。 无触点、耐腐蚀、防水,寿命长。 利用电话线、同轴线可实现电信号远传。由于WG系列韦根传感器具有以上的众多的特点,特别是其几乎不需要外界能量的输入。因此,选择它作为本低功耗设计的传感器。在这里,我们选择了南京艾驰电子科技有限公司的WG系列韦根传感器产品,其型号为WG101。具体使用方法为:在水表的计量齿轮上安装小磁钢,当用户用水,齿轮转动,小磁钢将会转过Wiegand丝传感器,这时传感器产生一个高电平脉冲信号,经过整形、放大处理后输入至单片机进行计数计量。选择此传感器作输入信号测量的传感器,既满足了准确计量的基本要求,又满足了低功耗设计的需要,是本低功耗设计的重要组成部分。3.4 信号处理模块的设计WG系列WG101韦根传感器所产生的正向脉冲信号一般为1V2V之间。为了保证系统能更加稳定的工作,必须对传感器所产生的脉冲信号进行放大、整形处理。我们采用如图3-7所示的简单电路,可以很好的达到脉冲信号的放大、整形作用。经过处理后的电平信号,送单片机的外部中断(P3.2)进行计数处理。当计满N(N表示为设定的转数值),用水总量加1,剩余水量减1(“1”在本设计中代表0.1m3的水)。 图3-7 信号处理电路图由于WG系列韦根传感器使用双磁极交替触发工作方式(即对称驱动方式),当水表叶轮转动一周,触发磁场极性变化一周,韦根传感器输出一对正负双向脉冲电信号。当韦根传感器输出为正向脉冲时,NPN管导通,脉冲检测信号W_IN输出为高电平;当韦根传感器输出为负向脉冲时,NPN管截止,脉冲检测信号W_IN输出为低电平。即水表叶轮转动一周,脉冲检测信号W_IN存在一个由高到低的跳变。由于我们设定外部中断(P3.2)为跳变触发方式,即电平发生由高到低的跳变时触发。因此,水表叶轮转动一周,外部中断产生一次中断5。3.5 电磁阀的选择与设计 对于水表而言,阀门是被控对象,控制着进水的开/关状态。目前可控制的阀门主要是电磁阀,但常规的电磁阀是靠电的通/断来控制阀门的开/关的,即要让阀门一直关着,就必须一直通电,因此耗电较大,不符合本水表低功耗的要求。因此,必须对现有电平开关式电磁阀进行改进,采用双稳态电磁阀,即阀门的开/关控制由电脉冲来实现。使得对阀门开/关只需瞬时供电,从而减少耗电量。在这里我们选择:执行机构采用继电器HRS2H-S-DC3V,驱动带自锁的脉冲电磁阀MP15A-3V,两者仅需+3V电源供电。正常供水情况下,电磁阀自锁于常开状态,驱动机构不消耗电能,只有当购买的吨位数用完时,才由固态继电器驱动电磁阀关闭开关,并自锁于常闭状态,重新购水插卡后,再次送电开启。当水量为零时,控制阀自动关闭,水路即被切断,此时用户须重新持卡购水。在正常情况下控制阀处于接通状态,只有当特殊事件发生时,控制阀才从接通状态变为关闭状态。三种事件状态下控制阀的通断情况如图3-8所示7。图3-8 控制阀的关断情况值得注意的是,由于继电器和脉冲开关电磁阀都是较大容量的感性负载,因而在切断这些感性负载时,会产生很大的电流和电压变化率,从而形成瞬变噪声干扰,成为系统中电磁干扰的主要原因,引外,继电器通断所造成的电火花和很强的电弧也产生了很大的电磁干扰。因此,在系统中必须设计相应的抗干扰电路来消除此电磁干扰,本系统所采用的抗干扰措施主要有以下两点:图3-9 光电耦合器隔离电路(1) 采用光电耦合器进行隔离当P1.1输出为高电平时候NPN管Q1导通,在光电耦合器SW-GD(型号为4N25)中的发光二级管发光,三级管导通。此时,电阻R10上就存在一个高电平使NPN管Q1导通。继电器即得电产生动作。如图3-9所示D1为续流保护的作用。从上图中可以看出,单片机控制的I/O口和继电器控制端口之间用光电耦合器进行了隔离,这样,由于继电器通断所造成的电火花和电弧就不会影响到单片机系统了8。(2) 在电磁阀供电端跨接压敏电阻抗干扰 压敏电阻是一种非线性电阻性元件,它对外加的电压十分敏感,外加电压的微小变动,其阻值会发生明显的变化,因此电压的微增量可引起大的电流增量。 压敏电阻又分为碳化硅压敏电阻、硅压敏电阻、锗压敏电阻以及氧化锌压敏电阻,其中较为常用的是氧化锌(ZnO)压敏电阻,其电气性能如图3-10所示。 从图3-10中可以看出。压敏电阻具有类似稳压管的非线性特性,在一般工作电压(外加电压低于临界电压值)下,压敏电阻呈高阻状态,仅有uA数量级的漏电流流过图3-10 氧化锌压敏电阻的电气性能压敏电阻,相当于开路状态。当有电压(当电压达到临界值以上)时,压敏电阻即迅速变为低阻抗(响应时间为毫微秒数量级),电流急剧上升,电阻急剧下降,过电压以过电电流的形式被压敏电阻吸收掉,相当于过电压部分被短路。当浪涌过电压过后,电路电压恢复到正常工作电压,压敏电阻又恢复到高阻状态。可以利用压敏电阻的上述特性来吸收各种干扰过电压。由于ZnO压敏电阻特性曲线较陡,具有漏电流很小、平均功耗小、温升小、通流容量大、伏安特性对称、电压范围宽、体积小等优点,可广泛用于直流和交流回路中吸收不同极性的过电压。在本设计中的具体使用方法为将压敏电阻并联到电磁阀的供电电压上,这样,电磁阀开关所产生的浪涌过电压就被压敏电阻所吸收了。压敏电阻的使用大大降低了电磁阀开关所造成的电磁干扰对单片机系统的影响。3.6 片外数据存储器的设计在系统的设计过程中,考虑到智能水表在使用过程中可能出现失电的情况。当这种情况发生时,系统应该保存失电前的一些数据。比如,存储用户设定的水量系数N(转/吨),累计用水总量和剩余水量等。而这些数据如果存储在单片机的数据存储器中,单片机失电重启动后存储的相关数据已经消失了。为了完成此功能,必须在单片机外部加一个E2PROM,完成这些数据的存储,本设计系统中加入了I2C总线的E2PROM。I2C总线简介:I2C总线由PHILIPS提出,是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接 。其协议定义的I2C总线数据格式如下:开始7/10器件地址R/ACKSUBADDACKDATAACK停止AT24C01是美国ATMEL公司的低功耗CMOS串行E2PROM,它是内含1288位存储空间,具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点9。在系统中,用AT24C01存储用户的设定水量转数N、水表检测脉冲数M、累计用水总量和剩余水量等。当系统断电以后,系统将把有用的信息保存在AT24C01中,使其不被丢失。其实际电路连接图如图3-11所示:电阻R24、R25为上拉电阻。由于我们只用一片E2PROM,所以A2=A1=A0=0。它的工作原理我们将在第四章详细介绍。图3-11 AT24C01与单片机接口电路3.7 IC卡及其接口电路的设计下面简要介绍AT24C0X系列的IC卡的基本特性与引脚功能,并分析AT24C0X与AT89C205l单片机的在本设计中的具体接法。3.7.1 基于AT24C0X系列的IC卡AT24C0X系列IC卡是美国ATMEL公司生产的存储式IC卡。产品型号有AT24C01/02/04/08/16/32/64,存储容量分别为1kbits/2 kbits /4 kbits /8 kbits /16 kbits /32 kbits /64 kbits;2.55V低电压供电;双线串行接口;双向数据传送;支持ISO/IEC7816-3同步协议;写/擦除次数1 000 000次;数据保存期100年。它是目前国内使用最多的IC卡之一。AT24C0X系列IC卡的引出端符合ISO/IEC7816-2标准。C1:VCC,工作电压;C3:SCL(CLK),串行时钟;C5:GND;C7:SDA(I/O),串行数据(输入/输出);C2,C6:NC,未接。IC卡引脚如图3-12所示,其中引脚T,P为微动开关的两触点。此微动开关在无IC卡状态时,处于断开状态;有卡插入时,IC卡卡座上的微动开关动合,因此,此开关往往是用来判断是否插IC卡的传感器件2。图3-12 IC卡示意图3.7.2 IC卡的接口电路的设计24系列为低功耗COMS E2PROM 器件,使用单+5v电源,电源电压范围为2.56V,内有高压泵电路,写入、擦除操作由内部定时器自动完成,具有擦除/写入周期10万次寿命和数据安全保存100年的有效期,二线串行接口,和各类微处理器接口十分简单等特点。本设计的AT89C205l单片机与IC卡240X接口如图3-13所示。图中IC-CARD为标准IC卡座,其T、P端用作到位检测开关,将T端连接89C2051的外中断输入脚P3.3()。由于引脚T,P为微动开关的两触点,所以,当有IC卡插入时,微动开关闭合,P1.5脚电平被拉低,单片机通过判读P1.5脚,做好读卡准备,无卡时,P1.5脚为高。P1.6、P1.7用作数据线(SDA)和时钟线(SCL),用软件模拟时序的方法来实现对IC卡的读写。当有IC卡插入时,P1.5脚电平被拉低,单片机通过判读P1.5脚,做好读卡准备,无卡时,P1.5脚为高,R19、R20、R21为限流电阻10。图3-13 IC卡接口电路3.8 人机交互接口的设计人机互交接口包括了报警电路与显示电路的设计,下面具体给出了在本设计中采用的报警电路和显示电路,并分析了它们的工作原理。另外,还对显示电路在本系统中应用的显示原理进行了详细的分析。3.8.1 报警电路的设计根据系统需要,我们设计了一个报警电路。当剩余水量不足、电池欠压等情况下,都需要报警。本报警电路很简单,我们采用1个NPN型三级管,1个蜂鸣器和1个电阻组成。如下图3-14所示,当P1.4输出一个高电平时,NPN型三级管Q4导通,蜂鸣器马上得电发声,产生报警11。图3-14 报警电路3.8.2 显示电路的设计显示电路作为水表的输出接口,显示剩余水量、用水总量等信息。它们的有效工作时间都比较短,用户看完后,没有必要让它一直显示;为此,可水表上装一个开关按钮提供信号,即按一下按钮时,水表开始显示剩余水量;再次按下按钮时,水表显示用水总量;再次按下按钮时,水表显示关闭。如显示10s后,按钮没有动作,亦使它们停止工作,从而达到节电的目的。在小型的控制系统中,通常用LED数码管作为显示器件。LED数码管的显示方式通常可分为2种:静态方式和动态方式,静态显示方式的优点是亮度高、没有闪动、稳定,缺点是功耗大、占PCB面积大、成本高。为了在人机对话设计中降低硬件成本,节约单片机的I/O口资源,我们采用将通过串行动态扫描,即位码和段码交替发送的方式设计了一种新颖的显示模块,经调试,效果良好。显示电路的具体电路如图3-15所示,它由单片机AT89C2051,2片74HC164,6个LED数码管,6个220欧姆左右的限流电阻组成,74HC164是8位串入并出移位寄存器,它的每一个输出管脚具有+/-20mA的驱动能力。对于小型LED数码管,还要串联200360的限流电阻。动态显示电路采用2片74HC164,可以驱动18只共阴极数码管,我们采用6位显示,其中一片U3作为段码驱动,另一片U1作为位码驱动,2片74HC164采用级联方式连接,只占用单片机AT89C2051的2个I/O端口。位码驱动U1的数据输入端口、时钟输入端口分别连接AT89C2051的RXD和TXD端口。段码驱动U3的数据输入端口、时钟输入端口分别连接位码驱动U1的Q7和AT89C2051的TXD端口。选择AT89C2051的串行口方式为0方式,即移位寄存器方式12。图3-15 串口显示电路图如果要求在6位LED数码管的最低位显示一个字符时,首先从DMbufer中取出要显示的数,通过译码表译出这个字符的段码值并将段码值写入U3中。根据这个字符在LED、显示器的位置(这里为最低位)。确定它的位码值是FEH(1111 1110)将位码值写入WMbuffer中(注意:段码驱动U3为高电平有效、位码驱动U1为低电平有效)。在显示程序中,首先将位码值写入串行数据寄存器(SBUF)。在AT89C2051TXD端口的时钟作用下,AT89C2051RXD端口送出这个字符的位码值到段码驱动U3。当AT89C2051送完一个字节的位码值后,发送中断标志位TI置位。检测到TI=1后,清零TI,接着将段码写入SBUF,AT89C2051再送段码值到段码驱动B,同时段码驱动U3的位码值被送入位码驱动U1中,延时2ms,即可显示这个字符了。如果要求在低二位显示第2个字符,则WMbufer(1111 1110)不带进位位左移一位(1111 1101)并送WMbufer。再通过译码表取得第2个字符的段码值送入U3,重复上述过程即可。以上过程循环N次,即可完成16位字符的显示工作。在主程序中循环调用显示程序,反复扫描LED数码管,使之达到近似静态的显示效果13。3.9 电源的设计3.9.1 电池能量的检测如果想要做出合理的电源管理方案,就需要单片机能够随时检测电路中电池的能量(具体表现是实际的电压值)。但是在本设计中,单片机判别电池的能量,由于不用象手机那样随时显示电池的容量,根据水表的特殊性,只要检测到一个固定值,给用户一个报警提示就可以了,这个电量值的选择需要满足一个量,即让用户再有三天的余量,加上关阀电量就可以了。低电压检测对单片机系统来讲是个十分重要的问题,它在某种程度上起到了保障系统可靠运行,避免数据出错的作用,智能水表的设计中同样如此。具体地讲,应该在系统掉电到一个门限电压(该门限电压应高于CPU的最低运行电压)时,通过相应的电压检测电路把信号传递给CPU,CPU及时对系统进行软件复位。电压检测器可以选用合泰公司的HT70XX系列产品,此产品价位较低,而且规格十分齐全。在这里我们选用芯片HT7039来监视系统供电电平Vcc,它对电压变化十分敏感,在Vcc大于3.9V时,芯片输出高电平,当Vcc低于3.9V时,芯片输出马上变为低电平,从而可以迅速的判断系统是否掉电。系统除了有灵敏的电源监控之外,还可以采用3.6V的锂电池作为后备电源来支持阀的动作,在正常工作时,锂电池不参与供电,仅在掉电后提供阀工作的电源,以保证掉电后的一系列正常动作14。3.9.2 超级电容的应用 传统的智能水表在控制水阀开启和关断时,普遍采用的方法是内装锂电池,锂电池的优点是重量轻、能量大、自放电率低等。虽然如此,由于智能水表都没有设计再充电电路,锂电池使用到一定时间后,将无法为控制电路提供能量,不得不更换电池。上门为用户更换电池或水表,这对于水表生产厂家和自来水公司来说都是一件繁琐的事情。更危险的是,电池电量不足的情况出现是随机的,如果不精确和及时的监测电池电量,将无法可靠地关断水阀,造成无法计费、逃水现象等情况出现。这是内部安装了锂电池的智能水表的致命缺点,直接影响到它的推广和使用。针对这一问题,水表生产厂家设计了很多方案,如:尽量降低功耗,在静态时控制漏电流在10A以内,保证电池可以连续使用5年以上,这对电路的设计和元器件的选型提出了更高的要求,增加了设计难度和成品检测的工序,如加上可靠的电池电量监测电路,也会使成本增加。 为了解决这一制约智能水表发展的瓶颈问题,已有不少厂家尝试了一种全新的方案,那就是用超级电容(Super-Capacitor)代替锂电池应用于智能水表。超级电容是近几年才批量生产的一种无源器件,性能介于电池与普通电容之间,具有电容的大电流快速充放电特性,同时也有电池的储能特性,并且重复使用寿命长,放电时利用移动导体间的电子(而不依靠化学反应)释放电流,为设备提供电源,超级电容如图3-16所示。图3-16 超级电容以美国库柏(Cooper)超级电容为例,与锂离子电池进行比较,有如下一些明显特性:(1) 超低串联等效电阻(ESR),功率密度(Power Density)是锂离子电池的数十倍以上,适合大电流放电,(一枚4.7F电容能释放瞬间电流18A以上)为水表控制电机阀或电磁阀的可靠开启提供了保障。 (2) 超长寿命,充放电大于50万次,是锂离子电池的500倍,是镍氢和镍镉电池的1000倍,如果对超级电容每天充放电20次,连续使用可达68年。 (3) 可以大电流充电,充放电时间短,对充电电路要求简单,无记忆效应。 (4) 免维护,可密封。(5) 温度范围宽-40+70,普通电池是-2060。与内装锂电池的智能水表相比,这种方案是用超级电容替换锂电池封装在水表中,同时外接干电池供电。平时干电池提供水表电路所需能量和对超级电容的充电,在需要开启水阀时,由外接干电池提供能量将水阀开启;在需要关断水阀时,如果外接电池不能提供能量将水阀关断,那么超级电容将在此刻提供能量来关断水阀。如同一个储水箱,平时将水存储起来,在停水时才起作用。超级电容的应用电路如图3-17所示。图3-17 超级电容的应用电路正常情况下,电池通过电阻R14、二级管D1向负载和超级电容充电,电阻R14的作用是限制电流过大,因为超级电容内阻很小,充电时电流较大可能造成电池损坏。二级管D1防止反向电流。当电池电压过低,或突然断电时(如取下电池),由超级电容继续为电路提供电源,同时,超级电容存储的能量足以关断阀门。这种方案明显优于以前的设计,优点如下:将电池从水表中分离出来,从而可以不考虑电池寿命对水表的影响,大大延长了水表的使用时间;另一方面,超级电容的大电流放电特性保障了水阀关断的可靠性,在外接干电池电量不足时,仍能利用存储在超级电容上的能量将水阀关断;以前一味追求的漏电流指标,主要是为了保障电池的使用寿命,改用超级电容后,漏电流指标变得不再重要。如果电池电量不足,用户可以随时更换。这样,不仅使电路设计简化,减少产品的出厂检验工序,还使产品的成本降低15。 这种方案克服了现阶段智能水表的缺点,为智能水表的发展找到了一条新的途径。目前国内已有多家水表生产厂应用该方案,实践证明,它是切实可行的。所以本设计亦采用了这种方案。在本设计中,我们选用了深圳市索普康电子有限公司的超级电容,其型号为5R5H105、产品规格为3.3V0.22F。3.10 检测模块的设计 检测模块主要对以下四种情况进行检测 (1) 水表被拆卸;(2) 电池欠压或取出电池;(3) 有按键按下;(4) 有IC卡插入。当有以上四种情况之一时,外部中断(P3.5)产生中断。当产生中断后,中断程序马上依次检测P3.6口(F_KEY)、P3.2口(V_MONI)、P3.3口(OPEN_D)、P1.5口(SW_T),如图3-18所示,以确认是哪种情况产生的中断后作出相应处理。该电路由一个电压检测器HT7039、两个与非门、一个或非门、一个常闭开关和一个常开开关组成。例如,当电池欠压或取出电池时,HT7039输出为低电平,U8输出为高电平,那么U9输出为低电平(即P3.5为低电平),产生中断。其他情况同理可得11。图3-18 检测模块电路4 IC卡智能水表的软件设计本软件我们用MCS-51汇编语言编制,采用了结构化,模块化的程序设计方法。它由主程序、外部中断0子程序、外部中断1子程序、IC卡与片外数据存储器的读写软件设计、显示子程序等模块组成。4.1 主程序的设计主程序主要完成系统的初始化,各种情况的判断如电压情况、按键是否按下、水量判断等,在适当情况下还要进行显示、关闭阀门等操作,平时处于睡眠状态。当表内剩余水量小于5 m3时,表内蜂鸣器发出提示报警,以提醒用户剩余水量不多,请速购水;当表内剩余水量为0 m3时,切断阀门,停止供水,直到新的水量被购来为止。从而达到用水必须预先交费的目的,省去了人工抄表收费环节。主程序的流程图见附录2,具体程序见附录1。4.2 外部中断0子程序外部中断0子程序也即水表脉冲计量程序,它只要是对用户水量进行处理。当用户在进行用水操作时,由流量传感器产生的脉冲信号使进入中断响应程序。根据机械水表的测量原理,水的流量与水表齿轮的转速可以近似成一定的线性关系。显然,水表齿轮所转的圈数与传感器产生的脉冲信号是一一对应的关系。根据这一原理,我们可确定流量的计算公式为: (4-1)在公式(4-1)中,Q为流量,单位为m3 ;K为基表系数,单位为m3r;N为转数,单位为r。在这里,由于K(基表系数)是一个常数。因此,Q与N是一一对应关系。我们采用了6位数据显示,其中只含有一位小数。当Q为0.1 m3时,由于K已知,N即可以求出。在本系统编程中,我们设定M为测得脉冲数,N为Q为0.1 m3时对应的转数值,“剩余水量-1,用水总量+1”中的“1”表示0.1 m3的水量3。其具体流程图如图4-1所示,具体程序见附录1。图4-1 外部中断子程序4.3 外部中断1子程序以下四种情况均可以使产生中断 (1) 水表被拆卸;(2) 电池欠压或取出电池;(3) 有按键按下;(4) 有IC卡插入。当产生中断后,中断程序马上依次检测P3.6口、P3.2口、P3.3口、P1.5口(原理图见总电路图中检测模块),以确认是哪种情况产生的中断后作出相应处理。其具体流程图如图4-2所示,具体程序见附录1。图4-2 外部中断子程序4.4 IC卡的读写软件设计系统软件设计的流程应为确认有卡插入后,延时,待IC卡供电电路稳定,读IC卡标志位,并与系统中保存的标志比较,确认后,读数据区。为提高可靠性,IC卡中的数据在两个不连续区作备份,第二组数据作校验。为防止有损坏的字节和其它因素影响数据不可靠,建议将每次写入的数据再读出比较,判断写入的数据是否正确,从而达到保证对IC书写操作的无误,下面详细地介绍了它的工作原理。4.4.1 SDA和SCL信号SDA和SCL双向总线采用I2C-bus(inter-intergrad circuit bus)汇流总线技术,所有的控制命令和数据传输均由这两条双向总线执行,采用SDA和SCL,两条总线就可实现对E2PROM进行读写,并且在读写过程中其信息传递的波特率可以从0到100kbps,其数据传输及时钟脉冲时序图如图4-3所示。图4-3 数据传输及时钟时序图IC卡的读写其实也就是对IC卡片内E2PROM进行读写。所以在AT24CXX系列IC卡的应用中,与逻辑控制有关的引出端线只有2条:SCL和SDA。所有的地址、数据及读/写控制命令等信号均从SDA端输入/输出。为了区分SDA线上的数据、地址、操作命令以及各种状态的“开始”与“结束”,卡片内设计了多个逻辑控制单元。其中,启动与停止逻辑单元产生控制读/写操作的“开始”和“停止”标志信号17。“开始”状态:当SCL处于高电平时,SDA从高电平转向低电平,即产生“开始”标志信号;“停止”状态:当SCL处于高电平时,SDA从低电平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论