基于单片机的RLC检测仪.docx
- 文档编号:29832551
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:38
- 大小:280.46KB
基于单片机的RLC检测仪.docx
《基于单片机的RLC检测仪.docx》由会员分享,可在线阅读,更多相关《基于单片机的RLC检测仪.docx(38页珍藏版)》请在冰豆网上搜索。
基于单片机的RLC检测仪
基于单片机的RLC检测仪
摘要在应用中,我们常常要用到电阻、电感、电容等最基本的元器件,而对它们的测量就成为了我们经常要做的一件事。
因此,设计一个安全、便捷的RLC检测仪就很有必要了。
硬件方面,以51单片机为核心。
测量电阻和电容,以555芯片为核心,与少量的电阻、电容相连组成振荡电路,再根据电容的充放电过程,使测量电路输出高低电平矩形波。
测量电感,是以mc1648压控振荡器为核心,外接电感、电位器、变容二极管等,组成LC振荡电路,调节变容二极管,使电路发生谐振,输出矩形波。
这样,就把所得的波形送给单片机,通过51单片机的定时/计数功能计算矩形波的频率,再通过公式来算出电阻、电感、电容的参数值,并送显示器显示。
软件方面,通过Keil,用C语言来编程,利用软硬件的结合,制作出一个快速的、方便的、符合实际应用的RLC测量仪。
关键词:
51单片机,555电路,1602LCD显示,mc1648压控振荡器
ABSTRACT
Inapplications,weoftenusetheresistance,thecapacitanceandtheinductanceetc.Themeasurementofthesecomponentsisathingthatweoftendo.So,itisnecessarytodesignasafeandconvenientdetectorofRLC.Intheaspectofhardware,IpaintingthecircuitdiagrambyProteus.With51SCMasthecoreandthroughtheoscillatingcircuitofRCbythe555timing,wecanmakethemeasurementcircuitoutputahighlevelrectanglewavebyusingtheprocessofcharginganddischarging.Withthemc1648vcoasthecore,wecanformtheLCoscillatingcircuitbytheexternalinductor,potentiometerandtransfigurationdiodeinthemeasurementofinductance.Wecanmakethecircuitproduceresonancebyadjustingthetransfigurationdiode.Anditcanoutputahighlevelrectangle.Wecancalculatethefrequencyoftherectanglewavethroughthetimingandcountingfunctionsof51SCM.Sowecancalculatetheparametersofimpedancethroughtheformulaandshowitoutthroughthedisplay.Intheaspectofsoftware,IprogrammingbyusingClanguageinKeil.Withthecombinationofhardwareandsoftware,Iwillmakeaquickandactualdetector.
KEYWORDS:
51SCM555Circuit1602LCDdisplaysMc1648VCO
目录
1、绪论4
1.1本课题的背景、意义及目的4
1.2简述本课题在国内外的发展概况及存在的问题5
1.3本课题主要研究方法、需要重点研究的问题及解决思路6
2、总体方案设计的说明6
2.1总体方案的选择6
2.2总体方案的分析7
3、硬件设计8
3.1单片机控制部分8
3.2显示部分13
3.3测量部分16
3.3.1555定时器16
3.3.2mc1648压控振荡器19
3.3.3测电阻的电路20
3.3.4测量电容的电路21
3.3.5测量电感的电路22
4、软件设计25
4.1液晶显示部分26
4.2定时/计数部分28
5、调试与仿真29
6、结论37
致谢38
参考文献39
附录40
附录一源程序40
1、绪论
1.1本课题的背景、意义及目的
测量是通过实验的方法获得定量信息的过程。
没有测量,就没有科学,而且测量是认识自然界的主要工具。
事实上,测量技术水平也是一个历史时期、一个国家的科学技术水平的一面“镜子”,它可以用来评价一个国家的科技状态。
电子测量是利用电子技术对电量、磁量和各种非电量的测量,电子测量是电子工业的基础,也是一般工业不可或缺的重要测量手段。
随着微电子技术、计算机技术和软件技术的快速发展,电子测量技术也随着向前发展,甚至可以说是一个飞跃,一场革命。
电子测量的内容主要包括电能量的测量、电路参数和电子元件的测量、电信号特征的测量、电子设备性能的测量以及特性曲线的测量。
[1]电阻、电感、电容是最基本的元器件,也是应用最广泛的元器件,因此,对它们的参数值的测量,已经变得很有必要了。
测量电阻、电容和电感的方法有很多,这些方法都有实用性,但是随着电子技术的发展以及工程技术要求的提高,它们的弊端也越来越明显,这就要求我们必须有一个新的思路。
1.2简述本课题在国内外的发展概况及存在的问题
到目前为止,国内外已经有很多的厂家做出了RLC检测仪,国外的厂家主要有日本日置,美国的安杰伦、惠普和福禄克等,他们的产品体积小,测试频率的范围可以从十几赫兹到达几十兆赫兹,并且有多种测试频率可供选择,测试速度也很快。
国内的厂家主要有上海仪器仪表研究所、重庆茂丰工贸、苏州协锐电子和常州同惠电子等,我们所生产的RLC检测仪体积比较大,测试频率的范围一般从几十赫兹到达几百千赫兹,而且可供选择的频率的种类也相对少些,测试速度与国外仪器相当。
虽然我国的电子测量技术已经有很大的提高,但是跟国外相比,仍然有很大的差距,我国主要的科研单位、学校以及企业等单位中使用的大型的仪器设备几乎全部依赖进口。
同时,国外公司还占有国内中档产品以及许多关键零部件市场60%以上的份额。
世界测试仪器市场仍然对我国有很大的影响。
目前,在世界电子测量仪器市场上,竞争依然很激烈,现在的厂商,都是把顾客当上帝,消费者需要什么样的仪器,他们就生产什么样的仪器,并且把更便宜、更好、更快、更易使用的测试仪器作为他们的奋斗目标。
在这样信息化的推动下,全世界的测试仪器市场将继续保持很好的势头,电子测量技术的前景依然会很乐观。
1.3本课题主要研究方法、需要重点研究的问题及解决思路
本课题主要研究的内容是基于单片机的RLC检测仪,测量电容和电阻的原理是利用555形成多谐振荡电路,通过电容的充放电,使电阻、电容的参数转换为频率。
测量电感的原理是利用mc1648压控振荡器构成的LC振荡电路,使电路产生谐振,输出矩形波,之后利用单片机的定时/计数功能,测量出频率的值,从而通过公式计算出其参数值,并送显示器显示。
计算频率,是通过51单片机的定时/计数器T0和T1来计算的,把高低电平矩形波送给单片机,定时一定的时间,这段时间里,单片机对波进行计数,当达到定的时间时,溢出,计数停止,那么波的频率就是计数的数值除以定时的时间,频率就出来了,通过计算被测的元器件的值也就出来了,送显示器之后,就完成了。
2、总体方案设计的说明
2.1总体方案的选择
基于单片机的RLC检测仪,是指以单片机为核心,实现对电阻、电感和电容的值的测量。
测量阻抗参数最常用的方法有伏安法、电桥法和谐振法。
伏安法又称为电压电流法,该方法是利用电压表和电流表分别测出元件的电压值和电流值,从而计算出元器件的值。
该方法一般只能用于频率较低的情况,而且还需要把电阻器、电容器和电感器看成是理想的元器件。
可想而知,这样的测量方法,误差肯定比较大,而且测量也不方便,受到的限制比较多,但是,也有它的好处,那就是使用比较简单。
电桥法是利用电桥平衡的原理。
电桥平衡的条件是:
一对相对桥臂阻抗的乘积必须等于另一对相对桥臂阻抗的乘积。
直流电桥法用于精确地测量电阻的阻值,但是要适当的选择比率臂的倍率和标准电阻的阻值;比较电桥测量电容或电感,就是通过与已知电容或电感比较来测定未知电容或电感,但是相邻两臂要采用纯电阻。
此种测量方法,精度比较高,使用不同电桥可得到宽频率范围,价格低,但需要手动平衡,测试速度比较慢。
谐振法是利用LC串联电路和并联电路的谐振特性来进行测量的方法。
当外加信号源的角频率等于回路的固有角频率时,LC串联或并联谐振电路发生谐振,可以求出电感和电容的值。
利用这种方法,前提是需要把电路调到谐振,而且精度不高,但是可一测得很高的Q值。
[2]
测量这些参量的方法有很多很经典的方法,这里就不一一介绍了。
现在比较容易的一个方法就是阻抗的数字化测量。
数字化测量是将测量的模拟量转化为数字量,我的设计最基本的思路就是RLC的数字化测量,可以把它们转换为电压、电流及频率等。
在我的设计中,被测电阻、电容、电感作为谐振电路的一部分,用单片机测得电路发出的矩形波的频率,然后根据公式计算出电阻、电感和电容。
运用的方法就是谐振法。
而我的测量电路,是用555定时器组成的基本振荡电路来测量电阻和电容,mc1648压控振荡器构成的LC谐振电路来测量电感。
2.2总体方案的分析
测量电阻和电容,是以555芯片为核心,外加几个电阻、电容组成RC振荡电路,利用电容的充放电过程,使这个电路输出高低矩形波,我就是利用这一点,使电阻和电容的参数值数字化的。
测电感的时候,由于555没有电路可以测电感,所以我就选择了mc1648压控振荡器,它外接电感、电容、变容二极管以及电位器,就可以构成LC振荡电路,调节变容二极管,使电路产生谐振,此时,电路就会在输出端输出矩形波。
波形产生了,就把矩形波信号送给单片机,通过单片机的定时/计数端测量出矩形波的频率,这样就把阻抗转换为频率了,再通过公式就可以计算出阻抗的参数值了。
这个测量方法是目前比较好的一个选择了,首先,数字化测量的准确度高,测量速度快,又是数字显示,简单明了;其次,把阻抗转换为频率,频率相对来说,是一个比较容易测量出的量,尤其在单片机里,这一点就使整个设计轻松了不少;再者,选用的两个芯片555和mc1648,所用的测量电路都是它们最基本的电路,电路图比较简单,也很容易理解,测量范围也很广,还有最重要的一点是,电路比较稳定,受外界影响比较小,都可以稳定的输出矩形波。
总的来说,这个测量方法几乎集合了其他测量方法的所用优点,的确是一个比较好方法。
3、硬件设计
硬件电路主要包括三个部分:
测量部分,单片机控制部分,显示部分。
3.1单片机控制部分[3]
单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能,集成到一块硅片上构成的一个小而完善的计算机系统。
在这里,单片机芯片用的是80C51系列中的AT89C51。
图1为AT89C51的引脚图。
图1AT89C51引脚图
AT89C51的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
①电源:
Vcc:
芯片电源,接+5V;
Vss:
接地端;
②时钟
XTAL1、XTAL2:
晶体振荡电路反相输入端和输出端;其中,AT89C51的时钟信号通常由两种方式产生:
一是内部时钟方式,二是外部时钟方式。
实际应用中通常采用外接晶振的内部时钟方式,只要在单片机的XTAL1和XTAL2引脚外接晶振即可,电容器C4和C5(下图中所示)的作用是稳定频率和快速起振,电容值一般取30pF。
我选的晶振频率是12MHz的,则机器周期就是1微秒。
晶振频率为12MHz时,指令的执行速度会提高很多,但是相应的功耗和噪声也会增加。
图2是这次设计的晶振电路。
图2晶振电路
③复位电路
RST:
复位信号输入端;当RST引脚加高电平复位信号时,单片机内部就执行复位操作。
复位信号变低电平时,单片机开始执行程序。
复位操作有两种基本形式:
一种是上电复位,就是接通电源后,自动实现复位操作;一种是按键复位,此次设计使用的就是按键复位电路。
图3为这次电路图中的复位电路图。
图3复位电路
此电路的原理是:
当按键被按下,电容被短路,RST是高电平,进入复位状态;松手后,电容充电,充电结束后,电流为0,电阻上的电压为0,RST为低电平。
4EA:
内外存储器选择引脚。
当EA引脚接高电平时,在片内程序存储器中取指令,如果内容超过FFFH时,系统就会自动的转到片外程序存储器中取指令;当EA接低电平时,会自动转到片外程序存储器中取指令。
5ALE:
地址锁存允许。
就是用来锁存输出的低8位地址。
6PSEN:
外部程序存储器读选通信号输出引脚。
7I/O口:
有4个8位并行I/O口,各个口都由口锁存器、输出驱动器和输入缓冲器组成。
P0口:
如果不需要外部程序/数据存储器扩展时,P0口可以作为普通的I/O口使用,这时属于准双向口;当需要扩展时,P0口作为分时复用的低8位地址/数据总线使用,这时它是一个真正的双向口。
本设计不需要扩展I/O口,所以P0口是作为普通的I/O口使用的。
P1口:
它是一个单功能口,就只能用作通用的I/O口使用,没有其他的特殊功能。
本设计也把它当作普通的I/O口使用。
P2口:
当不需要外部程序/数据存储器扩展时,P2口也是当普通的I/O口使用的;需要扩展时,P2口是作为高8位地址总线使用的。
本设计没有用到它的特殊功能,只拿它当普通的I/O口使用。
P3口:
P3口是一个特殊的I/O口,有两个功能,第一个是作为普通的I/O口使用,性质跟P0、P1、P2类似,都属于准双向口。
P3口还有第二功能,这时各引脚的定义为:
P3.0:
RXD(串行口输入)。
P3.1:
TXD(串行口输出)。
P3.2:
INT0(外部中断0输入)。
P3.3:
INT1(外部中断1输入)。
P3.4:
T0(定时/计数器0的外部输入)。
P3.5:
T1(定时/计数器1的外部输入)。
P3.6:
WR(片外数据存储器“写”选通控制输出)。
P3.7:
RD(片外数据存储器“读”选通控制输出)。
[4]
此设计中用了P3口的第二功能,需要用到两个定时/计数器,用于计算矩形波的频率。
图4为此次电路的按键电路图。
图4按键电路
这个是按键,是由软件来设置的,当按键按下时,程序执行。
由于我有三个测试电路,而只有一个口可以接入,所以测哪个就接哪个。
但是,在按键电路的使用过程中,有一个不容忽视的问题,那就是按键抖动现象。
由于弹性作用的影响,按键不能马上实现完全闭合或者是完全断开,使电信号产生抖动,从而会引起按键执行错误或者是重复执行指令,所以为了确保按键的一次闭合只处理一次,就必须消除抖动。
目前最常使用的就是用软件延时的方法来避开抖动的阶段,一般是5~10ms的延时,我是采用10ms的延时来消除抖动的,延时之后,再判断一次按键是否闭合。
按键的一端接单片机的I/O口上,另一端接地,而且必须接地。
当单片机通电后,I/O口上的电平就是高的,如果按键的另一端接电源,那么按键按下去的前后,I/O口的电平没什么变化,起不了按键选择的作用,所以必须接地,按键按下去后,按键所连的引脚变为低电平。
3.2显示部分[3]
这次设计中,我选用的是LCD1602显示器。
本来想用LED数码管的,但考虑到电路的复杂性,以及对它软件编程部分的不熟悉,所以我最后决定用LCD。
它与单片机相连,电路比较简单,而且它的体积比较小,重量比较轻,功耗还很低,能很容易的显示出各阻抗的单位,相比LED,我最终选择了LCD。
图5为液晶显示电路图。
图5液晶显示电路
因为AT89C51的P1口、P2口和P3口都是带内部上拉电阻的I/O口,所以如果液晶与三个I/O口中任一个相连,就可以不用接上拉电阻,但是P0口却没有带内部上拉电阻,而我还让液晶显示器和P0口相连接,则P0口一定要在P0口的引脚与Vcc之间接10千欧的外部上拉电阻。
LCD1602液晶显示器是字符型液晶显示模块,可以显示字母、数字、符号等。
LCD1602模块由控制器HD44780、驱动器HD44100和液晶板组成。
它的显示缓冲区有80个单元,但是第一行只用00H~0FH单元,第、二行只用40H~4FH单元。
它的主要技术参数为:
显示容量:
16×2个字符。
芯片工作电压:
4.5~5.5V。
工作电流:
2.0mA(5.0V)。
模块最佳工作电压:
5.0V。
字符尺寸:
2.95×4.35㎜。
我采用的是标准的14脚(无背光)接口,各引脚功能如下:
Vss:
地电源。
VDD:
接+5V电源。
VEE:
液晶显示器对比度调整端。
接地时,对比度最高;接正电源时,对比度最弱。
RS:
寄存器选择。
高电平时,选择数据寄存器;低电平时,选择指令寄存器。
R/W:
读写信号线。
高电平时,进行读操作;低电平时,进行写操作。
当RS=0且R/W=0时,写入指令或者是显示地址;当RS=1且R/W=0时,写数据;当RS=1且R/W=1时,读数据。
E:
使能端。
当E=1变为E=0时,液晶模块执行命令。
D0~D7:
8位双向数据线,此处与单片机的P0.0~P0.7分别相连。
LCD1602模块使用前,要先进行初始化,初始化的内容就是你希望它能怎样的去工作。
我的这个电路图,液晶显示这块,我希望字符能从最后一个开始显示,依次往前推,光标依次向左移动,字符不动,而且是8位接口,双行显示,5*7点阵。
所以此次初始化的内容是:
①清屏:
光标回到屏幕左上角,数据为0x01。
②功能设置:
8位接口,双行显示,5*7点阵,数据为0x38。
③显示与不显示设置:
开显示,有光标,而且光标闪烁,数据为0x0f。
④输入模式设置:
光标左移一格,地址计数器减1,数据为0x04。
⑤光标或屏幕内容移位选择:
移光标,向左移,数据为0x10。
3.3测量部分
测量电路是利用555构成的振荡电路和mc1648构成的振荡电路来完成的。
对于电阻和电容,利用555的内部结构,再根据电容的充放电原理,使电路输出矩形波。
其中,充电的时间与放电的时间之和,就是波形的周期,频率是周期的倒数。
对于电感,利用mc1648,使电路也输出矩形波,计算出矩形波的频率。
这样就把阻抗的值转换为了频率,通过求出频率的值,就可以算出阻抗的值了。
3.3.1555定时器
图6是555定时器的内部结构图。
图6555内部结构图
555是由模拟电路和数字电路组合而成的,它巧妙地将模拟功能和逻辑功能结合在一起,能够产生精确的延迟和振荡,它使模拟集成电路运用的范围更广。
555是由两个比较器(C1和C2)、一个RS触发器和一个三极管开关电路(TD)组成的,其中,三个5千欧的电阻起分压的作用。
555定时器性能比较好,只要少接上几个电阻、电容就能构成多谐振荡器、单稳态触发器以及施密特触发器等脉冲产生与变换电路,经常用于仪器仪表、电子测量等方面。
此设计测量的原理就是,利用555定时器外加几个电阻、电容或电感,生成多谐振荡器。
(C1为比较器1,C2为比较器2)
图7是555定时器的引脚图。
图7555的引脚图
Vcc(8脚):
接正电源。
一般为4.5V~15V。
GND(1脚):
接地。
R(4脚):
复位端。
当此端接低电平时,电路不工作,这时不管TH是何电平,电路输出为“0。
这个端在不用的时候,应该接高电平。
TH(6脚):
高电平触发端。
当此引脚的电压大于2/3Vcc的时候,触发器复位,那么输出端处于“0”电平。
TR(2脚):
低电平触发端。
当此引脚的电压小于1/3Vcc的时候,触发器处于置位状态,那么输出端就处于“1”电平。
Cv(5脚):
控制电压端。
此端与2/3Vcc分压点相连,如果在这个端加入外部电压,可以改变上下触发电位。
所以此端如果不用,就串入一只0.01μF的电容,并接地,防止引入干扰。
DC(7脚):
放电端。
此脚与放电管相连,用作定时电容的放电。
Q或者V0(3脚):
输出端。
电路连接负载端,通常此脚为低电平,但在定时的时候是高电平。
若测电阻,此脚与X0相连;若测电容,此脚与X1相连。
[4]
3.3.2mc1648压控振荡器
图8是mc1648压控振荡器简单的逻辑图。
图8mc1648的逻辑图
mc1648的内部有放大电路和自动增益的控制,它必须外接由电感和电容组成的并联振荡槽格。
图9是mc1648压控振荡器的引脚图。
图9mc1648的引脚图
引脚介绍:
BIAS(10):
偏压点,也就是输入参考电压。
TANK(12):
输入电压。
Vee(7,8):
负电源。
AGC(5):
自动增益控制输入。
Vcc(1,14):
正电源。
OUT(3):
输出。
3.3.3测电阻的电路
图10是测量电阻的电路图。
图10测电阻电路
图中Rx是被测的电阻,接通电源后,电容C1通过R1和Rx充电,当电容C1上的电压达到2/3Vcc时,比较器1开始动作,RS触发器翻转,此时,输出端输出为低电平。
由于此时的三极管处于饱和导通状态,电容C1就通过Rx开始放电,当C1上的电压为1/3Vcc的时候,比较器2开始动作,RS触发器又被翻转,而这时,输出端输出为高电平,三极管此时截止,电容C1又开始再一次的充电。
就这样不断重复这个充放电的过程,输出端就是一个高低电平的矩形波,矩形波的周期就是充电时间加上放电时间。
充电时间为:
t1=ln2*(R1+Rx)*C1
放电时间为:
t2=ln2*Rx*C1
则矩形波的周期为:
T=t1+t2=ln2*(R1+Rx)*C1+ln2*Rx*C1
=ln2*C1*(R1+2Rx)
频率为:
f=1/T=1/ln2*C1(R1+2Rx)
如果测出矩形波的频率f,
则可推出Rx=(1/ln2*f*C1-R1)/2
其中,R1和C1是已知的。
3.3.4测量电容的电路
图11是测量电容的电路图。
图11测量电容电路
图中Cx为待测的电容。
通上电后,电容Cx通过R2和D1开始充电,当电容Cx上的电压达到2/3Vcc时,比较器1开始动作,RS触发器被翻转,此时,输出端输出为低电平。
RS触发器被翻转以后,三极管处于饱和导通状态,因为二极管是单向导通,所以这时电容Cx开始通过R3放电,当电容Cx上的电压达到1/3Vcc时,比较器2开始动作,RS触发器又被翻转,输出端输出高电平,而三极管却处于截止的状态,电容Cx又开始充电,就这样反反复复的充放电,那么输出端就会输出一个高低电平矩形波,矩形波的周期就是放电时间与充电时间的和。
充电的时间:
t1=ln2*Cx*R2
放电的时间:
t2=ln2*Cx*R3
则矩形波的周期:
T=t1+t2=ln2*Cx*R2+ln2*Cx*R3
=ln2*Cx*(R2+R3)
频率为:
f=1/T=1/ln2*Cx*(R2+R3)
如果已知频率,则待测电容为:
Cx=1/ln2*f*(R2+R3)
其中,R2和R3是已知的。
3.3.5测量电感的电路
图12是测量电感的电路图。
图12测量电感电路
此图中的Lx是待测电感。
测量电感的原理是利用mc1648构成的L、C振荡电路,调节电位器,使电路产生谐振。
其实,通过电位器加在变容二极管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 RLC 检测