基于51单片机的LCR测量仪设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Rx Lx C测量仪
摘要:把R、L、C转换成频率信号f,转换的原理分别是RC振荡电路和LC电容三点式振荡电路。
单片机计数得出被测频率,由该频率计算出各个参数值,数据处理后,送显示。
关键词:RC振荡电路LC电容三点式
R、L、C measure instrument
Liu zaile Zhou qunwei Lv xiaojuan
(Nanhua University Heng Yang Hunan 421001)
Teacher: Wang Yan
Abstract:The resistance N the inductance and the capacitance are translated into frequency on account of RC surging circuit and LC surging circuito Single chip was measured frequency and computed each parameter value from this frequency, showing the parametero
Key words: RC surging circuit LC surging circuit.
第一章系统设计 (3)
1.1设计要求 (3)
1. 1. 1设计任务 (3)
1. 1. 2技术要求 (3)
1.2方案比较 (3)
1.3方案论证 (4)
1. 3. 1总体思路 (4)
1. 3. 2设计方案 (4)
第二章主要电路设计与说明 (5)
2. 1 TS556芯片简介 (5)
2. 1. 1芯片的顶视图及各引脚的功能 (5)
2. 1. 2芯片的等效功能方框图及工作原理 (5)
2. 2 CD4066芯片的简介 (7)
2.3测Kt的RC振荡电路 (7)
2. 3. 1用556时基电路构成多谐振荡器 (7)
2. 3. 2测量电阻的电路模块 (9)
2. 4测的RC振荡电路 (10)
2. 5测厶v的电容三点式振荡电路 (11)
第三章软件设计 (11)
第四章系统测试 (12)
4. 1测试仪器 (12)
4. 2指标测试及误差分析 (12)
4. 2. 1电阻的测量 (12)
4. 2. 2电容的测量 (13)
4. 2. 3电感的测量 (13)
第五章总结 (13)
参考文献 (13)
附录 (14)
附录1元器件淸单 (14)
附录2程序淸单 (15)
附录3总体电路图 (17)
附录4印制板图 (18)
附录5系统使用说明 (19)
第一章系统设计「1设计要求
1. 1. 1设计任务
设计并制作一台数字显示的电阻、电容和电感参数测试仪,示意框图如下:
1. 1- 2技术要求
基本要求
(1)测量范围
电阻100 Q〜1MQ
电容100 pF〜10000 pF
电感100 PH〜10 mH
(2)测量精度±5%
(3)制作4位数码管显示器,显示测量数值,并用发光二极管分别指示所测元件的类别和单位
发挥部分
(1)扩大测量范用
(2)提髙测量精度
(3)测量量程自动转换
1- 2方案比较
目前,测量电子元件集中参数R. L、C的仪表种类较多,方法也各不相同,这些方法都有其优缺点。
电阻R的测试方法最多。
最基本的就是根据R的泄义式来测量。
在如图1.2.1中,分别用电流表和电压表测岀通过电阻的电流和通过电阻的电压,根据公式R = U!I求得电阻。
这种方法要测岀两个模拟虽:,不易实现自动化。
而指针式万用表欧姆档是把被测电阻与电流
一一对应,由此就可以读出被测电阻的阻值,如图122所示。
这种测量方法的精度变化大, 若需要较高的精度,必须要较多的量程,电路复杂。
7—
U 1.2. 1
能同时测量电器元件R. L、C的最典型的方法是电桥法(如图1.2.3 )o电阻R可用直流电桥测量,电感L.电容C可用交流电桥测量。
电桥的平衡条件为
乙z ・Ru = z2 z
通过调节阻抗z「Z2使电桥平衡,这时电表读数为零。
根据平衡条件以及一些已知的电路参数就可以求出被测参数。
用这种测量方法,参数的值还可以通过联立方程求解,调节电阻值一般只能手动,电桥的平衡判别亦难用简单电路实现。
这样.电桥法不易实现自动测
Q 表是用谐振法来测ML. C 值(如图1.2.4 )0它可以在工作频率上进行测量,使测屋 的条件
更接近使用情况。
但是,这种测量方法要求频率连续可调,直至谐振。
因此它对振荡 器的要求较高,另外,和电桥法一样,调节和平衡判别很难实现智能化。
\ $ 二
_> C3 [
Cx
图124
用阻抗法测R 、L 、C 有两种实现方法:用恒流源供电,然后
测元件电压:用恒圧源供 电,然后测元件电流。
由于很难实现理想的恒流源和恒压源,所以它
们适用的测量范用很窄。
很多仪表都是把较难测量的物理疑转变成精度较髙且较容易测量的物理量。
基于此思 想,我们把电子元件的集中参数R 、L 、C 转换成频率信号f,然后用单片机计数后在运算求 出R 、L 、
C 的值,并送显示,转换的原理分別是RC 振荡和LC 三点式振荡。
英实,这种 转换就是把模拟
量进拟地转化为数字虽:,频率F 是单片机很容易处理的数字疑,这种数字化 处理一方而便于使仪表实现智能化,另一方面也避免了由指针读数引起的误差。
1. 3方案论证
1. 3. 1总体思路
本设计中把R 、L 、C 转换成频率信号f,转换的原理分别是RC 振荡电路和LC 电容三 点式振荡电路,单片机根据所选通道,向模拟开关送两路地址信号,取得振荡频率,作为单 片机的时钟源,通过计数则可以计算出被测频率,再通过该频率计算出各个参数。
然后根据 所测频率判断是否转换量程,或者是把数据处理后,把R 、L 、C 的值送数码管显示相应的 参数值,利用编程实现量程自动转换。
1. 3. 2设计方案
该设计方案的总体方框图如图1.3.1所示。
第二章主要电路设计与说明
—fn*l
被测
RCP
电阴
振荡a
被测 电容
被测 电感
电容三点 式振荡卩
呈程转换〜
星程转按心
图131设计的总体方框图
星程转换J
振荡卩
複 拟
幵 关卩
三路邇 道选择 齐关a
数 字 显 示3
2
卩心 单
片机
2. 1 TS556芯片简介
方案选择中.利用555时基电路构成多谐振荡器来测量电阻R 、电容C,为了测量两个 物理量需要两块555时基电路,为i'j 省一部分硬件空间,以一片556时基电路来代替。
2. 1. 1芯片的顶视图及各引脚的功能
556双时基集成是COMS 型的,内含两个相同的555时基电路,它的顶视图如下图2.1」 所
示,双列直插14脚封装。
顶视图各引脚的功能分别为:K 13脚:放电:2、12脚:阈值:3、11脚:控制:4、 10脚:复位:5、9脚:输出:6、8脚:置位触发:7脚:GND : 14脚:十电源Vcs
2. 1. 2芯片的等效功能方框图及工作原理
芯片的等效功能方框图如下图2」・2所示,由于556双时基集成块内含两个相同的555 时基电路,它的等效功能方框图与一个555时基电路的等效功能方框图相同,在下而的分析 中’可硝个556芯片单独分析。
芯片的工作原理
-TS556的等效功能框图中包含两个COMS 电压比较器A 和B, —个RS 触发器,一 2 个反相器,一个P 沟道MOS 场效应管构成的放电开关SW,三个阻值相等的分压电阻网络, 以及输出缓冲级。
三个电阻组成的分压网络为上比较器A 和下比较器B 分别提供一Vcc 和
3 1 ?
-Vcc 的偏置电压。
当上比较器A 的同相输入端R 髙于反相输入端电位一Vcc 时,A 输岀 3 3
1 14
2
13 3 12 4 11 5 10 6 9 7
8
vdd
枇涎潮葩鼬槪
□
□□□□□□
放电 阈值
控制 复位 输岀 触发
图2丄1 555时基电路顶视图
置位触发/s
GIW
图2丄2 555时基电路等效功能方框图
3? 1
2
2
为高电平,RS触发器翻转,输出端V。
为逻借“0”电平。
即当V TH> - Vcc时,V。
为“0”
3
电平,处于复位状态;而当置位触发端£的电位,即Vs^-Vcc时,下比较器B的输岀为3
rs RS触发器置位,输岀端V。
为电平。
即当VsW^Vcc时,V。
为“V电平,处
3
于置位状态。
可见,该丄TS556的等效功能框图相当一个置位一复位触发器。
任RS触发器2
内空设置了一个强制复位端莎,即不管阈值端R和置位触发端g处于何种电平,只要使顾
=“0”,则RS触发器的输出必为“1”,从而使输出V"为“0”电平。
从芯片的等效功能方框图得岀各功能端的真值表,如表2.1.1所示。
注:“0” 一电平Wlvcc
3
“1” 一电平>2Vcc
3
“X” 一表示任意电平
2. 2 CD4066芯片的简介
在电路中采用CD4066四路模拟开关来实现不同量程的相互转换。
CD4066芯片(全称:四路模拟开关集成电路)内部含有A、B、C、D四路模拟开关,A路模拟开关由引脚13控制、B路模拟开关由引脚5控制、C路模拟开关由引脚6控制、D 路模拟开关由引脚12控制。
所有的控制引脚由软件编程控制,当控制线由软件程“1”时,该模拟开关闭合,当控制线由软件置“0”时,该模拟开关断开,且四路模拟开关可独立使用。
CD4066的内部结构图如图2.2.1所示:
v0D
程制剤
控诵线
D
1/0
0/1
0/1
图221 CD4066的内部结构图
2. 3测心的RC 振荡电路
2. 3. 1用556时基电路构成多谐振荡器
在电路中采用RC 振荡电路来测量电阻R 、电容C 的值,用556时基电路构成RC 振荡 器。
如图
2.3.1 (a)所示,将丄556与三个阻、容元件如图连接,便构成无稳态多谐振荡模 2
式。
图231 (b)波形图
当加上匕疋电压时,由于C 上端电压不能突变,故y556处于置位状态,输出端(5/9) 呈髙电平“1”,而内部的放电COMS 管截止,C 通过心和心对其充电,6/8脚电位随C 上 端电压的升髙呈指数上升,波形如图23.1 (b)所示。
2
当C 上的电压随时间增加,达到一Vcc 阈值电平(2/12脚)时,上比较器A 翻转,使 3
RS 触发器苣位,经缓冲级倒相,输岀匕呈低电平“0”。
此时,放电管饱和导通,C 上的电 荷经
R B 至放电管放电。
当C 放电使其电压降至|vcc 触发电平(6/8脚)时,下比较器B
VO
曲 电
VC
翻转,使RS触发器复位,经缓冲级倒相,输出吆呈髙电平“1化以上过程重复岀现,形成无稳态
多谐振荡。
由上而对多谐振荡过程的分析不难看出,输出脉冲的持续时间人就是C上的电压从1 2
-Vcc充电到二Vcc所需的时间,故C两端电压的变化规律为
3 3
L/c(f) = V cc(l-e-,/(^ W >c)+l %丘
设5=(R\+R B)C,则上式简化为
2
U c(t) = V cc(\--e~^)
从上式中求得
“=—T X In — = 0.6932巧
2
一般简写为
t x =0.6932( ^+^)0
2 1
电路间歇期匚就是C两端电压从一Vcc充电到—Vcc所需的时间,即
・ 3 3
从上式中求得q,并设r2 = R H C ,则
t2 = —T2 In g = 0.693r2
一般简写为
t2 = 0.693&C
那么电路的振荡周期T为
T =t{+t2 = 0.693(7)+c) = 0.693(7? i +2R li)C
振荡频率f = \/T,即
/=1.443/(©+2&;)C(H Z)
输出振荡波形的占空比为
D = tJT = (R A+R K)/{R A+2R B)
从上面的公式推导,可以得出(1)振荡周期与电源电压无关,而取决于充电和放电的总时间常数,即仅C、心、的值有关。
(2)振荡波的占空比与C的大小无关,而仅与尺八、的大小比值有关。
2. 3. 2测量电阻的电路模块
图2.3.2是一个由丄556时基电路构成的多谐振荡电路,由该电路可以测岀咼程在100Q〜
2
1MQ的电阻。
该电路的振荡周期为
T = t x+t2= (In2)(R + RJC + (In2)R x C = (In2)(R + 2RJC
其中耳为输岀髙电平的时间,q为输岀低电平的时间。
贝・
一〃(心+心)C
R + 2R、=
1 (加2)
为了使振荡频率保持在10〜100处这一段单片机讣数的髙精度范用内,需选择合适的C 和R的值。
第一个量程选择R = 200aC = 0.22uF ,第二个咼程选择
R = 20Ml,C = 1000“F。
这样,第一个量程中,R x =1000时
/ = ---------------------- ! -------------------
(加2)C(R + 2心)
_ 1.443
_ 0.22 xlO^x (200+ 200)
◎ 16.4kHZ
第二个量程中,R X=IMO时
/ = ------------------------- --------------------
(〃⑵ C(/? + 2心)
_ 1.443
-1X10~9X(20X103+2X106)
小4kHZ
因为RC振荡的稳立度可达10-3,单片机测频率最多误差一个脉冲,所以用单片机测频率引起的误差在百分之一以下。
在电路中之所以选用可调电位器是因为CD4066的内阻并不淸楚,在进行测量之前需要进行校准。
把标准电阻插在JP2插接口上,调节电位器,使数码管显示标称阻值。
在以后的测量过程中,便可直接测量电阻。
利用Pl.O(TRl)、Pl.l (TR2) 口通过软件编程的方法来控制CD4066的改变,实现量程的转换
2. 4测q的RC振荡电路
测量电容的振荡电路与测量电阻的振荡电路完全一样。
其电路图如图2.4.1所示。
两个量程的取值分别为
1
3(ln2)/?C v
we 图232测址电阻的电路
若心二心或者R25= R29
第一量程:心=心=510«。
第一量程:/?25=7?29=10/CQ
其分析过程如测量电阻的方法一样,这里就不在赘述了。
图2.4.1测虽电容的电路
2. 5测S 的电容三点式振荡电路
电感的测量是采用电容三点式振荡电路来实现的,如图2.5.1所示。
三点式电路是指: LC 回路中与发射极相连的两个电抗元件必须是同性质的,另外一个电抗元件必须为异性质 的,而与发射极相连的两个电抗元件同为电容时的三点式电路,成为电容三点式电路。
在 这个电容三点式振荡电路中,C4C5分别采用lOOOpF. 22OOpF 的独石电容,其电容值远大于 晶体管极间电容,可以把极间电容忽略。
振荡公式:
f = 一 ,其中 —* 2^y[LC Cj+G
则电感的感抗为
4卄C
在测量电感的时候,发现电感起振频率非常的髙,大致到达3MHz 左右,而单片机的 最大讣
数频率大约为500KHZ,在频率方而达不到测量电感频率,于是我们把测电感的电容 三点式电路得岀的频率经过由两片74LS160组成八位计数器作为分频电路对该频率进行分 频,有3000000/2" "1719,满足单片机计数要求。
U2A
U3D
CNTL
INOUT OUTrtN
TC1
TC1
D2B
U2C D2D
CHTL
1WOUT OtHTW CNTL
1NQUT OUT/IM
CHTL
INQUT OUT/W
CNTL
INX^JT OUT/IH
J0
3
3 TT
vccl2
第三章软件设计
在开始工作的时候,初始化系统,LED显示0000o
本系统软件设计的主流程图如图3.1所示。
对系统初始化之后,判断是否有按键按下。
以测电阻为例,测量的电阻经RC振荡电路转换为频率f,根据测电阻的换算公式,利用单片机软件编程,测量出英阻值并送显示。
如果量程不够大,按下量程转换键转换为大咼程, 进行测量。
图3・1 软件设il的主流程图
第四章系统测试
4. 1测试仪器
测试仪器如下表4. 1. Io
4. 2指标测试及误差分析
4. 2.1电阻的测呈
电阻的一组测量数据如下表421所示:
相对误差计算公式W'd 1100%
R万
从上而的一组数据上来看,在测量低于1 KQ阻值和接近1MQ阻值的电阻时,相对误差会大一些。
造成这个现象的主要原因是在设计中采用的CD4066 (四路模拟开关)的内阻较大,经测量貝内阻达到了180Q左右,这样在测量电阻值小的电阻时,它的内阻就不能忽略,造成测量误差的增大。
4. 2. 2电容的测量
电容的一组测量数据如下表422所示:
R JI —R仪
相对误差计算公式 ------ X100%
尺万
从上而的数据可以看出,电容的标称值与用万用表测岀的容值有较大的误差,苴可能性原因:一是万用表本身存在着一上误差,二是元件本身也存在一左误差。
受所用仪器,元期间的限制,测量精度并没有做的很高。
注意:由于建立RC稳左振荡的时间较长,在测量电阻和电容时,应在显示稳定后再读出数值。
4. 2. 3电感的测呈
电感的一组测量数据如下表4.2.3所示:
表4.2.3
第五章总结
本设讣完成题目所给的设计任务,制作了一台数字显示的电阻器、电容器和电感器参数测试仪,满足题目的基本要求和一部分发挥要求。
运用单片机作为中央控制器和汁算核心, 使仪表有性能可靠、体积小、电路简单的特点。
但是这种把元件参数转换成频率后测量的方法也有不足之处,主要是必须保证电路起振,并且振荡要稳定,否则会增加误差。
总体来说, 本次设计是成功的。
参考文献
1髙吉祥•模拟电子技术.北京:电子工业出版社,2004年
2髙吉祥,黄智伟,丁文霞.数字电子技术•北京:电子工业出版社,2003年
3全国大学生电子设计竞赛组委会.第一届(1994年)〜第六届(2003年)全国大学生电子设计竞赛题目・忽略.nuedu. com. cn. 2003. 12
4全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编(1999〉•北京:北京理工大学岀版社,2000年
附录
附录2程序清单
本设计程序由C语言编写主程序名:RLCTest. h
程序实现的主要功能:把R、L、C转换的频率,通过编程求出其值,送LED显示
#include<at89x52. h>
#include/z RLCTest・ h〃
union count
{
struct clockTwo
{
unsigned char clockH;
unsigned char clockL;
/clockTwo;
unsigned int clock;
} count; //定义频率字
unsigned char code
di sdata[16] = {OxcO, 0xf9, 0xa4, OxbO, 0x99
,0x92, 0x82, 0xf8, 0x80, 0x90, 0x8& 0x83, 0 xc6, Oxal, 0x86,
0x8e};
unsigned char data dismem[8];
〃泄义LED显示频段
按键处理
一一系统初始化
void keyprocess(void)
void init(void)
{
stateR=0;testR=l;
stateC=l;testC=0;
stateL=l;testL=0;
largeR^l;smallR=0;
largeC=l;smallC=0;
}
void delay4us(unsigned int time)
{
while(―time);
}
void delay2us(unsigned char time)
{
while(—time);
}
void inittime(void)
{
TMOD=Oxl5;//C/T 0为计数器,用于频率计数。
C/T 1为定时器。
用于动态显示
THl=0xF8;//timerl=2ms
辻(keyR=0)
delay2us (20); 辻
(keyR==0)
stateR=0 stateL=l
stateC=l Tstate=l }
while(keyR=0);
}
else if (keyC=0)
testR=l;
testL=0;
testC=0;
delay2us(20); if
(keyC==0)
stateR=l
stateL=l
stateC=0
Tstate=l
testR=0;
testL=0;
testC=l;
TLl=0x2f;
ET1二1;
EA=1;
TR1=1;
TRO二1;
ETO=1;
///timer 2
T2CON=0x04;
T2M0D=0x00;
TH2二0x3C;
TL2=0xB0;
RCAP2H二
0x3C;
RCAP2L=0xB0;
TR2=1;
freq=freq%1000; dismem[2J=freq/100; freq=freq%100; dismem[3]=freq/10; freq=freq%10; dismem[4」=freq; }while(l);
} //动态显示
void timltimer(void) interrupt 3
〃占用定时器1 {
static unsigned char inittime=l;
//中段次数计数
ET1二0; THl=0xF8; TLl=0x2f; switch (inittime)
{
case
1:ledbitA=0;ledbitB^O;ledbitC=0; ledbitCS^O;ledseg^disdata[dismem [0]];break;
case
2:ledbitA=l;ledbitB=0;ledbitC=0; ledbitCS^O;ledseg=disdata[dismem [1] ];break;
case
3:ledbitA=0;ledbitB=l;ledbitC=0; ledbitCS^O;ledseg=disdata[dismem [2] ];break;
case
4:ledbitA=l;ledbitB=l:ledbitC=0; ledbitCS^O;ledseg=disdata[dismem [3] ];break;
case
5:ledbitA=0;ledbitB=0;ledbitC=l; ledbitCS^O;ledseg^disdata[dismem [4] ];break;
case
6:ledbitA=l;ledbitB 二0;ledbitC=l; ledbitCS^O;ledseg=disdata[dismem
} while(keyC==O);
}
else if (keyL==O) delay2us(20); if (keyL=O)
stateR=l;testR=O; stateL=O;testL=l; stateC=l;testC=O; Tstate=l;
} while(keyL==O); } else if (keyT==O)
delay2us(20); if (keyT==O)
Tstate=^Tstate; while (keyT=O);
}
主函数
void mainO
{
unsigned int freq; inittimeO ; initO; do
{
keyprocess 0; delay4us(65535); freq=count ・ clock; //(clockH*256)+clockL;
辻(stateC=0)
{ freq=48000/freq;
}
dismem[0]=freq/l0000; freq=freq%10000; dismemEl]=freq/1000;
[5]];break;
case
7:ledbitA=O;ledbitB二1;ledbitC=l;ledbi tCS二0;ledseg=disdata.dismem//timer=2m s [61:;break;
default :ledbitA=l;ledbitB二1;led
bitC=l;ledbitCS=O;ledseg=disdata
Edismem[7]];inittime =0;break;
}
ET1=1;
TR1=1;
inittime++;
}
void timer2timer(void) interrupt 5
{
EA=0;
TF2二0;//左时器2须由软件淸中断标
志位
TR0二0;
TR2二0;
count・ clockTwo. clockH=TH0;
count・ clockTwo. clockL=TL0;
THO二0;
TLO二0;
TR2二1;
TRO二1;
P1_7=、P1_7;
EA二1;
}
附录3总体电路图
-
d
n r .-K
-O s 7.k 5?
R
l
附录4印制板图
附录5系统使用说明
在测试系统时,用标准电阻、电容、电感调节电位器的值,校准各参数的值。
在测试电阻,按下测电阻的按键,若量程不够,LED数码管上有数值溢出显示,按下量程切换键,切换到大量程。
测电容、电感类似。
21 -。