数字式RLC测量仪设计报告.docx
- 文档编号:17847607
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:28
- 大小:403.57KB
数字式RLC测量仪设计报告.docx
《数字式RLC测量仪设计报告.docx》由会员分享,可在线阅读,更多相关《数字式RLC测量仪设计报告.docx(28页珍藏版)》请在冰点文库上搜索。
数字式RLC测量仪设计报告
2012广西区大学生电子设计竞赛
设计报告
数字式RLC测量仪(B题)
摘要
本系统是基于STC89C52单片机控制的数字式RLC测量仪,利用单片机对R、L、C的参数进行测量,充分利用单片机的运算和控制功能,硬件软件相结合,测量方便,精度较高。
系统是使用振荡电路将电阻、电容、电感的参数转化为频率,将振荡频率由CD4052模拟开关送入STC89C52进行计算处理,然后对其值进行补偿,智能切换量程,测量结果用LCD1602液晶显示。
其中电阻和电容的参数转化频率是采用555多谐振荡电路产生,而电感的参数转化频率则是根据LC三点式振荡产生,本设计思路清晰,结构合理,误差控制在题目所要求的范围内。
关键词:
STC89C52,RLC,模拟开关,555多谐振荡,LC三点式振荡,LCD1602
一、系统总体方案
1.系统方案比较及论证
1.1方案选择
1.1.1电阻测量方案
方案一:
串联分压原理
图1串联电路原理图
根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。
通过测量Rx和R0上的电压。
由公式Rx=Ux/(U0/R0)。
方案二:
利用直流电桥平衡原理的方案
图2电桥
(其中R1,R2,为可变电位器,R3为已知电阻,R4为被测电阻)
根据电路平衡原理,不断调节电位器,使得电表指针指向正中间。
由R1*R4=R3*R4.在通过测量电位器电阻值,可得到R4的值。
方案三:
利用555构成单稳态的方案
图3555定时器构成单稳态
根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电阻阻值。
由f=1/[(R1+2R2)*C*In2],得到公式:
R2=1/2*[1/(f*c*Ln2)-R1]
上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要有较高精度的电阻组成桥,而且测量调节麻烦,不易操作与数字化,相比较而言,方案三利用555构成的震荡起,用单片机的定时计数器计555输出的振荡频率,经软件计算得出电阻值,而且与电容的测量电路相仿,制作电路板起来方便,精确度会明显的提高。
故本设计选择了方案三。
1.1.2电容测量方案
方案一:
直接通过串联电路原理。
通过电容换算的容抗跟已知电阻分压,通过测量电压值,再经过公式换算得到电容的值。
原理同电阻测量的方案一。
方案二:
采用平衡电桥法。
将待测电感和已知标准电阻电容组成电桥,通过单片机控制调节电阻参数使电桥平衡,此时,电感的大小由电阻和电桥的本征频率即可求得,该方案测量精准,同时可以测量电容和电阻的大小,但其电路电路复杂,实现起来较为困难。
方案三:
555构成单稳态原理
图4555定时器构成单稳态
根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电容值。
由f=1/[(R1+2R2)*C*In2]得到公式:
Cx=1/[c*Ln2(R1+2*R2)]
综合比较后,本设计采用了方案三。
1.1.3电感测量方案
方案一:
采用平衡电桥法测量电感。
将待测电感和已知标准电阻电容组成电桥,通过单片机控制调节电阻参数使电桥平衡,此时,电感的大小由电阻和电桥的本征频率即可求得,该方案测量精准,同时可以测量电容和电阻的大小,但其电路电路复杂,实现起来较为困难。
方案二:
电容三点式构成正弦波原理
图5电容三点式
根据电容三点式公式:
从而可得电感的计算公式:
采用LC配合三极管组成三点式振荡电路,通过测输出频率大小的方法来实现对电感值测量。
该方案成本低,其输出波形为正弦波,将其波形整形后交给单片机测出其频率,并转换为电感值。
相比之下,方案二的测量精度比方案一要高得多,并且也容易实现,所以选择方案二。
1.1.4多路模拟开关选择
方案一:
四选一模拟开关CD4052。
方案二:
十六选一模拟开关DG406。
方案三:
32x32路矩阵模拟开关SL59532。
基于本设计题目要求和选择的需要,考虑成本及控制简易程度等,四选一模拟开关CD4052为最佳选择,故本系统选择方案一。
1.1.5显示方案
方案一:
采用点阵式液晶显示器(LCD1602)显示。
方案二:
采用点阵式液晶显示器(LCD12864)显示。
基于本设计题目要求,需要液晶显示和测量的量程范围,相比之下,LCD1602液晶显示低功耗节能,占用空间小,并且格价相对便宜,完全能满足题目所要求的测量显示,故本设计采用的是LCD1602液晶显示。
图61602显示电路
1.1.6主控芯片选择
方案一:
采用CPLD或FPGA
用的VHDL硬件电路描述语言,实现电阻,电容,电感测试仪的设计,利用MAXPLUS
集成开发环境进行综合、仿真,并下载到CPLD或FPGA可编程逻辑器件中,完成系统的控制作用,但相对而言规模大,结构复杂。
方案二:
采用STC系列单片机
目前广泛应用的STC89C52单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,完全能满足本系统设计需求。
从完成系统任务需要及可靠性等方面综合考虑,比较两款芯片的成本、功耗等,本系统采用STC系列的STC89C52单片机作为主控芯片,即选择方案二。
1.2方案论证
1.2.1总体思路
本设计是基于单片机STC89C52智能处理,根据单片机的外接按键控制测量电路的选择,通过LM555定时器构成的多谐振荡器和电容反馈式三点式构成的振荡电路长生的一定频率的波。
再通过单片机的I/O口对高低电平的捕获读出频率,再通过程序算法处理换算成电阻电容电感的值,然后再通过单片机送给1602液晶显示。
由于测量电阻、电容和电感,都是首先转化为频率后再进行计算测量的,其精度会直接影响到本仪表的精度,因此频率或周期的产生和计算处理是本系统实现精确测量的关键。
1.2.2设计方案
系统方框图如图7所示。
图7系统方框总图
2.系统电路设计及理论分析
功能:
测量并显示被测电阻电容电感的值。
器件:
LM555定时器,三极管9018,LM7812,LM7805,LM324,CD4052,74HC14,74LS74,继电器,1602液晶显示,stc89c52单片机等。
2.1电阻测量电路
电阻的测量采用“脉冲计数法”,如下图所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电阻的大小。
555接成多谐振荡器的形式,其振荡周期为:
T=t1+t2=(ln2)(R1+Rx)*C1+(ln2)Rx*C1
得出:
即:
电路分为2档:
1.100≤Rx<1000欧姆:
AR1设置为高电平输出,AR2设为低电平输出,R15=200
,C18=0.22uF,所以:
Rx=(6.56*(1e+6))/(2*fx)-330/2
对应的频率范围为:
2.8K≤fx<16K。
2.1000≤Rx<1M欧姆:
BR1设置为高电平输出,BR2设为低电平输出,R14=20
;C17=1000PF,所以:
Rx=(1.443*(1e+8))/(2*fx)-(1e+4)
对应的频率范围为:
16K 电阻测量电路见图8所示。 图8电阻测量电路 在测量电阻电路中是采用单片机控制继电器自动换挡实现量程的切换。 2.2电容测量电路 电容的测量同样采用“脉冲计数法”,如下图所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电容的大小。 555接成多谐振荡器的形式,其振荡周期为: T=t1+t2=(ln2)(R1+R2)*Cx+(ln2)R2*Cx 我们设置R1=R2; 得出: 即: 电路分为2档: 1、R11=510K欧姆,BC1设置为高电平输出,R11=R13, Cx=(0.94*(1e+6))/fx; 对应的频率范围为: 9.4K≤fx<0.94K 2、R10=10K欧姆: AC1设置为高电平输出;R10=R12; Cx=(4.81*(1e+6))/fx; 对应的频率范围为: 480Hz≤fx<4.8K 电容测量电路见图9所示。 图9电容测量电路 在测量电容电路中是采用单片机控制继电器自动换挡实现量程的切换。 2.3电感测量电路 电感的测量是采用电容三点式振荡电路来实现的。 电容三点式振荡电路又称考毕兹振荡电路,三点式振荡电路是指: LC回路中与发射极相连的两个电抗元件必须是同性质的,另外一个电抗元件必须为异性质的,而与发射级相连的两个电抗元件同为电容式的三点式振荡电路,也就是"射同基反"的构成原则成为电容三点式振荡电路。 其振荡频率为: 即: 电感测量电路见图10所示。 图10电感测量电路 2.4多路选择开关电路的设计 利用CD4052实现测量类别的转换,CD4052是差分四通道数字控制模拟开关器件,有A0和A1两个二进制控制输入端和INH输入,具有低导通阻抗和很低的截止电流。 当INH输入端=“1”时所有通道截止,二位二进制输入信号选通四对通到中的一通道。 当选择了某一通道的频率后,Y输出频率通过T1送入单片机进行计数,通过计算得到要被测值,多路选择开关控制如表1-1所示。 表1-1多路选择开关控制 P2.4 P2.5 测量类别 0 0 Y0-R 0 1 Y1-C 1 0 Y2-L 1 1 * (表1-1中*表示未定义此功能。 ) 多路选择开关硬件电路如图11所示。 图11多路选择开关 2.5液晶显示电路 图12液晶显示电路 2.6主控系统电路 图13主控系统电路 3.软件设计 3.1频率参数计算的原理 本设计频率的计算采用单片机外部中断,对外触发电路产生的脉冲频率的测量,再通过对测量数据的校正来完成。 单片机对频率测量的原理如下图13所示。 图14测频率原理图示 说明: 图13中t1时刻检测到高电平开定时器1,开始计数;t2时刻等待检测低电平;t3时刻第二次检测到高电平时关定时器停止计数。 利用GATE=1,TR1=1,只有引脚输入高电平时,T1才允许计数,利用此,将外部输入脉冲经引脚上输入,等待高电平的到来,当检测到高电平时开定时器开始计数,然后检测低电平,当检测到低电平时已经测得脉冲的脉宽,但测得是频率,故在程序中要继续检测等待下一个高电平的到来,此时关定时器停止计数,用此计数值乘以机器的周期数(晶振频率已知),得出触发电路产生的周期,然后再经过数据处理便得到输入信号的频率。 3.2程序流程 图15程序流程 3.3部分程序清单 #include #include"1602.h" #defineDataPortP0 #defineuintunsignedint #defineucharunsignedchar sbitbutton_r=P2^0; sbitbutton_c=P2^1; sbitbutton_l=P2^3; sbitCD4052S0=P2^4; sbitCD4052S1=P2^5; sbitLED_R=P1^4; sbitLED_C=P1^5; sbitLED_L=P1^6; sbitRS=P1^0; sbitRW=P1^1; sbitEN=P1^2; bitflag; ucharT0count; uchartimecount; unsignedlongintR,C,L,f,y; ucharfunc; uchari=0; ucharaa,bb,cc,dd; ucharcodemeun[2][16]={"is: ","00000000"}; ucharcodem[10]="0123456789"; voidIntar_T0T1(void) {flag=0; timecount=0; T0count=0; TH0=0; TL0=0; TR0=1;TR1=1; } voiddelay1(void) {inti; for(i=80;i>0;i--); } voiddelay_ms(uchart) {unsignedchari=0; while(t--)for(i=0;i<120;i++); } voidWriteData(uchardat) {EN=0; RS=0;//********RS寄存器选择输入端,当RS=0;当进行写模块操作,指向指令寄存器。 RW=0;//********当RS=1,无论是读操作还是写操作,都是指向数据寄存器。 RS=1; RW=0; EN=1; DataPort=dat; EN=0; RS=0; RW=0; for(i=0;i<20;i++); } voidWriteCmd(ucharcmd) {EN=0; RS=0;//********RS寄存器选择输入端,当RS=0;当进行写模块操作,指向指令寄存器。 RW=0;//********当RS=1,无论是读操作还是写操作,都是指向数据寄存器。 EN=1; DataPort=cmd; RS=0; RW=0; EN=0; for(i=0;i<20;i++); } voidDisChar(ucharps,uchardat) {WriteCmd((0x80+ps)); WriteData(dat); } voidLcdInit(void) {charpp=0; WriteCmd(0x38); delay_ms(5); WriteCmd(0x38); delay_ms(5); WriteCmd(0x38); delay_ms(5); WriteCmd(0x01);delay_ms(5); WriteCmd(0x06);delay_ms(5); WriteCmd(0x38); WriteCmd(0x0c); WriteCmd(0x40); for(pp=0;pp<16;pp++)DisChar(pp,*(meun[0]+pp)); for(pp=0;pp<16;pp++)DisChar(pp+0x40,*(meun[1]+pp)); } voidDisplay(unsignedlongintx) {DisChar(0,aa); DisChar(9+0x40,bb); DisChar(10+0x40,cc); DisChar(11+0x40,dd); DisChar(7+0x40,m[x%10]);x/=10; DisChar(6+0x40,m[x%10]);x/=10; DisChar(5+0x40,m[x%10]);x/=10; DisChar(4+0x40,m[x%10]);x/=10; DisChar(3+0x40,m[x%10]);x/=10; DisChar(2+0x40,m[x%10]);x/=10; DisChar(1+0x40,m[x%10]);x/=10; DisChar(0+0x40,m[x%10]);x/=10; delay_ms(200); } button() {if(button_r==0) {func=1;//功能1: 测电阻 LED_R=0; LED_C=1; LED_L=1; } if(button_c==0) {func=2;//功能2: 测电容 LED_R=1; LED_C=0; LED_L=1; } if(button_l==0) {func=3;//功能3: 测电感 LED_R=1; LED_C=1; LED_L=0; } returnfunc; } voidmain(void) {TMOD=0x15;//00010101 TH0=0; TL0=0; TH1=(65536-49989)/256; TL1=(65536-49989)%256; ET0=1; ET1=1; EA=1; TR1=1; TR0=1; y=0x00; LcdInit(); while (1) {button(); if(func==1) { aa='R'; bb='o'; cc='h'; dd='m'; R_measure(); } if(func==2) { aa='C'; bb='p'; cc='F'; dd='\n'; C_measure(); } if(func==3) { aa='L'; bb='u'; cc='H'; dd='\n'; L_measure(); } Display(y); Intar_T0T1(); } } voidt0(void)interrupt1using0//计脉冲个数 { T0count++; } voidt1(void)interrupt3using0//定时1s { TH1=(65536-50045)/256; TL1=(65536-50045)%256; timecount++; if(timecount==20) { TR0=0; TR1=0; timecount=0; flag=1; } } 二、系统测试 1.软件测试 测试软件: proteus仿真软件,keil单片机编程软件。 步骤: 首先按照电路图连接好电路 1.1电阻测量 调节滑动变阻器,测量不同阻值的电阻产生的多谐振荡脉冲波的频率。 将结果记录下表1-1中。 表1-1 电阻标值 1602测试显示 相对误差(%) 100 100 0 1K 1001 0.1 10K 10008 0.08 51K 51012 0.0235 100K 100900 0.9 1M 1000001 0.0001 1.2电容测量 替换不同电容,测量不同电容产生的多谐振荡脉冲波的频率。 将结果记录表1-2中。 表1-2 电容标准 1602测试显示 相对误差(%) 101 100pF 0 102 1000pF 0 103 10010pF 0.1 104 100100pF 0.1 105 1001100pF 0.1 10uF 10000000pF 0 1.3电感测量 替换不同电感,测量不同电感产生的振荡波的频率。 将结果记录表1-3中。 表1-3 电感标值 1602测试显示 相对误差(%) 33uH 33uH 0 50uH 50uH 0 100uH 100uH 0 220uH 220uH 0 470uH 475uH 1.064 680uH 685uH 0.735 1mH 1010uH 1 10mH 10100uH 1 2.硬件测试 测试仪器: 万用表,示波器 测试所用电阻、电容、电感是在市场买的标准电阻、电容、电感。 2.1电阻测量 调节滑动变阻器,测量不同阻值的电阻产生的多谐振荡脉冲波的频率。 将结果记录下表2-1中。 表2-1 电阻标值 1602测试显示 相对误差(%) 100 102 2 1K 1008 0.8 10K 10058 0.58 51K 51012 0.0235 100K 100946 0.964 1M 999752 0.0248 2.2电容测量 替换不同电容,测量不同电容产生的多谐振荡脉冲波的频率。 将结果记录表2-2中。 表2-2 电容标准 1602测试显示 相对误差(%) 101 99pF 1 102 1003pF 0.3 103 10089pF 0.89 104 100125pF 0.125 105 1003793pF 0.379 10uF 10000000pF 0 2.3电感测量 替换不同电感,测量不同电感产生的振荡波的频率。 将结果记录表2-3中。 表2-3 电感标值 1602测试显示 相对误差(%) 33uH 33uH 0 50uH 50uH 0 100uH 102uH 2 220uH 220uH 0 470uH 480uH 2.127 680uH 690uH 1.47 1mH 1028uH 2.8 10mH 10979uH 9.79 三、误差分析 3.1电阻测量误差分析 相对误差计算公式 从上面的硬件测量中电阻测量数据上来看,误差比较接近任务要求的误差值,100欧姆的电阻相对误差会大一些。 与软件仿真结果有一定的差异,造成这个现象的主要原因是在设计中采用的CD4066(四路模拟开关)的内阻较大。 3.2电容误差分析 相对误差计算公式 从上面的硬件测量中电容测量数据可以看出,电容的标称值与本系统测出的电容值比较接近,电容较小,误差较大,其可能性原因是元件本身也存在一定误差。 受所用仪器,元期间的限制,测量精度并没有做的很高。 3.3电感误差分析 相对误差计算公式 从上面的硬件测量中电感测量数据可以看出,电感的标称值与本系统测出的电感值误差相对较大,特别是10mH的电感,其可能性原因是元件本身也存在一定误差。 受所用仪器,元期间的限制,测量精度并没有做的很高。 综上所述,在实际测量中,由于测试环境,测试仪器,测试方法等都对测试值有一定的影响,都会导致测量结果或多或少地偏离被测量的真值,此外,本系统做的精度还不够高,测量结果存在一定误差是不可避免的。 四、总结 本设计完成了设计要求基本部分的任务和发挥部分的部分要求,制作了一台液晶显示的电阻器、电容器和电感器参数测试仪,运用STC89C52单片机作为中央控制器和计算核心,使仪表有性能可靠、体积小、电路简单、智能化的特点,但是这种把元件参数转换成频率后测量的方法也有不足之处,主要是必须保证电路起振,并且振荡要稳定,否则会增加误差。 总体来说,本次设计是较成功的。 参考文献: [1]黄智伟.全国大学生电子设计竞赛系统设计[M],北京: 北京航空航天大学出版社,2006年. [2]全国大学生电子设计竞赛获奖作品汇编: 第一届~第五届/全国大学生电子设计竞赛组委汇编.—北京: 北京理工大学出版社,2004.8 [3]全国大学生电子设计竞赛获奖作品选编/全国大学生电子设计竞赛组委汇编.—北京: 北京理工大学出版社,2010.7 [4]耿永刚.单片机C51应用技术.[M]北京: 电子工业出版社.2011.6 [5]谢辉.单片机原理及应用.[M]北京: 化学工业出版社,2010.8 [6]高吉祥.模拟电子技术.北京: 电子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 RLC 测量仪 设计 报告