宿舍用电智能管理系统设计Word文档下载推荐.doc
《宿舍用电智能管理系统设计Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《宿舍用电智能管理系统设计Word文档下载推荐.doc(22页珍藏版)》请在冰点文库上搜索。
![宿舍用电智能管理系统设计Word文档下载推荐.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/6550a687-76ab-46be-99af-4f62bbf6726b/6550a687-76ab-46be-99af-4f62bbf6726b1.gif)
该系统还可以安装串行通信接口与上位计算机进行远传通信。
关键词:
功率测量;
AT89C51单片机;
ADE7755;
LED显示
1引言
1.1课题的提出
高校学生宿舍的用电管理问题,一直是摆在高校学生宿舍管理者面前的一道难题,传统的以手工操作为主的学生宿舍用电管理方式,信息反馈慢,工作效率低,管理质量差。
在计算机信息技术飞速发展与广泛应用的今天,这种落后的管理方式与时代的步伐已显得格格不入,对学生宿舍用电实行智能化、信息化管理,是信息时代对高校学生公寓管理工作提出的客观要求。
几乎所有院校目前的学生公寓,是按房间安装了电度表,对学生宿舍用电实行定额管理。
学校按照规定给每个宿舍核拨用电定额。
用电在定额以内的部分,由学校承担,定额以外的部分,由学生自己承担。
但是由于没有安装“学校用电收费管理系统”等类似的相关系统软件,在用电管理过程中,每抄一次表就需要花很长的时间,同时还有大量的数据和信息需要处理,既费工又费力,还容易出错。
如何使数据与信息在用电管理系统的相关模块间流动起来,为学生宿舍用电管理提供科学的管理方法,使管理更严谨,同时更具有操作性,节省操作人员的劳动,成为学校用电收费管理人员的当务之急。
学校用电收费管理系统设计内容:
本系统是单机版的应用系统。
本系统设计具有以下功能:
(1)用户管理
(2)电费抄表登记(3)电费收缴(正常、超支、停电)(4)报表统计打印(5)用户用电查询(6)系统维护等。
本系统具备的特点有:
界面美观,操作方便;
大大提高工作效率;
能及时、准确地反映学生宿舍用电情况;
信息收集、处理、存储、打印方便;
收费程序更加规范;
系统可维护性强、管理集中。
本系统前台利用VisualBasic语言、后台使用ACCESS数据库进行开发,适用于windowsxp,或更高的软件支持平台,便于以后的系统扩展与更新,有着较好的开发前景。
使用本系统后可提高学生们的节电意识,减少大手大脚随意浪费电能的现象,对于学校用电管理的规范化、制度化建设等工作都起到积极的作用。
1.2系统分析
学校用电收费管理系统主要用于记录本学校学生公寓寝室的用电情况并在此基础上进行超支电费收取,并对用电用户、管理员档案资料、用电相关信息等进行录入与维护工作。
其主要的业务流程如下:
1.作为电费管理系统,首先得要有用电用户、管理员的最基本信息;
所以需要建立用电用户、管理员的档案资料,系统管理员对其进行添加、删除、修改等维护工作。
2.每个月的月末,抄表员收集好各寝室的上月及本月电表读数,先进行手工抄录。
然后将相关资料交给系统管理员或者直接进入抄表系统,设置好本月电表的基本信息、抄表情况、电费单价、收费时间等系统参数;
再将每个寝室的相关电表读数输入系统进行电脑自动计量和计费。
3.将本月所有的电表信息输入电脑后,既可完成了抄表工作。
系统管理员再根据本月的电表信息,对其进行校验和维护。
检验无误后,再发布缴费通知和本月的电费清单,并提供电脑查询电量电费等信息。
4.发布缴费通知后,便可开始对用户进行收取电费工作。
收费员或者系统管理员进入收费系统,对用户进行收取用电用户当月的电费、以往的欠款、当月及以往的滞纳金,并将收费情况进行登记。
5.缴费完毕后,对已缴费或未按时缴费的用户进行统计。
对未按时缴费的用户发布逾期情况的通知,并对逾期情况严重的用户采取停电措施。
6.系统管理员要对整个系统的数据库进行数据备份和数据恢复工作,以防止重要数据的丢失而加大工作量[1]。
2方案论证及系统设计
2.1有功功率测量方案论证
对于交流功率,有:
(式1)
(式2)
(式3)
其中瞬时功率(式4)
其中有功功率
(式5)
其中无功功率(式6)
其中视在功率(式7)
所以(式8)
有功功率测量方案分感应式电能测量和电子式测量功率。
这里主要论述电子式有功功率测量方案:
方案一:
用四象限模拟乘法器。
功率P=UI,所以可以用模拟乘法器测量功率,基本原理如图。
设,,,ZL是负载,经过RC滤波器后,其平均值代表有功功率[2]。
图1所示,这种方法是用纯模拟器件进行处理,他的特点是成本高,容易受干扰,精度不如意做高。
图1纯模拟电路处理电路
方案二:
直接对电压,电流进行ADC采样,用软件计算有功功率。
这种方法是用两路ADC分别对电压和电流进行量化,其中:
(式9)
(式10)
N是一个周期内的采样点数,,T为电压电流的周期,为采样间隔时间,和是电压和电流采样点的离散值。
单相有功功率的平均值是:
(式11)
单相功率因数的计算:
(式12)
这种方法是用微处理器直接对电压,电流进行ADC采样,特点是ADC硬件成本高,因为要做大量运算对微处理器性能要求比较高,精度也不容易做高[3]。
方案三:
用专用电能计量芯片。
如ADI公司的ADE7755专用电能计量芯片。
ADE7755是用于电能计量设备上的芯片,它将有功功率的信息以频率的形式输出。
在50/60Hz输入信号时都能满足IEC687/1036标准规定的测试精度要求,在1000:
1的输入动态范围内,测试误差小于0.1%。
ADE7755特点:
(1)在50/60Hz输入信号时都能满足IEC687/1036标准规定的测试精度要求,在1000:
1的输入动态范围内,测试误差小于0.1%;
(2)具有负功率或错线指示功能;
(3)片内带有抗混叠滤波器;
(4)带有电源电压检测功能,电源电压降低到80%VDD时,芯片自动复位;
(5)2.5V片内高精度参考电压源,绝对偏差小于4%,温漂小于20ppm/℃;
(6)5V单电源工作,正常工作时芯片功耗30mW;
(7)工作温度范围-40~85℃的特点;
(8)成本<
1美元。
根据上面优缺点分析采用第三种方案
2.2系统设计
系统设计的思想是用专用电能计量芯片对系统功率进行测试,用单片机对系统功率进行实时监控,但一段时间内的功率平均值超过设定值时,控制继电器切断电路,当人工处理后重新接通电路,对用户供电。
系统示意图如图2所示:
ADE7755
微处
理器
继电器
接口电路
分流器
分压
电路
按键电路
显示电路
电源电路
负载
中线
220V交流
相线
图2系统硬件示意图
3系统硬件介绍
3.1单片机简介
(1)单片机概述
单片微机简称单片机,也有的叫做微处理或微控制器,通常统称微型处理部件。
单片机专业名称—MicroControllerUnit(微控制器件)它由大名鼎鼎的INTEL公司发明的最早的系列是MCS-48后来有了MCS-51。
人们经常说的51系列单片机,就MCS-51microcontrollersystem它是一种8位的单片机。
8位是什么意思以后再讲。
后来,INTEL公司把它的核心技术转让给了世界上很多的小公司,不过再小也有几个亿的销售,所以世界上就有许多公司生产51系列兼容单片机比如飞利浦的,87LPC系列华邦的,W78系列达拉斯的,DS87系列的,GSM97系列等等。
目前在中国比较流行的就是美国ATMEL公司的89C51,它是一种带FlashROM的单片机,至于什么是FlashROM在这儿先不作介绍,等以后大家学到相关的知识时,自然就会明白智能化节电管理系统就是以该型号的单片机来作实验的。
讲到这里,也许有的人会问,平时在各种书上看到全是讲解8031和8051等型号的单片机,它们又有什么不同呢?
其实它们同属于一个系列,只是89C51的单片机更新型一点[6]。
(2)单片机的结构与组成
目前,单片机的系统结构有两种类型:
一种是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。
另一种是采用和PC机的冯.诺依曼(VonNeumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EPROM、OTP、ROM和FLASH等类。
(3)中央处理器(CPU)
单片机(嵌入式应用)属于专用计算机,主要应用于智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统。
单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
(4)定时器/计数器(T/C)
单片机内部有多个定时/计数器,单片机内部用于精确定时或对外部事件进行计数。
(5)系统时钟
单片机通常要外接晶体或其它振荡源来提供时钟的信号输入。
以上是单片机的基本构成,现代的单片机又加入了许多其他全功能部件,例如温度传感器、模拟与数字转换器(A/D)、数字与模拟转换器(D/A)、低压检测(LVD)电路液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、液晶(LCD)驱动电路、等等。
3.2单片机编程语言介绍
对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASIC。
BASIC通常附在PC机上,是初学编程的第一种语言。
一台计算机,无论是大型机还是微型机,如果只有硬件,而没有软件(程序),是不能工作的。
单片机也不例外,它必须配合各种各样的软件才能发挥其运算和控制功能。
汇编语言是一种采用助记符表示指令、数据和地址来设计程序的语言。
是一种表示机器指令的符号语言。
但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言的优点是可读性好,移植容易,是普遍使用的一种计算机语言。
缺点是占用资源较多,执行效率没有汇编高。
最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。
由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
3.3系统选择
本系统以MCS-51单片机成员中的AT89C51为控制核心。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
其内部结构结构如图3所示:
图3单片机内部结构图
3.4AT89C51引脚功能介绍
1.电源引脚Vcc和GNDVcc:
电源电压,GND(10脚):
接地端。
2.时钟电路引脚XTALl和XTAL2
XTALl(FPEROM—Flash
Programmable
and
Erasable
Read
Only
Memory)的低电压、高性能CMOS
8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
该引脚输入外部时钟脉冲如图4和图5所示:
图4AT89S51单片机晶振接法图5外部时钟电路
3.控制信号引脚RST
RES(8脚)“RST是复位信号输入端,高电平有效。
当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。
4.I/O(输入/输出)P0、P1、P2和P3
标准51单片机,如8051、8031、AT89C51、AT89S51、P89C51等有4个I/O(输入/输出)口,分别为:
P0口(39—32脚):
P0口是一个漏极开路的8位双向埠。
作为漏极八路的输出端口,每次能驱动8个Ls型TTL负载。
当P0口作为输入口使用时,其先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,叫作为高阻抗输入。
P1口(1—8脚):
P1口是一个带上拉电阻的8位准双向I/O端口每一位能驱动(吸收成输出电流)4个LS型TTL负载。
在P1口是输入端,应该先向锁存器写入全1,向上拉电阻接高电平。
P2口(21—28脚):
P2口是一个内部上接电阻8位准双向埠的接口。
P2口的每一个二进制位能带动4个TTL负载。
P3口(21—28脚):
P3口是一个带内部上接电阻的8位准双向埠。
P3口的每一位能驱动(吸收或输出电流)4个LS型TTL负载。
P3口与其它的I/O埠有很大区别,它除作为—般准双向I/O口外,每个引脚还具有专门的功能,见表1。
表1端口引脚功能
图6P1口作通用I/O口使用图
P1口也是一个准双向口,作通用I/O口使用。
其电路结构见图6。
输出驱动部分内部有上拉负载电阻与电源相连。
实质上拉电阻是两个场效应管(FET)并在一起,—个FET为负载管,其电阻固定;
另一个FET可工作在导通或截止两种状态,使其总电阻值变化近为0或阻值很大两种情况。
当阻值近似为0时,可将引脚快速上拉至全高电平,当阻值很大时,P1口为高阻输入状态。
当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。
在埠用作输入时,也必须先向对应的锁存器写入“1”,使FET截止。
由于片内负载电阻较大,约20k—40k,所以不会对输入的数据产生影响。
3.5学生宿舍楼用电量计量系统的设计
本系统以80C196KB为核心,进行了必要的扩展。
在设计电路时,已经考虑到输入端的泄漏电流、采样电容的大小等重要因素。
系统结构框图如图7所示。
键盘用于输入及功能选择,LCD用于显示测量结果,A/D转换接口电路外部电路应根据应用的需要来设计,它的好坏直接影响系统的性能。
图7系统结构框图
4硬件设计
限电控制器的硬件包括AT89C51单片机、ADE7755、分压分流电路、电源电路、LED显示电路等。
如图8所示。
ADE
7755
微
处
理器
按键电路
图8硬件系统图
4.1单片机最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统包括:
单片机、晶振电路、复位电路。
前面已经提到单片机选用AT89C51。
单片机及外围电路如图9。
图9单片机及外围电路
对于AT89C51单片机,其最小系统只需要电源、上电复位电路、时钟电路就能工作。
由于我们的程序存储器(ROM)采用内部Flash存储单元,所以单片机上的EA接高。
时钟电路的晶振采用12M的晶振,它由晶振、C8、C9和单片机内部的OSC电路组成,为单片机提供12MHz的时钟信号源。
微处理器系统在开始工作时必须对微处理器内部的寄存器等进行复位,使各个寄存器的值设为预定状态才能顺利开始工作。
本文从可靠性和成本考虑最终选用电阻电容来搭建复位电路。
对于51内核的单片机,RST是复位信号输入端,高电平有效。
R和C5为上电复位电路。
当单片机加电时由于RC充电的效果,使得复位脚保持一会高电平使单片机内部寄存器彻底复位。
4.2供电电路设计
本设计采用对市电220V电压进行变压、整流、滤波、稳压的方法获得系统所需的电源。
系统需要两种电压信号,一种是+12V,一种是+5V。
其中+12V电压为继电器控制电路供电。
+5v电源分为两路,一路为模拟电源,为ADE7755供电,另一路数字电源为微控制器电路供电。
在+5V电源电路中,经变压器变压后的电压范围为8-30V。
在这里选用12V。
即使市电电压由220V降低到146V,仍能正常工作。
电源电路由变压器、整流桥、三端稳压集成电路7805,以及滤波环节组成,其原理图参见图10所示。
图10电源电路
4.3继电器接口电路
继电器在本设计中的作用是当剩余电量小于断电限度值时,继电器断开供电卡回路,停止供电。
如果是小继电器,可以通过光耦直接驱动,单片的端口引脚接光耦输入,在光耦输出端,继电器的线圈作为上拉在接电源,或作为下拉接地,以单片端口的'
0'
或'
1'
控制光耦的通断,从而控制继电器线圈上电流的通断,从而决定继电器刀的开与闭。
如果继电器电流较大,需要在光耦与继电器之间加三极管驱动。
继电器驱动电路采用开关三极管8050,如图11所示。
图11继电器驱动电路
5软件设计
5.1KeilC51简介
1.对于8051单片机,现有四种语言支持,即汇编、FI/M、C和BASIC。
C是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生紧凑代码。
C结构是以括号()而不是字和特殊符号的语言。
C可以进行许多机器级函数控制而不用汇编语言。
与汇编相比,有如下优点:
(1)对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解
(2)寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;
(3)程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;
(4)具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;
(5)关键字及运算函数可用近似人的思维过程方式使用;
8051系列单片机作为工业标准地位,从1985年开始就有8051单片机的C语言编译器。
简称C51。
C51程序结构与一般C语言没有什么差别.一个C51程序大体上是一个函数定义的集合,在这个集合中有仅有一个名为main的函数(主函数).主函数是程序的入口,主函数中的所有语句执行完毕,则程序执行结束。
C5l提供的数据结构是以数据类型的形式出现的。
我们最常用的KeilC5l编译器具体支持的数据类型有:
位型(bit)、无符号字符(unsignedchar)、有符号字符(signedchar)、无符号整型(unsignedint)、有符号整型(signedint)、无符号长型(unsignedlong)、有符号长型(signedlong)、浮点(float)和指针类型等。
2.C51数据的存贮类型与805l存贮器结构:
KeilC51编译器完全支持8051单片机的硬件结构,可完全访问8051硬件系统的所有部分.该编译器通过将变量、常量定义成不同的存贮类型(data,Nata,idata,pdata,xdata,code)的方法,将它们定位在不同的存贮区中。
C51数据存贮类型与8051单片机实际存贮空间的对应关系如表2所示。
表2存贮类型与存贮空间的对应关系
存贮器模式决定了自动变量和默认存贮器类型,参数传递区和无明确存贮区类型的说明。
在固定的存贮器地址变量参数传递是C51的一个标准特征,在SMALL模式下参数传递是在内部数据存贮区中完成的。
LARGRE和COMPACT模式允许参数在外部存贮器中传递。
C51同时也支持混合模式,例如在LARGE模式下生成的程序可将一些函数分页放入SMALL模式中从而加快执行速度。
存贮器模式
描述
SMALL
参数及局部变量放入可直接寻址的内部寄存器(最大128bytes,默认存贮器类型是DATA)
COMAPCT
参数及局部变量放入分页外内部存贮区(最大256bytes,默认存贮器类型是PDATA)
LARGE
参数及局部变量直接放入外部数据存贮器(最大64K,默认存贮器类型是XDATA)
3.指针
FranklinC-51支持“基于存贮器的”和“一般指针”。
基于存贮器的指针由C源代码中存贮器类型决定并在编译时确定,用这种指针可高效访问对象且只需一个字节(idata*,data*,pdata*)或2个字节code*,xdata*)。
操作较短指针的代码被缩短,一般被“内行”编码;
库调用不再必要。
声明举例:
charxdata*pt
在xdata存贮器中声明一个指向对象类型为“char”的指针。
指针默认自身在默认存贮区(决定于编译模式),长度为2字节。
(值为0~0xFFFF)
charxdata*datapdx;
除了指针明确位于内部数据存贮器(data)中外,与上例相同。
它与编译模式无关。
datacharxdata*pdx;
本例与上例完全相同。
存贮器类型定义既可放在声明的开头也可直接放在声明的对象之前。
这种形式是为了与早期C-51编译器版本兼容。
上面例子阐明了指针的一般声明及使用。
它们与所有的数据类型和存贮器类型相关。
所有用于一般指针的操作同样可用于基于存贮器的指针。
这种定义的方法是引入关键字“sfr”,语法如下:
sfrsfr_name‘=’intconstant‘;
’
例:
sfrSCON=0x98;
/*串口控制寄存器地址98H*/
sfrTMOD=0x89;
/*定时/计数器模式控制寄存器地址89H*/
在典型的8051应用问题中,经常需要单独访问SFR中的位,C51的扩充功能使之成为可能。
特殊位(sbit)的定义,像SFR一样不与标推C兼容,使用关键字“sbit”可以访问。
位寻址对象。
sbitCY=PSW^7;
\*定义CY位为PSW.7地址为0xD7,*\
sbitbee