1、系统总体框图如图 1-1 所示。图 1-1 系统总框图 第二章第二章 硬件设计硬件设计 2.1 转换电路设计转换电路设计 2.1.1 分压电路分压电路 分压电路如图 2-1 所示,分压电路工作原理为:不同的输入电压通过分压电阻,电压下降而不改变相位。图中运算放大器构成电压跟随器,图 2-1 分压电路 运放输出电压和互感器输入电压关系为:U0=U*R101/(R100+R101)。故选择取样电阻 R100=215、R101=5.02。2.1.2 电流转换电路电流转换电路 电流转换电路如图 2-2 所示,输入电流 0 40A,输出电压 05V,图 2-2 电流转换电路 2.2 真有效值转换电路设计
2、真有效值转换电路设计 系统的核心是测量交流电压、电流的有效值,因此有效值测量的精度将直接影响系统最终的精度。有效值测量集成电路视其测量范围和精度有多种规格可选,较通用的有 Analog公司的 AD536、AD636、AD736 及 AD737等。考虑到成本等因素,系统选用的是 AD736,应用电路如图 2-3所示。该器件是按有效值隐含运算而设计,能计算任意复杂波形的高精度真有效值-直流转换器件,其精度优于 0.3%,波峰因素 5,相对稳定时间快,是当前集成真有效值转换器性能较好的一种。AD736有效值测量原理如下:一个交变信号的有效值定义为 (1)这里,为信号的有效值,T为测量时间,是一个时间
3、的函数,但不一定是周期性的。对等式两边进行平方得:(2)右边的积分项可以用一个平均来近似 (3)这样式(2)可以简化为:(4)等式两边除以 得:(5)这个表达式就是测量一个信号真实有效值的基础。AD736 也是采用的这一原理。图中 CC 为低阻抗输入端耦合电容一般取值为 1020uF;CF为输出端滤波电容一般取 10uF;CAV为平均电容,它是 AD736 的关键外围元件,用于进行平均值运算。其大小将直接影响到有效值的测量精度,尤其在低频时更为重要。多数情况下可选33uF。图 2-3 真有效值转换电路 2.3 555 定时器矩形波转换电路设计定时器矩形波转换电路设计 利用 555定时器,对正弦
4、信号进行整形,从而形成矩形波。利用中断进行计时。当整形电压波形首次出现下降沿时,定时器 1、2 打开。开始计数。当整形电流波形首次出现下降沿时,关闭定计数器 T0,计数值为 time_l。当整形电压波形再次出现下降沿时,关闭计数器 T1,计数值为 time_s。从而计算出相位差phase=(time_l)*360/(time_s)。功率因数 power fact=cos(phase)。应用电路如图 2-4所示。图 2-4 矩形波转换电路 3.2 电压、电流真有效值切换电路设计电压、电流真有效值切换电路设计 由于 AD1674要求一路输入,故需对电压有效值和电流有效值的信号进行通道选择和切换。本
5、设计采用模拟开关 CD4053实现通道切换,即在电压、电流互感器后设置一 CD4053,通过单片机输出控制信号来控制通道切换,选择某路信号进行有效值转换,应用电路如图 2-5 所示。CD4053是三路二选一模拟开关,可由三位控制位分别选择三路输出,其真值表如表 2-1所示。本设计中只用了一路,单片机 2.4 口通过 D触发器与 A 相连,由控制位A选择输出。表 2-1 CD4053真值表 Input States On Channels EN A B C 0 0 0 0 X0,Y0,Z0 0 0 0 1 X0,Y0,Z1 0 0 1 0 X0,Y1,Z0 0 0 1 1 X0,Y1,Z1 0
6、1 0 0 X1,Y0,Z0 0 1 0 1 X1,Y0,Z1 0 1 1 0 X1,Y1,Z0 0 1 1 1 X1,Y1,Z1 1*NONE 图 2-5 真有效值转换电路 2.5 A/D 转换电路设计转换电路设计 AD1674是美国 AD 公司推出的一种完整的 12位并行模/数转换单片集成电路。该芯片内部自带采样保持器(SHA)、10伏基准电压源、时钟源以及可和微处理器总线直接接口的暂存/三态输出缓冲器。与原有同系列的 AD574A/674A 相比,AD1674 的内部结构更加紧凑,集成度更高,工作性能(尤其是高低温稳定性)也更好,而且可以使设计板面积大大减小,因而可降低成本并提高系统的可
7、靠性。笔者在研制某新型国产机载武器系统中采用了 M级 AD1674T,它可实时地采集各传感器的模拟参量,以进行快速、精确的数据转换并传给 CPU进行处理。图 2-5ADC 转换电路 AD1674的基本特点和参数如下:带有内部采样保持的完全 12 位逐次逼近(SAR)型模/数转换器;采样频率为100kHz;转换时间为 10s;具有 1/2LSB的积分非线性(INL)以及 12 位无漏码的差分非线性(DNL);满量程校准误差为 0.125%;内有+10V基准电源,也可使用外部基准源;四种单极或双极电压输入范围分别为 5V,10V,0V10V和 0V20V;数据可并行输出,采用 8/12 位可选微处
8、理器总线接口;内部带有防静电保护装置(ESD)AD1674的引脚按功能可分为逻辑控制端口、并行数据输出端口、模拟信号输入端口和电源端口四种类型。(1)逻辑控制端口 12/8:数据输出位选择输入端。当该端输入为低时,数据输出为双 8位字节;当该端输入为高时,数据输出为单 12位字节。CS:片选信号输入端;R/C:读/转换状态输入端。在完全控制模式下,输入为高时为读状态;输入为低时为转换状态;在独立工作模式下,在输入信号的下降沿时开始转换。CE:操作使能端;输入为高时,芯片开始进行读/转换操作。A0:位寻址/短周期转换选择输入端。在转换开始时,若 A0为低,则进行 12位数据转换;若 A0为高,则
9、进行周期更短的 8位数据转换;当 R/C=1 且 12/8=0 时,若 A0为低,则在高 8位(DB4DB11)作数据输出;若 A0为高,则在 DB0DB3 和DB8DB11 作数据输出,而 DB4DB7 置零。STS:转换状态输出端。输出为高时表明转换正在进行;输出为低时表明转换结束。(2)并行数据输出端口 DB11DB8:在 12 位输出格式下,输出数据的高 4位;在 8位输出格式下,A0为低时也可输出数据的高 4位。(3)模拟信号输入端口 10VIN:10V范围输入端,包括 0V10V单极输入或 5V双极输入;20VIN:20V范围输入端,包括 0V20V单极输入或 10V双极输入;应当
10、注意的是:如果已选择了其中一种作为输入范围,则另一种不得再连接合作。(4)供电电源端口 REF IN:基准电压输入端,在 10V基准电源上接 50 电阻后连于此端;REF OUT:+10V基准电压输出端;BIP OFF:双极电压偏移量调整端,该端在双极输入时可通过 50 电阻与 REF OUT端相连;在单极输入时接模拟地。图 3 给出了AD1674在单极和双极输入时的两种连接电路。VCC:+12V/+15V 模拟供电输入;VEE:-12V/-15V模拟供电输入;VLOGIC:+5V逻辑供电输入;故我们按照图 2-5 接线。2.6 显示电路设计显示电路设计 7段 LED显示电压和电流有效值应用接
11、口电路如图 2-6所示,包括单片机、LED显示电路、7448地址锁存器、74138译码器。单片机 P1.0P1.3 口作为 7448的控制口,P1.4P1.7 作为 74138 的控制口。图 2-6 应用接口电路 上图还包含了开关量,CLK/KEY;U/I两个开关键控制电压电流有效值循环输出。2.7 单片机电路设计单片机电路设计 系统采用 AT89C51 单片机作为主控制器。AT89C51 具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。与数码管相比该模块还有位数多、显示内容丰富、程序简
12、单等优势。P2.0-P2.7 用于接收 AD 转换后的信号。2.8 串口电路设计串口电路设计 串行通信利用虚拟终端,下载串口调试助手 SComAssistantV2.1,Virtual Serial Port Driver6.9。对基于单片机 C51 开发的软硬件进行联合调试,显示结果。设置虚拟终端COM1,COM2。第三章第三章 软件设计软件设计 4.1 A/D 转换、相位差程序转换、相位差程序 系统上电复位后,从主程序开始执行。主程序需将 A/D转换得到的数据进行运算处理,转换位十进制数,并送到 LED显示。取电流电压值,逐位取余通过 P1口发送至 LED。并进行循环显示。程序流程图如图
13、3-1 所示。根据 AD1674 各引脚的功能对各引脚进行赋值。相位差根据两个计数器的比值获得,根据室内米特触发器转换而来的矩形波信号。测得完整周期计数值和周期差计数值进行计算。得到相位差和功率因数,并发送至远程主机。如图 3-2 所示。图 3-1 AD转换流程图 图 3-2 相位角流程图 第四章第四章 系统调试及误差分析系统调试及误差分析 4.1 系统调试系统调试 在系统整体调试时,若调试不成功,由于整体连接已经完成,很难检查到底哪部分有错误。为此,我们采用了边连接边调试的方法,即将系统分成若干模块,每个模块完成后就进行测试验证,最后再进行系统联调。调试过程中,用到的虚拟仪器设备如下:直流稳
14、压电源、函数信号发生器、示波器、万用表等。4.2 误差分析误差分析 1.分压电路、电流转换带那路存在非线性误差。2.AD736转换误差。3.AD1674存在误差,延时程序影响。4.3 调试过程中的问题调试过程中的问题 1.电压,电流的缩小电路原本为互感电路,但调试不能解决拥有滞后相位的正弦交流电的正常缩小。所以选择了精度较差的分压、转换电路。2.有效值转换电路不能有效转换相位改变的正弦交流电。3.采用 12位 AD1674 数模转换器,提高精度,减小误差。4.串口通信只能显示 16进制数字,导致不能合理显示小数点。结束语结束语 经过 20天得努力,我圆满完成了此次课程设计任务,作品达到了题目要
15、求的各项性能指标。本次实习是为毕业设计做好准备、打好基础,通过这次实习,我们熟悉了一个课题或项目的完成过程,从查找资料,确定方案,设计电路,软件编写,系统调试到最后的报告撰写,每一个过程我都学到了很多,收获了很多,理论设计和动手实践能力得到了很大提升。课设成果不是单一知识的结晶,实习遇到了好多难题,学过的一些知识点有 所遗忘,我们完成课题的同时也巩固了理论知识。通过实习理论联系实际,以前一些不甚理解的理论也变得容易理解了。与此同时我们也学到了一些宝贵的经验教训,例如:这次实习的课题是工频电压表的设计,由于事前对 220V电压重视不够。这次做实习的经验也会使我终身受益,我感受到做课设是要真真正正
16、用心去做的一件事情,是真正的自己研习和研究的过程。希望这次的经验能让我在往后学习中驱策我继续前进。附附 录录 附录一附录一 完整电路图完整电路图 附录二附录二 程序清单程序清单/*/#include#include#include#include#define uint unsigned int#define uchar unsigned char#define ADCSTU 0 x6cff#define ADCH 0 x6EFF#define ADCL 0 x6FFF#define LEDportal P1 sbit STS=P34;sbit clk_key=P22;sbit u_i=P23
17、;uint volts,amps;uint phase;float power_fact;uint time_l=0;uint time_s=0;bit timing=0;uchar*p;uchar a;uchar string136;void int0_isr(void)interrupt 0 if(timing)TMOD=0 x11;TH1=TL1=0 x0;TH0=TL0=0 x0;TR1=TR0=1;EA=1;EX1=1;timing=1;else TR0=0;time_l=(TH08)|TL0;EA=0;timing=0;void int1_isr(void)interrupt 2
18、TR1=0;time_s=(TH18)|TL1;void delay(uint t)uchar j=100;while(t-)while(j-);uint phase_differ(void)uint differ;IT0=IT1=1;EA=EX0=1;while(timing);delay(100);differ=time_s*360/time_l;return(differ);void byte_trans(void)uchar num=0;TMOD=0X20;SM0=0;SM1=1;PCON=0;TH1=TL1=0XFD;TR1=1;SBUF=(uchar)(volts/10000);w
19、hile(!TI);TI=0;SBUF=(uchar)(volts/1000%10);SBUF=(uchar)(volts/100%10);SBUF=.;SBUF=(uchar)(volts/10%10);SBUF=(uchar)(volts%10);SBUF=(uchar)(amps/10000%10);SBUF=(uchar)(amps/1000%10);SBUF=(uchar)(amps/100%10);SBUF=(uchar)(amps/10%10);SBUF=(uchar)(amps%10);SBUF=0;a=(uchar)(power_fact*100);SBUF=a%10;a=(
20、uchar)(power_fact*10);void display(uint n)uchar i;for(i=0;i5;i+)delay(1);LEDportal=(n%10)|(i0,n-)if(n200)display(amps);else display(volts);else if(u_i=0)display(volts);else display(amps);uint read_ui(bit ui)uint value;if(ui=1)XBYTEADCSTU|0 x1000=0;value=XBYTEADCH|0 x1000;value=(value4)|XBYTEADCL|0 x1000;/else XBYTEADCSTU=0;value=XBYTEADCH;value=(value4)|XBYTEADCL;/return(value);void main(void)delay(300);volts=read_ui(0);volts=read_ui(0)*5.39;amps=read_ui(1);amps=read_ui(1)/1.02;phase=phase_differ();power_fact=cos(phase);byte_trans();dis_ctr();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1