摘 要:提出了一种基于互联网的电度表计费和缴费方案。采用具有以太网模块的单片机PIC18F66J60实现与互联网的连接,采用无线收发芯片CC1000实现计费终端与电度表的通信。该系统能够满足用户方便快捷购电的要求。
关键词:电度表;互联网;缴费;单片机; 无线收发
我国电力用户多,并且大部分地区沿用人工抄表、人工收费的工作方式,造成大量的人力和物力的浪费[1]。IC卡式预付费电度表[2,3]虽然易用性上获得一定的改善,但是缴费需要去指定地点刷卡;一些自动抄表系统[4]也很具吸引力,但是运营成本较高。同时,随着互联网技术的发展,中国互联网用户将突破4亿,通过互联网缴费已成为很多家庭的选择。本文采用PIC18F66J60单片机设计的电度表互联网缴费与自动计费系统可以适应这种需要,减少人力物力的浪费。
1 系统设计方案
1.1 系统结构
系统由两个具有收发功能的模块组成,两个模块同时工作实现电度表和互联网之间的相互通信。电度表端主要包含三部分:一个具有数字读数信号和三个配置信号的电度表、一个无线收发芯片、一副天线。互联网端主要由三部分组成:一个具有以太网模块的单片机、一个无线收发芯片、一副天线。此外,还包含电源电路和一些接口电路。系统原理框图如图1所示。其中CC1000是无线收发芯片,PIC18F66J60是具有1个SPI接口和以太网模块的单片机。
1.2 系统工作原理
系统采用无线收发芯片将电度表读数发送给互联网端,互联网端的无线收发芯片接收电度表读数,单片机对接收到的电度表读数进行计算转换为当月应该缴纳的电费。单片机模块包含数码管显示部分,应缴的电费将在数码管上显示,同时单片机将应缴纳的电费发送到互联网,通过计算机终端访问单片机,并将应缴纳的电费读到计算机上,并在人机交互界面上进行显示。只需点击缴费按钮,即可发送控制信号给单片机,进而通过无线收发芯片控制用电开关。该系统主要实现三种功能。
(1)抄表。电度表每月月初和月末分别发送读数给单片机,单片机计算两者之差作为当月用电量。
(2)计费。单片机将当月用电量乘以从电能供应商处获得的用电单价,得到当月应缴电费。
(3)缴费。单片机将当月应当缴纳的电费发送到电能供应商提供的服务器上,确认之后,从电能供应商服务器发送用电许可指令给单片机,单片机闭合用电开关。
2 系统硬件设计
具有以太网模块的单片机PIC18F66J60是整个系统的核心,主要负责整个系统的计算和控制,本设计主要用到了PIC18F66J60的以太网模块专用数据接口、I/O口以及SPI接口。两个收发芯片辅助完成电度表、单片机和互联网之间的通信。
2.1 电度表端的电路设计
电度表端电路(如图2)采用Chipcon公司的无线收发芯片CC1000。CC1000可以在315/433/915 MHz ISM(工业、科学和医疗)频带系统上应用,采用FSK调制,可采用3.3 V电源供电。芯片内部的T/R切换电路简化了天线连接和匹配电路设计,通过编程可方便选择芯片的工作频带,输出功率可编程。该芯片具有28个管脚,其中,PALE、PDATA、PCLK是芯片的可编程串行接口,通过该接口可对芯片的36个配置寄存器执行读写操作。DCLK、DIO用来与电度表交换数据,其中DCLK为数据传输的时钟,由CC1000提供。
2.2 互联网端的电路设计
互联网端采用CC1000实现无线收发,为了简化电路设计,天线采用印制电路板天线,无线收发距离通过单片机写CC1000的功率控制寄存器进行配置。互联网接口电路采用具有以太网模块的单片机芯片PIC18F66J60,该单片机具有64 KB内部Flash存储器,因而不需要扩展EEROM即可实现程序和数据的永久保存。这款单片机集成MAC和10 Base-T PHY,支持10 Base-T端口,在发生冲突时可编程自动重发,并可拒绝错误数据包,并且它具有完整的网路连接解决方案,外加两个脉冲变压器和一些无源器件即可与以太网连接。此外,PIC18F66J60具有一个主同步串行口模块,支持SPI和I2C两种模式,本文中使用SPI模式配置无线收发芯片。单片机与无线收发芯片的接口通过SPI口和两个普通I/O口实现,TPIN+、TPIN-、TPOUT+、TPOUT-这四个引脚是单片机的以太网模块专用信号接口,单片机通过这四个引脚外加一些外部元件(图3中SC模块)与互联网连接。
2.3 电源模块设计
采用电源适配器提供5 V的直流电压,无线收发芯片CC1000采用3.3 V直流供电电压,PIC18F66J60也可采用3.3 V电源。AMS1117是5 V转3.3 V的电平转换芯片,该LDO可以提供1 A的输出电流,具有低于1 V的输入输出电压差,并且电路简单,只需要在输入输出端加一定的滤波电容即可正常工作。
3 系统软件设计
系统软件包含PIC18F66J60的相关程序、电度表端程序设计、CC1000配置程序和主机端操作界面程序。PIC18F66J60相关程序主要完成:对电度表读数进行接收和计算当月电费,接收来自电度表端的读数数据,每月月初和月底的电度表读数差乘以用电单价即可得到当月应缴电费;保存过去12个月的用电清单(包含用电量、单月电费和用电单价);每月月底向网络服务器端缴费;从网络服务器端读取缴费信息,并存入单片机内部Flash,从规定缴费时刻算起,当欠费时间大于10小时,红色LED指示灯亮,提醒用户需要缴费,当欠费时间大于24小时时,PIC18F66J60向电度表发送停止供电指令,用电开关自动断开,充值后,PIC18F66J60发送供电指令,闭合用电开关。从网络服务器获得用电单价信息,实时更新单片机内部Flash的用电单价。PIC18F66J60相关程序流程图如图4所示。
电度表端程序主要实现以下功能:每个月第一天上午8点和最后一天上午8点发送电度表读数给电度表端的CC1000,控制CC1000工作在发送状态,其他时间控制CC1000工作于接收状态。CC1000配置芯片工作参数,先要复位CC1000,然后根据时序要求配置寄存器,校正收发支路即可使CC1000正常工作。主机端操作界面由ASP语言和SQL数据库实现,向用户提供缴费、用电单价、以及打印过去12月用电量和用电费用清单信息,同时为用户提供了友好的基于Web的操作界面,可以采用浏览器直接访问服务器。
本文采用PIC18F66J60设计的电度表互联网缴费与自动计费系统,很好地继承了过去沿用的用电缴费习惯,具有硬件简单,易于实现、成本低、操作简单等优点。通过实验验证,以一台计算机作为服务器,与该计算机通过交换机连接的收费终端可以通过网络进行缴费。该系统利用互联网IP的独立性,可以利用MAC地址区别用户终端,并且每个CC1000都配置有唯一的标识码,是一种低运营成本的有效缴费和计费方式。
参考文献
[1] 王引航.条码技术在电度表及用户管理中的应用[J].科技资讯,2009(3):139-140.
[2] 程启明,谭青.非接触式IC卡预收费电度表的设计[J]. 电子技术应用,2003,29(3):42-45.
[3] 陈蔚,赵宇红.基于信息纽扣的预付费电度表的设计[J]. 现代电子技术,2008,31(22):43-44.
[4] TAN H G R, LEE C H R, MOK V H. Automatic power meter reading system using GSM network[C]. Power Engineering Conference, 2007: 465-469
[5] 刘和平,刘钊,郑群英,等.PIC18Fxxx单片机程序设计及应用[M].北京:北京航空工业出版社,2005.
[6] 李峰,陈向益.TCP/IP协议分析与应用编程[M].北京:人民邮电出版社,2008.