基于51单片机的智能电表设计 毕业设计

基于51单片机的智能电表设计 毕业设计
基于51单片机的智能电表设计 毕业设计

摘要

电表表示着人们日常用电的多少,现在每家每户安装的基本上是带有转盘的那种电表,它只能显示出用电总量。若想查看上个月的用电量,只能靠电费单计算得来。现在已经是信息时代了,这种做法很显然跟不上社会潮流。

近几年来,社会提倡低碳、绿色经济和可持续发展,在这种思想的推动下,智能电表将会成为社会的潮流。智能电表是在传统电表的基础上增加了自动化和智能化的功能,从而进一步提高电网的效率、提高供电的可靠性、电能的质量并且完善用电户的服务,从而更好适应电力市场。现在智能电网是全球电力部门研究和讨论的热点话题,智能电表是智能电网中的最重要的环节,它支撑着电网的信息化、自动化以及互动化等方面的实现。

微处理器是智能电表的最主要的核心器件。它可以储存海量的检测数据,同时对测量出的结果进行分析、判断和处理。本次设计是运用单片机STC89C52为微处理器、CS5460A 芯片进行电能测量和计算、X5045芯片作为外部存储、数码管进行显示进行设计的。

关键词智能电表;自动化;C51单片机;CS5460A

Abstract

Electricity meter means the number of people everyday electricity, and now every household is basically equipped with the kind of meter, which can only show the total amount of electricity. To see the power consumption last month, only by electricity single calculated. It is now the information age, and this approach is clearly not social trends.

In recent years, the social promotion of low-carbon, green economy and sustainable development, in the promotion of this idea, smart meter will become the trend of the society. Smart meter is automatic and intelligent function is added on the basis of traditional meter, energy efficiency so as to further improve the power grid, improve power supply reliability, power quality and perfect service of the users, in order to better adapt to the power market. Now the smart grid is a hot topic in the global power sector research and discussion, the smart meter is the most important part of smart grid, which support the realization of grid informationization, automation and interaction of.

The microprocessor is the most important core device of the smart meter.. It can store vast amounts of detection data and analyze, judge and process the results of the measurement.. This design is the use of single-chip microcomputer STC89C52 and CS5460A chip for power measurement and calculation, X5045 chip as the external storage, digital tube display design.

Key words Smart meter Automation 51 MCU S5460A

目录

摘要.......................................................................................................................................... I Abstract......................................................................................................................................... II

第1章绪论 (1)

1.1智能电表的概念 (1)

1.2智能电表的发展背景 (1)

1.3智能电表的结构 (2)

1.4智能电表的主要特点 (2)

第2章主要芯片的介绍 (4)

2.1微控制器STC89C51单片机 (4)

2.1.1 简介 (4)

2.1.2 主要特性 (4)

2.1.3 引脚功能 (4)

2.2电能计量芯片CS5460A (6)

2.2.1 简介 (6)

2.2.2 主要特征 (7)

2.2.3 引脚功能 (7)

2.3外部寄存器X5045 (8)

2.3.1 简介 (8)

2.3.2 主要特性 (8)

2.3.3 引脚功能 (9)

2.4时钟芯片DS1302 (9)

2.4.1 简介 (9)

2.4.2 主要特性 (9)

2.4.3 引脚功能 (10)

2.574HC138译码器 (10)

2.5.1 简介 (10)

2.5.2 主要特性 (10)

2.5.3 真值表 (11)

2.6LED数码管 (11)

第3章总体设计方案 (12)

3.1设计功能要求 (12)

3.2智能电表的总体方案设计 (12)

第4章硬件部分的组成 (13)

4.1电压电流采样模块的设计 (14)

4.1.1 电压调理电路 (15)

4.1.2 电流调理电路 (15)

4.2CS5460A的外部电路 (15)

4.3数码管连接电路 (16)

4.4组合键盘连接电路 (16)

4.5EEPROM连接电路 (18)

4.6时钟芯片DS1302连接电路 (18)

第5章软件部分的设计 (19)

5.1主程序流程 (19)

5.2CS5460数据交换方法 (20)

5.3时钟芯片的读写流程 (21)

5.4外部寄存芯片的读写流程 (21)

5.5按键扫描流程 (22)

5.6数码管显示功能的实现 (23)

结论 (24)

参考文献 (25)

致谢 (26)

附录 (27)

第1章绪论

1.1智能电表的概念

智能电表它是科技时代的新产物,它能够进行测量、数据处理,因此测量单元、数据处理单元是它的重要组成部分。在智能电表这一系统中,它能通过各类型的芯片来进行电能的测量、计算、存储,并且具有实时监控功能和自动控制等功能。和传统的电能表相比。计量功能是智能电表的最基本的功能,而它本身就是一个电子式的电表,并且它能够通过端口与外部时钟进行通讯[1]。

微处理器(单片机)是智能电表的最主要的核心器件,没有了它,智能电表就不可以对大量的测量数据进行存储、分析、判断和处理等功能。智能电表通常具有自动检测数据的功能、数据的强大处理功能、数据换算和自动调零功能、并且可以通过操作面板进行人机交流和显示装置。本次设计的智能电表主要运用了微机和通信等两方面的技术,为了减少能耗,把采集数据和处理数据等功能运用芯片进行,这样既可以节省了成本以及人力资源,还可以增加其工作的效率,可以满足了现代的用电户的需求[2]。

1.2智能电表的发展背景

现在,智能电表主要分为感应式、电子式和智能式等类型,而我国又是生产电能表数量较大的国家,并且我国生产的电能表接近或者基本达到发达国家的技术水平,并且我国生产的电能表能够满足不用地区和国家的市场需求,而且我们还有价格优势,因此我国的电能表在全球各市场上有很好的竞争水平。随着我国电网的不断智能化,我们对电表之类的电能计量的器件的要求也不断提高,我国的电网科技和外国在科学技术水平上差距不是很大,与此同时它还是低碳经济的最主要组成部分,所以其发展前景是相当乐观的,和国外的同类产品相比,我国的智能电表的作用完善、有规律、分类式的单价电费和控制负荷等功能都比其他国家高,这更加能够满足我国在电网上现代化智能化建设过程中的需求。

目前,我国的用电户人数非常之多,根据2009年的统计,在年底就已经有2.3亿的用电户记录在国家电网公司的服务系统中,按每户平均有4个人计算,就有10.4亿人口,这么庞大的数量,要在全国内推广智能电表看来绝非一件简单的是,它不仅需要庞大的资金,而且还需要大量的人力、物力以及很长的时间来进行。同时,智能电表的功能多样化和显示的数据种类多,可以给用户准备更多的用电服务,不过更换电表也是就要得到用电户的同意、体谅和包含,所以用户也要一个对智能电表进行一定的了解,因此我们就要动员社会各界的力量来对此进行有效的宣传[3]。

自从国家电网公司发布一系列的电网智能化改革的计划之后,有关电表和智能化、自动化的产业的发展面临前所未有的前景。

在未来智能电表发展的趋势可以分为以下几个方面:

(1)模块化

这样智能电表维修起来就会非常方便,就算是一个不懂它的人也可以对它进行简单的维护和修理,只要注意用电安全就行了,并且它具有安全可靠性;

(2)智能电表的多样化

它可以利用多功能控制元件来进行对智能家居的调控,比如说,我们可以控制空调的大型耗电设备在电费相对便宜阶段启动;

(3)计算机的实时控制

用电户可以通过计算机对智能电表的某些功能进行调控,从而对电表下所有的用电器实行能源管制。

1.3智能电表的结构

根据智能电表的介绍,不难看出,智能电表是由两大部分组成,它们分别是软件部分和硬件部分。我们也可以说它是一个小型化的专用的计算机系统。

在硬件部分上,主要由微处理器(单片机)、信号的输入输出通道、标准的通信口、进行人机交换的通道以及外围的电路组成。信号的输入输出通道主要能够让模拟信号以及数字信号通过,从而与外部进行数据交换,输入输出通道主要包括传感器元器件、数模转换器、调理信号电路部分以及模数转换器。微处理器和它的外围电路这部分主要是用来储存数据和程序的,并且在单片机里面能够对数据进行一定的运算和处理,这部分主要由数据寄存器和程序寄存器以及输入输出端口电路的部分组成的。人机交换的通道顾名思义就是人与机器进行互相交流的重要通道,它通常包括键盘部分、数码拨盘部分、打印机部分、显示部分等部分构成的。标准的通讯接口很明显就是用来与计算机进行交流的端口,这些端口方便计算机对被控器件进行有效的控制。

在智能电表中,监测程序和端口管理程序这两部分就构成了其软件部分。其中接口管理程序主要是面向通信接口,它的只要作用就是接受并且分析各种各样的程控码,主要包括各种操作方式的程控码、不同功能的程控码以及各种工作参数的程控码等等,以此同时各器件的实时工作状态以及不同测量数据的处理结果都会通过通信接口的输出仪器部分,以这种方法来响应计算机的远程控制指令。而监测程序就实现对键盘模块和显示模块进行操作,它可以设定某一按键的功能并存储相应的工作参数和运行方式,它可以通过I/O口对数据进行采样并且设定好数据的类型等参数,还可以通过相应的指令对数据寄存器中的数据和状态进行不同的分析处理,最后,当数据处理完成后,它就可以以各种各样的形式对分析和处理的结果进行显示[4]。

1.4智能电表的主要特点

和机械时的电表进行对比,智能电表包含以下几个特征:

(1)精度高的测量 智能电表能够很好的运用单片机对命令的执行的快速性以及数模转换花费时间短的特点,能够对要被测量的数据进行多次的测量,然后对每次测量的数据进行求平均值,这样就可以排除某些偶然的误差以及一些不确定的干扰,它还可以通过微处理器的滤波命令来进行数字滤波,从而排除一些随机误差以及大误差,用这些方法可以大大的提高测量的精度;

(2)能够进行间接的测量 智能电表中的微处理器可以通过编程来进行各种计算,一些能以测量的数据可以通过几种容易测量的数据进行整合和计算来得到;

(3)可以进行自动校正 智能电表会在刚上电时就会进行自动校正,而在测量的过

程中对系统进行校正,可以减少误差;

(4)能够自动修正误差;

(5)具有自诊能力 智能电表本身就具有故障诊断的功能,如果它发生了故障,就会启动自诊功能,就可以自己检查出系统哪里出问题;

(6)能够进行复杂的控制;

(7)可以通过程序来灵活改变功能;

(8)智能电表的通讯接口通常都是GPIB口或者是RS232口,而这些端口的功能就帮助智能电表进行远程操控。使其能够简单地与计算机或者其他不同仪器结合在一起,从而根据不同用户的不同需要对多种不同数据进行的自动检测,并通过系统的控制来完成[5]。

第2章主要芯片的介绍

2.1微控制器STC89C51单片机

2.1.1 简介

STC89C51单片机具有低电压、高性能的特点,它内部带有4K字节的快速寄存器,而他的处理器是8位的。单片机的内部只读存储器中的数据可以重复擦除的次数达到1000多次,单片机的内部存储器主要采用一些高精度的并且不容易的丢失的材料和存储技术来制造的。由于单片机内部已经包含多功能的8位处理器以及快速寄存器,所以STC89C51单片机也是一种高效率的微处理器[6]。其引脚图如图2-1所示。

图2-1 STC89C51的引脚图

2.1.2 主要特性

(1)与MCS-51 相兼容;(2)4K字节的可编程FLASH寄存器;

(3)寿命:可1000循环写/擦;(4)数据保留时间:10年;

(5)全静态的工作频率:0Hz-24MHz;(6)三个级别的程序寄存器锁定;

(7)128×8位的内部RAM;(8)32可编程的I/O线;

(9)两个是十六位的定时器或者说是计数器;

(10)5个中断源;

(11)可编程的串行通道;

(12)包含低功耗式闲置以及掉电的功能;

(13)包含片内振荡电路以及片内时钟电路。

2.1.3 引脚功能

(1)VCC:供电电压。

(2)GND:接地。

(3)P0口:这个端口是一种双向的数据传输的I/O端口,在单片机的内部,在与漏极开路的电路进行连接,所以它的八个引脚都可以吸收8TTL的门电流。假如当它被置为逻辑1时,它就会成为高阻输入端。又因为它可以用作外部程序寄存器,所以这是它会当作是数据地址的低8位来进行处理。在进行程序编程的时候,它还可以当作源代码直接的输入端口来使用;如果它用作输出数据时,它每一引脚都必须要在单片机外部连接一个上拉电阻,这样它才能够正常使用;或者它可以利用外部锁存器来输出数据,这是它就不需要连接上拉电阻,但是要在锁存器的输出电路上连接电阻。

(4)P1口:这个端口是一类双向的八位的I/O端口,与P0不同的是它内部已经与上拉电阻相连,4TTL门电流可以通过它的缓冲器进行接收或者由其发送出来。如果它被置为高电平时,在单片机的内部它就会被提高成高电平,这是它会被当作输入端口使用;如果由于外部的原因,它被拉成逻辑0时,他就会对外输出一定的电流,这就是因为内部为逻辑1。在进行程序编程或者校验时,它会对数据或地址的低8为进行接收或发送。

(5)P2口:这个端口是一种八位的双向的I/O口,与P1相同同的是它内部已经与上拉电阻相连接,4TTL门电流可以通过它的缓冲器进行接收或者由其发送出来。如果它置高逻辑1,在单片机内部它所对应的引脚的电位就是被拉高,并且当作输入端,所以当它被当作输入端时,它的管脚外部电位就会相对内部被拉低,同时输出电流。当这一端口用作外部程序寄存器或是十六位的外部数据寄存器时候,这时它就会输出十六位数据中的高8位数据。如果它的地址是“1”的时候,并且进行外部8位地址数据读写时,它就会很好地运用它的内部电位被上拉的优势,输出它的特殊功能寄存器里面的数据。当进行程序编程和校正时,它口负责接收高8位的地址数据信号以及部分控制信号。

(6)P3口:这个端口是一个八位的双向的I/O口,与P1相同同的是它内部已经连接了上拉电阻,4TTL门电流可以通过它的缓冲器进行接收或者由其发送出来。当它被置为逻辑1之后,它的每个管脚就会被内部上拉电阻上拉成逻辑1,并且当作输入端口。而这组端口在单片机STC89C5都有自己对应的第二功种能,如表2-1所示:

表2-1 P3口的第二功能

(7)RST:复位输入。

(8)ALE/PROG:当微处理器对外进行存储器扩展时,当它被置为高电平时,它就会启动单片机的锁存功能,这时微处理器就会把P0口的数据全部放进锁存器里面,从而进行地址和数据隔离;如果它被置为逻辑0时,那么微处理器就不会启动锁存功能。在单片机没有与外部寄存器进行数据交换是,它会把单片机的震荡频率分成6分并去其中一分进行输出,而这个信号可以用作外部时钟信号;反之,它会再去已分频率的一半进行输出。

(9)/PSEN:当它被置为逻辑0,就表示外部程序寄存器被选通。当单片机对外部ROM 进行读取时,两次/PSEN有效会在同一个机械周期中出现;但是,当单片机读取的是外部RAM时,这些有效的/PSEN信号就会被跳过。

(10)EA/VPP:当该引脚保持逻辑零时,单片机就会直接读取外部程序寄存器中的数据,这是无论在单片机是否存在内部程序寄存器。否则的话,在存在外部程序存储器的条件下,首先读取内部程序存储器的数据,再读取外部的。在进行程序编程时,它会提供为单片机提供12V的烧写电压

(11)XTAL1:单片机的片内振荡电路的输入端口,以及时钟接入引脚。

(12)XTAL2:单片机的片内振荡电路的输出端口,以及时钟接入引脚。

2.2电能计量芯片CS5460A

2.2.1 简介

CS5460A 是美国的Crystal system公司生产的一种芯片,它一种专门用来测量电压电流以及功率电能的芯片,它具有高精度、性能强、低成本等特点。在CS5460中集成了两个模数转换器、一个高度集成的串行接口的的模数转换器以及一个能够高速计算电能的计数器,因此它能够精确测量并且计算出所测电路中的有功电能、电压电流的有效值以及电压电流电功的瞬时值,所以它通常会用来研发三相四线制和单线两相制电表。CS5460的电压电流输入端不能直接测量电力线上的数据,它需要通过低成本的电压电流互感器来进行变比才能够进行测量。而CS5460芯片与微处理器是通过串行数据传输的方式进行连接的。

CS5460还具有“自引导”的功能,也就是说它能够在没有微处理器的情况下,能够独立运行。在此模式下,只要系统上电,它就会自动初始化,并且可以从外部寄存器中读取要校准的数据以及启动指令,这样可以大大的降低成本,而且CS5460芯片的集成程度要远远高于微处理器[7]。它的引脚如图2-2所示:

图2-2 CS5460的引脚图

2.2.2 主要特征

(1)能够在片内进行数据计算和处理;

(2)能够在没有微处理器的情况下,在自引导模式中,与外部寄存器连接,并且具有电能/脉冲互换功能;

(3)具有数模/模数系统校正的能力;

(4)运用简单的三线数据串行传输接口进行数据传输,读写方便;

(5)具有看门狗定时功能;

(6)片上 2.5 V 基准(60×10-6/OC),单电源 +5 V 或双向 2.5V±10℅电源;

(7)具有方向的功率输出指示;

(8)可以精确的检测和计算出瞬时的电压电流和功率相应的值、周期电能总量和电压电流的有效值,并且能够进行电能之间的脉冲转换;

(9)电能测量精度:0.1%;

(10)能够在片内进行相位补偿和对系统进行校准;

(11)片内含有机械计度器或者说是步进电机的驱动器;

(12)内带电源监视器;

(13)电能数据的线性度:在1000 :1 的数据的动态检测范围中,电能的数据的线性度大约为±0.1%;

(14)功率消耗<12mW;

(15)电源配置:VA+=+5V,VA-=0V;VD+=+3V至+5V 或VA+=2.5V,VA-=-2.5V;VD+=+3V。

2.2.3 引脚功能

(1)OUT、XIN:这两引脚能够对系统时钟进行输入输出,它们之间通常接2.5—20MHZ 的晶振,成为系统时钟,同时片内的分频单元会把输入的晶振频率进行分频,进而得到不同的时钟频率。另外还可以通过XIN管脚对CS5460进行外部时钟的引入。

(2)CPUCLK:CS5460芯片内部的振荡电路的输出端端口。

(3)SCLK:这是串行时钟输入端,我们可以根据这管脚输入的串行时钟的快慢来确定SDI输入串行端和SDO输出串行端的传输速率。在片内,它与一个施密特触发器相连,它要在CS有效的时候才会识别出时钟信号。

(4)SDO:行数据输出引脚。

(5)CS:片选引脚。

(6)MODE:这是模式选择的引脚,如果它被置为高电平时,CS5460就可以与外部串行数据寄存器组合,并且实现自引导的功能;如果它被置为逻辑零时,CS5460就会与微处理器实现数据交换。

(7)INT:中断输出引脚。

(8)ETOU:电能输出引脚。

(9)EDIR:电能方向指示引脚。假如电能为负值时,这一端口就会输出一个信号。

(10)SDI:串行数据输入引脚。

(11)VIN+、 VIN-:正负电压的差分模拟量的输入输出端口。

(12)VREFOUT:参考电压输出引脚。此引脚的电压相对于VA-为2.5V。

(13)VREFIN:参考电压输入引脚。

(14)IIN+、IIN-:测量电流的输入引脚

(15)VD+:数字电源。

(16)DGND:数字地。

(17)VA+、VA-:正负电源的差分模拟量的输入输出端口。

(18)PFMON:电源故障监测引脚。用于监控模拟电源。

(19)RESET:复位引脚。

2.3外部寄存器X5045

2.3.1 简介

X5045是一种结合EEPROM功能、看门狗复位功能、电压跌落检测功能等三中功能的三合一的监控芯片。它使用SPI总线与处理器进行通信,是在兼有储存和监测的单片机系统中的最佳选择。它的引脚图如2-3所示:

图2-3 X5045的引脚图

2.3.2 主要特性

(1)支持MOTOROLA推出的SPI总线协议;

(2)具有选重置时间的看门狗定能力;

(3)能够检测供电电压是否跌落以及具有复位控制功能;

(4)5种标准的复位电压;

(5)当供电电压变成1V时,芯片仍然可以保证复位输出;

(6)多种芯片可选择不同的工作电压;

(7)内置4Kbit的EEPROM,可反复擦写100万次;

(8)可对EEPROM数据进行全部或分区保护;

(9)可对硬件和指令写保护,使数据更加安全;

(10)时钟可达3.3MHZ;

(11)读写速度快,16字节的页的读写速度;

(12)经典写周期为5mS;

(13)商用级温宽为0~70摄氏度,工业级温宽为-40~84摄氏度;

(14)6字节的页写入模式;

(15)复位信号输出可持续输出200MS。

2.3.3 引脚功能

(1)CS/WDI 使能及看门狗复位输入;

(2)SO 数据输出(可与SI复用);

(3)WP 写保护(低电平保护);

(4)Vss 参考0电位;

(5)SI 数据输入;

(6)SCK 时钟输入;

(7)RESET 重置信号输出端(必须接上接电阻);

(8)Vcc 电源电压。

2.4时钟芯片DS1302

2.4.1 简介

DS1302是美国达拉斯半导体公司生产的一种实时时钟电路的芯片,它具有低功耗、高性能并带有RAM的特点,它能够对时、分、秒、年、月、日、周进行准确的计算,并且能够计算闰年,它的工作电压是2.5V到5.5V。它基本上是运用三线的接口与微处理器实现串行通讯。同时,它采用双电源供电,以防断电时时钟能够继续运行。其引脚如图2-4所示:

图2-4 DS1302的引脚图

2.4.2 主要特性

(1)能够对时、分、秒、年、月、日、周进行准确的计算,并且能够计算闰年;

(2)31*八位数据暂存储RAM;

(3)使用串行I/O 口的通讯方式,大大减少管脚的数量;

(4)大范围工作电压2.0到5.5V;

(5)当工作电压为2.0V 时,工作电流应该小于300nA;

(6)通过单字节或者数组对数据进行传输;

(7)简单3 线接口;

(8)与TTL兼容Vcc=5V;

(9)可选工业级温度范围-40℃到+85℃;

(10)与DS1202 兼容;

(11)在DS1202 基础上增加新特性;

(12)对Vcc1 有可选的涓流充电能力;

(13)增加的七字节的数据暂存器。

2.4.3 引脚功能

(1)X1 X2 32.768KHz 晶振管脚;

(2)GND 地;

(3)RST 复位脚;

(4)I/O 数据输入/输出引脚;

(5)SCLK 串行时钟;

(6)Vcc1,Vcc2 电源供电管脚。

2.574HC138译码器

2.5.1 简介

74HC138是一款高速CMOS器件,7它可以把三位的二进制的地址演变成八个二进制地址,我们通常称它为38译码器。同时它还有三个使能输入端,其中有两个逻辑0时是有效,一个逻辑1时有效,当它们三个端口同时有效时,38译码器才会运行。因此,在单片机系统中,我们通常用它来进行引脚的扩充。它的引脚如图2-5所示:

图2-5 74H138译码器的引脚图

2.5.2 主要特性

(1)复合的使能输入端,能够方便的对单片机的引脚数量进行扩展;

(2)HBM EIA/JESD22-A114-C超过2000 V MM;

(3)EIA/JESD22-A115-A超过200 V;

(4)温度范围 -40~+85℃ -40~+125℃;

(5)多路分配功能。

2.5.3 真值表

表2-2 74H138译码器真值表

2.6LED数码管

LED数码管事实上上就是由多个发光二级管够成的,它们在系统里按照一定的方式组成一个数字“8”,它们在系统中已经连接好,其中它们的阳极相互连接的,并与正电源相连接的叫做共阳数码管,而它们阴极相互连接的,并且与负极电源相连的称为共阴数码管。而数码管事实上包括由小数点在内的八个发光二极管带点的数字“8”,那就成为了八位段选码,在字面上我们用a到g这7个字母加上dp来表示这些对应的段选码。当数码管内相应的引脚上电之后,对应的LED灯被点亮,从而组成成我们可以看见的字样了。常用LED 数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。本次设计,我运用两个四位共阴数码管进行表示。它的引脚如图2-6所示。

图2-6 四位数码管的引脚图

相关文档
最新文档