赖瑞镪
摘 要:本文介绍了一种基于Arduino的电阻、电容、电感测量仪;该测量仪可测量电子设计中常用的电阻、电容以及电感的值。Arduino主板上的单片机通过检测NE555构成的多谐振荡器电路产生的波形的频率,经过转换从而测量出RLC的值。测量电感时NE555电路输出的波形频率较高,则通过一个分频器将频率降低后再传输到Arduino主板的单片机进行计算。测量时,将待测元器件接入到对应的接入端口,按下对应测量按键,显示屏上显示测量到的频率以及对应的测量值。
关键词:Arduino RLC测量 频率 NE555
中图分类号:TM934 文献标识码:A 文章编号:1674-098X(2019)06(c)-0121-04
Abstract: This paper describes an Arduino-based resistor, capacitor, and inductance meter that measures the values of electric-resistors, electric-capacitors, and electric-sensor commonly used in electronic design. The MCU on the Arduino motherboard detects the RLC value by detecting the frequency of the waveform generated by the multiple-vibrator circuit formed by NE555. When measuring the inductance, the output frequency of the NE555 circuit is higher, and the frequency is reduced by a frequency divider and then transmitted to the micro-controller of the Arduino motherboard for calculation. When measuring, connect the component to be tested to the corresponding access port, press the corresponding measurement button, and the frequency measured and the corresponding measured value are displayed on the display.
Key Words: Arduino; RLC measure; Frequency; NE555
电子测量仪器是从事电子设计工作的电子工程师们在设计、检测电路时一种必不可少的测量工具,随着智能化的不断发展,测量工具也必将朝着智能化的功能多样化发展。目前最常用的电子测量仪器是数字万用表,进入20世纪90年代以来,数字万用表在我国不断发展,在实际生产中不断被使用,现在已经成为学习、实验、电子设计、维修工作的一个重要工具。数字万用表主要是要测量的元器件數值通过转换电路转换成直流电压的信号[1],转换之后的信号由A/D(模拟和数字信号相互转换)转换器将采集到的模拟信号转换成数字信号,再通过计数器进行计数,最终将结果呈现在显示屏上;该类型仪器的测量精度主要决定于A/D转换器的转换精度。目前国内外仪器设备制造公司在设计数字万用表时都一直往低功耗、高精度、体积小等方向考虑;在精度提高、功耗降低、体积变小的同时价格也不断在上升。在使用数字万用表的时候很大部分使用的是其测量电压和电流的功能,并且具有一定的局限性,比如:大部分无法测量电感,无法测量容量较大的电容。因此设计一个操作简单、测量方便、价格低的电抗性元器件测量仪是很有必要的。本文所设计的RLC测量仪是能够测量电阻、电感、电容的测量仪器,主要是通过测量其电抗性元器件组成的电路所产生波形的频率,Arduino主控板上的单片机通过外部中断采集其频率,经过换算将对应元器件的值显示OLED屏幕上。使用少数的元器件以及IC,该测量仪具有价格低、操作简单、测量方便等特点。
1 系统设计方案
本设计采用Arduino UNO为主控板,整个系统由7个模块组成:电阻测量电路、电感测量电路、电容测量电路、频率测量电路、测量输入选择电路、按键电路、显示电路。整个系统方案框图如图1所示。
在测量过程中,先将待测的元器件接入到对应的接入端口,对应测量模块所组成的多谐振电路输出波形,按下对应的测量按键,74LS153测量选择电路选择输入,频率信号接入单片机外部中断I/O口,单片机对频率进行计数,从而测量出振荡频率,测量出的频率经过转换得到待测元器件的数值[2];显示电路显示频率以及转换后的元器件值。测量电感的多谐振电路输出的频率较大,因此要采用74LS90对其进行分频处理。
2 硬件电路设计
2.1 主控板
主控板采用的是Arduino UNO板,Arduino是一块基于开放源代码的USB接口simple I/O接口板[3];Arduino UNO板是一款入门级的单片机开发板,其主控芯片采用的是高性能、低功耗、高耐力的ATmega328P,它的核心处理器是AVR。Arduino UNO与其他型号开发板一致所用的开发环境是Arduino IDE,集成的Arduino IDE能够帮助初学者快速掌握和利用单片机功能。Arduino UNO的工作电压为5V;有14个数字输入/输出引脚(其中有3、5、6、9-11这几个引脚可以用作PWM输出),最大输出电流为40mA;6路分辨率为10位的模拟量输入(A0-A5),可以直接将现实中的模拟量直接转换成对应的10位数字量;一个模拟输入信号的参考电压引脚(AREF);16MHz晶振时钟;具有32KB的Flash内存(其中有0.5KB用作于引导程序)。
2.2 按鍵电路与测量输入选择电路
本设计通过三个独立按键选择测量模式以及显示信息;测量输入选择则采用的是74LS153选择输入。当74LS153芯片的使能端1E(2E)=0时,多路开关正常工作,根据地址码(A和B)的状态不同,将X0-X3的数据传送到输出端Y;例如:当A、B地址码接收到低电平,则选择器的X0数据传送到输出端Y(即Y=X0);本设计只要选择三个信号输入,因此只用到三个数据输入端。具体的连接如图2所示。三个按键为了保证一开始的电平为高电平连接三个电阻上拉。测量时,将待测电阻接入到接入端口时,NE555多谐振电路工作输出频率,1X0与 多谐振电路NE555芯片输出端3连接,这个时按下按键SW1,测量电阻值,AB地址码都为0,74LS153选择器的1X0数据传送到1Y,1Y输出端与Arduino uno主控板的2引脚(INT0) 连接。以此类推,测量电感地址码A=0、B=1,1X1=1Y;测量电容地址码A=1、B=0,1X0=1Y。
2.3 RLC测量电路
RLC测量电路是本设计中最主要的组成部分,电阻、电感、电容测量采用的都是由NE555构成多谐振器测量其振荡频率的方法。NE555是一款8脚的时基集成电路,只需要简单的电阻、电容就能完成特定的振荡;NE555的作用范围很广,但一般多应用于单稳态多谐振荡器和无稳态多谐振荡器两种[4]。
2.3.1 电阻测量电路
测量电路采用NE555典型应用电路(多谐振荡器),由电阻R1、R2和电容C2、C1构成定时电路。电阻测量电路图如图3所示。原理如下:电阻测量电路上电之后,电源VCC经过R1、R2为C2充电,C2的电压小于VCC,内部触发器中的放电管处于导通状态,C2处于继续充电状态,其电压不断上升,电压在未达到VCC之前,触发器中的放电管仍为导通状态;当C2的电压大于VCC之后,触发器工作产生复位动作,其中的放电管为截止状态,C2充电电荷经R2泄放,C2电压高于VCC时,触发器输出端都保存之前的工作状态。R1、R2、C2构成的电路与放电光相结合,NE555的2、6引脚输入端根据电压的高低发生了电位变化,从而内部比较器控制触发器产生0、1的矩形波,完成振荡输出。其中C1为消噪电容。当R2、C2值固定时改变R1的值电路振荡产生的频率也发生变化。根据电容C2充放电的脉冲时间维持可得到其脉冲频率。其公式如下:
充电所需时间:
t1=(R1+R2)×C2×ln2 (1)
放电所需时间:t2=(R2)×C2×ln2 (2)
脉冲输出频率: (3)
由式(3)可得:RX=R1=-2R2 (4)
因此将待测电阻作为R1接入到电路中即可测量出待测电阻RX的阻值,电阻测量电路中消噪电容C1=C2=0.1uF,R2=10kΩ。
2.3.2 电容测量电路
测量电容电路与测量电阻电路原理一致,电容测量电路如图4所示。
由式(3)可得:CX=C2=
因此将待测电容作为C2接入到电路中即可测量出待测电容CX的值,电容测量电路中消噪电容C1=C3=0.1uF,R1=R2=R3=R4=510kΩ。
2.3.3 电感测量电路与分频电路
使用NE555定时器构成的多谐振荡器测量电感原理如下:整个振荡器上电之后,电感L1的电流并未发生大的变化,随着电流的不断增大,电阻R9的压降也不断增大,引脚2(TR)和6(TH)的输入电压在减小,当2、6引脚上的电压小于VCC时电路翻转;3(OUT)引脚输出高电平,引脚7为高阻态(与地断开)。R9和L1组成的回路断开,电感处于放电过程,R5的压降随电流减小而减小,而引脚2(TR)和6(TH)的输入电压不断增大,当电压大于VCC时电路再次翻转;3(OUT)引脚输出低电平,引脚7为地阻态(对地导通),L1则再次充电;如此L1重复充电放电过程实现自振荡,根据电路输出波形的高低电平时间可得到其输出频率,公式如下:
输出波形高电平时间: (5)
输出波形高电平时间: (6)
输出频率: (7)
由式(7)可得:LX=L1=(其中τ=) (8)
因此将待测电感作为L1接入到电路中即可测量出待测电感LX的值,电感测量电路中消噪电容C4=0.1uF,R9=100Ω。测量电感电路如图5所示。
电感测量电路构成的多谐振荡器输出引脚3(OUT)的频率较高,因此需要先将输出频率经过74LS90组成的分频电路进行10分频,分频之后的频率再通过单片机外部中断采集。74LS90是一个中规模集成的TTL电平计数器,由一个二进制计数器和一个五进制计数器构成,通过引脚间的连接即可实现二分频、五分频以及十分频等功能[5]。74LS90十分频连接图如图5所示。
3 软件设计
整个系统上电之后,Arduino开发板开始工作进入初始化状态;按下按键SW1,进入测量电阻程序,测量选择器选择1X0输入端口数据输出,系统测量到振荡器输出频率经过转换计算得到R值,测量到的频率F和阻值显示在OLED屏幕上。同理,当按下按键SW2、SW3时,分别进入测量电容、电感程序,测量选择器选择1X1、1X2输入端口数据输出,系统测量到振荡器输出频率经过转换计算得到C、L值,测量到的频率F和C、L值显示在OLED屏幕上。整个系统的主程序框图如图6所示。
4 结语
本文介绍的RLC测量仪是以Arduino开发板为主控板,电阻、电容、电感测量都采用NE555定时器构成的多谐振荡器通过测量其振荡频率之后再进行转换计算从而得到要测量的值。该测量仪仅有三个按键,操作简单、功耗低,使用的电路元件结构简单,造价成本低。通过仿真测试,测量仪的精度较高,在学习、实验以及电路维修中有一定的使用价值。
参考文献
[1] 罗银波,高敬东,胡柏青,等.基于LabVIEW的数字万用表设计与实现[J].科学技术与工程,2011,11(19):4592-4596.
[2] 王明娟,曾繁政,曲艺.电容电感测试仪的设计[J].电子科技,2010,23(11):35-37.
[3] 郑昊,钟志峰,郭昊,等.基于Arduino/Android的蓝牙通信系统设计[J].物联网技术,2012,2(5):50-51.
[4] 何香玲.多谐振荡器的研究与仿真[J].电子技术,2009,46(2):53-56.
[5] 陳圣涛.基于中规模集成电路实现任意进制定时器[J].西安文理学院学报:自然科学版,2018,21(4):37-41.