基于单片机的智能 IC 卡电表设计40硬件系统41毕业论文.docx
《基于单片机的智能 IC 卡电表设计40硬件系统41毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能 IC 卡电表设计40硬件系统41毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。
![基于单片机的智能 IC 卡电表设计40硬件系统41毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-7/12/c85eb537-868c-4399-82de-9709f8ac2c50/c85eb537-868c-4399-82de-9709f8ac2c501.gif)
基于单片机的智能IC卡电表设计40硬件系统41毕业论文
(此文档为word格式,下载后您可任意编辑修改!
)
南昌工程学院
毕业设计(论文)
信息工程学院系(院)电子信息工程专业
毕业设计(论文)题目基于单片机的智能IC卡电表设计(硬件系统)
学生姓名某某某
班级09电子信息工程
学号2009100234
指导教师欧阳瑾
完成日期2013年5月20日
基于单片机的智能IC卡电表设计(硬件系统)
TheDesignofIntelligentICCardMeterBasedonSingleChipMicrocomputer(HardwareSystem)
总计毕业设计(论文)32页
表格2个
插图22幅
摘要
电表是我国电工仪表行业中产量最大的产品,随着高新技术尤其是电子信息技术的快速发展,电子式、多功能、高精度、多费率、自动抄表等产品的优势突显,且已经逐步成为电表发展的主流。
智能电表具有数据的保护,报警功能,断电的显示,负荷的控制,防窃电功能,远程抄表系统等功能,从计量到数据处理都采用以集成电路为核心的电子器件,从而取消了电表上长期使用的机械部件,随着智能化电表的发展,将最终取代传统电表在用户中的使用。
本文主要应用IC卡单元,89C51单片机,LED显示器等各个单元来完成费率的计算,数据的显示,报警,使电表实现智能化。
并根据阶梯电价计算出卡内电费剩余等情况,自动报警功能用蜂鸣器进行模拟,并通过四个键盘实现显示的切换以及电价的调整功能,IC卡采用西门子公司的SLE4442卡,可实现逻辑加密,可反复读写,卡内数据保密性好。
关键词:
智能化电表89C51单片机电能计量
Abstract
MeterisoneofthelargestproductoutputinelectricalinstrumentationindustryinChina,withtherapiddevelopmentoftechnology,electronic,multi-function,,alarmfunctions,andthedisplayofpower,loadcontrol,preventingelectricity-stolen,remotemeterreadingsystem,andotherfunctions,rangingfrommeasurementtodataprocessingadoptsintegratedcircuitasthecoreofelectronicdevices,andcancelledthemetersonthelong-termuseofmechanicalparts,withthedevelopmentoftheintelligentelectricmeter,willeventuallyreplacethetraditionalelectricmeterusedintheuser.ThispaperapplicationofICcardunit,89c51,LEDdisplays,andotherunitstocompletetheratecalculation,datadisplay,alarm,intelligentelectricmetertorealize.Andaccordingtotheladderelectricitypricetocalculatethesurpluselectricity,andsoonandsoforth,insideofthecard,tosimulatetheautomaticalarmfunctionwithabuzzerandimplementationbyfourkeyboarddisplayswitchandelectricitypriceadjustmentfunction,usingSiemensSLE4442cardICcard,whichcanrealizethelogicalencryption,canberepeatedlyreadandwrite,Kanedataconfidentiality.
Keywords:
Intelligentelectricmeter;89C51;Electricitymeasurement.
摘要I
AbstractII
第一章引言1
1.1智能电表应用的意义1
1.2智能电表的发展1
第二章总体方案设计3
2.1方案比较3
2.2方案选择6
第三章器件介绍和单元模块设计7
3.1器件介绍7
3.1.1AT89C51单片机7
3.1.2ADE77587
3.1.3DS128879
3.1.4LCD160210
3.1.5SLE444212
3.2单元模块设计12
3.2.1电源模块电路12
3.2.2信号采集电路14
3.2.3计量模块15
3.2.4时钟及LCD显示模块16
3.2.5接触式IC卡模块18
第四章软件设计20
4.1主要软件设计流程框图及说明20
4.2主要芯片读写程序设计及设计工具21
第五章仿真调试26
结语28
参考文献29
致谢31
附录电路图32
第一章引言
电表是我国电工仪表行业中产量最大的产品。
近几年,国家连续出台的多项与电表行业发展相关的政策以及房地产产业的迅速发展,为电表需求的上升及保持行业发展的相对稳定起到了一定的保障作用。
随着高新技术尤其是电子信息技术的快速发展,电子式、多功能、高精度、多费率、自动抄表等产品的优势突显,且已经逐步成为电能表发展的主流,在未来几年里,这种趋势将更加明显。
城乡电网改造,使电工仪器仪表行业步入了快速发展的轨道,同时也为行业企业提供了一个科技创新的平台,电工仪器仪表生产企业抓住机遇,通过对国外先进技术的兼收并蓄,并高标准、高起点自主开发了一系列高技术产品。
因此研究本课题具有重要的实用意义。
1.1智能电表应用的意义
目前,我国已经开始大面积推广并使用智能电表,以实现对电价分时,阶梯的统计,随着我国经济的发展,用电量激增,对于电能的管理显得尤为的重要。
在现代生产生活中,电能已经发展成为一种重要的能源资源,我国电力事业在改革开放的30年中,发展极为迅猛,所以相应的电能计量仪表制造业的进步也必须与之相适应,这对于电力事业进行统筹规划和发展,促进我国电力事业稳定,健康的发展有着极其重要的意义。
新型智能电表不仅具有传统电表的功能,还能对用户的用电情况进行管理和控制,并且相比于传统电表的机械式结构,没有机械摩擦,大大的提高了准确度和灵敏度,且易于实现自动化测量,并且可以实现远程通讯和控制,具有较高的性能价格比,适合我国国情,有广泛的引用价值。
智能电表利用微机技术,通讯技术等等,减少了能量的消耗,把采集,处理集中于一体,节省成本和人力资源,提高了工作效率,适应了现代用户的需求。
1.2智能电表的发展
智能电表是在电子式电表的基础上发展而来,欧美发达国家于20世纪70年代研发并开始使用,经过30多年的不断发展,欧美国家不断对智能电表技术进行革新,功能日趋完善。
智能化电表,大体上可分为两种类型:
带有微处理器的机电式和全电子式。
机电式借用原感应式电表的机芯,通过光电传感器读取转盘转数来测量用户的用电量,如磁卡式电表、电卡式电表、IC卡电表等;而全电子式电表则采用电压电流隔离方式,进行AD转换,将采样值相乘并累计计算用户的用电量。
机电式智能电表成本较低,主要用于单相电表,适合于居民用户使用。
全电子式电表主要用于三相电计费,针对企业应用。
为了实现远程自动抄表,应选择配有通信接口的智能电表,通常有RS—485、RS—232、CAN总线收发器或红外等几种接口形式。
目前,我国的智能电表也可大致分为机电一体式和全电子式两种,机电一体式即在原有机械结构的基础之上附加一定的电子元件,从而达到所需的功能要求,安装简洁,多用在老实机械表的改装,成本低。
全电子式则是采用集成电路为核心,取消了老式电表的机械结构,减少了机械摩擦,使得计价更加准确,可靠性高,耗电少,体积小。
在收费系统方面,目前国内上使用最为广泛的为IC卡电表收费,成本低,可靠性好,且使用寿命长,一张IC卡基本可使用10年以上,且可实现,预收费,自动断电,加密等多种功能,但是IC卡收费系统也存在很大的缺陷,用户终端仍然与整个网络脱节从经济角度来看电力部门先收费后送电不符合经济政策,可以说在一定程序上侵犯了用户的利益。
随着我国提出发展智能坚强电网的提出,为我国电网设施的发展提供了机遇,未来,智能仪器仪表将向着数字化,智能化,网络化,微型化的趋势发展,并进一步与微处理器,PC技术融合,使仪器仪表技术的数字化,智能化水平不断提高。
第二章总体方案设计
本电表采用分时计费原则,将电压,电流等参数进行采集,并输入微处理器,进行运算,并最终实现对于电能的准确计量和控制。
因此我们可以采用单片机设计一个智能IC卡电表,采用低功耗设计,正常工作时关闭显示功能,当有IC卡插入时轮流显示当前的用户信息。
系统主要功能包括:
(1)预付费功能:
通过IC卡实现先付费后用电。
(2)电量报警功能:
当电能表剩余电量低于告警电量时,通过报警指示灯和蜂鸣器告警。
(3)电能计量功能:
配合感应电表及计量芯片实现对电能的计量。
(4)保密功能:
通过IC卡加密,实现IC卡与电能表的唯一对应,可以严格有效地防止伪造和复制IC卡的行为,在一定程度上便于电力部门的管理与监督。
(5)自动复位功能:
当电能表受到干扰程序跑飞时,通过看门狗电路实现系统自动复位。
(6)数据自动存储与显示功能:
用户数据自动保存在EEPROM中。
通过LCD显示当前用户数据。
2.1方案比较
智能电表的设计,是基于对用户电压电流信号进行采集,并通过微处理器进行核心运算,当电压电流信号通过采集以后,通过高精度的AD采样保持,最终输入微处理器,另一方面,通过IC卡座实现对IC卡内部金额的读取,输入单片机,并且要求通过功率和电费的计算,进行显示与报警。
对于电力参数的测试,例如电压,电流,有功功率,无功功率,视在功率等,现在都有成熟的测量计算方法,对于电压有效值的测量,可以利用积分电路来实现,也可以利用时间采样信号,将信号值平方,去均值以后,得到平方根,通过AD,进行采样,有功功率定义为:
(2.1)
其中
和
为电压和电流的有效值,
为功率因数。
而对于非正弦波形的计算,只有通过积分运算来完成。
方案一:
图2.1方案一
在本设计方案中,核心器件为微处理器,这里我们选用是AT89C51单片机,当信号采样后通过AD转换,送入微处理器,进行数据的分析和计算,智能电表的实现必须对用户的功率进行准确的计算,在信号采集模块中,通过电压互感器和电流互感器,对用户的电压和电流信号进行采集,微处理器进行功率和电费的计算,可通过LCD显示,并可以通过键盘对分时电价进行调整,实现显示的转换和调整,并运用单片机内部时钟设计计时系统,以实现分时的控制。
但是此设计有诸多缺陷,首先,在信号采集方面,由于智能电表对于功率的计算,如果单纯的使用单片机,会造成功率计算不准确,如果要提高计算的精度,对于信号的AD转换就必须采用高精度期间,成本费用增加,其次即便使用了高精度的AD,在功率计算,补偿方面的程序也想当麻烦,再则,由于使用分时计费系统,只用单片机内部时钟信号进行粗略的计时,产生的时间误差比较大,长时间的使用下会导致计时不准确,而使得电费的计算出现比较大的误差。
软件系统方面,其核心则是编写功率计算程序和AD采样程序,并通过键盘扫描的实现显示的切换。
方案二:
图2.2方案二
本方案的设计思路与方案一大致相同,选用AT89C51单片机作为微处理器,通过电压传感器,电流传感器实现对用户的电压和电流信息的采集,并在单片机中进行电价的计算,与方案一的不同之处在于,方案二中功率计算部分和AD转换采集部分被一块电能计量芯片ADE7758进行代替,该芯片是以一款高准确度的三相电能采集芯片,适用于计量各种三相,单项配置条件下的有功,无功,视在电能。
可省去高精度AD的费用的同时,也可以减少单片机内部处理功率的步骤,转而由ADE7758完成。
同时,由于该智能电表采用分时计费系统,方案二中特别采用一块时钟芯片以提高对于时间的计时准确程度,以确保该电表可以准确计费,同时,由于时钟芯片本身集成有微型电池,可以在断电的情况下继续运行,保证了在智能电表断电的同时,计时系统不至于停止工作。
在方案二中,由ADE7758进行功率的计算并进行校准,在该芯片中,通过每相有功增益寄存器写入数据,可对输出产生的平均功率经行改变,该芯片中在每个相位集成了一个有功偏移寄存器,该寄存器为12位寄存器,用以对有功功率经行校准,由于实际电路的工作环境的复杂和多变,以及芯片本身制造工艺和各通道之间经行的干扰,都会造成误差的产生,有功功率寄存器的一个LSB相当于有功功率乘法器输出的LSB的116。
在满刻度输出时,如果乘法器的输出为XCCCCS(838861d),LPF2输出端的1个LSB相当于在电流通道满刻度-60dB计量误差的0.0075%。
在满刻度时,-60dB(输入信号级别为满刻度信号输入的11000),LPF2的平均数值为838.861(838,8611,000)。
LSB=1838.86116×100%=测量值的0.0075%。
有功功率偏移寄存器修正分辨率为0.0075%(−60dB)。
另外ADE7758的各相有拥有一个空载阀值,如果有功公功率的测量值低于满刻度的0.005%,则该值不会被累加,有效的避免了电表的浅动。
ADE7758通过41个电能寄存器连续累加有功功率以实现对信号的积分作用,这种离散的累加作用就相当于连续时间的积分作用,平均有功功率的计算时,是有符号运算的,负电能将会在有功功率寄存器中被扣除。
当有功功率为正,且达到最大值时,有功功率的数值将反转到达满刻度的负值0X800,并继续增加,当有功功率为负值,且持续减小到达最小时,会自动转为正的对大刻度0X7FFF,并继续降低。
在软件系统上,该方案与方案一的区别在于,重点在对于ADE7738和DS12887两块芯片的读写程序的书写,虽然在硬件的搭建上降低了难度,但是在程序书写上难度有所增加。
2.2方案选择
通过对以上两种方案的具体描述和对比,对他们各自的优缺点有了一定的了解。
要完成对于电费的准确计算,并综合本次毕业设计成本及可行性进行考虑,最终选择了方案二为本次毕业设计的最终设计方案。
第三章器件介绍和单元模块设计
只有各个系统单元模块的有机结合,才可以构成一个完整的系统。
下面将介绍本次设计中使用的一些特殊器件和具体的各功能模块电路组成。
3.1器件介绍
3.1.1AT89C51单片机
本设计采用低功耗,高性能的AT89C51单片机,AT89系列单片机(简称89系列单片机)是ATMEL公司的8位Flash单片机。
这个系列单片机最吸引人的特点就是在片内含有Flash存储器,AT89C51的单片机是一种低功耗,高性能的含有4K字节快擦写可编程擦除只读存储器(EEPORM)的8位CMOS单片机,时钟频率高达24MHZ,与8086的指令系统和引脚完全兼容。
芯片上的EEPROM允许在线(+5V)电才擦除,点写入或采用通用的非易失存储器对程序存储器重复编程。
此外,AT89C51还支持由软件选择的二种掉电工作方式。
非常适用于电池供电或其他要求低功耗的场合。
由于芯片内的4K程序存储器可在线或用编程器重复编程,因此它有着十分广泛的用途,特别是在便携式和需要特殊信息保存的仪器和系统中显得更为有用。
图3.1AT89C51和AT89C2051管脚图
3.1.2ADE7758
ADE7758是一款高精度的电能计量芯片,具有高准确度,适用于三相三线,三相四线和其他各种三相系统,该芯片通过SPI数据串行接口和单片机进行连接,模拟电源端(AVDD)=数字电源(DVDD)=5V±5%,模拟地端(AGND)=数字地(DGND)=0V,使用片内基准源,CLKIN=10MHzXTAL,温度范围为−40°C至+85°C[3]。
ADE7758的管脚图如下图所示:
图3.2ADE7758管脚图
ADE7758通过SPI串口读写时序图:
图3.3ADE7758写时序
图3.4ADE7758读时序
3.1.3DS12887
DS12887为一款时钟芯片,该器件可以提供RTC日历,闹钟,三个可屏蔽中断和一个可编程方波以及一个114字节的RAM,此RAM有电池备份,不会导致断电后时钟停止的现象,该器件把石英晶体和电池集成在了一起,少于31天的月份月末日期可自动调整,其中包括闰年补偿,该芯片还有一个精密的温度补偿电路用来监视VCC的状态,如果检测到主电源故障可自动转换到备用供电,该芯片接口支持Intel和Motorola两种模式,在本次设计中,采用的是Intel模式,具体读写时序图如下:
图3.5DS12887写时序
图3.6DS12887读时序
3.1.4LCD1602
LCD1602是一款工业字符型液晶显示屏,能够同时显示32个字符,内部带有80*8位的内部RAM缓冲区,可显示阿拉伯数字,引文字母大小写,常用符号和日文的片假名等,每一个字符都有一个固定的代码,在本次设计中,可以通过LCD显示万年历,分时电价,剩余金额等数据信息,可以通过键盘来切换显示。
部分主要指令说明如下:
表3.1LCD1602指令码
指令码
功能
00111000
设置16*2显示,5*7点阵,8位数据接口
00001DCB
D=1开显示;D=0关显示
C=1显示光标;C=0不显示光标
B=1光标闪烁;B=0光标不闪烁
000000NS
N=1当读或写一个字符后地址加一,光标加一
N=0当读或写一个字符后地址减一,光标减一
S=1当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到屏幕移动光标不移动的效果
S=0当写一个字符,整屏显示不移动
80H+地址码
设置地址数据指针
01H
显示清屏:
所有指针清零,所有显示清零
02H
显示回车:
数据指针清零
LCD1602读写数据时序如下图所示:
图3.71602读数据时序
图3.81602写数据时序
3.1.5SLE4442
SLE4442是德国西门子公司的接触式加密型IC卡,接口电路简单,编程方便,保密性好,其内部用于一个256*8位的EEPROM主存储器,另其还含有一个带有PROM功能的保护存储器,可进行加密处理,工作温度范围在0℃~70℃,至少可擦写10万次以上,数据保存期最少为10年,工作电压为5V。
对IC卡操作的命令分为控制,地址,数据三个部分,传送从控制字节LSB开始,其具体命令如下面所示:
表3.2IC卡命令格式及功能
字节1
字节2
字节3
控制
地址
数据
操作
00110000
输入地址
无效
读主存储器
00111000
输入地址
输入数据
升级主存储器
00110100
无效
无效
读保护存储器
00111100
输入地址
输入数据
写保护存储器
00110001
无效
无效
读加密存储器
00111001
输入地址
输入数据
升级加密存储器
00110011
输入地址
输入数据
比较数据校验
3.2单元模块设计
3.2.1电源模块电路
电源模块电路从电网220V电压作为输入,通过该电路后,输出端输出大小为5V的电压,作为单片机及其他芯片的VCC电源,具体的电路图如下图所示:
图3.9电源接线图
如图3.9所示为电压模块的电路图,该模块以电网220交流电作为输入,通过整流桥整流后,再经过滤波,最后通过一块78L05稳压芯片进行稳压,得到一个稳定的5V电源,78L05的输出电流可达到100mA,无需外接元件,内部本身带有热过载保护,自带内部短路电流限制。
该模块的仿真电路如下图所示:
图3.10电源仿真图
图3.10为该电源电路的仿真效果图,可以看到,该模块可以很好的工作得到一个稳定的5V的电源。
3.2.2信号采集电路
本次设计为智能电表,所以要对用户的电压和电流都进行采样,再通过ADE7758芯片来得到一个较为准确的功率值并输入单片机中,因此电流和电压的采集电路分别如下图所示:
图3.11采集电路
图3.11为电流和电压的采集电路,在电流采集电路中,通过将电流互感器TA32BM串联到用户电路中,以采集用户的电流信息,TA32BM额定输入输出为5A2.5mA,通过电流互感器将大电流转换到ADE7758可以接受的小电流范围内,然后通过滤波降低信号的干扰,最终输入芯片,在电压采集电路中,通过将电压互感器TV31B-02并联到用户的负载上,采集用户的电压信息,TV31B-02是一款电流型电压互感器,额定电流是2mA2mA,所以要在电压互感器的缘边串联一个51K的电阻来降低互感器原边的电流值到可承受的范围,最后通过RC电路滤波后,得到一个近似0.5V的电压以输入到ADE7758芯片,和前面的电流值一起,计算出用户的功率。
电压互感器相当于一个内阻很小的电压源,正常运行时它的负载阻抗会很大,相当于开路状态,二次侧只有很小的电流,当二次侧短路时,负载阻抗为零,将产生很大的短路电流,会将电压互感器烧坏。
因此,电压互感器二次侧严禁短路。
电流互感器在正常运行时,二次电流产生的磁通势对一次电流产生的磁通势起去磁作用,励磁电流很小,铁芯中的总磁通就很小,二次绕组的感应电动势不会超过几十伏。
如果二次侧开路,二次电流的去磁作用消失,其一次电流完全变为励磁电流,会引起铁芯内磁通剧增,铁芯处于高度饱和状态,加之二次绕组的匝数很多,就会在二次绕组两端产生很高甚至可达数千伏的电压,不但可能损坏二次绕组的绝缘,再者,由于磁感应强度剧增,使铁芯损耗增大,严重发热,甚至可能烧坏绝缘。
3.2.3计量模块
计量模块的核心是通过一块ADE7758芯片来完成,通过信号采集电路,将变换后的电压电流信号输入到该芯片,ADE7758是一款高准确度的三相电能计量芯片,带有两路脉冲输出功能和一个串行接口。
ADE7758集成了二阶模数转换器,数字积分器,基准电路,温度传感器,以及所有进行有功,无功和视在电能计量以及有效值计量所需的信号处理元件。
图3.12ADE7758接线图
图3.12为芯片ADE7758的具体接线图,ADE7758作为一款适用范围极广且功能强大的电能计量芯片在本次设计中担任了重要的角色,通过DOUT管脚直接与单片机连接,通过SPI总线方式,与单片机实现数据之间相互通信,从而实现功率的计算,其中DOUT管脚与单片机的P1.4连接,SCLK与单片机的P1.3连接,DIN与单片机的P1.7连接,CS片选信号与单片机的P1.2连接。
3.2.4时钟及LCD显示模块
本次设计中,该电表要实现分时计费,既必须引入时钟系统,该时钟系统必须准确,且在电表短时间断电之