简易LCR测量仪.docx
- 文档编号:30332722
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:27
- 大小:873.06KB
简易LCR测量仪.docx
《简易LCR测量仪.docx》由会员分享,可在线阅读,更多相关《简易LCR测量仪.docx(27页珍藏版)》请在冰豆网上搜索。
简易LCR测量仪
2015大连理工大学电子设计竞赛
暨全国电子设计竞赛选拔赛
简易LCR测量仪(D题)
2015年6月5日
摘要
本设计中把R、L、C转换成频率信号f,转换的原理分别是RC振荡电路和LC电容三点式振荡电路,单片机根据所选通道,取得振荡频率,作为单片机的时钟源,通过测频法则可以计算出被测频率,再通过该频率计算出各个参数。
然后根据所测频率判断是否切换单位,或者是把数据处理后,把R、L、C的值送液晶屏,并显示相应的参数值。
简易LCR测量仪(D题)
【三只牛犊组】
1系统方案
本系统主要由电子元件集中参数R、L、C转频率模块、主控模块、R,L,C切换模块、电源模块组成,下面分别论证这几个模块的选择。
1.1测量方案的论证与选择
方案一:
电桥法
电阻R可用直流电桥测量,电感L、电容C可用交流电桥测量。
电桥的平衡条件为
通过调节阻抗
、
使电桥平衡,这时电表读数为零。
根据平衡条件以及一些已知的电路参数就可以求出被测参数。
用这种测量方法,参数的值还可以通过联立方程求解,调节电阻值一般只能手动,电桥的平衡判别亦难用简单电路实现。
这样,电桥法不易实现自动测量。
方案二:
伏安法
伏安法有固定轴法和自由轴法两种,区别在于相敏检波器的相位参考基准选取的不同。
实际上,相敏检波的相位参考基准代表坐标轴的方向,相敏检波器的输出就是待测电压在坐标轴方向上的投影。
但此方案需要信号源,由于信号源的制作较为繁琐,不够简洁。
方案三:
谐振法
利用555的多谐震荡电路及电容三点式震荡电路将电子元件的集中参数R、L、C转换成频率信号f,然后用单片机计数后在运算求出R、L、C的值,并送显示,转换的原理分别是RC振荡和LC三点式振荡。
其实,这种转换就是把模拟量进拟地转化为数字量,频率f是单片机很容易处理的数字量,这种数字化处理一方面便于使仪表实现智能化,另一方面也避免了由指针读数引起的误差。
综合以上三种方案,我们组最后决定使用方案三。
1.2R,L,C切换模块的论证与选择
方案一:
4路模拟开关CD4066
CD4066芯片(全称:
四路模拟开关集成电路)内部含有A、B、C、D四路模拟开关,A路模拟开关由引脚13控制、B路模拟开关由引脚5控制、C路模拟开关由引脚6控制、D路模拟开关由引脚12控制。
所有的控制引脚由软件编程控制,当控制线由软件置“1”时,该模拟开关闭合,当控制线由软件置“0”时,该模拟开关断开,且四路模拟开关可独立使用。
但由于其断开时不能完全断开而只是阻抗很大,因此在进行RLC切换时会出现信号干扰问题。
下图为CD4066的内部结构图:
方案二:
电磁继电器
电磁继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流、较低的电压去控制较大电流、较高的电压的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
其开关的闭合与打开符合条件,不会出现信号干扰问题。
综合以上两种方案,我们组最后决定使用方案二。
1.3控制系统的论证与选择
方案一:
STM32
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核但其编程较为复杂,价格也不占优势。
方案二:
STC89C52
·8位CPU·4kbytes程序存储器(ROM)(52为8K)
·128bytes的数据存储器(RAM)(52有256bytes的RAM)
·32条I/O口线·111条指令,大部分为单字节指令
·21个专用寄存器
·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
·一个全双工串行通信口
·外部数据存储器寻址空间为64kB
·外部程序存储器寻址空间为64kB
·逻辑操作位寻址功能·双列直插40PinDIP封装
·单一+5V电源供电
CPU:
由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:
用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:
用以存放程序、一些原始数据和表格;
I/O口:
四个8位并行I/O口,既可用作输入,也可用作输出
T/C:
两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最佳振荡频率为6M—12M。
由于此方案需要单片机完成的工作只有驱动液晶,测量频率及简单计算,51完全可以胜任,且51性价比不错.因此选用51作主控芯片。
综合以上两种方案,我们组最后决定使用方案二。
2系统理论分析与计算
2.1LCR值转频率电路的分析
2.1.1RC值转频率电路(NE555芯片构成的多谐振荡器)
电阻R1、R2和电容C1构成定时电路。
定时电容C1上的电压UC作为高触发端TH(6脚)和低触发端TL(2脚)的外触发电压。
放电端D(7脚)接在R1和R2之间。
电压控制端K(5脚)不外接控制电压而接入高频干扰旁路电容C2(0.01uF)。
直接复位端R(4脚)接高电平,使NE555处于非复位状态。
多谐振荡器的放电时间常数分别为
tPH≈0.693×(R1+R2)×C1
tPL≈0.693×R2×C1
振荡周期T和振荡频率f分别为
T=tPH+tPL≈0.693×(R1+2R2)×C1
f=1/T≈1/[0.693×(R1+2R2)×C1]
2.1.2L值转频率电路
电感的测量是采用电容三点式振荡电路来实现的,如图2.5.1所示。
三点式电路是指:
LC回路中与发射极相连的两个电抗元件必须是同性质的,另外一个电抗元件必须为异性质的,而与发射极相连的两个电抗元件同为电容时的三点式电路,成为电容三点式电路。
在这个电容三点式振荡电路中,C4C5分别采用1000pF、2200pF的独石电容,其电容值远大于晶体管极间电容,可以把极间电容忽略。
振荡公式:
,其中C为C1C2串联容值
则电感的感抗为
2.2LCR值转频率的计算
2.2.1
电阻计算公式:
R=138720677*(1/f)-325.5
单位:
电阻:
欧,频率:
Hz
2.2.2
电容计算公式:
C=0.00050037*(1/f)
单位:
电容:
pf,频率:
Hz
2.2.3
电感计算公式:
L=661102.8/(f*f)
单位:
电感:
H频率:
Hz
3电路与程序设计
3.1电路的设计
3.1.1系统总体框图
系统总体框图如下图所示:
3.1.2LCR值转频率电路原理图
1、R值转频率电路原理图:
2、C值转频率电路原理图:
3、L值转频率电路原理图:
4、过零比较电路:
3.1.3档位切换电路原理图
1、继电器部分切换电路:
3.1.4电源
电源由变压部分、滤波部分、稳压部分组成。
为整个系统提供
5V或者
12V电压,确保电路的正常稳定工作。
这部分电路比较简单,都采用三端稳压管实现,故不作详述。
3.2程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述
根据题目要求软件部分主要实现键盘的设置,测频和显示。
1)键盘实现功能:
选择测量对象(R、C、L),按键切换单位,复位。
2)显示部分:
显示测量频率和所测元件值。
2、程序设计思路
对系统初始化之后,判断是否有按键按下。
以测电阻为例,若按下R开关,单片机输出高信号驱动继电器闭合。
测量的电阻经RC振荡电路转换为频率f,根据测电阻的换算公式,利用单片机软件编程,测量出其阻值并送显示。
使用外部中断实现按键切换单位和按键复位功能。
3.2.2程序流程图
1、主程序流程图
4测试方案与测试结果
4.1测试方案
1、硬件测试
LCR测试方法:
通过使用LCR测试仪,测量出较精确的LCR值,然后通过示波器读出所显示方波的频率,由此通过公式反推出LCR的理论值,再与实际测量的LCR值比对,调整参数。
2、软件仿真测试
通过信号发生器连接单片机,通过液晶屏读取频率值。
3、硬件软件联调
通过硬件组装,通过按键切换,用液晶屏显示理论值,与硬件测试时的理论值与实际值进行比对,记录数值,调整参数。
4.2测试条件与仪器
测试条件:
仿真电路和硬件电路与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
示波器,数字万用表,LCR测试仪。
4.3测试结果及分析
4.3.1测试结果(数据)
通过LCR测量的R值数据及通过液晶屏显示的频率数据:
通过公式算出的理论值及理论值与实际值的误差
通过excel图象拟合数据:
4.3.2测试分析与结论
根据上述测试数据,由此可以得出以下结论:
1、电阻的测量值与实际值的误差能控制在1%以内
2、
3、
综上所述,本设计达到设计要求。
附录1:
电路原理图
一.测
的RC振荡电路:
二.测Cx的RC的振荡电路:
三.测量Lx的电容三点式振荡电路:
过零比较电路:
四.部分仿真电路:
多谐振荡电路:
电容三点式振荡电路及方波变换电路:
五.继电器部分切换电路:
附录2:
源程序
#include"LCD1602.h"
#include
#include
#include
#definek830016036
sbitkeyR=P2^5;
sbitkeyC=P2^4;
sbitkeyL=P2^3;
sbittestR=P1^0;
sbittestC=P1^1;
sbittestL=P1^2;
sbitR_large=P1^3;
sbitR_small=P1^4;
sbitC_large=P1^5;
sbitC_small=P1^6;
sbitcounter=P3^4;
sbittimer=P3^5;
sbitflag=P3^2;
sbitreset=P3^3;
ucharidataf_display[20];
ucharidatadisplay_lcd[20];
uintflag_rcl;
uintflag_danwei;
uintflag_reset;
uinttimer_yichu=0,counter_yichu=0;
uintfenpin_rate,m,n,f_L;
voidinit(void);
voidkeypress(void);
voidcepin(void);
voiddisplay(floatf);
voidpanduan(void);
voidmain()
{
lcd_init();
init();
write_string(1,0,"designedby");
write_string(1,1,"threecalves");
delay_ms(1000);
clear_screen();
while
(1)
{clear_screen();
flag_reset=0;
write_string(1,1,"waiting...");
while
(1)
{
keypress();
panduan();
if(flag_reset==1)
break;
}
}
}
voidinit(void)//初始化
{
TMOD=0x15;//T1定时器,T0计数器
TH1=0x3c;//定时50ms
TL1=0xb0;
TH0=0;
TL0=0;
IT0=1;//外部中断下跳沿触发
IT1=1;//外部中断下跳沿触发
ET1=1;
ET0=1;
EX0=1;
EX1=1;
EA=1;
TR1=1;
TR0=1;
PT0=1;//计数器中断优先
flag_rcl=0;
flag_danwei=0;
flag_reset=0;
}
voidkeypress(void)
{
while
(1)
{
if(keyR==0)
{
testR=1;
testC=0;
testL=0;
flag_rcl=1;
}
elseif(keyC==0)
{
delay_ms(5);
if(keyC==0)
{
testR=0;
testC=1;
testL=0;
flag_rcl=2;
}
while(keyC==0);
}
elseif(keyL==0)
{
delay_ms(5);
if(keyL==0)
{
testR=0;
testC=0;
testL=1;
flag_rcl=3;
}
while(keyR==0);
}
if(flag_rcl!
=0)
break;
}
}
voidpanduan(void)
{
if(flag_rcl==0);
if(flag_rcl==1)
{
cepin();
}
elseif(flag_rcl==2)
{
cepin();
}
elseif(flag_rcl==3)
{
cepin();
}
}
voidcepin(void)
{
unsignedlongf_test;
timer_yichu=0;
counter_yichu=0;
TMOD=0x15;
TH1=0x3c;//初始50ms
TL1=0xb0;
TH0=0;
TL0=0;
TCON=0x50;
while(timer_yichu!
=20);
TCON=0;
f_test=TH0*256+counter_yichu*65536+TL0;
display(f_test);
}
voiddisplay(floatf)//液晶屏显示函数
{
floatvlaue_r0;
floatvalue_r;
floatvalue_c;
floatvalue_l;
clear_screen();
if(f>1000000.00)
sprintf(f_display,"Freq:
%2.4fMhz",(f/1000000.00));
elseif(f>1000.00)
sprintf(f_display,"Freq:
%4.2fKhz",(f/1000.00));
elsesprintf(f_display,"Freq:
%3.2fhz",f);
write_string(0,0,f_display);
if(flag_rcl==1)//R
{
vlaue_r0=138720677/f-326.4;
if(vlaue_r0<300)
value_r=0.8882*vlaue_r0+14.887;
elseif((vlaue_r0>300)&&(vlaue_r0<500))
value_r=0.9232*vlaue_r0+8.3454;
elseif((vlaue_r0>500)&&(vlaue_r0<1000))
value_r=1.0497*vlaue_r0-55.115;
elseif((vlaue_r0>1000)&&(vlaue_r0<5000))
value_r=1.0747*vlaue_r0-69.451;
elseif((vlaue_r0>5000)&&(vlaue_r0<10000))
value_r=1.0698*vlaue_r0-17.569;
else
value_r=1.0471*vlaue_r0+29.594;
if(flag_danwei==0)
sprintf(display_lcd,"R:
%4.5fo",value_r);//需要修改
if(flag_danwei==1)
sprintf(display_lcd,"R:
%4.5fKo",value_r/1000);
if(flag_danwei==2)
sprintf(display_lcd,"R:
%4.5fMo",value_r/1000000);
}
if(flag_rcl==2)//C
{
value_c=0.00050037/f;
if(flag_danwei==0)
sprintf(display_lcd,"C:
%4.2fF",value_c/1000000);//需要修改
if(flag_danwei==1)
sprintf(display_lcd,"C:
%4.2fpF",value_c);
if(flag_danwei==2)
sprintf(display_lcd,"C:
%4.2fuf",value_c*1000000);
}
if(flag_rcl==3)//L
{
value_l=600782/(f*f);//电感公式
sprintf(display_lcd,"L:
%4.2fmH",value_l*1000);//需要修改
}
write_string(0,1,display_lcd);
}
voidtimer1(void)interrupt3//定时器服务函数
{
timer_yichu++;
TH1=0x3c;//重装载50ms
TL1=0xb0;
}
voidcounter0(void)interrupt1//计数器服务函数
{
counter_yichu++;
TH0=0;
TL0=0;
}
voidint0(void)interrupt0//外部中断切换单位服务函数
{
delay_ms(5);//软件消抖
if(flag==0)
{
flag_danwei++;
while(!
flag);//松手检测
}
if(flag_danwei==3)
flag_danwei=0;
}
voidint1(void)interrupt2//外部中断reset
{
delay_ms(5);//软件消抖
if(reset==0)
{
flag_reset=1;
flag_rcl=0;
while(!
reset);//松手检测
}
}
0.0005049155
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 LCR 测量仪
![提示](https://static.bdocx.com/images/bang_tan.gif)