首页 居民用电远程抄表系统设计--毕业论文

居民用电远程抄表系统设计--毕业论文

举报
开通vip

居民用电远程抄表系统设计--毕业论文摘要随着电网的信息化改造,传统人工抄表方式已经不能满足现在的抄表需求。居民用电远程抄表作为一种智能抄表方式,将逐渐替代原有的人工抄表。远程抄表系统包括智能电能表设计和RS485通信方式设计。智能电表利用AT89S52单片机作为微控制器,并且加入电量采集模块、RS485通信模块、LCD显示模块、数据存储模块以及时钟模块。单片机利用I/O口模拟IIC总线,实现与存储模块的通信。运用单片机的串行口与上位机进行数据传输。RS485通信设计主要包括通信线路的架构和抗干扰保护设计,保证通信渠道稳定畅通。设计出的居民用电远程抄表...

居民用电远程抄表系统设计--毕业论文
摘要随着电网的信息化改造,传统人工抄表方式已经不能满足现在的抄表需求。居民用电远程抄表作为一种智能抄表方式,将逐渐替代原有的人工抄表。远程抄表系统包括智能电能表 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 和RS485通信方式设计。智能电表利用AT89S52单片机作为微控制器,并且加入电量采集模块、RS485通信模块、LCD显示模块、数据存储模块以及时钟模块。单片机利用I/O口模拟IIC总线,实现与存储模块的通信。运用单片机的串行口与上位机进行数据传输。RS485通信设计主要包括通信线路的架构和抗干扰保护设计,保证通信渠道稳定畅通。设计出的居民用电远程抄表系统,能够分别累计不同时间段的总用电量。当断电时,数据可以存储到片外数据存储器中。可以将数据实时传送至上位机。远程抄表系统实现了抄表过程的智能化,简化了抄表流程,提高了抄表精度,减少了人力资源的浪费。关键字:AT89S52;远程抄表;RS485通信ABSTRACTWiththeinformationtechnologyofthegrid,thetraditionalmanualmeterreadinghasbeenunabletomeetthecurrentmeterreadingneeds.Residentialelectricitymeterasanintelligentremotemeterreading,willgraduallyreplacetheexistingmanualmeterreading.RemotemeterreadingsystemincludesasmartmeterdesignandRS485communicationdesign.SmartmetersuseAT89S52microcontrollerasthemicrocontroller,andaddedpowercollectionmodule,RS485communicationmodule,LCDdisplaymodule,datastoragemoduleandaclockmodule.UsemicrocontrollerI/OportsimulationIICbustocommunicatewiththememorymodule.UseSCMserialinterfacewiththehostcomputerfordatatransfer.RS485communicationarchitectureanddesignincludesanti-jammingprotectiondesigncommunicationlines,toensurestablechannelsofcommunicationopen.Designofresidentialelectricityremotemeterreadingsystem,capableofrespectivelythecumulativetotalelectricityconsumptionindifferentperiods.Whenapowerfailure,datacanbestoredoff-chipdatamemory.Datacanbetransmittedinrealtimefirstbitmachine.Remotemeterreadingsystemtoachieveintelligentmeterreadingprocess,simplifyingtheprocessofmeterreading,meterreadingtoimprovetheaccuracyandreducethewasteofhumanresources.Keywords:AT89S52;remotemeterreading;RS485communication目录11绪论11.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 背景与意义11.2设计的主要工作11.3本文各章主要安排32 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 选择32.1设计要求32.2通信方式选择32.2.1电力线载波远程抄表系统32.2.2基于GPRS远程抄表系统42.2.3红外线通信方式42.2.4RS485通信远程抄表系统42.3系统框图63硬件电路设计63.1主电路设计63.2MCU控制模块83.3电源电路83.4电量采集电路83.4.1ADE7755工作原理103.4.2ADE7755电路设计113.5时钟电路123.6存储电路133.7显示电路143.8掉电保护电路153.9RS485接口电路153.9.1RS485简介153.9.2RS485电路设计174软件设计174.1主程序设计184.2外部中断0服务程序204.3外部中断1服务程序204.4RS485通信程序224.5时钟程序244.6显示程序264.7数据存储程序295仿真与调试295.1PROTEUS仿真315.2设计总结32设计总结33致谢34参考文献1绪论1.1课题背景与意义抄表工作是供电系统中重要的一环,传统抄表是抄表员到各家各户抄写电表上的数据,再将数据送至供电局统计,用电量由人工输入到电脑中。人工抄表方式不仅繁琐,还可能出现误读,给居民和供电公司带来损失。而且受天气交通情况的限制,一些比较偏远地区的抄表工作很难进行,抄表人员外出进行抄表作业时可能会发生意外。现如今,居民用电实行的一户一表政策,抄表工作量大大增加。随着劳动力成本不断上升,供电公司在抄表工作中的投入也越来越大。传统的感应式电能表采用机械结构,只能单一显示总电量,限制了电网的信息化改造。随着电子技术的发展,利用单片机设计的智能电表不仅可以实现传统感应式电表的功能,还可以加入不同的模块,使电能表的功能更加丰富。特别是增加了通信模块,实现了智能电表与上位机的通信,使远程抄表成为可能。如今,国家推行的分时计费方式,只能依靠智能电表作为下位机,传统电表都会被淘汰。这就为智能电表带来了巨大的市场。可预见的将来,以智能电表为下位机的居民用电远程抄表系统将会得到普及。居民用电远程抄表系统作为一种智能系统,既能改善人们的生活质量,又节约了大量的人力资源,有着广阔的升级潜力。未来可以将电能表、水表、燃气表集合到一个系统中,节约系统的成本。1.2设计的主要工作居民用电系统设计包含下位机软硬件设计和通讯方式设计。智能电表作为系统的下位机。第一,智能电表要实现计量电能的功能,可以利用专用的电能测量芯片;第二,为了让用户知道自己的用电量,智能电表应该显示出总电量等信息;第三,分时计费必须读取当前时间,智能电表要加入时钟模块;第四,因为居民用电会遇到停电的情况,智能电表要具有掉电保护功能;最后,为了实现远程抄表,智能电表应设有通讯接口,实现与上位机通信。通信方式设计包括通信方式选择和通信渠道设计。选择合适的通信方式,在满足远程通信对信号质量的要求基础上,最大程度地简化设计,降低成本。通信渠道应具备抗干扰能力,使信息传输畅通。1.3本文各章主要安排本次毕业设计说明书分为六个章节:为绪论,介绍了设计的意义、发展趋势以及设计要求;为方案的选择,介绍了通信方式的选择,包括电力线载波、GPRS通信、红外线通信和RS485通信的比较与选择;为硬件电路的设计,包括微处理器AT89S52、电能计量芯片ADE7755、时钟芯片DS1302、LCD1602、EEPROMAT24C04、RS485收发芯片MAX485的硬件电路设计,还介绍了RS485通信渠道的设计;为软件系统的设计,包括主程序设计与各个模块的子程序设计;为仿真调试,利用Keil与Proteus软件进行仿真,验证了系统功能的实现。2方案选择2.1设计要求居民用电远程抄表系统包括了下位机软硬设计:电能表包含电能采集模块,实现对电能参数的采集;利用RS485总线将智能电表采集的电能参数信息实时上传;累计电量本地存储。设计智能电表作为抄表系统的下位机部分。智能电表要求额定电流为5(20)A;仪表常数3200imp/kWh;用电量、时间日期等信息通过LCD循环显示;电表能在停电时,把当前数据保存到片外EEPROM中;能够实现与上位机的远程通信。在居民用电远程抄表系统中,智能电能表技术已经发展成熟。现在的发展方向主要是远程通信方式的选择。主流的通信方式有电力线载波通信、无线GPRS通信、无线电台、MODEN拨号等。这些通信方式各有利弊,最经济的方式是电力线载波通信,但是对电力系统要求较高。采用的GPRS通信的成本又太高。供电系统的特殊性决定了远程抄表系统的通信方式要经济、稳定、安全、覆盖面广,所以将来满足这些条件的通信方式将成为远程抄表系统的首选。2.2通信方式选择2.2.1电力线载波远程抄表系统电力线载波通信通过电力线将电能表中的数据传输至变压器的集中器,再由集中器将数据传输至上位机。电力线载波直接利用电力系统的供电网作为通信渠道,不用铺设专用的通信电缆。即降低了系统的安装成本,又减少了后期的维护成本与难度。当要增加一户电表时,不用另外铺设通信线。但是电力线载波通信也有一些弊端:由于配电变压器对电力载波信号有阻隔作用,电力载波信号只能在一个配电变压器区域范围内传送,所以要在每个配电变压器中设置集中器对信号进行收集;电力线载波通信相间信号损失比较大,所以一般采用单相电力线传输;电力线载波通信对电网的供电质量要求比较高,电力线会对载波信号产生干扰,电网负荷的变化也会限制信号传输距离。考虑到设计要求,放弃选择此方案。2.2.2基于GPRS远程抄表系统GPRS电力远程抄表系统是利用电信运营商的GPRS网络进行信息的传输。下位机是居民电表数据采集点,上位机是位于供电所的服务器。由于实行“一户一表”制度,每一个智能电表通过加装SIM卡模块,实现与上位机通信。对于用电比较密集的居民区,采用下位机通过RS485连接到采集器,再由采集器将数据发送上位机,实现数据的实时上传。这种方案避免了个别电表安装位置信号差,而导致传输不畅,也减少了SIM卡的需求量,降低了成本。现在,基于GPRS的电力远程抄表系统已经在一些地区投入使用,技术已经相当成熟。虽然采用GPRS通信短期投入比较低,但是长期运行成本还是偏高。GPRS通信模块的价格偏高,通信协议比较复杂,初学者很难掌握,所以放弃此方案。2.2.3红外线通信方式红外线通信是利用红外线进行信息的传递。由其物理特性决定了红外线通信保密性强、抗干扰性强;通信模块体积小、重量轻、结构简单、价格低廉,一般只需要一个红外线发送管和一个红外线接收器加上调制解调电路就可以实现通信功能;利用红外线的传播进行数据传送,不用铺设通信线路。但是受红外线传播特性的限制,红外线通信只能在短距离进行通信,一般超过十米,通信信号就会不稳定。很明显红外线通信不能进行远距离通信。但是红外线通信在近距离通信中优势明显。所以在现在的智能电表中都加入了红外通信模块,与手抄器配合以便在远程抄表出现故障时进行现场抄表之用。2.2.4RS485通信远程抄表系统RS485通信方式使用专用的带屏蔽层的双绞线连接上位机与下位机。RS485通信速率采用9600bps,最长传输距离可达1200米。一般电表到上位机的距离都较远,所以在远距离通信中,采用增加中继的方式来对信号进行放大,在设计中可以将中继模块集合到采集器中。在实际应用中,也可以采用光纤为通信渠道,在收发两端各加一个光电转换器,将电信号转化成光信号进行传输,再转化成电信号。另外,一条RS485总线上最多允许连接128个收发器,这样可以满足在小范围内电表组网的要求。采取RS485通信模式需要铺设专用的通信线,所以前期投入的资金较多,通信线路的维护比较麻烦。距离越远,建设成本与维护成本也越高。在居民小区中,电表分布密集,电表间距离不会太远。采用RS485通信的成本大大降低,而且信号传输更稳定,安全性也更高,通信协议较简单。所以采用RS485作为远程抄表系统的通信方式。2.3系统框图一般电表与集中器之间采用RS485组网,集中器与上位机采取RS485通信。这种方案选取RS485作为系统的通信方式。不仅得到了稳定的传输渠道,而且设计更加简单。图1系统框图系统的总体框图如图1所示,测量模块将测得的电能信号转化成数字脉冲信号,信号传送至单片机进行计算存储。数据通过RS485传输至采集器,再由集中器将数据传送至上位机。测量模块得到电能参数,时钟模块为电表提供时间参数,显示模块显示电量信息,存储模块存储电量数据。3硬件电路设计3.1主电路设计智能电表采用AT89S52单片机作为微控制器。电量采集模块选用ADE7755,将瞬时功率模拟信号转化成数字脉冲信号;时钟模块选用DS1302,为电表提供精确的时间;显示模块选用LCD1602,循环显示分时电量和时间日期;存储模块选用AT24C04,系统掉电后存储数据;RS485通信模块选用MAX485作为收发器,与上位机进行通信;掉电保护电路。主电路图见附录A。3.2MCU控制模块智能电表选用AT89S52控制。AT89S52是一种低能耗、高性能CMOS8位微控制器。采用8K字节可编程Flash程序存储器,可以擦写1000万次,满足设计调试时反复烧写程序的要求;256字节的数据存储器分为片内RAM与片外RAM。片内RAM共128个字节,又分为工作寄存器区、位寻址区和通用RAM;32个可编程I/O口线,分别为P0、P1、P2、P3口,每个口线为8位;三个16位定时器/计数器;八个中断源;全双工UART串行通道;低功耗空闲和掉电模式,掉电后中断可唤醒;看门狗定时器;双数据指针。AT89S52引脚图如图2所示:图2AT89S52引脚图AT89S52的P3口定义了第二功能,具体功能见表1:表1P3.0口第二功能 口线 第二功能信号 说明 P3.0 RXD 串行数据接收 P3.1 TXD 串行数据发送 P3.2 INT0 外部中断0申请 P3.3 INT1 外部中断1申请 P3.4 T0 定时器/计数器0计数输入 P3.5 T1 定时器/计数器1计数输入 P3.6 外部RAM写选通 P3.7 外部RAM读选通AT89S52模块包括电源电路、晶振电路、下载电路、复位电路和备用电源电路。电源采用5V直流稳压电源,电源使用连接到V-G端,为单片机提供电源。使用一个开关控制电源通断,电阻与发光二极管构成电源指示电路。晶振选用11.0592MHz的陶瓷晶振,经过瓷片电容接地。单片机通过下载口向ROM中写程序,1、4、5脚接单片机的编程口P1.5、P1.7和P1.6口,6脚可以为单片机提供电源。复位电路采用上电复位加按键复位电路。利用电解电容的充放电,保证复位信号高电平在上电和按复位键时保持2个机器周期以上。系统加入可充电电池,用于在系统掉电时提供电源,保存重要数据。AT89S52及外围电路如图3所示:图3AT89S52及外围电路图AT89S52接口有限,为了设计的方便,要合理地分配I/O口线。掉电保护使用外部中断0;ADE7755脉冲输入使用外部中断1;RS485通信使用串行口中断。单片机与各个模块连接情况见表2:表2单片机引脚分配 序号 引脚 说明 1 P0.0~P0.7 接LCD1602数据线 2 P2.0~P2.2 接LCD1602控制口 3 P1.1~P1.2 接DS1302 4 P2.3、P2.4 接AT24C04 5 P3.2 接ADE7755CF端 6 P3.3 接掉电保护电路 7 P3.0 接MAX485RO口 8 P3.1 接MAX485DI口 9 P3.2 接MAX485RE、DE口3.3电源电路电源电路采用直流稳压电源。输入220V交流电,经变压器降压为12V左右,再经过整流桥,将交流电转化为直流电,依次经过电解电容和瓷片电容,滤去高频与低频谐波,再经过稳压管LM7805稳压,得到直流5V电压。LED为电源指示灯。电源电路如图4所示:图4电源电路电源电路接线时,保证变压器一次侧接在电量采集电阻的前面,使智能电表的耗电量不会被自身检测到,防止不合理收费的发生。3.4电量采集电路3.4.1ADE7755工作原理电量采集模块选用ADE7755。ADE7755是一种高精度电能计量芯片,专门用于居民用电的单相有功电能测量。ADE7755中只有模数转换电路和参考电压电路使用了模拟电路。所有其它信号都是通过数字信号处理。采用数字信号处理的方式可在电网电压与电流发生突变时,保证信号的稳定性和精度。ADE7755技术指标超过了IEC1036 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的准确度要求。它将有功功率的信息以频率的形式输出。在50/60Hz输入信号时都能满足IEC687/1036 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 规定的测试精度要求,在1000:1的输入动态范围内,测试误差小于0.1%。满足设计精度要求的±0.2%。ADE7755的内部硬件电路图如图5所示。ADE7755的输入信号分别是电流、电压互感器的模拟信号。信号送到16位Σ-Δ模/数转换器中,得到的数字信号经过处理送到乘法器中相乘。结果就是瞬时功率信号。瞬时功率由瞬时有功功率和瞬时无功功率组成,经过低通滤波电路后,得到有功功率分量。再送入数字—频率转换器中,将功率大小转化成输出频率。ADE7755有低频的F1、F2输出端和高频同步输出CF端。ADE7755内部设有一个电源监控电路,监视AVDD引脚的电压。在电源电压即AVDD电压上升到4V之前和下降到4V以下时,ADE7755会一直保持复位状态,此时ADE7755没有输出。当电源电压高于基准电压时,AE7755芯片才能工作,输出电能信号。图5ADE7755硬件框图采样电流送到ADE7755电流通道后,通过增益放大器放大,由表3可知,增益倍数由G0、G1决定。表3ADE7755增益 G0 G1 PGA增益 最大差动电压 0 0 1 470mV 0 1 2 235mV 1 0 8 60mV 1 1 16 30mV电网中由于有谐波的存在,入户电压电流波形不是严格的正弦波形。当电压电流非正弦波形时。由傅里叶分解得电流电压正弦谐波成分:式中,是瞬时电压;是电压平均值;是h次电压谐波的有效值;是h次电压谐波的相位角。式中,是瞬时电流;电流平均值;是h次电流谐波的有效值;是h次电流谐波的相位差。瞬时有功功率由基波有功功率和多次谐波有功功率组成,即:式中,表示基波瞬时功率;表示h次谐波瞬时功率之和。ADE7755对纯正弦波计量精确,而多次谐波也由纯正弦波组成,所以ADE7755对谐波有功功率也可精确计量。3.4.2ADE7755电路设计电量采集通过电流电压互感器得到小电流小电压。电流采样采用阻值小线性度好的铜锰合金电阻,电阻为88~350μΩ。将火线上的大电流转化为小电流信号。电路原理图如图6所示:图6ADE7755电流通道电流通道采用完全差动输出。最大峰值差动电压应小于470mv。有一个共同的共模参考点。电压的采样采用纯电阻分压得到。电压通道最大峰值差动电压为±660mV。差动电压选用零线作为参考点。滑动变阻器用于改变分压电阻值,通过调节电位器来改变得到的电压信号的电压值,在调试中可以校准电表。等效电路图如图7所示:图7ADE7755电压通道电量采集电路如图8所示:图8ADE7755接线图电流通道接ADE7755的V1P、V1N端;电压通道接V2P、V2N端;晶振电路接CLKIN和CLKOUT脚,频率选用3.58MHz;输出脉冲CF脚经过光耦接单片机。图9ADE7755模块实物图ADE7755模块如图9所示,从左到右依次为零线进线和出线、CF输出线、火线出线和火线进线。3.5时钟电路智能电表需要统计峰时与谷时的用电量,所以需要获取当前时间参数。单片机自带的定时/计数器虽然可以得到时间,但是时间并不精确,容易造成测量误差。DS1302时钟芯片可以得到年、月、日、周、时、分、秒的精确数值。图10DS1302引脚图DS1302时钟芯片是一种高性能、低功耗、自带RAM的实时时钟芯片,其工作电压为2.5V~5.5V。DS1302内部有一个31×8B的RAM寄存器。DS1302芯片采用三线接口与单片机进行同步通信。DS1302引脚功能如下:表4DS1302引脚功能 引脚号 标号 功能 1、8 Vcc2、Vcc1 电源与后备电源引脚 2、3 X1、X2 晶振接入引脚,晶振频率为32.768KHz 4 GND 接地引脚 5 复位引脚,高电平启动输入/输出,低电平结束输入/输出 6 I/O 数据输入/输出引脚 7 SCLK 串行时钟输入引脚DS1302的X1、X2口接晶振,晶振频率选用32.768KHz;SCLK、I/O、RST分别接单片机P11、P10、P12口;Vcc1可接后备电源,保证在掉电时,时钟电路仍可以运行。图11DS1302接线图3.6存储电路存储电路采用AT24C04,采用IIC总线协议与单片机相连。由于总线上只有AT24C04一个器件,所以A1、A2、A3直接接地。WP为写保护控制端,接地将其设为0,表示允许写入。SCL、SDA接到单片机的P2.4和P2.3口。图12AT24C04接线图3.7显示电路显示模块选用的是LCD1602。其体积小、重量轻、能耗低。LCD1602包含控制器HD44780、驱动器HD44100和液晶板三个部分。HD44780又包含字符发生器CGROM、自定义字符发生器CGRAM和显示缓冲区DDRAM三个部分。LCD1602显示为2行,每行有16个字。采用16引脚接线。其具体引脚功能见表5:表5LCD1602引脚功能 引脚号 标号 功能 1、2 Vss、Vdd 接地引脚和电源引脚 3 VL 对比度调整。选高电平时对比度最高 4 RS 数据/命令寄存器选择。高电平为数据寄存器,低电平为命令寄存器 5 R/W 读/写选择。高电平为读操作,低电平为写操作 6 E 使能端。有高电平变为低电平(下降沿)时,液晶屏执行命 7~14 D0~D7 8位双向数据线 15、16 BLA、BLK 背光正极与背光负极LCD1602接线图如图13:图13LCD1602接线图LCD控制口RS、R/W、E分别接单片机P20~P22;数据口D0~D7接P0口;V0为对比度设置位,接VCC时对比度最高。3.8掉电保护电路在实际生活中,经常会遇到停电,此时电表就会突然掉电。而单片机的数据存储器是掉电易失的。当系统上电时,单片机初始化就会丢失数据。设计中要统计累计电量等数据,所以在停电时,要及时将数据保存起来。TL7705是一种电源监视芯片,当电源低于设定的基准电压时,TL7705就会响应发出一个脉冲信号。选用的下降沿信号作为触发单片机外部中断的信号源。将这个信号接入单片机的外部中断口,一旦系统掉电,TL7705产生的脉冲信号会使系统触发中断。在中断服务程序中,将片内数据存储器中的数据存储到片外,并将单片机设为掉电模式。为了维持有足够的电压维持单片机的运行,在系统加入一个可充电的电池,在系统掉电时为系统提供电源。图14掉电保护电路掉电保护电路如图14所示。TL7705芯片SN口上的电位器用来调节检测电压的大小,调节范围为4.5-4.75V,为了使芯片能够在掉电时快速反应,将基准电压设为4.75V。当掉电时,电源电路的电压下降到4.75V时,TL7705发出信号触发单片机的外部中断,通过中断服务程序将片内RAM中需要保护的数据写入片外RAM中,并使单片机进入掉电工作方式以完成数据保护。当电源电压降至4.75V时,TL7705由向单片机发出中断请求信号。单片机运行到一个可断断点后,响应中断,在中断服务程序中保护现场数据,使单片机进入掉电工作状态。在掉电模式中,由备用电池供电,所以数据存储器中的数据不会丢失。退出掉电模式的唯一方法是硬件复位,系统重新初始化,数据存储器中的数据保持掉电前的内容。在电路中加入掉电保护是为了节约电池的电量。单片机进入掉电模式后,关闭不必要的功能,功耗大幅降低,数据保存时间更长。3.9RS485接口电路3.9.1RS485简介RS485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。采用的是两线制接线方式,可以在同一条RS485总线上挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。其典型网络图如图15所示:图15RS485典型半双工网络RS485的通信线采用带屏蔽层的双绞线。在使用RS485接口时,由于受信号失真及噪声等影响,信号传输的波特率越高,RS485数据信号传输的最大电缆长度越长。根据GB/T645-1989《平衡电压数字接口电路电气特性》中的传输速率与最大电缆长度的关系图可知,当波特率为9600bps时,RS485通信的最长传输距离可以达到1200米。在传输过程中,可以采用增加中继的方法对信号进行放大,信号最大的传输距离可以达到9.6公里。为了降低干扰,提高通信质量,RS485通信要求从总线到每个节点应采用尽量短的引出线。在RS485组网过程中,应在总线电缆的开始和末端都并接终端电阻。因为RS485通信选用的双绞线的电缆特性阻抗大约在100~120Ω之间,所以终接电阻一般选用120Ω,以达到终端匹配的目的。在设计中,采用光耦隔离进行通信线路的保护。当遇到闪电时,通信线上会产生大幅值的瞬时干扰,如果不添加保护就可能损坏RS485接口,甚至直接损坏电能表。3.9.2RS485电路设计通信模块选用MAX485芯片。MAX485芯片是RS485通信的低功率半双工收发器,具有标准的12kΩ接收器输入阻抗。MAX485芯片引脚功能见表6:表6MAX485引脚功能 引脚号 标号 功能 1 RO 接收器输出 2 RE 接收器输出使能 3 DE 驱动器输出使能 4 DI 驱动器输入 5 GND 地 6 A 接收器同相输入端和驱动器同相输出端 7 B 接收器反向输入端和驱动器反向输出端 8 VCC 电源MAX485芯片通过A、B两端口来接收来自与RS485总线上传输的电平信号,RO为接收器输出端,通过光耦隔离接单片机的RXD引脚;MAX485通过DI引脚接收由单片机发送的数据,再由A、B发送到RS485总线上,Dl为发送器输入端,通过光耦隔离接单片机的TXD引脚;RE、DE引脚分别是接收器、发送器的使能端。因为设计中,MAX485的工作方式为半双工,所以将RE、DE并联接到单片机的一个I/O口,来起到控制的作用。MAX485的AB口之间加入120Ω的匹配电阻。A口经3.3KΩ电阻接高电平,B口经3.3KΩ电阻接地,这样保证RS485总线在空闲时,A口和B口是稳定的高电平和低电平。图16MAX485接线图为了使电表免受RS485的瞬时干扰,MAX485芯片采用光耦与单片机隔离。其中,RO通过光耦接单片机的P3.0口,即串行数据接收口RXD;DI口通过光耦接单片机的P3.1口,即串行数据发送口TXD;RE和DE通过光耦接单片机的P3.2口,用于MAX485的使能端。4软件设计4.1主程序设计程序设计要满足数据的实时上传、数据的存储。主要流程包括:电量值的获取、时间参数的获取、信息的显示、计费费段电量累计、数据传送等步骤。当系统上电时。第一步,初始化单片机、时钟芯片、LCD显示屏等模块;第二步,向DS1302写入实时时钟,时钟数据通过RS485从上位机获取;第三步,读取存储器中的断点数据送到单片机数据存储器中;第四步,ADE7755发送的脉冲触发外部中断,在中断服务程序中,判断是峰时还是谷时费段,再计算出各时段的用电量;第五步,数据传送至上位机。软件系统中还有2个外部中断服务程序:电能计量使用外部中断0;电源监视使用外部中断1。具体程序流程如图9所示:图9主程序流程图在设计中,需要用到一些专用寄存器见表7:表7常用专用寄存器 寄存器符号 寄存器地址 寄存器名称 说明 IE A8H 中断允许控制寄存器 控制各种中断开关 PCON 87H 电源控制寄存器 定义单片机掉电工作模式 SCON 98H 串行口控制寄存器 串行发送接受中断请求标志位 SBUF 99H 串行数据缓冲器 存储将要传送或接受的数据 TCON 88H 定时器控制寄存器 选定外部中断的触发方式 TMOD 89H 定时器方式选择寄存器 定义计数器工作方式 TL0 8AH 定时器0低8位 定时器/计数器0初值的低8位 TH0 8CH 定时器0高8位 定时器/计数器0初值的高8位系统上电之后,对单片机进行初始化。voidinit(){IE=0xF7;/*IE=11110111,/*总中断允许,允许外部中断,允许定时器计数器0中断,允许串行中断。*/SCON=0x50;//串行口工作方式1TCON=0x05;//外部中断0、1采用脉冲触发方式,下降沿有效}4.2外部中断0服务程序在程序设计中,采用2个外部中断。ADE7755的脉冲输出接外部中断P33口,TL7705的掉电保护信号接外部中断P32口。中断由中断控制寄存器IE控制,在程序开始运行时,要先初始化中断控制寄存器。中断控制寄存器IE位定义及位地址见表8:表8中断控制器IE位地址 位地址 AFH AEH ADH ACH ABH AAH A9H A8H 位符号 EA - - ES ET1 EX1 ET0 EX0EA为中断允许位,EA=1中断允许,EA=0中断禁止;EX0和EX1为外部中断允许位,EX0=0禁止外部中断,EX0=1外部中断允许;ET0和ETC1为定时器中断允许位,为1时表示允许定时器中断,为0时表示禁止定时器中断。设计中需要总中断允许、串行中断允许和外部中断0、1允许,即IE=83H。表9中,定时器控制寄存器TCON定义了外部中断的触发方式。表9TCON位地址 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0IE0和IE1为外部中断请求标志位;IT0和IT1为外部中断触发方式控制位,为1时表示脉冲触发,下降沿有效,为0时表示电平触发方式,低电平有效。设计中根据输入信号为脉冲信号,选用脉冲触发更合理。所以TCON应设为ADE7755CF端输出的高频脉冲信号频率设定为3200imp/KWh。一般电表的最大工作电流为20A,负载为4.4KW时,脉冲频率约为4Hz,外部中断1秒触发4次,每一个脉冲表示0.0003125KWh。程序运行时,每一个脉冲都会触发一次中断服务程序,再根据时间参数累计分时电量。程序流程如图17所示:voiddu()interrupt0//外部中断0服务程序du(){if(8<date_time[2]<20)//读取小时值。当在8~20之间时,峰时电量累加p1=p1+0.0003125;//峰时电量累加,每一个脉冲表示0.0003125度电elsep2=p2+0.0003125;//否则,谷时电量累加p=p1+p2;//求出总电量,即峰时电量与谷时电量之和}图17外部中断0程序流程图4.3外部中断1服务程序外部中断1用于电源监视。当电源电压低于设定的基准电压时,TL7705发出一个中断信号,中断采用低电平触发。中断服务程序将单片机中需要保存的数据送到AT24C04中存储。数据存储完成后,将单片机设定成掉电模式以节约电池电量。图18掉电保护程序流程图AT89S52单片机有2种低能耗工作方式:待机模式和掉电模式。低能耗模式由电源控制寄存器PCON控制,PCON寄存器位格式见表10:表10PCON位地址 D7 D6 D5 D4 D3 D2 D1 D0 SMOD - - - GF1 GF0 PD IDLSMOD为波特率倍增位,进行波特率加倍处理;GF0和GF1为通用标志位;PD为掉电方式位,为1时进入掉电方式。IDL为待机模式位,为1时进入待机模式。系统掉电以后,TL7705检测到电源电压下降到基准电压以下,发送电平信号触发中断程序;备用电池为系统提供电源;单片机将数据传送到AT24C04中存储;存储完成以后,用软件将PCON中的PD位设为1,使单片机进入掉电模式。4.4RS485通信程序RS485通信是基于C51单片机的串行通信。串行通信协议内容包括同步方式、数据格式、传输速率、校验方式。RS485通信采用异步半双工通信方式,半双工是指数据传输可以沿两个方向,由于只采用一条数据线传输,所以需要分时进行。异步通信以字符(构成的帧)为单位进行传输。每一帧的数据由1位起始位、8位数据位、1位奇偶校验位、1位停止位组成。数据传送时先传送低位。串行口由特殊功能寄存器SCON和电源控制寄存器PCON控制。表11SCON位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SM0 SM1 SM2 REN TB8 RB8 TI RI其中,SM0和SM1决定了串行口的工作方式,具体见表11;SM2用于方式2、3的多机通信控制;REN为串行接受使能位;TB8和RB8在方式2、3中分别发送和接受数据的第9位;TI和RI分别为发送中断标志位和接受中断标志位。设计中,串行口选择工作方式1,所以SM0=0,SM1=1。由于工作方式1为双机通信方式,所以SM2为0。此外,REN设为1,允许串行口接受数据。则串行口初始化时SCON=50H。表12串行口的工作方式 SM0 SM1 方式 说明 波特率 0 0 0 移位寄存器 /12 0 1 1 10位UART(8位数据) 可变 1 0 2 11位UART(9位数据) /64或/12 1 1 3 11位UART(9位数据) 可变PCON中的SMOD位为单片机串行通信波特率倍增位。为1时表示波特率增加一倍。系统波特率选用9600bps,不用增倍就可以达到,即SMOD=0。工作方式1、3的波特率可调,由定时器T1的溢出率决定。将T1设为工作方式2,溢出率与T1的初值有关。T1溢出率=/{12×[256-(TH1)]}方式1波特率=(/32)·(T1溢出率)根据单片机的晶振频率,计算得出TH1应设为FDH。串行口初始化包括:确定T1的工作方式,TMOD=20H;计算T1的初值,设定TH1、TL1初值;启动T1;确定串行口工作方式;串行口在中断方式工作时,进行中断设置。voidmax_Init(void){TMOD=0x20;//定时器1,工作方式2TH1=0xfd;//波特率为9600TL1=0xfd;PCON=0x00;TR1=1;//定时器1开始工作SCON=0x50;//01010000B,工作方式1,8位UART,波特率可变,允许接收RI=0;//接收中断标志位清零TI=0;//发送中断标志位清零}数据接收程序:voidReceive(void){while(RI==0)//等待数据接收完成{;}DAT2=SBUF;//接收到的数据由SBUF送入DAT2中RI=0;//接收停止,接收标志位清零}数据发送程序:voidSend(ucharShowData){SBUF=ShowData;//写发送寄存器while(TI==0)//等待串行发送完成{;}TI=0;//对发送标志位清零}4.5时钟程序DS1302的基本操作为读字节操作和写字节操作,DS1302各种操作由命令字节实现。DS1302命令字节格式见表13:表13DS1302命令字节格式 位 D7 D6 D5 D4 D3 D2 D1 D0 值 1 R/C A4 A3 A2 A1 A0 R/WD7固定为1;R/C位为0时选择操作时钟数据,为1时选择操作RAM数据;A0~A4为操作地址;R/W位为0时进行写操作,为1时进行读操作。写操作指将一个字节的数据写到DS1302中。当SCLK上升沿时,数据写入DS1302,写时先传输低位数据。写操作时序如图19所示:图19写操作时序图DS1302写操作程序:voidwrite_ds1302(uchardat){uchari;for(i=0;i<8;i++){IO=dat&0x01;//保持dat最后一位送至IO端SCLK=1;//产生上升沿,数据写入delay(1);//延时,给DS1302反应时间SCLK=0;//设为0准备下一个上升沿dat>>=1;//dat右移1位,准备传送第2位}}读操作为读DS1302的数据送到单片机中。读操作跟随读命令字节后,数据在SCLK下降沿送出,读操作先传输低位数据。读操作时序如图20所示:图20读操作时序图ucharread_ds1302()//DS1302读字节程序{uchari,b=0x00;//设置读出的数据放在b中,初值为0for(i=0;i<8;i++){b|=_crol_((uchar)IO,i);//IO口强制转化为8位uchar型,再左移i位,再与b按位或,结果送给bSCLK=1;//产生上升沿,数据传送delay(1);//延时SCLK=0;//设为0,准备下一个数据传送}returnb/16*10+b%16;//与BCD码转换}时间日期数据是以BCD码格式存放在DS1302中,所以读出的数据要转化成uchar型的值。表14DS1302日历时钟寄存器 寄存器名 命令字节 位内容 写 读 D7 D6 D5 D4 D3 D2 D1 D0 秒 80H 81H CH 秒的十位 秒的个位 分 82H 83H 0 分的十位 分的个位 时 84H 85H 12/24 0 A/P HR 小时个位 日 86H 87H 0 0 日的十位 日的个位 月 88H 89H 0 0 0 0/1 月的个位 年 8CH 8DH 年的十位 年的个位DS1302中的数据的存放地址见表14。利用读指令将数据读取到单片机。也可利用写命令校准写入当前时间。4.6显示程序LCD1602的显示由控制口控制,数据传送至LCD1602的数据口D0~D7。LCD1602一共有11条操作指令,下表中介绍了其中的9个指令。表15LCD1602的操作命令 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清屏 0 0 0 0 0 0 0 0 0 1 输入模式设置 0 0 0 0 0 0 0 1 I/D S 显示与不显示设置 0 0 0 0 0 0 1 D C B 功能设置 0 0 0 0 1 DL N F * * CGRAM地址设置 0 0 0 1 CGRAM地址 DDRAM地址设置 0 0 1 DDRAM地址 读忙标志和计数器地址设置 0 1 BF 计数器地址 续表15 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 写DDRAM或CGROM 1 0 要写的数据 读DDRAM或CGROM 1 1 读出的数据清屏命令:光标回到屏幕左上角,地址计数器设置为0。输入模式设置:设置每写入一个数据字节后,光标的移动方向及字符是否移动。设置为0x06s时,I/D=1,S=0,表示光标右移一格且地址计数器加一。显示与不显示设置:显示开关。当设置为0x0c时,D=1,C=0,B=0,表示开显示,无光标,光标不闪烁。读忙标志和计数器地址设置:BF是忙标志位,BF=1表示忙,此时LCD不能接收命令或数据。显示程序设计使用了LCD写指令。voidlcd_write_com(ucharcom){LCDRS=0;//RS为0时,写指令,RS为1时,读写数据P0=com;//将命令字写入P0口delay(5);//延时5ms,给LCD写入时间LCDEN=1;//将EN端设为高电平,保证可以得到一个下降沿delay(5);//延时5msLCDEN=0;//置0,产生下降沿,液晶模块执行命令}LCD写数据程序同写指令程序相似,只是要将RS端设为1。LCD1602使用前要进行初始化,初始化内容为:清屏;功能设置;显示与不显示设置;输入模式设置。LCD1602的读写是通过RS,R/W和E三个引脚控制。voidlcd_init(){LCDEN=0;lcd_write_com(0x38);//LCD显示模式为2行,8位数据,5*7点阵lcd_write_com(0x0c);//LCD显示开及光标关lcd_write_com(0x06);//当写一个字符后地址指针加1,且光标加1lcd_write_com(0x01);//显示清屏}显示模块选用的是LCD1602。LCD显示内容为:显示时间和日期,延时5秒后显示总用电量,延时5秒显示峰/谷用电量。依次循环显示。程序流程如图21所示:图21LCD显示程序流程图4.7数据存储程序AT24C04与单片机通过IIC总线进行数据传输。IIC总线信号时序包括起始和停止信号、字节格式、数据传输时序、寻址字节。起始与停止信号见下图,SCL为高电平时,SDA的下降沿表示起始信号,SDA的上升沿表示停止信号。图22起始与停止信号时序图AT89S52没有IIC总线接口,可以利用两个I/O口线模拟IIC总线接口时序。起始信号:voidi2c_start(void){sda=1;//将SDA置1_nop_();//空操作,延时1usscl=1;//将SCL置1nops();//延时5ussda=0;//SDA置0,产生下降沿,此时SCL仍为高电平nops();//延时5usscl=0;//SCL置0,准备数据传送}停止信号程序:voidi2c_stop(void){sda=0;//SDA置0,保证能产生上升沿_nop_();//延时scl=1;//SCL置1,设为高电平nops();//延时sda=1;//SDA置1,产生上升沿nops();//延时scl=0;//SCL置0,准备下一字节传送}IIC总线传输的字节格式:图23字节传送时序图传输字节必须是8位长度。先传最高位(MSB),后传低位数据,每个被传输字节后面都要跟随应答位(一帧共有9位)。从机应答程序:voidi2c_ack(void)//发送应答位0{sda=0;//SDA置0scl=1;//SDA置1nop5();//延时5us,保证应答位有效scl=0;//SCL置0sda=1;//SDA置1}发送非应答位1程序与发送应答位0相似,要保证SDA在高电平时,SCL的脉冲宽度超过4us。数据传输时序如图24所示:图24数据传输时序图对于数据传输,SCL由主机控制,从器件在自己忙时拉低SCL线以表示自己处于“忙状态”;字节数据由发送器发出,响应位由接收机发出;SCL高电平期间,SDA线数据要稳定,SCL低电平期间,SDA线数据允许更新。由于设计中IIC总线上只有一个器件AT24C04所以可以不用发送器件寻址写操作。直接由单片机发送要写入的片内单元地址,如果收到器件应答0,单片机继续发送要存储的数据字节,再由器件返回应答,单片机接到应答后发出停止信号P。AT24C04内部硬件实现数据擦写。同写操作类似,从AT24C04读数据时单片机发出要读取数据的地址,AT24C04向SDA线上发送数据字节;单片机发出应答信号和停止信号P。ADE7755选用最大电流为20A,参数为3200bps/KWh。所以输出最高频率约为3.911Hz,每一个脉冲代表0.0003125KWh,即为单位电量。采用累加方式得到电量数据是float型数据。电表显示只用显示到小数点的后2位,受LCD1602的限制,电量最多显示0.00~9999999.99)。考虑到电量显示时数据处理的方便,将电量值乘以100,强制转换得到一个无符号长整型数,无符号长整型数的取值范围为0~4294967295,没有超出范围。长整型数据经过处理得到各位的数值,送至字符型数组中存储。得到的字符型数组不但显示更加方便,而且可以直接传送字符数组到AT24C04中,来实现电量的存储功能。5仿真与调试5.1PROTEUS仿真硬件系统的仿真选用Proteus软件。软件程序选用Keil软件编译。先在keil中完成程序的编写,再编译生成“.hex”格式文件,这个文件是单片机能识别的机器语言。再在Proteus软件中,设计出硬件电路。系统程序见附录,硬件电路仿真电路如图25所示:图25系统仿真图在仿真前,注意晶振频率设置。时钟芯片DS1302晶振频率为32.768KHz,单片机晶振频率呢为11.0592MHz。ADE7755输出的是脉冲信号,仿真中使用脉冲源来模拟ADE7755输出。设脉冲频率为4Hz。如图26所示,开始仿真时先显示当前时间日期。DS1302Clock—U2窗口显示DS1302的实时时间参数。可见由于显示时间参数需要处理,显示的时间略微滞后于实际时间。滞后时间小于1秒,在合理范围之内。图26显示时间日期如图27所示,显示一段时间后,显示切换到显示峰谷时电量。由DS1302数据可见现在时间为峰时段,所以峰时电量累计,谷时电量保持不变。图27显示分时电量如图28所示,显示峰谷时电量一段时间后,显示的是总用电量。总电量为峰时谷时电量之和。图28显示总电量为了验证电能表电量的准确性。假设电表以最大电流20A运行,此时输出脉冲频率为3.91111111Hz。仿真从11:53:51开始计算。图29测试开始当时间到12:54:27时,一共用时3636秒。用电量为4.43KWh。而实际用电量应该大约为4.44KWh。图30测试结束由于显示电量只保留小数点后两位,仿真结果时间的截取也不精确,所以仿真只能大致验证计量的精准性。在实际应用中,没有显示的小数点后几位已经被电表统计。5.2设计总结设计出的居民用电远程抄表系统,采用ADE7755作为电能计量芯片,达到了±0.2%的精度要求。通过AT89S52的外部中断进行电量的累计。实时读取时间参数。并且当时间在8:00~20:00之间时,累计峰时总电量;当时间为其他时间段时,累计谷时总电量。用电量信息和时间日期通过LCD1602显示。当遇到停电情况时,下位机掉电,通过掉电保护电路,将电量数据存储到外部数据存储器中。同时系统由电池供电,单片机进入掉电模式。系统上下位机通信采用RS485总线,电表根据上位机的指令接收或者发送数据。设计总结设计的居民用电远程抄表系统采用RS485进行上下位机的通信。设计了下位机的软硬件系统。系统能实现电量数据的采集,时钟信号的读取,数据的存储,数据实时传送等功能。下位机设计包括电量采集处理模块、时钟模块、显示模块、存储模块、数据传送模块和单片机处理模块。其中电量采集模块和数据传送模块用的芯片是没有接触过的。在设计中花了大量时间选型设计。最后选用ADE7755作为电量采集模块的处理芯片。ADE7755输出为脉冲信号,利用单片机的外部中断实现电量的累计。数据传送模块则选用MAX485作为RS485通信的收发口,使用光耦隔离干扰,设计出通信线的传输电路。在设计中也遇到了许多问题。例如AT24C04是通过IIC总线与单片机连接,之间采用串口通信。IIC规定传送的数据是8位。而需要存储的电量信息是一个32位的float型数据。可以将float强行转换成char型数组,但这种方法难理解。在数据显示中,要将电量信息处理得到每个位上的值,这些值用字符数组保存。传送电量数据时,可以直接传送这个字符数组。当要获取存储的电量信息时,只用将这个数组读出、处理就可以得到准确的电量信息。本次的毕业设计共一个多月时间,分别进行了资料搜集、下位机软硬件设计、电路仿真图的设计三个过程。经过这次的毕业设计,我们不仅加深了对Keil软件、AltiumDesigner软件和Proteus仿真软件的了解和使用,还熟悉了电路原理图的设计和仿真运行。总的来说,这次的毕业设计自己还是很满意的,感觉收获了不少东西。我觉得一切努力都没有白费。相信此次学到的知识在以后的生活和学习中对我会有很大帮助。参考文献[1]谭浩强.MCS-51单片机应用教程[M].清华大学出版社.2000.5:10~15[2]夏道永.700型微型标定装置控制系统改造[M].重庆大学.2005.8:56~60[3]王淼.传感检测技术[M].天津大学出版社.2008.12:102~105[4]佟云峰.单片机原理及应用[M].北京:机械工业出版社,2007.8:55~57[5]孟立凡,蓝金辉.传感器原理与应用[M].电子工业出版社.2001:12~15[6]来清民.传感器与单片机接口及实例[M].北京航空航天大学出版社.20
本文档为【居民用电远程抄表系统设计--毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
天空之城
暂无简介~
格式:doc
大小:5MB
软件:Word
页数:0
分类:建筑/施工
上传时间:2020-03-21
浏览量:2