版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于ADE7758的数字电流表设计 毕 业 设 计(论 文)题目:基于ADE7758的数字电流表设计(英文): Design of Digital Ammeter Based On ADE7758院 别: 专 业: 姓 名: 学 号: 指导教师: 日 期: 2010年5月 基于ADE7758的数字电流表设计摘要针对利用常规ADC0809芯片设计电流表存在着检测精度低、测量复杂的缺陷,提出了一种新型数字式电流表的设计方案。该方案采用新型多功能电能专用芯片ADE7758和电流互感器,结合STC89C52芯片进行设计,大大简化了电路,提高了电流计量精度。经实验室多次实测,系统工作稳定可靠,实测数据的
2、相对误差在1%以内。文中给出了系统硬件电路设计及软件编程。关键词:ADE7758;STC89C52;电流互感器;智能计量lDesign of Digital Ammeter Based On ADE7758ABSTRACT For using conventional ADC0809 chip design ammeter with a low detection precision and complex measurement d
3、efects, that puts forward the design scheme of a new type of digital. The scheme has the new type of multi-function of specials chip ADE7758 electric power and
4、current transformer, which combined with STC89C52 chip,.It would greatly simplifies the circuit and improve the precision of current measurement.After Laboratory measured many
5、160;times, we would make the decision that the system work stable and reliable, and it has 1% relative error in the measured data. The system hardware circuit
6、design and softw are programming are also given in this paper. ammeter.。keyword : ADE7758; STC89C52; Current Transformer ; Intelligent Metering目录1 绪论11.1 课题背景及意义11.2国内外发展状况21.3 系统设计要求32 系统总体设计42.1系统结构框图42.2元器件选择52.2.1计量芯片的选择52.2.2 单片机的选择82.2.3显示
7、器件的选择82.2.4 电流互感器的选择93 系统主要硬件电路设计103.1 信号调理电路103.2与单片机通信电路113.3显示电路123.4电源供电要求134 系统主要程序设计144.1主程序的设计144.2计量模块的设计154.3显示模块的设计175 系统调试195.1 软件调试195.2 硬件调试195.3 调试分析226 结束语23参考文献24致谢25附录A 实物图26附录B 系统原理图27附录C 程序清单281 绪论1.1 课题背景及意义高精度三相电流表的国内研究和研制起步比较晚,以前主要依靠进口。90年代后,国内一些厂家对三相电流表的研究已经基本成熟,并形成了批量生产,在市场上已
8、经出现了国产多功能电表逐步替代进口产品的局面。但是,国产三相电流表存在着诸如精度低、功能不完善、抗干扰能力差等致命缺陷和不足,极大地限制了国产三相电流表的应用和推广。因此,开发高精度的三相电流表,尤其是0.2级或更高级电流表,已经变成非常重要的研究课题,并具有巨大的商业价值。电流表的发展大致可以分三个阶段:第一阶段为感应表阶段时功率。感应表通过电磁转化理论,将电流信号转换成相应比例的磁场。铝制的转盘在两个磁场的作用下转动,通过机械传动机构带动计度器,从而完成对电能的计量。感应表在这种理论下形成的制造技术已相当成熟,但因为其机械传动机构主题的限制,无法满足人们对电流表计量的高精度的要求,更无法实
9、现多功能。90年代,国内出现了静止式电流表,它采用了数字处理技术和时分割乘法器,式电能计量的手段完全采用集成电路来完成。静止式电流表一经出现,便显示了巨大的生命力,计量精度由感应式表的2.0级提高到1.0级,电流表的体积明显缩小,重量也只有感应式的一半。这种静止式电流表随着电子元器件的价格下降、可靠性的提高,在价格与寿命方面均显示了较强的生命力,很快在我国得到较大推广。但由于这些表大多数用计量精度低的专用芯片,电流表精度仍停留在计量有功1.0级上,并且不能满足大用户需要的高精度的电流值参数的计量要求。第二阶段为数字测量仪表,这类仪表的基本原理是将模拟信号通过电子线路转变为数字信号,进行计算并显
10、示出来。这类仪器同指针式仪器相比较精度有了很大的提高,能直观读取测量结果,而且可靠性高,易于使用。但电子线路比较复杂,不能自动适应测量环境的变化,而且仪器比较难校准。第三个阶段为智能仪器,所谓智能仪器,一般指含有微处理器的仪器,通过微处理器来控制数据的采集,并对数据进行处理。因此能够用软件的方法实现信息的采集、处理和存储,大大简化了仪器的整体结构。这类仪表不仅精度高,功能强大,而且能适应各种复杂的环境。2000年后,随着数字信号处理技术的成熟,各大公司相继研制出了基于DSP芯片的三相全电子电流表,这种电流表虽然精度有很大的提高,但是生产成本比较高。因此,设计一种多功能、实时性高、精度高和成本低
11、的电流表是电工仪表行业研究员一直追求的目标。1.2国内外发展状况电力工业发展初期曾用电解化学原理电流表计量收费。1890年,发明了感应式电磁原理电流表,沿用至今已有100多年。随着电费制度的发展,提出分时计量、需量计量预付费等要求,特别是19世纪70年代以来各国酝酿发展电力市场又提出实时电价、负荷曲线计量、双工通讯、远方采集数据、记录负荷曲线和电能质量、控制负荷以及费率编程等要求,原来的感应式电流表虽经多方面的改进扩充,已很难满足电力市场日益发展的功能和要求。20世纪中叶,微电子和信息产业等新技术的发展,有力的支持了电流表的革新。先是高精度电子式标准表的出现满足了校验技术的要求。国外家用电子式
12、电流表早已实用化。世纪之交,电力市场改革浪潮遍及全球,各国电力公司都认识到市场竞争的核心是电流表。特别是用户选择供应商和实时电价,要求电流表有灵活、可靠的双向通讯功能以及与不同的制造商所生产的电流表在电力市场技术支持系统中的兼容性,因而提出了标准化和兼容性问题。在欧洲许多著名电流表厂的倡导下成立了DIMS用户协会,DIMS已构成IEC有关表计规约标准的基础。国际上电子式电流表经过50多年的发展,开始都是基于模拟乘法器原理的,在历史上曾有过多种原理线路,后来演变成为时分割和霍尔效应两种乘法器。由于数字技术的迅猛发展,目前已有趋势全部更新为A/D转换计算机处理的方法,这样也更有利于实施负荷控制、记
13、录电能质量、计量负荷曲线、发展电流表的通信功能以及确保精度高。我国20世纪70年代开始用电子式标准电流表。先是使用进口产品,后来到8090年代国内已能商业化生产5级电子式标准电流表,也已研制出更高准确度等级的标准电流表。随后,电子式电流表在国内的应用和制造发展都很快。1993年由国内厂商试制成功单相电子式电流表,1994年在华东试用2000只,第一年故障率小于1%。90年代中期,高精度电子式电流表发展迅速,逐渐为广大电力公用企业所接受。仅1998年电子式电流表的产销量比1997年增加400%。国家电网、省电网各级关口表大部分更新为电子式电流表,但是大多数为进口电流表,总数近万只,运行情况较好。
14、近几年,许多大用户(大于100KW)也开始试用三相电子式多功能电流表,致使需求猛增。2000年国内三相电子式多功能电流表销售仅为12万台,2001年就上升到18万台。到2004年为止,三相电子式多功能电流表的年需求量已经超过了70万台,创造11%的电流表总产量。国产0.5级电子式电流表也开始在部分地区使用。但是,国内0.2级以上的电流表技术尚未成熟,一直处于试验阶段。现在重要部门、重要设施所使用的0.2级以上的电流表一直使用国外的成熟产品。因此,研制0.2级以上的高精度、多功能三相电流表对于我国电工仪表行业具有重要的意义。1.3 系统设计要求完成一台电流表(外壳采用PCB板可补充模块,采用液晶
15、显示器)主要技术指标:供电电压:220V(±10%)测量范围:01000MA 测量精度:±1% 仪表灵敏度:0.1MA2 系统总体设计系统采用单片机为运算核心,以高精度计量芯片采样来实现课题所预设的功能。芯片的选择,直接影响整个系统的性能及实施细则。方案的设计主要根据课题任务的要求而确定。设计思路大致为:通过电流互感器感应所测量端的电流量信号传送给高精度计量芯片处理后,传给单片机运算将对应值送给显示模块显示。2.1系统结构框图计量芯片单片机SPI电源电路显示电路串口通讯电路按键电路信号检测与调理系统结构框图由以下几个模块组成,计量模块、主控模块、显示模块
16、、计量回路选通模块、通信模块、电源电路等。图 2.1 系统总体框图2.2元器件选择2.2.1计量芯片的选择目前市场上主要的三相计量芯片有ADE7758,ATT7026A,PL3223,三者都用于三相多功能电能计量,均适用于三相三线制和三相四线制具有50Hz或60Hz标准频率的电网。在电能计量上的差别主要有:ADE7758提供各分相参数;支持过压、过流、线电压跌落、获得电流/电压采样值、在指定时间内检测到/未检测到过零点、相序错位、有功/无功功率符号变化、有功/无功/视在电能累加寄存器半满、电网周期累加模式下最后一个过零点检测完毕等中断。但不提供功率因数、相角及各项电能参数。ATT7026A提供
17、各分相、合相参数,但不具有中断功能。PL3223提供若干间接参数。依次计算出电压有效值、电流有效值、线电压频率等参量,智能提供过压、欠压中断。考虑到本设计需要提供的电能参数的多样性,因此选择了可以提供多种中断源的ADE7758芯片。ADE7758是美国ADI公司推出的三相高精度多功能电能计量芯片。ADE7758的电压通道为16bit -型ADC,动态范围为20:1;电流通道为24bit -型ADC,动态范围为500:1。ADE7758能计量有功电能,无功电能,视在电能,电压有效值,电流有效值,能对波形采样,能测量电压周期,频率等。ADE7758在1000:1的动态范围内线性误差小于0.1。AD
18、E7758有两路脉冲输出,一路为有功电能脉冲,另一路为无功/视在复用脉冲输出。ADE7758的有功,无功,视在电能可以分别独立调节,可以设计成不同的脉冲常数。ADE7758是一款高准确度的三相电能计量芯片,带有两路脉冲输出功能和一个串行接口。ADE7758集成了二阶-D模数转换器, 数字积分器,基准电路,温度传感器,以及所有进行有功,无功和视在电能计量以及有效值计量所需的信号处理元件。ADE7758适用于计量各种三相配置条件下的有功,无功和视在电能,如WYE和DELTA系统,包括三线和四线制。ADE7758为各相提供系统校准功能,包括有效值偏移校准、相位校准、功率校准。APCF逻辑输出提供有功
19、功率信息,VARCF逻辑输出提供瞬时无功率或视在功率信息。ADE7758中具有波形采样寄存器,它可以对模数转换器的输出进行访问。该器件集成了一个用于短时低电平和高电平变化的检测电路,变化的阈值电压和持续时间(即半周期数)由用户编程决定。三相中的任一相的线电压过零检测与电压过零点是同步的,过零检测的结果可用于测量三个电压输入中任意一个的周期。也可用于内部芯片的线循环(LINE CYCLE)电能累加模式。该模式使电能累加与半周期的整数倍同步,以此实现更快更准确的校准。数据通过ADE7758的SPI串行接口读取。中断请求输出(IRQ)为开漏极,低电平有效。在ADE7758中出现一个或多个中断事件时,
20、IRQ输出变为低电平。通过状态寄存器显示中断事件的性质。ADE7758采用24引脚小外形封装(SOIC)。图2.2 ADE7758引脚配置引脚配置和功能描述: APCF:有功功率校正频率逻辑输出引脚。该引脚提供有功电能信息。其输出用于校准和操作的目的。满刻度输出频率可以通过写入APCFNUM和APEFDEN寄存器进行调整(见有功功率频率输出部分)。 DGND:为ADE7758中的数字电路提供参考地端,即乘法器、滤波器、数频转换器的地端。由于ADE7758 中的回路电流很小,可以直接将该引脚与整个系统的模拟地端(AGND)连接,但是DOUT引脚端的大总线电容产生的数字噪声电流可能会影响其性能。
21、DVDD:数字电源。该引脚为ADE7758 数字电路提供电源。正常工作电源电压应保持在5V±5% 。该引脚可用一个10F的电容和一个100nF的瓷片电容并联后进行去耦(与DGND)。 AVDD:模拟电源端。该引脚为ADE7758 模拟部分提供电源。正常工作电源电压应保持在在5V±5% 。为使电源的纹波和噪声减小到最低程度,必须采取正确的去耦方法。技术指标表展示了电源抑制性能。该引脚用一个10F的电容和一个100nF 的瓷片电容并联后,再连接到AGND 引脚来去耦。 IAP ,IAN;IBP,IBN;ICP,ICN:电流通道的模拟输入。该通道与电流转换器一起使用,在本文中称之
22、为电流通道。这些输入引脚是全差分电压输入,最大的差分输入信号为±0.5V,±0.25V,±0.125V 。根据内部放大器的增益选择,来设定输入电压的最大值,增益选择放大器的增益由PGA 寄存器来设定。所有输入引脚具有内置静电放电(ESD)保护电路。除此之外,所有的输入引脚均能承受±6V 的过电压而不会造成永久损坏。(11) AGND:该引脚提供ADE7758中模拟电路部分的接地参考点,即模数转换器、温度传感器、基准电压源。该引脚应该连接到系统的标准模拟地或者干扰最小的接地参考点。干扰最小的接地参考点应用于整个模拟电路,比如,模拟滤波器、电路和电压转换器。
23、为了尽量减小ADE7758 的地端噪声,模拟地端和数字地端间应只有一个连接点。也可以把整个器件都安放在模拟接地面上。(12) REFIN/OUT :该引脚提供对对片上基准电压的访问。片上基准电压额定标称值为2.5V±8%,典型温度系数为30ppm/°C。外部参考端也可以与该脚相连。无论是否连接外部参考电压端,该引脚都应该用一个1F 的瓷片电容跟AGND 端连接去耦。(13)-(16) VN,VCP,CBP,VAP:电压通道的模拟输入。这些通道与电压转换器一起使用,在本文中称之为电压通道。这些输入是单端电压输入,标准运行时最大信号电压为±0.5V(相对于VN 端)。
24、可以通过内部寄存器PGA 选择输入信号的最大值为±0.5V,±0.25V 或者±0.125V(见模拟输入部分) 。所有的输入引脚均能承受±6V 的过电压而不会造成永久损坏,并具有静电放电(ESD)保护电路。(17) VARCF :无功率校准频率逻辑输出。通过设置WAVMODE 寄存器的VACF 位来选择输出无功率或者视在功率。该输出用于操作和校准目的。满刻度输出可以通过写入VARCFNUM 和VARCFDEN 寄存器的数值来调节。(18) :中断请求输出。低电平有效的开漏极逻辑输出端。可屏蔽的中断包括:有功电能寄存器和视在电能寄存器半满和速率达到26kS
25、PS的波形采样(见中断部分)。(19) CLKIN :数字信号处理ADC的主时钟。可在该逻辑输出端提供一个外部时钟。也可一通过在CLKIN和CLKOUT之间并联一个石英晶体为ADE7758提供时钟信号。标准运行时的时钟频率为10MHZ。应该根据晶体的参数确定所需要的负载电容值,接一个几十PF 的瓷片电容到振荡门振荡器电路。(20) CLKOUT:可按照上述方式在该引脚上连接一个晶体为ADE7758提供一个时钟源。当CLKIN提供有外部时钟提供或者连接了一个晶体时,该引脚能驱动一个CMOS 负载。(21) CS:片选信号,为四线串行接口之一。此低电平有效逻辑输入控制,允许ADE7758与其它几个
26、装置分享串行总线(见串行接口部分)。(22) DIN :串行接口的数据输入端。在串行口的时钟信号SCLK 的下降沿从该引脚输入数据(见串行接口部分)。(23) SCLK:同步串行接口的串行时钟信号输入端。所有串行数据与该时钟同步(见串行接口部分)。SCLK引脚具有施密特触发输入,以适应速度较慢的边沿变化时间。(24) DOUT:串行口的数据输出端。数据在SCLK 信号的上升沿从该引脚传输出去。在串行数据总线上没有数据流动的时候该逻辑输出端为高阻抗状态。综上所述,所以选择了ADE7758芯片。2.2.2 单片机的选择STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有
27、8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可
28、选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选,相比于AT89S52,此芯片有更多的优势。2.2.3显示器件的选择LCD是液晶显示屏,主要是用来做面显示的,它本身不发光,然后通过电流使屏幕产生各种颜色的浑浊现象,后置一个光源来透过前面的LCD面板使人看到图案。led是发光二极管,它本身是点光源,就是说发出来的光不是一个面,而是一个点。也有用led做显示屏的,相对于液晶显示屏来说,LED适合于室外以及室内大屏幕观看
29、距离稍微远一点的情况,因为LED显示屏的分辨率肯定远远小过LCD。LCD更适合做电脑液晶电视器、手机显示屏之类的应用。且LCD液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品都可以看到,显示的主要是数字、专用符号和图形。由于液晶显示每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器那样需要不断刷新新亮点。因此,LCD液晶显示器品质高且不会闪烁。液晶显示器都是数字式的,和单片机的接口更加简单可靠,操作更加方便,且在重量上比相同下士面试的传统显示器要轻的多,相对来讲,液晶显示器的功耗主要在其内部的点击和驱动IC上,因而耗电量比其他显
30、示器要少得多,因此选用了LCD1602。2.2.4 电流互感器的选择电流互感器(Current transformer 简称CT)的一次绕组匝数很少,串在需要测量的电流的线路中,因此它经常有线路的全部电流流过,二次绕组匝数比较多,串接在测量仪表和保护回路中,电流互感器在工作时,它的2次回路始终是闭合的,因此测量仪表和保护回路串联线圈的阻抗很小,电流互感器的工作状态接近短路,可以把数值较大的一次电流通过一定的变比转换为数值较小的二次电流。本次设计量程在0-1000ma,所以选择了1000/1的电流互感器。3 系统主要硬件电路设计整个系统分为电流数据釆集处理及传递、信息显示两大部分,本系统的重点是
31、交流电流通过互感后经运算电路处理得出测量数据反馈给单片机,实现交流电流的测量与显示。电流表由测量、显示、控制 、接口和电源等部分组成。其中测量部分由精密小型互感器以及前置信号处理电路构成 ,从中获取电压、电流、频率、相位等多种实时数据,显示部分采用高品质的液晶显示模块,控制部分以单片机为核心 。以电量采集芯片为中心,实现数据采集以及为整个系统提供电源结合以微控制器为中心,实现对采集得到的数据进行计量、存储、显示、异常检测等功能。硬件设计以STC89C52为中心,配合其它各种外围芯片,实现特定功能。MCU通过SPI总线对ADE7758的各个寄存器进行访问,得到计量所需的各项数据。而外部设备则通过
32、12 C 总线与 MCU 进行数据交换。除此之外,系统同时实现对外部异常情况的检测 。3.1 信号调理电路电流调理通道的电路图如3.1图 3.1电流调理通道原理图图中的T1代表电流互感器,R2的作用是将电流信号转换成符合ADE7758要求的电压信号,R1、R3一方面增加后一级电路的输入阻抗,另一方面和、构成了信号滤波电路,用来滤除高频噪音,经调理后的信号直接供给ADE7758。 图3.3电能芯片电流原理图如图3.3示,这些输入是全差动电压输入,允许差动输入信号范围可选为±05V,±025V,±0125V(相对于UN端),根据内部放大器的增益选择来设定输入电压的最大
33、值。前端采样电路的放大器增益PGA寄存器来设定。每相的电流通道在信号通路中都有一个乘法器,电流波形可以改变±50,这主要是由写入12位有符号电流波形增益寄存器(AIGAIN,BIGAIN,CIGAIN)中的2进制数决定的。所有的输入引脚均能承受±6V的过电压而不会造成永久损坏,并具有静电释放保护电路。可见,电流信号经信号放大PGA和模数变换ADC转换为对应的数字信号,然后经电流通道内的高通滤波器HPF滤除DC分量并数字积分,处理后的结果输出电流有效值。计算由于输入时可能有噪声干扰会造成电流相位偏移,可通过写入AIRMSOS,BIRMSOS,CIRMSOS寄存器进行补偿。3.
34、2与单片机通信电路接口电路用来实现ADE7758与单片机的数据通信,一方面可以通过SPI口进行计量芯片ADE7758的初始化,另一方面ADE7758把数据处理的结果以脉冲形式或SPI口送出,供单片机进行计量处理。图3.2与单片机通信电路3.3显示电路 显示采用16x2字符型液晶HC1602,与单片机的接口电路如图3.4示。图中DB1-DB8为HCl602的数据线,与单片机的P0.0P0.7端子相接。P5为可调电阻,用来调整液晶显示的对比度; 图3.4 单片机与HC1602的接口设计字符显示是通过P0口读入该字符的ASCII码实现,举例如下字符1的ASCII为Ox31。在完成LCD初始化设置后,
35、把该字荷对应的ASCH码“Ox31”通过P0口写入LCD的内部寄存器DDRAM中。通过控制端子Rs、R/W的状态组合实现指令的写入以及数据的读、写操作,操作说明参考表3-2所示。表3-2 HC1602操作说明RSR/W操作说明00把指令写入寄存器初始化LCD01读LCD“忙”状态标志10把数据写入寄存器,显示3.4电源供电要求 ADE7758测量电流时需要有一个稳定的电压源,ADE7758内部数据采集时根据外界提供的电压源进行积分处理所得的数据才会稳定精确,在测试一开始我们选择了220v电源适配器供电,但是由于适配器转换交流电源为直流电源时有不稳定的波动,即使增加了滤波电路也会造成轻微的影响,
36、导致了ADE7758数据采集后数值波动比较大,达不到稳定 测量的效果,出于以上原因,我们采用了四节干电池供电方案,测试时数据采集明显比用适配器稳定,因此我们把它确定为最终供电方案。4 系统主要程序设计整个电流表的软件程序由主程序、系统初始化、电量处理模块、数据存储、控制中断、LC D 显示模块等组成。通过主程序或通过中断方式可以调用子程序,以实现系统的整体功能。4.1主程序的设计主程序可用于完成启动和系统初始化( 包括F L A S H 、R A M 、L C D 的设置、S C I 及R T C等的初始化) , 以及判定时段, 在L C D 上显示电流和参数。主程序的流程图如图5所示。测量处
37、理模块则用于读取计量芯片的数据, 并进行复杂的处理, 最后保存这些参量。控制中断模块主要用来处理外部控制中断。L C D 显示模块则用于完成L C D 字段的显示, 可通过L C D 显示屏显示电流量和芯片存储等参数。通信模块主要按照通讯规约的要求, 来实现与测量模块的可靠通讯, 以便来读取电路中的电流数据。图5 主程序的流程图定义的主要函数如下:1.向ADE7758写入数据函数:void shift_in(unsigned char data_in)2.从ADE7758中读取数据函数:unsigned char shift_out()3.串口初始化函数:void Init_RS232()4.
38、串口发送调试字符函数:void Send_Data(unsigned char result)5.延时函数:void delay(unsigned int xms)4.2计量模块的设计STC89C52通过SPI接口访问ADE 7758寄存器 AIRMS,BIRMS,CIRMS,三个寄存器均为24位寄存器,通过对其中一个寄存器进行读取数据命令从总线可获得一个long型数据并把其赋值给CRMS,程序如下:shift_in(X);delay(1);Crms = (unsigned long)shift_out();delay(10);Crms <<= 8;Crms |= (unsigne
39、d long)shift_out();delay(10);Crms <<= 8;Crms |= (unsigned long)shift_out();delay(10);X为寄存器地址,AIRMS地址为0x0A,BIRMS地址为0x0B,CIRMS地址为0x0C,写入读地址命令后通过在总线上读取三次8位数据得到寄存器的数值,读取顺序为高位先读取。STC89C52将CRMS与电流实际参数和刻度进行运算比较后得出PlayData; playdata=0; Crms=Crms*10; if(whtplay=0) if(Crms>7853) if(Crms<31400)Play
40、data=(Crms-7853)*10/2346; if(Crms>31400)playdata=(Crms-4855)*10/2619; 从ADE7758电流寄存器读取的数据不是电路中实际的电流,所以在程序设计中,从ADE7758读取的数据必须乘以对应的电流系数后,才能得到电路中电流的实际数值, 由于本设计的实测电流值与寄存器产生的数值呈线性相关关系,即Y(寄存器值)= a(相关系数)X(实测电流值)+b(相关常数项)在设计中我们直接使用EXCEL 中的函数 INTERCEPT求出相关系数 再用 SLOPE函数求出常数项值。4.3显示模块的设计4.3.1液晶lcd 1602初始化部分
41、0x38命令表示显示数据为8位数据,双列显示,5*7字形显示;0x08为基本指令操作指令;0x0C表示开显示,光标关闭指令;0x06为显示地址递增模式,既写一个数据后,显示位置右移一位;0x01为清屏指令。void lcd_system_reset() lcd_delay(20); lcd_command_write(0x38); lcd_delay(100); lcd_command_write(0x38); lcd_delay(50); lcd_command_write(0x38); lcd_delay(10); lcd_command_write(0x08); lcd_command_
42、write(0x01); lcd_command_write(0x06); lcd_command_write(0x0c); 4.3.2 lcd 1602显示部分lcd 1602将Playdata显示出来,该程序让lcd1602第一行显示“xxxxx.x MA”,即实际测试所得到的值。第二行显示寄存器 AIRMS 值第一行显示实测电流值: lcd_char_write(6,0,mun_char_tableplaydata/100000); lcd_char_write(7,0,mun_char_tableplaydata%100000/10000); lcd_char_write(8,0,mu
43、n_char_tableplaydata%100000%10000/1000); lcd_char_write(9,0,mun_char_tableplaydata%100000%10000%1000/100); lcd_char_write(10,0,mun_char_tableplaydata%100000%10000%1000%100/10); lcd_char_write(11,0,'.'); lcd_char_write(12,0,mun_char_tableplaydata%100000%10000%1000%100%10); lcd_char_write(13,0
44、,'M'); /显示单位/ lcd_char_write(14,0,'A');第二行显示寄存器 AIRMS 值:lcd_char_write(6,1,mun_char_tableCrms/10000000); lcd_char_write(7,1,mun_char_tableCrms%10000000/1000000);lcd_char_write(8,1,mun_char_tableCrms%10000000%1000000/100000);lcd_char_write(9,1,mun_char_tableCrms%10000000%1000000%10000
45、0/10000); lcd_char_write(10,1,mun_char_tableCrms%10000000%1000000%100000%10000/1000); lcd_char_write(11,1,mun_char_tableCrms%10000000%1000000%100000%10000%1000/100) lcd_char_write(12,1,mun_char_tableCrms%10000000%1000000%100000%10000%1000%100/10); lcd_char_write(13,1,mun_char_tableCrms%10000000%1000
46、000%100000%10000%1000%100%10);5 系统调试5.1 软件调试软件的调试分为如下的步骤:首先,设置好软件的编译环境,这一部分是下面调试的基础,正确的环境才能保证编译出的代码完全的适合硬件。其次,软件的编写要有良好的格式,这样做能保证代码在有错误时能更快的找到错误。再次,软件的编写中变量的命名可以采用望文见义的形式,使代码的查看可以更加的便捷。然后,就是代码编译中的错误,这些错误的处理要注意看编译错误的提示,根据提示就可以查出错误,然后加以改正。最后,在编译没有错误的基础上,利用集成开发系统的模拟环境查看逻辑上的错误。这其中可以查看对应硬件的寄存器,输入输出端口。我们还
47、可以在程序中设置断点,查看在断点处的各种信息。也可以在代码中添加适当的语句,让一些信息在变量中显示,以便查看所需要的信息。在上面调试的步骤下,代码的逻辑错误基本可以全部改正。剩下的就是与硬件的联合调试。5.2 硬件调试硬件调试就是让软件与硬件联合起来调试。它的调试步骤如下:首先,在硬件单独检测的基础之上,利用软件查看硬件的正确性。可以编写一些小的代码段,单独的检测硬件的每一部分。这样做可以保证硬件的正确性,让硬件上的错误导致软件错误发生的几率降低。其次,把全部代码下载进去,进行硬件的仿真调试,这里可以利用单步运行,查看系统运行状态是否与逻辑上的相同。在这一步里可以检测出相当多的逻辑错误。再次,
48、让代码在硬件里脱机调试,看看这其中有没有逻辑上的错误。然后,修改代码,让代码在一些极限条件下运行,查看代码对一些边缘情况的处理能力并修改代码。最后,让硬件长期运行,这样来检测需长期运行才能查看的情况和系统的稳定性。图5.1 实测电路如上图5.1所示,其调试方法:找一块标准表(万用表),串联在电路中,同时测电流,然后再调整软件参数。电流经过互感器之后,ADE7758通过两个管脚检测该电阻两端的电压即可在寄存器里面产生一个对应的值,以下是实测数据:表5.1实际电流与测量寄存器比较数据实际电流值(ma) 0121020304060100150180寄存器数值860105012603140570082
49、901090016250268003974047600把实际电流值与寄存器值对应关系绘在坐标轴上,如下图5.2所示,图像为一条平滑的直线,再进行线性相关值计算,得出电流值与寄存器数值之间的线性相关值为0.999963,因此实际电流值与寄存器值呈线性相关关系,考虑到电流互感器在感应10毫安电流时有较大的误差,我们对10ma的数值进行线性相关计算,得出结果为0.992,也呈线性相关关系,经实际测试,线性回归方程真实有效。图 5.2 实际电流值与寄存器值对应关系表5.2实际电流数据A相电流实测数据B相电流实测数据C相第一组电流实测数据序号输入 ma实测 ma序号输入 ma实测 ma序号输入 ma实测 ma13030.213030.113030.223535.123535.223535.234039.934039.934039.944545.244545.144545.35505055050550506
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陶瓷工艺品雕塑师操作评估评优考核试卷含答案
- 染料拼混工变革管理评优考核试卷含答案
- 稀土熔炼工安全技能水平考核试卷含答案
- 个人信息保护合规管理员常识测试考核试卷含答案
- 2026年内江职业技术学院单招职业技能考试模拟试题带答案解析
- 2026年宁波财经学院单招职业技能笔试模拟试题带答案解析
- 2026年荆门职业学院单招职业技能笔试模拟试题带答案解析
- 武汉市2024湖北武汉文献情报中心特别研究助理岗位招聘1人笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 2026年景德镇陶瓷职业技术学院高职单招职业适应性测试参考题库带答案解析
- 2026中国邮政百色市分公司联合校园招聘笔试历年典型考点题库附带答案详解
- 2026年演出经纪人考试题库附参考答案(完整版)
- 高一物理(人教版)试题 必修二 阶段质量检测(一) 抛体运动
- 美团代运营服务合同协议模板2025
- 2025-2026学年人教版七年级生物上册知识点梳理总结
- 2025年新修订版《森林草原防灭火条例》全文+修订宣贯解读课件(原创)
- 2025年秋鲁教版(新教材)小学信息科技三年级上册期末综合测试卷及答案(三套)
- 工业设计工作流程及标准教程
- 2025年放射技师考试真题及答案
- 《好睡新的睡眠科学与医学》阅读笔记
- GB 20101-2025涂装有机废气净化装置安全技术要求
- 熔铝炉施工方案及流程
评论
0/150
提交评论