保捱科技网
您的当前位置:首页数字式工频有效值多用表设计

数字式工频有效值多用表设计

来源:保捱科技网


本 科 生 毕 业 论 文

论文题目 : 姓学班年专学

名 : 号 : 级 : 级 : 业 : 院 :

数字式工频有效值多用表设计

徐树敏 1020610217

2班 2010级 电子信息工程 机械与电子工程学院 高浪琴 (副教授) 2014年 6月8日

指导教师 : 完成时间 :

作 者 声 明

本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文)引起的法律结果完全由本人承担。

本毕业设计(论文)成果归东华理工大学所有。 特此声明。

毕业设计(论文)作者(签字):

签字日期: 年 月 日

本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。

学位论文指导教师签名:

年 月 日

数字工频有效值多用表设计

徐树敏

RMS digital multimeter designed frequency

Xu shu min

2014年 6 月8日

东华理工大学毕业论文

摘 要

此次数字式工频有效值多用表的设计,可以实现在数码管上显示交流电压、交流电流有效值,有功功率,无功功率和功率因数等功能。这次设计基于单片机强大的运算、处理、控制能力和丰富的指令系统,根据离散傅里叶的知识,运用数字采样测量的方法对交流信号的参数进行分析、计算,数据计算全程由软件程序编写,以实现交流电压有效值、交流电流有效值、有功功率、无功功率和功率因数的测量。本次硬件电路设计主要分为数据采集模块、数据处理模块和显示模块3个模块进行设计。数据采集模块利用电位器X9241和双极性运算放大器OP07构成程控放大电路,由单片机控制不同的增益,实现对大小信号量程的自动转换,并且经由采样保持器LF398实现交流电压、交流电流信号同时采样;采样控制信号由集成锁相环CD4046实现被测信号倍频的产生,并且经由A/D转换器AD574A实现数据采样;数据处理模块以单片机ATC52为核心,实现对采集信号进行数据计算;显示模块由并行扩展口8255,键盘和数码管实现。

关键字:ATC52; 工频有效值; 数据采集; AD574A

东华理工大学毕业论文

ABSTRACT

The design of the digital power frequency RMS multimeter can achieve the same power frequency ac voltage RMS, current RMS, active power, reactive power and power factor measurement. This design is based on single chip microcomputer powerful calculation, processing, control ability and rich instruction system, according to the knowledge of the discrete Fourier, using digital sampling measurement method to analyze the parameters of the ac signal, computing, and through software programming, implement effective value, power and power factor measurement. The design of hardware circuit design main points according to the acquisition module, data processing module and display module design three modules. Data acquisition module using potentiometer X9241 and bipolar operational amplifier OP07 implementation of data signal amplifier, and through the sampling keep LF398 to realize ac voltage, current signal synchronization; Data processing with single chip microcomputer ATC52 as the core, by integrated phase-locked loop CD4046 to times the measured signal frequency, through the AD converter AD574A to amplify the signal conversion, then convert signal input microcontroller to realize the collection of signal control and strict calculation; Display module consists of liquid crystal display driver HEF4043 and digital tube.

Key words: ATC52; RMS power frequency; Data acquisition; AD574A

东华理工大学毕业论文

目 录

绪 论 ...................................................................................................................................................... 1 第1章 系统总体方案设计 ............................................................................................................. 2

1.1 课题设计要求 ..................................................................................................................... 2 1.2 总体方案比较与设计 ....................................................................................................... 2 第2章 硬件电路设计 ...................................................................................................................... 5

2.1 数据采集电路设计 ............................................................................................................ 5

2.1.1 程控放大电路设计 ............................................................................................... 5 2.1.2 保持电路的设计 .................................................................................................... 8 2.1.3 信号频率倍频电路的设计.................................................................................. 9 2.1.4 A/D采样电路的设计 .......................................................................................... 12 2.2 数据处理电路设计 .......................................................................................................... 16 2.3 显示电路的设计 .............................................................................................................. 17 第3章 软件程序设计 .................................................................................................................... 20

3.1 数字式工频有效值多用表软件设计主程序流程图 ................................................. 20 3.2 交流信号采集程序设计 ................................................................................................. 20 3.3 数据处理程序设计 .......................................................................................................... 21 3.4 键盘显示程序设计 .......................................................................................................... 24 第4章 调试 ...................................................................................................................................... 25 第5章 结论 ...................................................................................................................................... 27 致 谢 .................................................................................................................................................... 28 参考文献 ............................................................................................................................................... 29 附录一 .................................................................................................................................................... 30 附录二 .................................................................................................................................................... 31

东华理工大学毕业论文 绪论

绪 论

一、课题背景

19世纪20年代,检流计,惠思登电桥等电工指示仪表先后出现,随着信息技术的高速发展,第一台集成电路的数字电压在70年代研制成功。在20世纪中期以后,仪器仪表及测量控制技术应用越来越广泛,伴随着自动控制理论的产生及自动控制技术的成熟,以数/模转换环节为基础的数字式仪器有了快速的发展。

数字式仪表是指测量结果用数字形式显示的仪表,其特点是运用数字测量技术的方法,以数码的形式直接显示出被测量的大小。数字式仪器可以分为机电式与电子式两类。机电式有千瓦时计(火表)等,电子式有数字式电压表、数字式多用表、数字式频率计等。和模拟式仪表相比,数字式仪表不仅具有测量速度快、精度高、读数方便且无读数误差的优点,而且有的还具有量程自动切换、编码输出、与计算机联结等功能。

工频一般是指市电的频率,各国家间不一样,在我国是50Hz。我国电力工业部发布施行的《供电营业规则》中规定:电力系统正常情况下,若电网装机容量超过300万,误差为±0.2%HZ;若电网装机容量小于300万,误差为±0.5%HZ。若电力系统处于非正常,供电频率允许误差不会超过±1.0%HZ。不同的频率对供电的影响也不一样,一般情况一个国家的电网频率是固定的,只有按照这个频率制作的设备,才能在这个国家和地区正常使用。具体频率设定的多少,各个国家可以按照国际习惯定义,也可以自己定义,如我国民用电压,国内用的220v,国际上不少国家用的110v。

二、前景现状

我国从1953年起实行了第一个五年计划,其中重点发展对象就有仪器仪表。在十一五到十二五期间,我国的仪器仪表迎来迅速发展,不仅呈现出新的趋势,而且取得了很多良好的成果。随着我国成功加入WTO,我国仪器仪表行业在出口数量上有了急剧增加,并且在2003年我国成为了亚洲第二大仪器仪表生产国家。进入十二五新时期,我国仪器仪表产业面临着许多机遇,比如风力发电、核能发电等新能源的发展及智能电网和高铁的建设,都让数字式仪器仪表有了更广阔的市场需求。目前我国年数字万用表生产巨大,尤其中低档数字万用表,世界总产量的80%由我国生产。

数字式仪表不仅满足对电参量的测量,还可以实现对电参量的分析、控制与保护,甚至带有模拟量输出及标准通信接口。随着对电气参数测量需求量增多,这类仪表不仅应用于监控仪表、保护仪表,而且广泛应用于建筑楼宇的能源管理系统及电气火灾监控装置。

1

东华理工大学毕业论文 绪论

三、研究内容及设计方法

本课题研究的内容可以分为以下几个方面: 1) 阐述数字式仪表的背景和未来发展前景;

2) 数字式工频有效值多用表设计采取先整体分解为各个子模块,进而对各个模块进

行电路设计或程序编写,以实现各个模块的功能,最终达到实现课题设计总体功能要求的目的;

3) 硬件电路设计中,采取比较法,详细对各个设计模块进行方案比较,分析优缺点,

在比较的基础上确定设计方案并在proteus软件画出电路图。在信号频率倍频电路设计中采用等相位间隔的方法在一个周期内对信号等相位采样次,等相位间隔法具有根据采样信号频率变化时,采样间隔对应变化的优点,有效地避免了信号突然增大或减小时引起采样点增加或减少的发生,提高了测量精度; 4) 软件程序设计中,运用离散傅里叶的知识,对电压电流有效值、有功功率、无功

率和功率因数进行计算并通过软件程序编写。

2

东华理工大学毕业论文 系统总体方案设计

第1章 系统总体方案设计

1.1 课题设计要求

(一)测量功能及量程范围

交流电压:0~500V,交流电流:0~50A,有功功率:0~25kW,无功功率:0~25kVar,功率因数(有功功率/视在功率):0~1 。

为了方便设计与制作,待测的0~500V交流电压、0~50A的交流电流均已由转换器转换成0~5V的交流电。 (二)精确度

显示为(0.000~4.999),有过量程指示,交流电压和交流电流(0.8%读数+5个字),例如,当被测电压为3V时,读数误差应小于(0.8%3V+0.005V)= 0.029V 。

(三)功能选择

用按键选择交流电压、交流电流、有功功率、无功功率和功率因数的测量与显示。

1.2 总体方案比较与设计

1.2.1 方案一

一、 设计思路

采用信号调理电路,将交流电压信号u和交流电流信号i转换成相应的数字信号,通过模拟乘法器、真有效值转换器对功率、有效值等参数进行测量,然后通过多路选择器分别对有功功率、无功功率、功率因数和电压、电流有效值等信号选择控制,用数码管显示出来。信号调理电路可以把模拟信号转换为数字信号,常应用在数据采集、控制、显示等领域。模拟乘法器可以实现电压信号和电流信号相乘功能的的有源非线性器件,通过将电压和电流信号分别输入模拟乘法器的X和Y端口,就可以实现功率的测量。 二、方案评价

此系统硬件电路简单,但不能实现复杂的控制算法,而且成本较高,不适合学生制作,方案一原理框图如图1-1所示。

2

东华理工大学毕业论文 系统总体方案设计

交流电压 信号调理 乘法器 交流电流 信号调理 多路选择器

真有效值转换器 数码管 图1-1 方案一原理图

1.2.2 方案二 一、设计思路

以单片机ATC52为核心芯片,单片机快速处理能力、强大的控制能力和丰富的接口及指令可以实现交流信号相关参数数据的处理。同一路工频交流电分为电压信号和电流信号,对于电压,电流信号采样先用程控放大电路进行预处理,将电压、电流分为三个档,即0.5~5V(增益为1),0.05~0.5V(增益为10),0~0.05V(增益为100)。交流信号经由程控放大电路处理后可以分为两路,一路将电压信号经由过零检测电路转换成方波信号,然后将方波信号输入锁相环倍频电路送入单片机,对被测信号进行倍频。另一路将交流电压和交流电流信号通过保持电路保持后,通过模拟开关选择所需的信号送入A/D转换器进行数据采样,然后将采样的数字量送入单片机,经过单片机内部定时器/计数器处理,运用采样计数法,在一个周期内分别对电压,电流瞬时值采样次,根据离散积分公式计算出电压、电流的有效值以及有功功率,进而根据前面测量值计算无功功率和功率因数。然后将单片机处理的结果通过按键选择在数码管上显示出来。

二、方案评价

电路设计简单,成本低,测量精度高,设计中涉及的计算全部由软件完成,经过两种方案的比较,选择了第二种方案进行设计,方案二原理框图如图1-2所示。

3

东华理工大学毕业论文 系统总体方案设计

图1-2 方案二原理框图

交流电流信号 程控放大电路信号保持 过零检测电路 交流电压信号 程控放大电路 信号保持 模拟开关 模数转换 单 片 机 键 盘 锁相环 倍频电路 显 示

4

东华理工大学毕业论文 硬件电路设计

第2章 硬件电路设计

2.1 数据采集电路设计

数据采集电路设计分为程控放大电路设计,保持电路设计,信号频率倍频电路设计和A/D采样电路设计,下面详细说明。 2.1.1 程控放大电路设计

采用集成运放芯片OP07和数字电位器X9241构成程控放大电路对交流电压和交流电流信号进行处理,单片机ATC52通过对待测信号不同幅度的判断,自动改变X9241参数来选择不同的增益,实现对大小信号量程的自动转换,因此选择第二种方案。 一、各个芯片特点 1) 集成运放芯片OP07

OP07芯片是一种双极性运算放大器集成电路,其具有如下特点: ① 噪声低,输入失调电压不超过25V,无需额外调零 ② 较高的开环增益和比较低的偏置电流,适用高增益设备输入 OP07的引脚图如图2-1及其引脚功能如表2-1所示。

图2-1 OP07引脚图

表2-1 OP07引脚功能

引脚 功能 1和8 调零端 2 反向 输入 3 正向 输入 4 接地 5 空脚 6 输出 7 接电源 2) 数字电位器X9241芯片

X9241由四个数字电位器和一个I2C总线接口组成。I2C总线接口通过控制电位器X9241的滑臂来改变电位器阻值的大小。X9241里面每个数字电位器又分为数据寄存器,电阻阵列和WCR,使用者可以对它们进行读写,电阻阵列与WCR相对应。电阻阵列的两端及抽头结构类似平常接触的电位器的VH、VL 输入端及抽头结构,在X9241中有4个8位数据寄存器,分别为R0R3。数据寄存器将读写的内容传输到WCR,通过开关连

5

东华理工大学毕业论文 硬件电路设计

接滑动输出端VW,可以设置WCR滑动端的位置,

X9241引脚图如图2-2及其引脚功能如表2-2所示。

图2-2 X9241引脚图 表2-2 X9241引脚功能

引脚VW0、VW1、1VW2及VW3 引脚VL0、VL1、VL2及VL3 引脚VH0、VH1、VH2及VH3 引脚A0、1A1、1A2及A3 引脚SDA及SCL VCC)及VSS 对应四个电位器的滑动端 对应四个电位器的低端 对应四个电位器的高端 对应4个地址线 串行数据和串行时钟 电源和地

在proteus绘制电路图时,由于元器件库中没有X9241,所以用原理相同,引脚功能一致的电位器AD5242BR10替代,AD5242BR10引脚中W1、W2、A1、A2、B1、B2、AD0、AD1分别对应X9241引脚中的VW1、VW2、VL1、VL2、VH1、VH2、A1、A2。 二、程控放大电路原理

程控放大电路原理图如图2-3,图2-4所示,交流输入信号Ii和Vi分别接入电位器X9241的滑动端w1和w2,放大的输出信号VO和IO分别与X9241电位器低端A1和A2相连,并且将数字电位器X9241的串行数据口SDA引脚和单片机ATC52的P1.5口连接,将串行时钟口SCL引脚连接单片机的P1.4口,通过软件程序编写量程控制代码,由单片机P1.5口送出量程控制代码,X9241内部数据寄存器接收量程控制代码并传输到滑动端计数寄存器(简称WCR),从而控制WCR寄存器滑动端在电阻阵列的位置,进而改变X9241的阻值,将数字电位器X9241作为同相比例放大电路的反馈电阻,根据同相比例放大电路计算方法,由“虚短”和“虚断”的概念可知:

6

东华理工大学毕业论文 硬件电路设计

u0(1Rx9241)ui(2.2)R2

u0Rx9241Au(1)(2.3)uiR2

因此通过改变X9241的阻值,可以实现不同的放大倍数。单片机根据外部输入信号幅度不同,选择相应的量程控制代码输入X9241,从而控制WCR寄存器滑动端在电阻阵列的位置,进而实现增益为1,增益为10,增益为100的放大倍数,进而实现对大小信号的处理和量程的自动转换。

图2-3 电压信号程控放大电路原理图

图2-4 电流信号程控放大电路原理图

7

东华理工大学毕业论文 硬件电路设计

2.1.2 保持电路的设计 一、方案选择

方案一

采取轮流采样的方法,即第一个点对交流电压进行采样,第二个点对交流电流进行采样,第三个点再对交流电压采样,如此反复循环的方法。此次方案将放大的交流电压信号和交流电流信号,通过控制开关控制,经A/D转换器完成数据的采集,将输出信号输入单片机对信号进行精确的控制与计算。这种方案电路设计比较简单,通过软件编程实现信号采样保持功能,但轮流采集会产生采样点相位的间隔差,所以不能对交流电压,交流电流信号进行同时测量,而测量功率值,需要在一个周期内要对交流电压、电流信号同时取点采样,因此会对功率测值造成误差。

方案二

在测量功率时,需要对电压、电流信号同时测量,但单片机对电压信号和电流信号的A/D转换只能依次进行,因此选择采样/保持器LF398实现交流电压信号和交流电流信号同时采样保持,测量时单片机先对电压信号进行采集与A/D转换,而此时的电流信号被送到采样保持电路保持,待电压信号处理完毕后,再对所保持的电流信号进行转换,LF398内部原理图如图2-5所示。

图2-5 LF398内部原理图

通过两种方案比较,方案二可以实现对交流电压信号和交流电流信号同时采样,进而满足交流信号功率的测量要求,提高了测量精度,所以采用第二种方案。 二、保持电路原理

保持电路图如图2-6所示,采样保持器LF398由输入缓冲放大器A1,高输入阻抗射极输出器A2和比较器A3组成。7脚是参考电压,接地,将8脚与单片机的P1.3口相

8

东华理工大学毕业论文 硬件电路设计

连,由单片机控制8脚的逻辑电压信号。交流信号经由程控放大电路处理后,由3脚输入保持器内部的输入缓冲放大器A1,当8脚输入的逻辑电压信号高于参考电压时,A1输入缓冲放大器输出一个低电平信号使与A2连接的开关闭合,此时输入信号由A1到达到A2,再通过A2的输出端5引脚输出,与此同时,输入信号向6引脚连接的电容充电,使A2上的输出电压与6引脚上电容的电压相等,此时A1输入缓冲放大器和A2高输入阻抗射极输出器就构成了1:1的电压跟随器;而当8脚输入的逻辑电压信号低于参考电压时,A1输入缓冲放大器输出一个高电平信号使A1与A2连接的开关断开,8引脚由“1”变为“0”,由采样状态转为保持状态,此时5引脚的输出电压等于6引脚电容上保持的电压,实现信号保持目的。

图2-6 保持电路图

2.1.3 信号频率倍频电路的设计 方案一

选择外部微控制器8253在一个周期内把信号分成个相等的脉冲信号,从而实现芯片的倍频特性。假设交流信号测量时间为T1,则外部芯片对信号的采样周期就T1是。在每个采样周期,ATC52发送脉冲给AD574,AD574开始转换。这种方法可以实现信号频率的倍频,但ATC52内部会频繁的向外部芯片8253发出指令,导致8253会频繁的启动进行测频、倍频和计数,其中会损失一些时间,使得A/D完成转换的时间延长,测量精度大大降低。 方案二

采用双运算放大器TL082构成过零检测电路,将交流信号转换成方波;并且运用集成锁相环CD4046完成对信号的锁相和产生倍频,然后将等相位脉冲信号从外部输入单片机并以中断的形式控制启动AD574A,在一个采样周期内对信号采样次,

9

东华理工大学毕业论文 硬件电路设计

实现高速数据采集,这种方案不仅电路图设计简单,而且测量精度高,所以采用第二种方案。 一、芯片特点

1) 集成锁相环CD4046原理

集成锁相环CD4046内部主要可以分为放大器、压控振荡器(VCO)、相位比较器和整形电路,其原理图如图2-7所示。交流电压信号Ui从14引脚输入A1放大器,经整形电路将信号传至两个相位比较器的输入端,然后与3引脚输入的信号UO在相位比较器里经过相位比较,输出的相位差经过由R3、R4和C2组成的滤波电路送到压控振荡器的输入端9引脚,在压控振荡器内调整振荡频率f2,随后再送入相位比较器,通过多次与输入信号Ui的频率进行比较直至f2f1,最终14引脚的交流电压信号Ui和3引脚输入的信号UO相位差为固定值,实现两个电压信号相位的同步控制,即相位锁定。

集成锁相环CD4046在输入占空比为50%的方波信号情况下,通过和二进制计数器相连,由二进制计数器产生倍频系数,实现不同系数的倍频电路。

图2-7 CD4046原理图

2) 双运算放大器TL082

TL082是具有低输入偏置电压和偏移电流、输入阻抗高的双运算放大器,其引脚图如图2-8及其引脚功能如表2-3所示。

图2-8 TL082引脚图

10

东华理工大学毕业论文 硬件电路设计

表2-3 TL082引脚功能

脚名 1 2 3 4 功能 输出1 反相输入1 正向输入1 电源- 脚名 5 6 7 8 功能 正向输入2 反相输入2 输出2 电源+ 3) 双4位二进制计数器74LS393

74LS393为二进制异步清零计数器,74ls393计数器的清零端分别是2脚,高电平有效,只要将清零端接高电平,不管时钟CLK如何变化,就能实现清零功能。当2脚接低电平时,实现计数功能,74LS393引脚图如图2-9所示。 图2-9 TL082引脚图 二、信号频率倍频电路原理 信号频率倍频电路图如图2-10所示,信号频率倍频电路的设计采用等相位间隔的方法在一个周期内对信号等相位采样次,等相位间隔法具有根据采样信号频率变化时,采样间隔对应变化的优点,有效地避免了信号突然增大或减小时引起采样点增加或减少的发生,减少采样失真,保证了测量精度。本次频率倍频电路的设计采用双运用算放大器TL082构成过零检测电路,将交流电压信号转换成占空比为50%的方波,然后将方波信号输入集成锁相环CD4046的3引脚,促使CD4046能够产生倍频信号。输入信号经过集成锁相环CD4046内部的相位比较器和压控振荡器的多次频率比较处理,最终在压控振荡器内调整振荡频率f2与输入信号f1相等,实现相位锁定。决定倍频系数N,即在一个采集周期内采集个脉冲信号,将CD4046的4引脚与ATC52单片机INT1相连,在INT1电平信号相邻两个上升沿期间,用定时器T0对单片机时钟信号计数,读取计数值为M,,由此计算输入信号频率和倍频信号频率。

11

东华理工大学毕业论文 硬件电路设计

输入信号频率:fi1 (24) 12M()fclkN(25) 12M()fclk 倍频信号频率:fo再利用ATC52定时器T1实现倍频信号输出,定时器T1结束后产生中断信号,以此快速启动A/D转换器,实现高速数据采集。 图2-10 信号频率倍频电路图 2.1.4 A/D采样电路的设计 A/D采样电路由模拟开关CD4051和A/D转换器AD574组成。由单片机控制CD4051开关的导通来选择电压和电流信号输入AD574A,信号经A/D转换后将输出信号送到单片机。 一、芯片特点 1) 模拟开关CD4051

CD4051是数字控制模拟电子开关,具有低导通阻抗和很低的截止漏电流的特点。有4个输入端,分别是A、B和C三个二进制控制输入端和输入端INH;有X0X7共8个输入/输出通道;当INH输入端=“1”时,所有的通道截止;当INH=0时,三位二进制信号选择8个输入/输出通道X0X7中的一个通道,使其中的一个通道和输出通道连通。

12

东华理工大学毕业论文 硬件电路设计

模拟开关CD4051引脚图如图2-11及其引脚功能如表2-4所示。

图2-11 CD4051引脚图 表2-4 模拟开关CD4051真值表

INH C

0 0 0 0 0 0 0 0 B 0 0 1 1 A 0 1 0 1 IN/OUT INH C “0” “1” “2” “3” 0 0 0 0 1 1 1 1 1 X B 0 0 1 1 X A 0 1 0 1 X IN/OUT “4” “5” “6” “7” 截止

需要注意的是:7引脚在输入电压为负时,一定要接负电压;若输入电压为正,可以接地,也可以接负电压。 2) 模数转换器AD574A

AD574A是一种转换速度可以达到35us、转换精度低于0.05%的12位高速逐次比较型A/D转换器,在外部接少量的电阻电容件原件就可以实现信号的转换。拥有自动校零、自动极性转换、精度高、低功耗和外接原件少的特性使得AD574A应用非常方便。

AD574A工作状态逻辑真值表如表2-5所示。

表2-5 AD574A工作状态逻辑真值表

CE 1 1 1 1 1 0 X CS R/C 0 0 0 0 0 X 1 0 0 1 1 1 X X 12/8 X X +5V 接地 接地 X X A0 0 1 X 0 1 X X 工作状态 12位转换 8位转换 12位并行输出 输出高8位数据 输出低4位数据 禁止 禁止

13

东华理工大学毕业论文 硬件电路设计

图2-12 AD574引脚图

2引脚选择输出12位或8位数据纵线;4引脚用来控制数据输出格式和启动转换的方式;5引脚是读转换数据控制端;6引脚是使能端;7引脚是正电源输入端,输入+15V电源;8引脚是10V基准电源电压输出端;9引脚是模拟地端;10引脚是基准电源电压输入端;11引脚是负电源输入端,输入-15V电源;12引脚是正电源输入端,输入+15V电源;13引脚和14引脚分别是是10V或20V量程模拟电压输入端;15引脚是数字地端;16至27引脚是向外输出A/D转换数据的12条数据总线;28引脚在单片机中断或查询时使用,可以识别A/D转换器的工作状态,当STS=1时,表示在转换数据,当STS=0时,表示转换结束。 3) 地址锁存器74LS373

74LS373是一种应用于单片机外部扩展的带3态缓冲输出的8D触发器,其原理图如图2-13所示。

图2-13 74LS373原理图

引脚2、5、6、9、12、15、16、19是输出端,能够与总线直接相连,1脚OE是输出使能,低电平有效。在OE为高电平状态下,输出端呈高阻态,不驱动总线,锁存

14

东华理工大学毕业论文 硬件电路设计

器内部的逻辑操作也不受影响,输出悬空。在OE为低电平状态下,输出端处于正常逻辑,允许输出,可用来驱动总线。11脚是锁存端,11脚电平由高变低时,输出端8位信息被锁定存储。 图2-14 地址锁存器及译码器 二、A/D采样电路原理 A/D采样电路如图2-15所示,模拟开关CD4051分时选择交流电压信号和交流电流信号经13引脚10VIN输入AD574A。AD574A的CE信号由ATC52的WR 和RD经1级或非门74LS28提供,以实现AD574A数据转换或读取;CS由地址译码器74HC138输出提供,写操作时使CS有效;R/C信号由单片机P3.7口经反相器提供.当AD574A满足CE1,CS0,R/C0,A00时,启动AD574A转换,AD574A在转换期间处于高电平,STS与单片机ATC52的INT0连接,此时STS=1。STS=0时,通过INT0向单片机请求中断,AD574A数据转换结束。A/D转换结束后,R/C=1,允许读取数据,此时CE1,CS0,R/C=0,12/8=0,AD574A分2次读出12位转换结果。A00时,从AD574A的DB11DB4输出高8位,此时DB3-DB0为高阻态;A01时,从DB3-DB0输出低4位,此时,DB11DB8为高阻态,DB7DB4输出为0,因此AD574A的DB11DB4与处理器的B7B0相连,DB3-DB0与DB11DB8对应相连,这样各数据口线不会冲突,读出的低4位在该字节的高4位放着,再经过数据移位处理即可。

15

东华理工大学毕业论文 硬件电路设计

图2-15 A/D采样电路图

2.2 数据处理电路设计

数据处理电路以单片机ATC52为核心芯片,单片机快速处理能力、强大的控制能力和丰富的接口及指令系统可以实现交流信号相关参数数据的处理,数据计算全程由软件程序编写,根据离散积分公式计算出电压、电流的有效值以及有功功率,进而计算无功功率和功率因数,数据处理电路图如图2-16所示。

图2-16 数据处理电路图

16

东华理工大学毕业论文 硬件电路设计

ATC52共有4个8位并行I/O端口:P0、P1、P2、P3端口,每个端口有8个引脚,P3端口更重要的是它的第二功能,其特殊功能描述如下。 P0、P1、P2、P3端口工作在I/O方式时,具有如下共同点: ① 四个端口用作输出端口时,可以和外设直接相连 ② 四个端口用作输入端口时,分读端口和读引脚两种方式。读端口方式时,先从端口锁存器里读取内容,再送入内部的总线,然后经过运算返回到回端口锁存器;读引脚方式时,把引脚置1,与读端口不同,是从外部读取数据再送入内部总线。 P0、P1、P2、P3端口区别: ① P0用来做输出端口时,必须接上上拉电阻,若引脚悬空,可以用来高阻抗输入,可以驱动8个TTL负载 ② P1接上拉电阻可以输出高电平,也可以不接电阻,输出低电平,两种方式都可以驱动电流驱动型器件,其中,P1.0和P1.1分别可以作为定时器T2的时钟输入和外部控制输入端T2E,可以驱动4个TTL负载 ③ P2可以用作高8位地址输出总线,驱动4个TTL负载 ④ P3端口第二功能如表2-6所示。 表2-6 P3端口第二功能 口线 P3.0 P3.1 P3.2 P3.3 第二功能 串行输入通道 串行输出通道 外中断0 外中断1 口线 P3.4 P3.5 P3.6 P3.7 第二功能 定时器T0外部输入 定时器T1外部输入 外部数据存储器写选通 外部数据存储器读选通 2.3 显示电路的设计

显示电路采用并行扩展口8255,16只按键,LCD液晶显示驱动器HEF4543和4只共阴极七段LED数码管组成。前6个按键分别用来实现交流电压有效值、交流电流有效值、有功功率、无功功率、功率因数和复位等6个功能,后10只按键为预留按键,作为后续扩展功能按键使用。 一、各个芯片的特点 1) 并行扩展口8255

8255作为主机与外设的连接芯片,8255能并行传送8位数据,其数据线为8根D0~D7;地址总线AB:编号为A0~A1,用于选择A、B、C端口与控制寄存器;具有3个的8位并行输入/输出端口,分别为PA0PA7、PB0PB7、PC0PC7,各端口均具有输入输出的能力。并行扩展口的工作方式有3种,分别为方式0、方式1和

17

东华理工大学毕业论文 硬件电路设计

方式2,通过控制字选择端口,具体内容如下面所示:

D7 D6 D5 D4 D3 D2 D1 D0 D0:C口PC3PC0,1是端口PC3PC0输入,0是端口PC3PC0输出 D1:端口B口。1是端口B输入,0是端口B输出

D2:B口工作方式选择,0是端口B方式0,1是端口B方式1 D3:C口PC7PC4。1是端口PC7PC4输入,0是端口PC7PC4输出 D4:端口A口。1是端口A输入,0是端口B输出

D5D6:用来选择端口A的工作方式,00表示端口A的工作方式0,01表示端口A的工作方式1,1X表示端口A的工作方式2

D7:方式控制字标志位 2) 液晶显示驱动器4543

4543是BCD—七段译玛—锁存液晶驱动器,可以用来驱动LED的七段数码管,4543引脚图如图2-17所示。

图2-17 4543引脚图

LE是锁存端,LE=0时,锁存器保存最近数据,并禁止锁存器接受数据;LE=1时,锁存器输出随数据输入端DCBA的变化而变化。BI是显示开关,当BI=1时关显示, 4543的真值表如2-7所示。

表2-7 4543真值表 BI 1 0 0 0 LE X 1 0 0 DBCA X 9 AF X 显示结果 无显示 09 无显示 不变 二、显示电路原理

显示电路图如图2-18所示,由于数字式工频有效值多用表需要至少5个按键在4个数码管上选择显示交流电压有效值、交流电流有效值、无功功率、有功功率和功

18

东华理工大学毕业论文 硬件电路设计

率因数等参数的大小,也就是需要至少5个I/O口,考虑到单片机ATC52的I/O口不够,所以采用并行扩展口8255作为ATC52与LED数码管的连接芯片。并行扩展口8255数据端D0~D7与ATC2单片机P0.0P0.7连接,实现单片机与8255间数据的传输,CS与单片机的P2.6相连,单片机发片选信号选中8255,8255的WR和

RD与单片机的WR和RD相连,实现单片机对8255信号的读写。

本次显示电路的设计按键采用为44按键的矩阵式键盘结构,这种结构方式具有占用I/O口接线少的优点。如图2-18所示,将4跟I/O接口(PC4PC7)作为行线,4跟I/O接口(PB0PB3)作为列线,行线连接上拉电阻并与+5V电源相连。按键开关断开时,行线置于高电平,按键开关闭合时,行线和列线短路,按键电路连通。

显示电路设计采用7段共阴极LED数码管进行数字显示,如图2-19所示,其原理是将8个发光二极管的阴极端一起接地,当阳极端处于高电平时,点亮二极管进行数码显示。如图2-20 所示,将不同的字段码输入ag,可以显示不同的数字或字符。

图2-19 共阴极结构 图2-20 外脚和引脚

图2-18 显示电路图

19

东华理工大学毕业论文 软件程序设计

第3章 软件程序设计

3.1 数字式工频有效值多用表软件设计主程序流程图

主程序首先对串行口控制寄存器初始化并设置ATC52单片机的T0、T1的工作方式。按下按键,调用各功能子模块,启动A/D模数转换器,将采集的信号经过单片机内部计算处理,并在数码管显示出来,然后循环返回下一轮测量,主程序流程图如图3-1 所示。 开始 系统初始化 启动A/D转换器 数据计算 启动中断 控制功能 显示 等待外部中断 接受按键信息 图3-1 主程序流程图 返回 3.2 交流信号采集程序设计

数字式工频参数的测量可以采用交流信号参数的测量方法,交流信号相关参数的测量方法常用的有数字采样测量法和模拟电路测量法。模拟电路测量法可以对交流信号的有效值和功率进行测量,但对谐波分析较难;数字采样测量法可以实现对交流信号的所有参数的分析和计算。本次设计采用数字采样测量法对交流信采样,设置定时器T1,,启动A/D模数转换器,对采集的交流电压信号和电流信号计数,若一个周期内采样次,则采样完成,并把采样结果存储,否则继续采样至次,采集程序流程图如3-2所示。

20

东华理工大学毕业论文 软件程序设计

开始 交流电压、电流信号采集 启动A/D转换器 设置定时器T1 N 一个周期内是否采集次 Y 返回 图3-2 交流信号采集流程图 3.3 数据处理程序设计 在数据处理模块中主要包括交流电压有效值、交流电流有效值、有功功率、无功功率和功率因数的计算。 交流电压和电压的有效值:瞬时值在一个周期内的方均根值。 有功功率(P):在交流电路中,有功功率是指一个周期内负载消耗的瞬时功率的积分的平均值。 无功功率(Q):在工频电路的每半个周期内,把电源能量转化为电场或电磁能量储存起来,然后在释放,又把存储的电场或电磁能量返回给电源能量,进行这种能量的交换但没有真正损失能量,这个交换的功率叫无功功率。 功率因数是指交流电压与交流电流位差()的余弦,用cos表示,同时,功率因数还可以由有功功率和视在功率计算,即cosP。所以通过计算出交流电压和S

21

东华理工大学毕业论文 软件程序设计

交流电流的有效值,进而求出有功功率和视在功率,便可以求出功率因数cos。 考虑到谐波的影响,电网中工频信号电压、电流的瞬时值可分别表示为: u(t)2Unsin(ntn)n1 (3.1) i(t)2Insin(ntn)n1(3.2) 式中为基波角频率;T为基波周期;Un为电压n次谐波分量的有效值;n为电压n次谐波相移;In为电流n次谐波分量的有效值;n为电流n次谐波相移。 对上面两式进行采样量化,则具有L次谐波的电压,电流信号可以表示为: u(n)2Uksin(knTsk)k1L(3.3) i(n)2Iksin(knTsk)k1L(3.4) (n=0,1,2,···,N-1),式中N为每周期的采样点数,同步采样应满足T=NTs,Ts为采样间隔。T为基波周期。 根据有效值的定义,离散化的电压有效值、电流有效值公式为: U1N12(3.5) u(n)Nn0

I1N2i(n)n0N1(3.6)

1N1(3.7)有功功率:Pu(n)i(n)Nn0 无功功率:QS2P2 (3.8) 其中S是视在功率,SUI (3.9) 功率因数:cosP(3.10) S 需要注意的是,功率的测量需要交流电压信号和交流电流信号满足同步采样。 22

东华理工大学毕业论文 软件程序设计

软件程序编写时,首先定义交流电压、电流的瞬时初始值,然后在一个周期内对交流电压、电流信号脉冲进行次采样,用单片机内部计数器分别统计交流电压、电流一个周期内的次采样的瞬时值。在一个周期内,单片机分两路进行,一路由单片机计算出瞬时功率,然后瞬时功率求和,根据有功率公式求出有功功率;另一路由单片机的计数器分别计算出交流电压瞬时值和交流电流瞬时值平方的和,在根据有效值公式分别计算出交流电压、电流的有效值,进而求出视在功率,前面已计算出有功功率,根据功率因数及无功功率公式求出相应参数,流程图如图3-3所示。 电压、电流瞬时值 初始化 开始 信号采集 N 采集 次否 Y Y 求出电压、电流 瞬时值 计算电压、电流平方和 视在功率 有功功率 无功功率 功率因数 返回 除以 再开平方 计算有效值 图3-3 有效值、功率和功率因数测量流程图

23

东华理工大学毕业论文 软件程序设计

3.4 键盘显示程序设计 本次设计采用44矩阵式键盘,单片机扫描键盘时,运用查询方式检查按键按下与否,去抖动,确定有按键按下后,读取键盘值,由键盘值识别按键,并对按键赋值变量进而调用功能子模块在数码管显示,流程图如图3-4所示。 开始 A 键盘口=0x0f 键盘口=0x0f 读键盘 读键盘,得高四位 有键按 N 下么? 高低四位合并得键盘值,识别键盘 Y 延时10ms 0xff送入按键变量 按键数据送入按键变量 读键盘,得低四位 数据处理 功能显示 返回 真的有 N 键按下么? Y A 图3-4 键盘显示流程图

24

东华理工大学毕业论文 调试

第4章 调试

在整个调试过程中,采用先子模块调试,子模块调试成功后,再将各个字模块连接进行整体调试的方法。

(1)程控放大电路调试:将交流电压放大电路和交流电流放大电路的输入端接入正弦交流电源,输出端连接示波器,数字电位器X9241的串行数据口SDA引脚和单片机ATC52的P1.5口连接,串行时钟口SCL引脚连接单片机的P1.4口,改变正弦交流电源的频率的幅度,观察各芯片引脚高低电平和示波器图形输出。一开始放大电路仿真不成功,显示运算放大器OP07和滑动电阻器这两个芯片没有仿真模型,查找proteus中所有OP07芯片,发现都无法仿真,经过查资料,用具有相同功能的运算放大器LM118代替OP07进行仿真,并替换可以仿真的滑动变阻器,随后仿真结果正常,示波器显示波形如图4-1所示,调试结果证明,放大电路模块连接正常。

图4-1 放大电路输入输出波形显示图

(2)频率倍频电路调试:双运算放大器TL082的输入端3引脚接入正弦交流电源和COUNTER TIMER(计数器定时器),锁相环CD4046的4引脚连接计数器定时器,并将计数器定时器设置为频率模式,点击仿真,可以观察到各芯片引脚高低电平显示正常,所以频率倍频电路模块连接正常,计数器定时器显示频率如图4-2所示。

图4-2 频率倍频电路调试图

25

东华理工大学毕业论文 调试

(3)保持电路调试:由于保持器LF398在proteus软件中没有仿真模型,多次查找资料,没有找到可以代替LF398的芯片并且能够在proteus中成功仿真的芯片,所以,保持电路暂时不能进行仿真。

(4)显示电路调试:将并行扩展口8255与单片机连接,然后点击proteus仿真按钮,proteus仿真结果没有出现错误,但四只数码管没有正常显示,仔细阅读《数码管LED接口电路》相关知识,在每个数码管接上显示驱动器4543后在仿真,四个数码管显示正常,如图4-3所示。

图4-3 数码管调试显示图

26

东华理工大学毕业论文 结论

第5章 结论

这次数字式工频有效值多用表的设计,将交流信号经由电位器X9241和双极性运算放大器OP07组成的放大电路放大,并由采样保持器器LF398对交流电压信号和交流电流信号进行同路保持,然后经过A/D转换器将模拟信号转换为数字信号,将输出信号输入ATC52,经过单片机内部数据处理,可以实现在数码管上显示交流电压、电流有效值,有功功率,无功功率和功率因数等参数,其功能类似万用表,但成本比万用表低,测量精度也较高。

本次设计,硬件电路设计尽量简单化,选择芯片一是尽量采用我们熟悉的芯片,二是尽量是电子市场上容易购买的,方便做出实物。软件程序设计我采用MCS-51单片机C语言程序设计,C语言程序较简单,容易理解。在软件程序设计中,采集模块,有效值子模块,有功功率、无功功率子模块和功率因数子模块程序编译成功,但片外扩展8255、按键及数码显示子模块程序没编译成功。这次数字式工频有效值多用表的设计,不仅可以实现有效值,功率和功率因数的测量,根据傅里叶算法,通过软件程序编程,还可以对电压、电流最大值及最小值,电压基波有效值和谐波有效值的测量。

27

东华理工大学毕业论文 致谢

致 谢

这次数字式工频有效值多用表的设计,比较复杂,但是在高浪琴老师的指导下,我顺利的完成了本次课题的设计,在此,我深深感谢我的毕业论文指导老师高浪琴教授。高老师不仅温和待人,而且认真负责我们做毕业设计。自从知道我们的毕业设计题目后,高老师就多次开会,详细向我们讲解毕业设计内容,注意事项和任务要求。在毕业设计遇到困难时,高老师关心鼓励我,并迅速找到相关资料指导我,让我攻破一道又一道难关。在毕业论文撰写时,高老师很负责,很认真,一句一句认真查阅,帮我们找出语句、字体等我们难以发现的格式问题,高老师仔细、认真、负责的指导,为我顺利完成毕业设计提供了很大的帮助,为此,对高老师,我深深感谢!

期间,对我毕业设计作出指导和建议的同学们,也感谢你们!

28

东华理工大学毕业论文 参考文献

参考文献

[1] 清华大学电子学教研组编,童诗白,华成英主编 《模拟电子技术基础》(第四版)[M],北京:高等教育出版社,2006,5

[2]高吉祥主编《电子仪器仪表设计》[M],北京:电子工业出版社,2007.8 [3] 邱关源,罗先觉主编 《电路》[M],北京:高等教育出版社,2006.5

[4] 清华大学电子学教研组编,阎石主编 《数字电子技术基础》[M],北京:高等教育出版社,2006.5

[5] 毕宏彦,徐光华,梁霖编 《智能理论与智能仪器》[M],西安:西安交通大学出版社,2010.10 [6] 张永瑞主编. 《C语言设计》(第四版)[M],北京;清华大学大学出版社,2010.6 [7] 谭浩强著.《单片机原理及应用》[M],北京:电子工业出版社,2002.8

[8]唐颖主编《单片机原理与应用及C51程序设计》[M],北京:北京大学出版社,2007.8 [9] 马明建,周长城. 《数据采集与处理技术》[M], 西安: 西安交通大学出版社 1998 [10] 沙占有主编.《数字万用表应用技巧》[M],北京:国防工业出版社,1997.

[11] 杨光友,朱宏辉主编. 《单片机微型计算机原理及接口技术》[M],北京:中国水利水电出版社,2002

[12] 何立民主编. 《单片机应用技术选编》[M],北京: 北京航空航天大学出版社, 1997 [13] Tran Tien Lang. Computerized Instrumentation. John Wiley & Songs Ltd,1999 [14] J.B.Peatman. Microcomputet-Based Desige.McGraw-hill,1998 [15] J.A. Allocca.Electronic Instrumentation.Prentice-Hill,1996

29

东华理工大学毕业论文 附录

附录一

总体电路图:

30

东华理工大学毕业论文 附录

附录二

程序

#include\"reg52.h\" //包含特殊功能寄存器 #include\"math.h\" //包含数学函数

#include \"intrins.h\" //包含了有关单片机的几条汇编语句的C语言调用接口,是直接编译成对 应的汇编语句的。

#include\"absacc.h\" //使用其中定义的宏来访问绝对地址,包括:

CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD #include\"led.h\"

sbit select=P1^4; //定义可位寻址的特殊功能寄存器 sbit cfm=P1^5; sbit g100=0; //继电器开关 sbit u_d=0;

//电位器增加,减小模式设定 sbit inc=0; //增减脉冲 sbit lock=P1^3; //取样保持 uchar key_x=0; //键盘确认前值 uchar key_v=0; //键盘确认后值 bit key_0; //有无按键 bit auto_ok=0; //增益调节完成 float u_max=0; float u_min=0; float i_max=0; float i_min=0; float u2=0;

//电压采样值平方和 float i2=0;

//电流采样值平方和 float v_ef; //电压有效值 float i_ef; //电流有效值 float fi=0;

31

东华理工大学毕业论文 附录 //相位差 float lmd=0; //功率因素 float Py=0; //有功功率 float Ss=0; //视在功率 float Qw=0; //无功功率 uchar gain=1; //前端放大倍数 bit samp=0;

//采样结束标记 bit wait_tw=0; bit ad_ca=0; bit caculate=0; uchar count=0; //判断采用点数

uint u_ad[]=0; //电压采样值 uint i_ad[]=0; //电流采样值 uint tw=0; //相位差时间 uchar step=1; void cacu() {

float u_ad_f=0.0f; //电压实际值 float i_ad_f=0.0f; //电流实际值

unsigned char roll=1; if(ad_ca) {

u_max=u_ad[0]*5.000f/1024*gain; u_min=u_ad[0]*5.000f/1024*gain; u_ad_f=u_ad[0]*5.000f/1024*gain; i_max=i_ad[0]*5.000f/1024*gain; i_min=i_ad[0]*5.000f/1024*gain; i_ad_f=i_ad[0]*5.000f/1024*gain; u2=u_ad_f*u_ad_f; u2=i_ad_f*i_ad_f; for(;roll<;roll++) {

u_ad_f=u_ad[roll]*5.000f/1024*gain; //求电压电流实际值 i_ad_f=i_ad[roll]*5.000f/1024*gain; if(u_ad_f>u_max)

32

东华理工大学毕业论文 附录 //求电压电流最大最小值 u_max=u_ad_f;

else if(u_ad_fi_max) i_max=i_ad_f;

else if(i_ad_fu2+=u_ad_f*u_ad_f; //求平方和

i2+=i_ad_f*i_ad_f; }

v_ef=sqrt(u2/); //求有效值

i_ef=sqrt(i2/); } else {

fi=tw*0.0000005*360/0.02; lmd=cos(fi); //功率因素

Py=v_ef*i_ef*lmd; //有功功率 Ss=v_ef*i_ef; //视在功率

Qw=sqrt(Ss*Ss-Py*Ss); //无功功率 }

void main() {

SCON=0X50; //串行口控制寄存器 BRT=0XFD; //脉冲分频系数控制位

AUXR=0X11; //波特率发生器选择控制位 TMOD=0X61; //工作方式控制寄存器 TH0=0X00; TL0=0X00; TH1=0XFF; TL1=0XFF; IT0=1; IT1=1;

clearp(); //清零 disp_welcome(); send(0x03);

powerup_ad(); //启动转换器

33

东华理工大学毕业论文 附录 while(1) {

if(step==1) { key(); }

else if(step==2) {

if(key_0==1) {

key_0=0; disp_conf(); }

if(!samp) {

EX0=1; //外部中断0允许位 EA=1; //中断总控制位 } else {

if(caculate) //计算 {

caculate=0; cacu(); }

if(!auto_ok) //增益调节完成 auto_gain(); if(key_v==3) {

if(wait_tw==0)

EX1=1; //外部中断1允许位 }

else if(key_v==1||key_v==2) {

if(select==0) {

delay(100); if(select==0)

disp_waveform(u_ad); }

if(cfm==0) {

delay(100); if(select==0)

34

东华理工大学毕业论文 附录 disp_waveform(i_ad); } } } } } }

void sample() interrupt 0 {

lock=1;

u_ad[count]=tlcAD(0); i_ad[count]=tlcAD(1); lock=0;

if((++count)==) //采样是否完成 {

EX0=0; //关中断

ADC_CONTR&=0xE7; //关 AD count=0; samp=1; caculate=1; ad_ca=1; } }

void r_ph(void) interrupt 2 {

EX1=0; wait_tw=1; TR0=1; TR1=1; ET1=1; }

void s_ph(void) interrupt 3 {

ET1=0; TR0=0; TR1=0;

tw=TH0*256+TL0; caculate=1; TH0=0X00; TL0=0X00; TH1=0XFF;

35

东华理工大学毕业论文 附录 TL1=0XFF;

36

因篇幅问题不能全部显示,请点此查看更多更全内容