智能电表预警设计.docx
- 文档编号:9151236
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:30
- 大小:145.03KB
智能电表预警设计.docx
《智能电表预警设计.docx》由会员分享,可在线阅读,更多相关《智能电表预警设计.docx(30页珍藏版)》请在冰豆网上搜索。
智能电表预警设计
目录
摘要1
关键词1
1绪论1
1.1设计背景1
1.2设计的主要内容及要求1
2方案选择2
2.1数据的采集方案3
2.2存储器扩展方案3
3.2功能需求分析3
3.2.1总体功能分析3
4系统总体设计3
4.1系统体系结构的设计3
4.1.1系统的业务模块4
4.1.2系统的层次结构4
4.2数据库设计5
4.2.1数据字典5
4.2.2数据库总体设计8
5系统详细设计与实现8
5.1建立数据库连接8
5.2界面设计10
5.2.1登录模块10
5.2.2系统主界面10
5.2.3员工档案管理模块11
5.2.4人员招聘模块12
5.2.5人员培训管理模块12
5.2.6奖惩管理模块13
5.2.7薪资管理模块13
5.2.8文件管理模块14
5.2.9员工自助管理模块14
附录14
Common层源代码14
Dao层源代码19
Web层源代码37
参考文献44
英文翻译45
后记46
智能电表预警设计
摘要
根据国家建设部小康型住宅小区的规划,要求小区新建和旧房改造工程逐步实现水、电、暖、气等耗能数据计算机数据统一管理。
这样可以改变传统的居民住宅生活耗能逐月入户验表收费方式,从而节省了大量人力,也避免了入户验表给居民生活带来的不便。
鉴于此,我国已经实现了网络管理的无线远程自动抄表系统,以解决了水电管理科存在的缺乏人力、资金;抄表工作繁重;经常有漏抄的情况;以及人工读表、计算费用出错等问题。
因此,这次设计目的有这两方面的兼顾,一方面,配合其它设计模块完成
整个远程自动抄表系统,另一方面,突出预警设计模块,采用8051单片机实现电力参数的交流采样,从而把硬件和软件的设计融合到一起,使它做到当过流30%、过流30%、欠压30%时进行声光报警,从而尽量对现实生活做到又实惠又便利又规避了风险。
关键词:
远程抄表单片机交流采样预警设计
1绪论
1.1设计背景
根据国家建设部小康型住宅小区的规划,要求小区新建和旧房改造工程逐步实现水、电、暖、气等耗能数据计算机数据统一管理。
这样可以改变传统的居民住宅生活耗能逐月入户验表收费方式,从而节省了大量人力,也避免了入户验表给居民生活带来的不便。
鉴于此,我国已经实现了网络管理的无线远程自动抄表系统,以解决了水电管理科存在的缺乏人力、资金;抄表工作繁重;经常有漏抄的情况;以及人工读表、计算费用出错等问题。
据调查,在我国现有的远程自动抄表系统中,很少采用新设计的
方案,大多缘于节约费用,而使用在老式计量表的基础上加以改造的方法。
目前国内的远程自动抄表系统主要由以下框架构成:
管理中心计算机、
便携式自动抄表仪、系统总成、用户数据采集器、数据存储卡、能耗管理软
件和远传耗能表。
其中,远传耗能表(电量表、冷/热水流量表、冷/暖气流
量表、煤气表)与用户数据采集器分别独立安装,由长度不超过30米的探头
线连接,并且需穿塑料管明、暗敷设,这样就有可能造成信号传输的不可靠,
而且,若楼层较高,则每层均需要一个采样器组,使得整个系统的造价升高。
因此,其设计目的有这两方面的兼顾,一方面,配合其它设计模块完成
整个远程自动抄表系统,另一方面,突出预警设计模块,把硬件和软件的设计方面融合到一起,使它做到当过流30%、过流30%、欠压30%时进行声光报警,从而尽量对现实生活做到又实惠又便利又规避了风险。
2方案选择
2.1数据的采集方案
在自动控制的过程中,最关键的环节之一是数据采集。
本系统中,根据采集信号的不同,可分直流采样和交流采样两种。
直流采样,顾名思义,采样对象为直流信号。
它是把交流电压、电流信号经过各种变送器转化为0~5V的直流电压,再由各种装置和仪表采集。
此方法软件设计简单,对采样值只需作一次比例变换即可得到被测量的数值。
但直流采样仍有很大的局限性:
(1)无法实现实时信号的采集;
(2)变送器的精度和稳定性对测量精度有很大影响;
(3)设备复杂,维护难等。
交流采样是将二次测得的电压、电流经高精度的CT、PT变成计算机可测量的交流小信号,然后再送入计算机进行处理。
由于这种方法能够对被测量的瞬时值进行采样,因而实时性好,相位失真小。
它用软件代替硬件的功能又使硬件的投资大大减小。
随着微机技术的不断发展,交流采样必将以其优异的性能价格比,逐步取代传统的直流采样方法。
在交流采样当中同样有好几种采样方式:
(1)可以采用中断的方式进行同步采样频率,用多路开关进行电压和电流的切换,采用一片采样保持器和一片A/D转换器就可完成数据的采集,如
图2.1所示,但此种方法采集数据的误差较大,且CPU的时间难以分配。
图2.1采样电路方案一
(2)采用定时器中断的方式来精确的确定采样时刻,用两片采样保持器和两片A/D转换器将电压和电流的数据采集通道分开,进行同时采样,这样就彻底消除了因为A/D转换的时间而无法得到同一时刻的瞬时值而造成的误差。
但这种方案与前种方案相比存在硬件开销较大的缺点。
如图2.2所示
2.2存储器扩展方案
在存储器扩展方面,可以分别扩展RAM和ROM但这样电路复杂且硬件资源浪费较大,且在本系统中又要考虑防掉电数据丢失问题,因此采取扩展一片掉电非易失性外部存储器兼做RAM和ROM这样就可以简化电路,提高了硬件的利用率。
3电度计量原理
本系统采用8051单片机实现电力参数的交流采样。
通过LED显示器显示电压、电流的实时值、电度的累计值。
当过压30%、欠压30%时进行声光报警,实践证明,采用交流采样方法进行数据采集,通过算法运算后获得的电压、电流、有功功率、功率因数等电力参数有着较好的精确度和稳定性。
4系统的硬件设计
4.1单片机选型
由于Mcs一51系列单片机总线技术开放,开发,仿真设备多,价格低廉,同时该系列单片机进入市场的时间早,汇编语言指令书写形式与INTEL公司8位通用微处理器,如8085接近,很容易被接触过INTEL通用微处理器汇编语言的用户所接受,因此,在单片机应用中占有一定的地位,也是单片机教学的首选机种之一。
而8051CPU是整个tICS一51系列单片机芯片的基础和核心。
它由一个8位通用中央处理器、程序存储器、随机读写数据存储器、常用外围电路等部分组成,其中8位通用CPU的内部结构由算术逻辑单元ALU、累加器A、程序状态字寄存器PSW、堆栈指针sP、寄存器B、程序计数器(指令指针)PC、指令寄存器等部件组成,是8051的核心。
在它的内部集成了4KB的掩模ROM,作为程序存储器;此外还有128字节的随机读写存储器,作为数据存储器。
它有16条地址线,最大可寻址64K的地址空间。
8条数据线,P0口是地址和数据的公用线。
在它内部包含了:
一个串行通信接口;两个定时/计数器;可以管理5个中断源、具有两个优先级的中断控制器;由于它具有以上优点,在本系统中亦采用该机型。
4.2接口电路的设计
4.2.1电压检测电路的设计
电压检测是采用电阻分压的方法取得的。
具体做法见下图:
100K
1M
500K10K
100K
1M
5V
5V
50K
图4.1电压检测电路
通过两只lMΩ的大电阻对交流电路进行分压,二极管的正负钳位电压使得送入跟随器的电压在一5v~+5v之间,经过跟随器的隔离之后再通过比例运算放大器的等比例放大,之后送入采样保持器。
这样就得到了被测信号。
4.2.2电流检测电路的设计
电流检测和电压检测不同,电流捡测采用了电流互感器,先将电网强电
信号进行隔离再通过电压跟随器及反向比例放大器后送入采样保持,从而完
成了信号的捡测。
如图所示:
100K
火线
50K
110K
5V5V
50K
图4.2电流检测电路
4.2.3A\D转换
在本系统选择A/D转换器时需要考虑的问题有:
1.A/D转换器输出数据的位数是多少?
系统应该达到多高的精度和线
性程度如何?
2.提供给A/D转换器的输入信号范围多大?
是单极性还是双极性?
信
号的驱动能力怎么样?
是否经过了缓冲滤波和采样/保持?
3.对转换器输出的数字代码及其逻辑电平有何要求?
是否需要带输出锁存或三态门?
是否通过计算机接口电路?
是用外部时钟、还是内部时钟或不用时钟?
输出代码需要二进制码,还是BCD码?
是串行,还是并行?
4.系统是在静态条件下还是在动态条件下工作?
带宽要求如何?
要求A/D转换器的转换时间为多少?
采样速率为多少?
孔径时间有何要求?
是高速应用还是低速应用?
5.要求参考电压是内部的还是外加的?
是固定的还是可调的?
6.转换器的工作环境如何?
输入信号引进的噪声以及其它外部引进的噪声干扰有多大?
环境温度变化范围有多大?
湿度、振动冲击条件如何?
7.其他因素,如共模抑制、电源电压稳定度、功耗、输入阻抗和外形尺寸等。
对于某些特殊系统有时还要考虑转换方式。
另外,还要考虑成本、资源及芯片来源等函素。
综上所述,对于本系统的设计,在考虑采样精度时,因为本系统的采样对象是50Hz的工频交流电,对于随时间变化的模拟倍号来说,孔径时间决定了每一个采榉时刻的最大转换误差。
对于一定的转换时间,最大的误差可能发生在信号过零的时刻。
因为此时的du/dt最大,孔径时间一定,所以此时△U
为最大。
为了提高模拟量输入信号的频率范围,以适应工频交流电信号的
变化要求,可采用带有保持电路的采样器,即采样保持器。
采样保持器的作
用就是在A/D转换期间。
如果输入信号变化较大,就会引起转换误差。
所以,
一般情况下采样信号都不能直接送到A/D转换器转换,还需要加保持器作信号
保持。
A/D转换器在实际应用上,除了要设计适当的采样/保持电路、基准电路和多路模拟开关等电路外,还应根据实际选择的具体芯片进行输入模拟信号极性转换等设计。
通常,逐次逼近式或并行比较式A/D转换器的模拟输入通道形式较多,由于本系统的输入信号是交流形式即双极性输入的,所以应对输入电路做适当的调整,使其可以适应实际信号的采样要求。
4.2.4外部存储器的扩展设计
为了简化硬件线路,提高系统的可靠性,将使用锂电池与静态RAM封装
在一起的静态RAM存储器。
IBBSRAM用法,性能与SRAM存储器相同,引脚与
相同容量的SRAM完全兼容,可以相互替换。
常见的IBBSRAM芯片型号有
DSl220、DSl225、DSl230和DSl245等。
本系统采用了DSl225,外部引脚容易突全与SRAM6264、EPROM2764兼容。
IBBSRAM芯片具有以下优点:
lBBSAM内部含有一块大容量长寿命锂电池,在断电状态下,IBBSRAM芯片内部的信息可以保存lO年以上,同时内部还有一个电源监控电路监视电压Vcc的变化,当Vcc小于4.75V(对于DSl2XXAB芯片)或4.5V(对于DSl2XXAD芯片)时自动进入写保护状态,防止意外写入;当Vcc大于3.OV时,改用外部电源Vcc供电;当Vcc上升到写保护阀值之上时,解除写保护状态,恢复
芯片的读写功能,无需考虑防写入电路。
读写时序与SRAM相同,典型的读
写周期为120ms~200ms之间。
为了避免无谓的损耗,延长片内电池的寿命,
全新的DSl2XXX芯片的片内电池并未工作,第一次通电后,即在VCC的触发下
电池才工作。
IBBSRAM芯片的缺点:
价格高,当片内锂电池失效后,不再具备数据保护功能,且不能再生,即片内电池没有充电功能。
由于DSl225具有掉电非易失性,可将外部扩展ROM和RAM合二为一,共用一个,DSl225为8K*8的容量可将前6K用于程序存储,后2K用于外部RAM使用。
4.2.5显示电路的设计
显示采用五位LED七段数码显示器,其中一位小数,四位整数,段码是
由451l译码锁存驱动器形成的,而地址是和片外存储器统一编址的,由74LSl93译码器的Y2线所选通。
4.2.6报警电路的设计
在此电路中当Vi为高电平时,由门电路构成的方波振荡器便起振,成
占空比为l:
l的方波信号,其输出频率f=l/2(2.2RtCt);~般Rs=lORt;当Rt=IOOKΩ,Ct=O.01Uf时输出信号频率为1KHz左右;通过Cl的耦合经过LM386功放块的功率放大输出推动扬声器发出警报响声。
x
750uf
1M100K0.01uf
图4.2.6报警电路图
4.2.7硬件系统的总框图
4.3硬件地址的确定
1.外部存储器的分配
由于外部采用了掉电非易失性RAM,故可将外部存储器和外部数据存储器合二为一,共用一片8K的IBBRA~I来代替。
其地址分配如下:
ROM所占地址范围为:
8000H--9COOH(6K)
RAM所占地址范围为:
9C0lH一9FFFH(2K)
2.A/D转换器的地址分配
电流通道的地址为:
2000H
电压通道的地址为:
6000H
3.LED显示器地址分配
LED显示器与外部扩展存储器地址统一编址,地址为C000H
5软件系统设计
5.1主控程序设计
5.1.1存储器的分配
本系统中存储器分为四个部分。
一是内部ROM,在8051单片机内部有4KB的掩模ROM,我们知道,用户不能重写掩模ROM,其中的信息由芯片生产商在生产过程中写入,除非用户将自己调试好的程序代码交给生产商制定,才适合大批量生产。
因此,对于样品研制和小批量投产阶段,用户就无法使用其
中的掩模ROM存储器存放自己的程序。
所以在本系统中采用外部扩展的方法来处理。
在8051单片机内部有128B的RAM用于存放随机数据。
空间分配:
00H—lFH:
为工作寄存区,在编程种不同子程序中使其工作于不同的工作区,以免出现程序混乱。
20H一3FH:
留于用户随机使用。
40H一7FH:
定义为堆栈区。
由于内部RAM空间太小,难以满足系统的要求,另外内部RAM在掉电时会出现数据丢失的现象,因此,在片外扩展了一片防掉电数据丢失的外部来解决上面的问题。
由于外部RAM是一片比较特殊的数据存储器,在它内部集成了锂电池,在掉电时可保证数据不丢失(在正常情况下,它可保证10年数据不丢失)。
这样一来,为了方便以后的系统升级及节约硬件,提高系统可靠性,本设计将外部程序存储器和外部数据存储器共用这一片存储器,其空间分配如下:
8000H…9COOH:
共6KB用作程序存储器使用。
9C01H~9FFFH:
共2KB用于外部随即存储器。
其中,9C02H为掉电标志
9DOBH一9DODH:
存放电度数
9DOIH一一9D10H:
存放电压值
9D11H一9D13H:
存放电流值
9D20H~9D34H:
共20个单元存放电流采样值
9D36H~9D50H:
共20个单元存放电压采样值
5.2模块部分的设计
5.2.1掉电中断子程序的设计
当电源正常时,未稳压的直流电源电压经电阻Rl和R2分压,使电源故
障输入端PFI的电位大于1.26V,则电源故障输出端PFO将从高电平变为低电平,从而引起8051的INTO中断,CPU响应中断后可迅速执行诸如保护重要数据,产生电源报警等任务。
工作寄存器设为0区,掉电标志设于外部RAM的9C02H单元,内部256B的内容搬入外部所占空间为:
9C05H一9D05H。
寄存器B存于外部9C03H单元,堆栈指针SP存于9C04H单元。
INT0中断入口(掉电中断)
图5.1掉电中断流程图
5.2.2数据采集中断子程序的设计
TO定时器中斯初始化在主程序中完成,开中断后当定时器申请中断系
统将进入数据采集中断子程序,在中断子程序中,首先应清除中断标志,重
新置TO初值,启动定时中断后,开始进行数据采集。
当采样次数到后进行相
关计算。
具体存储单元的分配如下:
9DOBH--9D02H:
存放电度数
9DOEH一-9D1OH:
存放电压
9D1lH一9D13H:
存放电流值
9D20H一9D34H:
存放电流采集数据
9D36H一9D50H..存放电压采集数据
寄存器B:
存放采样次数
设工作寄存器组工作于3区。
采样中断流程图见图5.2
5.2.3显示子程序的设计
显示采用五位LED七段数码显示器,段码是由4511译码锁存驱动器形成的,而地址是和片外存储器统一编址的,由74LSl93译码器的Y2线所选通。
它的硬件地址为:
C000H
电压显示缓冲区地址为:
9D17H——9D19H
电流显示缓冲区地址为:
9DlAH——9D1CH
电度显示缓冲区地址为:
9DlDH——9D1FH
静态显示驱动程序简单,但CPU利用率低,且每一个LED数码管需要一
个锁存器,以便锁存每一位的笔段代码,硬件开销大(无件数目多印刷板面
积也会随之增加),仅适用于显示位数不多的场合。
在这里我采用了CD4511
作为译码、驱动器,CD4511的锁存输入端LE接片选信号,译码的输出由输入
端ABCD的编码决定。
显示采用随机动态扫描的方式,显示段码值是由ASCII
码转换成压缩的BCD码而形成,而位扫描码由软件运算产生。
5.2.4声光报警子程序的设计
声光报警采用方波震荡器产生1000HZ左右的方波输出,然后再通过
LM386进行功率放大后驱动扬声器发出报警声响。
在程序设计上采用专用子程序控制方式使P1.5引脚每隔550us反转一
次,连续工作3个周期关闭声光报警停止工作。
图5.2采样中断子程序
中断入口
5.3软件程序清单
主程序:
ORG0000H
LJMP0030H ;主程序入口
ORG0003H ;INTO中断入口
LJMPEXINTO
NOP:
冗余指令
NOP
LJMPERR;陷阱
ORG000BH;T0中断入口
LJMPCYZD
NOP
NOP
LJMPERR
ORG0013H;INT1中断入口
LJMPEXINT1
NOP
NOP
LJMPERR
LJMPERR;T1中断未使用,
设陷阱
NOP
NOP
LJMPERR
ORG0023H;串行口中断入口
LJMPCHAN
NOP
NOP
LJMPERR
LJMPERR
NOP
NOP
ORG0030H
MOVA.#TFH
MOVP1,A
LCALLSHEN;声光报警
MOVDPTR,#9C02H;取掉电标志位
MOVXA,@DPTR
ANLA.#OAAH
JZP_DOWN ;结果为零,说明属掉电
后的操作,需恢复数据,
否则转入正常上电后的
初始化操作
LJMPSTART
NOP
NOP
LJMPERR
P_OWN:
LJMP FEIFU;转入掉电中断子程序内
恢复数据处运行
NOP
NOP
LJMP ERR
START:
MOV SP,#40H;正常上电时的初始化操
作,设置堆栈区
UIY:
NOP
NOP
JB P1.4,UIY ;读入SB2的状态,如没按
下等待
UIT0:
LCALLYSZC1;如SB2按下调延时25ms
NOP
NOP
JB P1.4.UIY;再次读入SB2状态,如为
1,说明误动作,返回
操作
UIY1:
JNB P1.4.UIY1;如两次状态均为0,说明
属真实操作,再判断按
键是否弹开
SETB IT1;如弹开置IT1为边延触发
CLR ITO:
置ITO为电平触发方式
SETB PXO;置ITO为高优先级
CLR ET1;定时器/计数器T1中断
关闭
SETB ETO;定时器TO中断开放
MOV TMOD,#20H;置定时器T1为定时方式
2,TO为方式0
MOV TL1,#OF9H;装入初值,波特率设定
为9600
MOV TH1,#OF9H
MOV TLO,#18H;设采样频率为1000HZ
MOV THO,#OEOH
SETB TR1;开始定时器Tl
MOVPCON.#OOH;波特率不倍增
MOVSCON,#OD4H;串口工作于方式3,
RB8=1,REN=I
UIY3:
MOVDPTR,#9D07H
MOVXR1,@DPTRP
CJNER1,#BB,UIY4
SJMPUIY3
UIY4:
MOVDPTR,#9D07H
MOVXRO,@DPTR
CJNERO,#AA,UIY3
CLRP1.6;开始送电
MOVIE,#97H;开放INT1,INTO,串行
及点中断允许
NEXT0:
MOVB,#32;置采样次数为32次
SETBTR1:
开定时器T0中断
NEXT1:
LCALLXIAN
NOP
NOP
掉电中断服务子程序:
EXINTO:
PUSHPSW;将程序状态字PSW压
入堆栈
PUSHACC:
将累加器压入堆栈
PUSHRO;将寄存器R0压入堆栈
PUSHR1;将寄存器R1压入堆栈
PUSHR2:
将寄存器R2压入堆栈
PUSHR3
PUSHR5
PUSHR6
PUSHR7
MOVRO,#OFFH:
置内部RAM地址
MOVDPTR,#9C05H;送外部RAM区地址
LOOP:
MOVA,@RO;将FFH内部RAM单位
的数送累加器
MOVX@DPTR。
A;再将其送往外部
RAM9C05H单位
INCDPTR:
外部RAM区地址加1
DJNZRO,LOOP;内部RAM区地址减1,
不为0继续
MOVA,@RO
MOVX@DPTR.A:
内部RAM换到外部
MOVA.SP;保护堆栈
MOVDPTR.#9C04H
MOVX@DPTR,A
MOVA.B;保护寄存器B
MOVDPTR,#9C03H
MOVX@DPTR,A
MOVDPTR,#9C02H;置掉电标志
MOVA,#56H
MOVX@DPTR,A
CLRP1.5;声光报警
NOP
NOP
CLRP1.5
NOP
NOP
CLRP1.5
MOVA,#55H
MOVRO,#OFFH
LOOP1:
MOVR1,#OFFH
LOOP2:
DJNZR1,LOOP2
NOP
NOP
DJNZRO,LOOP1
NOP
NOP
ANLA.#AAH
JZNO—DOWN ;延时130ms如电源依然存在,
是假掉电
FEIFU:
MOVRO.#FFH
MOVDPTR,#9C05H;恢复数据
LOOP3:
MOVXA.@DPTR
MOV@R0.A
INCDPTR
DJNZRO,LOOP3
MOVA,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 电表 预警 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)