智能电阻电容和电感测试仪的设计.docx
《智能电阻电容和电感测试仪的设计.docx》由会员分享,可在线阅读,更多相关《智能电阻电容和电感测试仪的设计.docx(23页珍藏版)》请在冰点文库上搜索。
智能电阻电容和电感测试仪的设计
南昌工程学院
毕业设计(论文)
信息工程学院系(院)通信技术专业
毕业设计(论文)题目智能电阻、电容和电感测试仪的设计
学生姓名
班级
学号
指导教师
完成日期2010年6月19日
智能电阻、电容和电感测试仪的设计
Smartresistors,capacitorsandinductorsTestInstrument
总计毕业设计(论文)27页
表格1个
插图12幅
摘要
本文先对设计功能及要求进行了阐述,然后提出要完成该功能的设计方案,最后会对电阻,电容,电感的测试进行设计。
本设计是利用AT89C52芯片的单片机来实现测试的,其中电阻和电容是采用555多谐振荡电路产生的,而电感则是根据电容三点式产生的,从而实现各个参数的测量。
这样,一方面测量精度较高,另一方面便于使仪表实现智能化。
关键词:
AT89C52芯片 555多谐振荡电路 电容三点式
Abstract
Thispaperfirsttodesignfunctionandrequirementareexpounded,thenputsforwardtofinishthedesignschemeofthefunction,andfinallytoresistance,capacitanceandinductance.ThisdesignisusedtorealizetheAT89C52chipmicrocontrollertest,resistorandcapacitorisusedat555resonanceswings,whichisproducedbytheinductancecircuitsareproducedaccordingtoSanDianShicapacitance,thusrealizeeachparametermeasurement.So,ontheonehand,themeasurementprecision,ontheotherhandtomakeintelligentinstrument.
Keywords:
AT89C52Chip;555resonanceswingscircuit;SanDianShicapacitance
引言
现代电子产品正以前所未有的速度,向着多功能化、体积最小化、功耗最低化的方向发展,机电产品广泛应用于家电、通信、一般工业乃至航空航天和军事领域。
无论是日常生活还是高端科技领域,电子技术的应用均日益深入。
掌握必备的电子技术基础设计制作基础知识和基本技能,能够满足我国目前产业结构对广大技术工人、工程技术人员基本素质的要求,而且能为从事高端电子系统开发培养能力和素质,适应信息时代的需要。
目前市面上测量电子元器件参数R、C和L的仪表种类较多,方法和优缺点也各有不同。
一般的测量方法都存在计算复杂,不易实现自动测量而且很难实现智能化等缺点。
在本设计中我们着重介绍一种把电子元件的参数R,C和I转换成频率信号f,然后用单片机计数后再运算求出R、c和L并应用LCD显示的方法。
转换原理分别是RC振荡和LC三点式振荡,这样就能够把模拟量近似转换为数字量,而频率f是单片机很容易处理的数字量,这种数字化的处理一方面使测量精度提高了,另一方面也便于使仪表实现智能化。
第一章设计要求及结构
1.1 设计要求
(1)测量范围:
电阻100Ω~1MΩ;电容100pF~10000pF;电感100μH~10mH。
(2)测量精度:
±5%。
(3)制作4位数码管显示器,显示测量数值,并用发光二极管分别指示所测元件的类型和单位。
(4)使用三个按键分别控制R、C、L的测试红、黄、绿三个二极管分别代表三种类别的测试。
图1-1示意框图
1.2系统的总体结构
1-2系统的总体结构
系统分三大部分,及测量电路,显示电路和控制电路。
测量电路包括:
被测电阻,被测电容,被测电感,RC振荡电路,电容三点式振荡电路,;控制电路包括:
按键选择测量电路,AT89C52单片机,启动单片机;显示电路包括:
二极管显示,数字显示。
第二章系统硬件电路及芯片介绍
2.1AT89C52单片机
AT89C52是美国Atmel公司生产的低电压、高性能CMOS8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。
AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。
其主要工作特性是:
(1)片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;
(2)片内数据存储器内含256字节的RAM;
(3)具有32根可编程I/O口线;
(4)具有3个可编程定时器;
(5)中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;
(6)串行口是具有一个全双工的可编程串行通信口;
(7)具有一个数据指针DPTR;
(8)低功耗工作模式有空闲模式和掉电模式;
(9)具有可编程的3级程序锁定位;
(10)AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;
(11)AT89C52最高工作频率为24MHz。
功能特性描述:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM
·32个双向I/O口·256x8bit内部RAM
·3个16位可编程定时/计数器中断·时钟频率0-24MHz
·2个串行中断·可编程UART串行通道
·2个外部中断源·共6个中断源
·2个读写中断口线·3级加密位
·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能
引脚功能特性:
·P1.0T2,时钟输出
·P1.1T2EX,(定时/计数器2)
·P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
·P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
·RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
·ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
·PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
·EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
·XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
·XTAL2:
振荡器反相放大器的输出端。
2.2555多谐振荡电路
555多谐振荡电路,是一种数字、模拟混合型的中规模集成电路,应用十分广泛。
它是一种产生时间延迟和多种脉冲信号的电路,由于内部电压标准使用了三个5K电阻,故取名555电路。
其电路类型有双极型和CMOS型两大类,二者的结构与工作原理类似。
几乎所有的双极型产品型号最后的三位数码都是555或556;所有的CMOS产品型号最后四位数码都是7555或7556,二者的逻辑功能和引脚排列完全相同,易于互换。
555和7555是单定时器。
556和7556是双定时器。
双极型的电源电压VCC=+5V~+15V,输出的最大电流可达200mA,CMOS型的电源电压为+3~+18V。
2.2.1555电路的工作原理
555电路的内部电路方框图如图2-2-1(a)所示。
它含有两个电压比较器,一个基本RS触发器,一个放电开关管T,比较器的参考电压由三只5KΩ的电阻器构成的分压器提供。
它们分别使高电平比较器A1的同相输入端和低电平比较器A2的反相输入端的参考电平为
和
。
A1与A2的输出端控制RS触发器状态和放电管开关状态。
当输入信号自6脚,即高电平触发输入并超过参考电平
时,触发器复位,555的输出端3脚输出低电平,同时放电开关管导通;当输入信号自2脚输入并低于
时,触发器置位,555的3脚输出高电平,同时放电开关管截止。
是复位端(4脚),当
=0,555输出低电平。
平时
端开路或接VCC。
(a)(b)
图2-2-1555定时器内部框图及引脚排列
VC是控制电压端(5脚),平时输出
作为比较器A1的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01μf的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。
T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电通路。
555定时器主要是与电阻、电容构成充放电电路,并由两个比较器来检测电容器上的电压,以确定输出电平的高低和放电开关管的通断。
这就很方便地构成从微秒到数十分钟的延时电路,可方便地构成单稳态触发器,多谐振荡器,施密特触发器等脉冲产生或波形变换电路。
2.2.2利用555芯片构成多谐振荡器
如图2-2-2(a),由555定时器和外接元件R1、R2、C构成多谐振荡器,脚2与脚6直接相连。
电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号,利用电源通过R1、R2向C充电,以及C通过R2向放电端Ct放电,使电路产生振荡。
电容C在
和
之间充电和放电,其波形如图2-2-2(b)所示。
输出信号的时间参数是
T=tw1+tw2,tw1=0.7(R1+R2)C,tw2=0.7R2C
555电路要求R1与R2均应大于或等于1KΩ,但R1+R2应小于或等于3.3MΩ。
外部元件的稳定性决定了多谐振荡器的稳定性,555定时器配以少量的元件即可获得较高精度的振荡频率和具有较强的功率输出能力。
因此这种形式的多谐振荡器应用很广。
(a)(b)
图2-2-2多谐振荡器
2.3电容三点式振荡电路
电容三点式振荡电路,又称考毕兹振荡电路。
如图2-3(a)所示,Q是三极管,其结构与电感三点式振荡电路相似,只是将电感、电容互换了位置。
该电路的交流通路如图2-3(b)所示。
(a)(b)
图2-3三点式振荡电路
电容C1、C2和电感L构成正反馈选频网络,反馈信号取自电容C2两端,故称为电容三点式振荡电路,也称电容反馈式振荡电路。
反馈信号与输入端电压同相,满足振荡的相位平衡条件,LC谐振回路Q值足够高的条件下,电路的振荡频率近似等于回路的谐振频率。
计算公式如下:
其中
电容三点式振荡器电路的特点是振荡频率可做得较高,一般可达到100MHz以上,由于C2对高次谐波阻抗小,使反馈电压中的高次谐波成分较小,因而振荡波形较好。
另外当振荡频率较高时,C1,C2的值很小,三极管的级间电容就会对频率的产生影响。
2.4按键电路
按键和二极管分别表示不同类别的测量,如下表2-4所示:
表2-4
按键
二极管
对应测试项
KEY1
L1
测试L
KEY2
L2
测试C
KEY3
L3
测试R
图2-4测量选择电路
图2-5数码管显示电路
第三章硬件电路测量
3.1电阻测量电路
电阻的测量采用“脉冲计数法”,如下图所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电阻的大小。
555接成多谐振荡器的形式,其振荡周期为:
T=t1+t2=(ln2)(R1+Rx)*C1+(ln2)Rx*C1
得出:
即:
电路分为2档:
1档:
100≤Rx<1000欧姆:
IOA5设置为高电平输出,IOA7设为低电平输出;
R2=330欧姆;CC8=0.22uF;
2档:
1000≤Rx<1M欧姆:
IOA6设置为高电平输出,IOA8设为低电平输出。
R1=20k欧姆;C1=104PF;
图3-1电阻测试电路
3.2电容测试电路
电容的测量同样采用“脉冲计数法”,如下图3-2所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电容的大小。
555接成多谐振荡器的形式,其振荡周期为:
T=t1+t2=(ln2)(R1+R2)*Cx+(ln2)R2*Cx
我们设置R1=R2;
得出:
即:
电路分为2档:
1档:
100PFIOA10设置为高电平输出;R4=R6;
对应的频率范围为:
0.94K≤fx<9.4K;
2档:
1000PFIOA9设置为高电平输出;R5=R6;
对应的频率范围为:
480Hz≤fx<4.8KHz
图3-2电容测量电路
3.3电感测试电路
电感的测量是采用电容三点式振荡电路来实现的。
三点式电路是指:
LC回路中与发射极相连的两个电抗元件必须是同性质的,另外一个电抗元件必须为异性质的,而与发射极相连的两个电抗元件同为电容时的三点式电路,成为电容三点式电路。
得出:
即:
图3-3电感测量电路
第四章程序总体模块
根据设计要求及硬件电路的设计,智能测试仪的软件设计可分为五个模块,分别是:
主程序模块、中断采样程序模块、转量程程序模块、显示程序模块及数据处理程序模块。
1.主程序模块:
主程序模块是程序运行的核心软件,它是专门用来协调各执行模块之间的关系,在整个系统软件中充当组织调度的角色。
它的主要功能是对程序进行初始化,调用各个子程序,使程序能够正常有序的运行。
2.中断采样程序模块:
该模块的主要功能是将电阻、电容或电感的模拟电压量转换为数字量,使单片机控制系统能够对数据进行处理。
3.转量程程序模块:
该模块是根据测量时测量参数在量程范围内的超欠,并进行量程的自动转换,实现该测量仪的测量智能化。
4.显示程序模块:
该模块采用共阴极动态显示方式,通过译码器依次选通五位数码管,对测量结果进行动态显示。
5.数据处理程序模块:
该模块是程序内部的一些数据处理程序。
总结
本文所设计的RLC测量仪是用555构成的多谐振荡器和电容三点式振荡电路把R、L、C作为谐振电路中的一个元件,当阻抗值变化时谐振电路的输出频率将随着改变,分别用555和电容三点式振荡电路构成了振荡器测量不同RLC值产生的不同频率,在内部建立频率阻抗对照表数据库,从测得的频率值直接查表可获得元件的阻抗值并显示。
RLC智能测量仪用对小阻抗元件和大阻抗元件能进行自动识别,实现测量档位的自动切换和准确测量。
参考文献
[1]何小艇编著,电子系统设计[M],杭州:
浙江大学出版社,2000.10;
[2]谢自美主编,电子电路设计[M],武汉:
华中理工大学出版社,2000;
[3]徐爱钧编著,智能化测量控制仪表原理与设计[M],北京:
北京航空航天大学出版社,2004.9;
[4]何立民编著,MCS-51系列单片机应用系统设计系统配置与接口技术[M],北京:
北京航空航天大学出版社,1990.1;
[5]刘守义主编,单片机应用技术[M],西安:
西安电子科技大学出版社,2003.1
[6]马忠梅,单片机的C语言Windows环境编程宝典[M],北京:
北京航空航天大学出版社,2003.6;
[7]李光飞,单片机C程序设计指导[M],北京:
北京航空航天大学出版社,2003.01;
[8]赵茂泰主编,智能仪器原理及应用[M],北京:
电子工业出版社,2004.7;
附录一
程序部分
-------------------------------------------------------------------------------
本设计程序由C语言编写
主程序名:
RLCTest.h
程序实现的主要功能:
把R、L、C转换的频率,通过编程求出其值,送LED显示
-------------------------------------------------------------------------------
#include
#include"RLCTest.h"
unioncount
{
structclockTwo
{
unsignedcharclockH;
unsignedcharclockL;
}clockTwo;
unsignedintclock;
}count;//定义频率字
unsignedcharcodedisdata[16]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsignedchardatadismem[8];
//定义LED显示频段
-----------------------------------------
系统初始化
voidinit(void)
{
stateR=0;testR=1;
stateC=1;testC=0;
stateL=1;testL=0;
largeR=1;smallR=0;
largeC=1;smallC=0;
}
voiddelay4us(unsignedinttime)
{
while(--time);
}
voiddelay2us(unsignedchartime)
{
while(--time);
}
voidinittime(void)
{
TMOD=0x15;//C/T0为计数器,用于频率计数。
C/T1为定时器。
用于动态显示
TH1=0xF8;//timer1=2ms
TL1=0x2f;
ET1=1;
EA=1;
TR1=1;
TR0=1;
ET0=1;
///timer2
T2CON=0x04;
T2MOD=0x00;
TH2=0x3C;
TL2=0xB0;
RCAP2H=0x3C;
RCAP2L=0xB0;
TR2=1;
ET2=1;
}
附录二
总体电路图