本科毕业论文-基于AT89C51单片机的相位测量仪电路设计(完整版) 本文关键词:测量仪,相位,完整版,单片机,毕业论文
本科毕业论文-基于AT89C51单片机的相位测量仪电路设计(完整版) 本文简介:第1章绪论相位测量仪是电力部门、工厂和矿山、石油化工、冶金系统进行二次回路检查的理想的高精度仪表。尤其适用于电能计量、用电检查、继电保护、差动检测、电力建设和变送电工程等。是电力系统各部门的必备仪器之一。
1.1课题研究背景在电子测量技术中,相位测量时最基本的测量手段之一,相位测量仪式电子领域的常用仪
本科毕业论文-基于AT89C51单片机的相位测量仪电路设计(完整版) 本文内容:
第1章
绪论
相位测量仪是电力部门、工厂和矿山、石油化工、冶金系统进行二次回路检查的理想的高精度仪表。尤其适用于电能计量、用电检查、继电保护、差动检测、电力建设和变送电工程等。
是电力系统各部门的必备仪器之一。
1.1
课题研究背景
在电子测量技术中,相位测量时最基本的测量手段之一,相位测量仪式电子领域的常用仪器。
随着相位测量技术广泛应用于科学研究、实验、生产实践等各个领域,对相位测量技术的要求也向高精度高智能化方向发展,在低频范围内,相位测量在电力、机械等部门具有非常重要的意义。
基于数字式相位测量仪的高精度、高智能化、直观化的特点,工业上常常用此进行低频信号相位差的精确测量。
同频信号间相位差的测量在电力系统、工业自动化、智能控制及通信、电子、地球物理勘探等许多领域都有着广泛的应用。
尤其在工业领域中,相位不仅是衡量安全的重要依据,还可以为节约能源提供参考。
1.2
课题研究内容
1.2.1
相位测量
相位差的测量原理主要有三种:过零检测法——基于对信号波形的变换比较;倍乘法——基于对傅氏级数的运算;
矢量法——基于对三角函数的运算。
过零点检测法是一种将相位测量变为时间测量的方法。
其原理是将基准信号的过零时刻与被测信号的过零时刻进行比较,由二者之间的时间间隔与被测信号周期的比值推算出两信号之间的相位差.这种方法的特点是电路简单,且对启动采样电路要求不高,同时还具有测量分辨率高、线性好和易数字化等优点.
倍乘法:任何一个周期函数都可以用傅氏级数表示,即用正弦函数和余弦函数构成的无穷级数来表示,倍乘法测量相位差所用的运算器是一个乘法器,2个信号是频率相同的正弦函数,相位差为,运算结果经过一个积分电路,可以得到一个直流电压,电路的输出和被测信号相位差的余弦成比例,因此其测量范围在45°以内,为使测量范围扩展到360°,需要附加一些电路才可以实现.倍乘法由于应用了积分环节,可以滤掉信号波形中的高次谐波,有效抑制了谐波对测量准确度的影响.
矢量法:任何一个正弦函数都可以用矢量来表示,如各个正弦信号幅度相等、频率相同,运算器运用减法器合成得到矢量的模.矢量法用于测量小角度范围时,灵敏度较好,可行度也较高;
但在180°附近灵敏度降低,读数困难且不准确.由于系统输出为一余弦或正弦函数,因此这种方法适用于较宽的频带范围。
上述3种测量相位的方法各有优势,从测量范围、灵敏度、准确度、频率特性和谐波的敏感性等技术指标来看,过零检测法的输出正比于相位差的脉冲数,且易于实现数字化和自动化,故本研究采用过零检测法。
1.2.2
基本要求
本设计研究了一种可测20Hz-20kHz内任意频率数字式相位测量仪的设计方法。
主要内容是以AT89C51为控制核心,实现对音频范围内的正弦交流信号的相位的测量,可测的信号相位差在0~360度范围内,测量精度可达0.1度。
两路信号
由此可得:
其中,是相位差对应的时间差,是信号周期。
式2.2表明,相位差与时间差有着一一对应的关系,只要通过测量时间差及信号周期,就可以求得相位差,这就是相位差的基本测量原理。
显然,相位差的测量本质上是时间的测量。而时间的测量方法有很多种,本设计结合51单片机的特点,采用过零点检测法。
其原理是将基准信号通过零的时刻与被测信号通过零的时刻进行比较,由二者之间的时间间隔推算出两信号之间的相位差。
这种方法的特点是电路简单,对启动电路要求不高,同时该方法还具有测量分辨率高、线性好、易于数学化等优点。
将该相位差信号送入单片机的外部中断接口,对该信号的脉冲宽度进行计数,从而得到对应于相位差的时间差和周期,再根据上述求解相位差的公式便可得到所求,并由液晶显示最终测得的相位差。
第3章
硬件设计
本章主要阐述了系统各单元的硬件电路设计思想及具体硬件组成,本设计共包括以下模块:单片机主控电路、显示电路、稳压电路、自动量程控制电路、AD转换电路、继电器驱动电路、超限报警电路及相位测量电路共8个部分。
系统总体框图如图3.1所示。
单片机主控电路
输入信号
被测网络
时差测量电路
稳压电路
显示电路
图3.1
系统总体框图
3.1
主控电路设计
这部分是由单片机、晶振电路、复位电路组成。
本设计中充分利用了单片机较强的运算能力和控制能力这一特点,使用单片机外部中断INT0、INT1接收外部送来的相位差信号,并在单片机内部完成相应的处理及相关运算。
图3.2为AT89C51主控电路图。
图3.2
主控电路图
3.1.1
AT89C51单片机
本设计中采用的核心控制器是AT89C51,它是美国ATMEL公司生产的一款低电压,高性能CMOS
8位单片机,片内含4K字节FLASH可反复擦写的只读程序存储器(EPROM)和128
字节的随机数据存储器
P3.1
TXD
P3.2
/INT0
P3.3
/INT1
P3.4
T0
P3.5
T1
P3.6
/WR
P3.7
/RD
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR
8EH地址上置0。此时,
ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器
由此可知,
因此,当Vm分别为500V、50V、5V时,Rx对应的分别为199k、19k、1k。
3.5.2
继电器驱动电路的设计
电磁式继电器一般用功率接口集成电路或晶体管驱动。在使用较多继电器的系统中,可用功率接口集成电路驱动,例如SN75468等。
一片SN75468可以驱动7个继电器,驱动电流可达500mA,输出端最大工作电压为100V。本设计采用晶体管来驱动继电器。如图3.8所示。
图3.8
继电器驱动电路
继电器的动作由单片机的P2.0、P2.1、P2.2口控制。
当三者之一输出低电平时,对应的继电器J吸合,同时分档电路里对应的继电器也吸合,对应档位导通;若为高电平,继电器J释放。
采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。
继电器J由晶体管9013驱动,9013可以提供300mA的驱动电流,适用于继电器线圈工作电流小于300mA的场合。基于光电耦合器有较高的电流传输比,且最小值为50%。晶体管9013的电流放大倍数大于50。当继电器线圈工作电流为300mA时,光耦需要输出大于6.8mA的电流,其中9013基极对地的电阻分流0.8mA。输入光耦的电流必须大于13.6mA,才能保证向继电器提供300mA的电流。
这里的二极管D的作用是保护晶体管9013。当继电器J吸合时,二极管D截止,不影响电路工作。继电器释放时,由于继电器线圈存在电感,这时晶体管9013已经截止,所以会在线圈的两端产生较高的感应电压。
这个感应电压的极性是上负下正,正端接在T的集电极上。当感应电压与12V电源电压之和大于晶体管的集电结的反向耐压时,晶体管有可能损坏。加入二极管后,继电器线圈产生的感应电流由二极管D流过,因此不会产生很高的感应电压,晶体管便得到了保护。
关于电磁继电器:电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点
、振荡器等;还可以组成高压数字逻辑门电路,并可直接与TTL、CMOS电路接口。
3.5.4.2
JK触发器工作原理的简要介绍
相位测量电路中用到两个JK触发器,二者工作原理一样,这里以前者为例来加以阐述:JK触发器的J端、K端及电源端均接到+5V上,清零端通过C9接地,当接通电源瞬间,清除端通过C9处于低电平,使Q端置为低电平;
C9逐渐充电完毕,这时清零端通过R30处于高电平。
当CLK端接收到触发脉冲时,Q端有低电平变为高电平;当下一个脉冲到来,Q端又由高电平变为低电平,如此不断反复。
74LS113为双下降沿J-K触发器,有预置位端。其管脚图如图3.12所示。
图3.12
74LS113管脚图
引脚介绍:
/CP1、/CP2
时钟输入端
J1、J2、K1、K2
数据输入端
Q1、Q2、/Q1、/Q2
输出端
/SD1、/SD2
直接置位端
功能表如表3.6所示:
表3.6
74LS113功能表
3.5.4.3
鉴相器电路的设计
鉴相器就是异或门电路,在鉴相器的输入波形Ug、Uh中,正脉冲宽度就是Ug和Uh相位差所对应的时间差,由此可见,鉴相器在相位测量电路中起到了测量时间差的重要作用。
如图3.13所示。
图3.13
鉴相器输入输出波形图
由图可知,鉴相器的输出信号是两输入信号的二倍频信号,而该输入信号是经过JK触发器的二分频信号,由此可知,该相位差信号和待测信号是同频的。
第4章
软件设计
在目前的单片机软件开发中,常用的语言是汇编语言和C语言两种。汇编语言是一种文字用助记符来表示机器指令的符号语言,其优点是程序占用资源少、运行速度快、执行效率高,但具有缺乏通用性、程序可移植性差、编程比高级语言困难等缺点。
C语言是是一种结构化程序设计语言,可产生紧凑代码。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可以根据单片机的不同较快的移植过来。鉴于C语言编程有众多优点,在本设计中,采用的是C语言编写程序。
4.1
C语言的简介
4.1.1
C语言特点
C是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C
语言可以像汇编语言一样对位、字节和地址进行操作,
而这三者是计算机最基本的工作单元。
C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C
语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
C语言功能齐全。具有各种各样的数据类型,并引入指针概念,可使程序效率更高。
另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。
C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
4.1.2
C语言的优势
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。
C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
4.2系统软件设计思想
本系统对核心测量电路——相位测量部分进行了详细的软件设计。该软件设计主要包括主程序的设计、中断服务子程序的设计、液晶显示程序的设计。
首先要对相位差的测量过程有个基本的了解,经分档降压后的待测信号输入相位测量电路,经过整形、鉴相一系列处理后,最终得到了相位差信号,将该相位差信号送入P3.2口
其中,相位差信号高电平的时间为t
1,通过INT1测得,因为INT1管脚接入的是相位差取反后的信号,而取反信号低电平的时间就是原信号高电平的时间,当外部中断INT1的中断服务子程序启动时,软件计数也同时开始了,定时器T0开始定时,没来一次下降沿,软件计数自动加1,知道计数值为10,关闭定时器T0,并记录此时所用时间,改时间相当于10倍的t1;同理,相位差低电平的时间为t
2,通过INT0测得,相位差信号直接送了INT0口,所以记录INT0低电平的时间即为t2,当外部中断INT0的中断服务子程序启动时,同样软件计数的方法,并结合定时器T1定时,最后可求得相当于10倍t2的时间。再根据式4.1方可得到所测相位差,并通过液晶显示出来。若有不清楚之处,可参见下图帮助理解。
是
否
初始化
开始
t1和t2是否非零
显示当前相位差
写入以下字符串:“…”
图4.1
主程序流程图
本设计用到了两个外部中断,二者原理相同,故此处不再赘述,以INT1中断服务子程序为例,有一下流程图,如图4.2所示。
外部中断INT1入口
开启定时器T0
软件计数值a是否为0
定时器T0初始化
计数值a自加
a是否计数到10
关闭定时器T0,a重新从0开始计数
记录此时定时器的时间值
返回
是
是
否
否
图4.2
INT1中断服务子程序
4.3
Keil3的使用
本设计的软件设计是在Keil3中完成的,下面就来介绍一下他的使用步骤。
打开Keil
μVision3,在菜单栏中选择“Project”—“New
Project”,弹出“Create
New
Project”对话窗口,选择目标路径,在“文件名”栏中输入项目名后,如图4.2所示。
图4.2
“CreateNewProject”对话窗口
单击“保存(S)”按钮,弹出“Select
Device
for
Target”对话窗口。在此对话窗口的“Database”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51,确定CPU类型,如图4.3所示。
图4.3
选择CPU
在Keil
μVision3的菜单栏中选择“File”一“New”命令,新建文档,然后在菜单栏中选择“File”一“Save”命令,保存此文档,这时会弹出“Save
As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.c”,如图4.4所示。
图4.4
保存文件
单击“保存(S)”按钮,这样在编写C语言时,Keil会自动识别该语言的关键字,并以不同的颜色显示,以减少在输入代码时出现的语法错误。
程序编写完后,再次保存。
在Keil中“Project
Workspace”子窗口中,单击“Targetl”前的“+”号,展开此目录。在“Source
Group1”文件夹上单击鼠标右键,在右键菜单中选择“Add
File
to
Group‘GroupSourcel’”,弹出“Add
File
to
Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“C
Source
File
其中,为待测信号的频率。可见,测高频时误差较小,而测低频时误差相对较大。
除了软件上带来的误差外,实际电路方面也会因相互间的干扰带来误差。但这些误差都可以保证在本设计允许的误差范围之内。
第6章
结语
经过测试,可以看到系统能够正常工作,测量结果都能保证在允许的误差范围之内,本设计基本实现了预期目标,通过软硬件的完美结合,克服了以往只能测量某一频率信号相位的局限。
整个电路用到的芯片和元器件均为平时常用的电路中的,其价格比较便宜,市面上也很容易购买到,总体性能符合任务要求,界面美观友好,操作简单方便。因此,本次电路设计的性价比相对较高。
当然系统中还存在很多的不足,与目前市场上普遍使用的三相伏安相位仪相比还有很大的差距,还有许多需要改进的地方。
本系统仅设计了几个核心模块供使用,但是在未来随着个人能力的不断完善和发展,还可以开发更多的功能模块来满足其需求。
电子技术的飞速发展带动了很多行业的发展,它带给人们最直观的价值就是减少了人力物力的投资,到处都是数字化的影子,这也提高了人们的工作质量和工作效率,从而提高了整个社会的生产力。
致
谢
四季更替,当大学生活的第四个夏天来到时,我的大学生活也即将画上了一个句号。
有结束必有开始,大学毕业后又将面临着新的考验。
回忆过去的点点滴滴,仍旧记忆犹新:刚上大学时快乐和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。
衷心感谢电信学院所有支持帮助过我的老师,谢谢你们四年来的关心和爱护。
同窗的友情同样珍贵,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。
最后,我要特别感谢我的导师张述杰老师。
本次毕设是张老师耐心的指导和热情的帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论、实践水平都使我受益匪浅。
他无论在理论上还是在实践中,都给予我很大的启发和帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。
值此论文完成之际,特别向指导老师表示衷心的感谢和崇高的敬意,谢谢您细心而又耐心地辅导,使得我得以顺利的完成此次毕业设计,同时也要感谢其他帮助过我的老师和同学,你们在我成长过程中给予了我很大的帮助,在此一并表示感谢。
在新的世纪里,人们对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了人们的生活。
作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。
新世纪需要具有丰富现代科学知识的、能够独立解决并面临挑战的、有创新意识的新型人才。
参考文献
高卫东
辛友顺
韩彦征.
51单片机原理与实践,[M]北京:北京航空航天大学出版社,2008年.
P85-96
孙俊逸
盛秋林
张铮.
单片机原理及应用,[M]
北京:清华大学出版社,2006年3月.P28-52
张红润
刘秀英
张亚凡.
单片机应用设计200例,[M]
北京:北京航空航天大学出版社,2006年.
P120-125
石著.
数字电子技术基础.[M]北京:高等教育出版社,2005.P93-335
戴伏生主编.基础电子电路设计与实践.[M]北京:国防工业出版社,2002.P102-105
孙肖子,邓建国主编.电子设计指南.[M]北京:高等教育出版社,2006.P98-120
李银华主编.电子线路设计指导.[M]北京:航空航天大学出版社2005.P78-132
陈光明等主编.电子技术课程设计与综合实训.[M]北京:北京航空航天大学出版社,2007.P158-160
高卫东.
辛友顺.
韩彦征.
51单片机原理与实践.
[M]北京:北京航空航天大学出版社,2008年。P85-96
张靖武
周灵彬.
单片机原理、应用与PROTEUS仿真,[M]北京:电子工业出版社,2007年4月.P63-86
周润景
张丽娜
基于PROTUSE的电路及单片机系统设计与仿真,[M]北京航空航天大学出版社,2006年.P54-59
张毅刚
等编.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003年7月.
潘永雄,刘殊.单片机原理及应用[M].西安:西安电子科技大学出版社,2000.
谢沅清,邓钢编著.通信电子线路[M].北京:电子工业出版社,2007年7月.
操长茂,秦工.数字式相位差测量仪.仪表技术,2003,(2):18-19
白鹏,王建华,刘君华.基于虚拟仪器的相位测量算法研究.电测与仪表,
2002,(8):20-26
邓新蒲,卢启中,孙仲康.数字式相位差测量方法及精度分析.国防科技大学学
报,2002,(5):70-74
胡文军,李震梅,饶明忠.基于虚拟仪器的电网信号相位差测量的研究.山东理工大学学报,2003,17(2):90-93
A
Nemat.A
digital
frequency
independent
phase
meter.IEEE
Trans.Instrum.Meas.
1990,39(4):665-667
R.A.Krajewski.Coincidence
phase
meter
with
quasi-quadrature
signal.
Int.J.
Electron-ics,1993,74(3):451-458
附录Ⅰ
程序清单
#include
#include
#include
#define
uint
unsigned
int
#define
uchar
unsigned
c