简易电阻、电容和电感测量仪 - 图文

更新时间:2024-01-12 12:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

竞赛题目:简易电阻、电容和电感测量仪

2012年4月10日

简易电阻、电容和电感测量仪

简易电阻、电容和电感测量仪

摘要:本系统是以STM32为控制系统的简易数字式电阻、电容和电感测量仪。系统利用半桥测量RLC的原理,设计了由信号产生电路、半桥电路、信号放大电路、真有效值测量电路、相位检测电路构成的系统。电阻、电容和电感的信息通过半桥电路变成电信号,由放大电路和检测电路变换为可测量量,由控制系统计算得到元器件信息。整个系统可以实现电阻、电容和电感的测量。

关键词:RLC测量仪 半桥电路 真有效值测量 相位检测 STM32

1.绪论

现今的万用表可以测量交流电压,交流电流,直流电压,直流电流,电阻,二极管正向压降,晶体管共发射极电流放大系数,有一些还能测试电容量,电导,温度等,但是对于电感量却不能直接测出,也不能够免掉在不同测量量之间切换的麻烦。在模拟电子技术中,最基本的元器件莫过于电阻、电容和电感,如何准确、快速的测出这三者各项系数对于快速选择元器件和设计和搭建电路至关重要。

本组成员通过参看国内外万用表数据资料,了解其工作原理,并借鉴有关RLC测量的方法,通过对比谐振法和电桥法,并根据客观条件,选用了一种既能够较准确的测量各项参数,又符合实际条件的方法——电桥法。

2.方案论证

2.1总体方案

题目要求系统能对电阻、电容、电感测量,测量范围:电阻100Ω~1MΩ;电感100Pf~10000pF;电感100uH~10mH;测量精度为±10%。

方案一:运用谐振法,利用不同的频率使RLC电路产生谐振,从而测量出R、L、C参数。利用信号源产生两种不同分辨率、两种不同频率范围的纯正弦波信号;经宽带稳压放大电路放大,形成检测电路需要的10V 恒压;测试接口电路根据测试参数自动切换量程;通过A/D 转换芯片检测接口电路中电容两端电压,经MCU 处理;MCU 根据谐振时,电容两端电压最大原理判断电路是否处于谐振,在谐振时,多次重复测量相关参数以减少随机误差,最后将计算结果显示。基本系统如下:

1

简易电阻、电容和电感测量仪

显示 MCU 正弦信号发生电路 稳压放大 测试端口 取样保持 A/D转换

图1

缺陷:对信号源要求比较高,要发生几Hz到几十MHz的信号,在几Hz的频率下,容易有外部杂波干扰,使测试数据不准确,要发生MHz以上的信号时,硬件电路很难满足要求,要切换不同频率的信号,并且要在满足电容两端电压最大的条件下才能读取数据,使测量速度变得很慢。

方案二:电桥法:利用数字半桥的原理,R、L、C的参数通过半桥电路变为幅度信号和相位差信号,通过测量电路测量信号幅度和相位差,通过计算测量幅值关系和相位关系得到电阻电容电感各项参数。系统框图具体如下

正弦信号 产生电路 半桥变换电路 参数测量电路 显示 控制和计算系统

图2

方案二中电阻、电容、电感测量都在半桥电路上进行的,因此只在半桥电路上设计几个档位,采用阻抗—有效电压法对分立元件进行参数测量,就可满足题目对测量范围和测量精度的要求综上所述,我们选择方案二。

2.2信号产生方案

要测量电阻、电容和电感的参数,就必须将这些参数转换为电信号,因此

就需要一个信号源,考虑到电容和电感的阻抗跟频率有关,因此我们需要一个能产生一定幅值,一定频率的正弦波发生器,我们考虑以下方案。

方案一:利用函数发生器ICL8038产生正弦波,ICL8038可以同时产生方波、三角波和正弦波,通过调节外部电路参数时,还可以获得不同频率不同占空比的波形。

方案二:采用DDS的方法使用CPLD+ROM+DA的方法查表产生正弦波,DDS技术是一种数字化合成频率的技术,只要改变系统时钟和ROM表和相位累加字,便可不同频率不同类型的波形。

方案三:利用函数发生器MAX038产生正弦波,MAX038可以同时产生方

2

简易电阻、电容和电感测量仪

波、三角波和正弦波,通过调节外部电路参数时,还可以获得不同频率不同占空比的波形。

方案比较:方案一产生测试频点的成本有很大的优势,但其产生正弦波是由三角波折线法变换而来,波形不纯粹谐波成分较多,因此测试的结果精度会被影响。方案二利用DDS技术产生波形有输出相位噪声低,对参考频率源的相位噪声求低,而且频率精准等优点,但是方案二中要改变系统时钟和ROM表和相位累加字,实现起来硬件电路较复杂,成本更高。方案三虽然只是与方案一的选用芯片不同,但是相比方案一,其外围电路更加简单,产生的信号谐波成分很少,精度很高,输出幅值稳定,频率稳定性高且可调。综上,方案一不能满足要求,方案二中DDS方法能够完全达到要求,而方案三已经能够满足此题的要求,并且电路简单,因此选择方案三。

2.3半桥电路方案

我们利用半桥电路的原理对元件参数测量,半桥电路的种类不多,而且其效果也差不多不影响题目指标的实现,因此我们选择如下的经典电路作为半桥电路对元件进行测量。

图3

2.4参数测量电路方案

参数测量电路是和半桥电路配合的,对器件相关参数进一步测量的电路,所以电路的性能会直接影响测量的精度,我们考虑了以下方案。

方案一:使用自由轴法的原理设计相敏检波器,同时对半桥电路输出信号的幅度和相位值的检测,变换为电压信号,利用微处理器强大的运算能力,计算出元件相关参数。本方法是工程上普遍使用的方法,其能达到的精度也相当不错。可是他需要两个相位差为严格90度的参考信号对信号检测,不容易实现这样的要求,并且电路也较复杂。

方案二:分别对半桥电路的电压和相位进行测量。电压用真有效值检测芯片来测量,现在已经有很准确的有效值检测集成电路AD637,能很好提高测量精度,且测量电路简单,利用A/D转换器将AD637输出的模拟量转化成能被处理器识别的数字量,从而通过微处理器计算出电容、电感和电阻的参数。相位测量使用微处理器的定时器计时功能测量出来,实际表明这种测量相位的方法精度满足了要求。

因此选择方案二。

3

简易电阻、电容和电感测量仪

2.5控制和计算系统方案

这是一个对电阻、电感、电容进行测量的系统,因此需要计算的信息量和数据处理量相对比较大,涉及到大范围时档位的选择切换比较复杂,而题目没对系统功耗有相应的要求,我们有如下两种方案:

方案一:用51单片机作为控制系统。51作为控制系统理论上可以满足上述要求,但是51单片机处理速度有限,使得测量阻抗精度不高,而且片内资源有限,要测量Us和Ux还要外接AD,增加了硬件连接的复杂性。

方案二:考虑到STM32F103丰富的IO资源和出色的信号处理能力能很好的满足要求,且其自带有12位的A/D转换器的片内资源,不仅省掉了外接A/D转换电路的麻烦,而且还能获得一个较为精确的测量值。因此我们选择了STM32F103为处理系统,负责A/D转换和整个系统参数测量计算及档位选择。

如图3所示,半桥电路的输出信号Us和基准信号Ux(没有经过半桥电路)的关系如下:

对于电阻R:R=Zx=Rs*Ux/Us

因此,只要通过有效值检测芯片测出有效值Us和Ux,通过以上公式就能计简便的算出电阻阻值,供电电源为+15V时,信号源输出电压有1V的Vpp时,输出Vpp最多达到10V,因此设计7个档位便能达到1?~10M?(如1k?档能有效的测量100?~1k?电阻)的测量范围。

对于电感L:Zx=Rs*Ux/Us L=Zx/ω (ω=2πf) 因此,方法只在电阻的测量基础上除个频率相关量便可。

对于电容C;Zx=Rs*Ux/Us C=1/(Zx*ω) 因此,用此公式便可计算出容值。

2.6 显示方案

显示可用:方案一:数码管显示;方案二:LCD1602显示;方案三:LCD12864

(带中文字库)显示。

数码管只能显示数字,没有中文指示效果,且占用IO口较多,故舍弃方案一。

LCD1602可以显示通用字符和自造的汉字,但界面的显示内容有限,故舍弃方案二。

LCD12864(带中文字库)使用串行方式除了可以显示通用字符和自带字库里的汉字,还可以显示自造汉字和自定义的图片(像素128X64) ,128X64的界面可以显示自带字库里的汉字或自造汉字和显示自定义的图片可以构成良好的人机界面,很好的满足了测量过程中的各种显示需求。

因此选择方案三。

4

简易电阻、电容和电感测量仪

最终方案系统框图:

正弦信号 档位选择 半桥放大电路 真有效值转换 真有效值转换 12位AD转换 12位AD转换 稳压电源3.3V 控制和计算系统STM32F103VE 键盘控制模块 12864液晶显示模块

3理论分析及单元电路设计

3.1信号产生电路设计

我们是利用MAX038电路作为信号的产生部分。MAX038是一个高频、高精度的能够通过控制两个数字门产生三角波、正弦波、方波的信号发生器,输出频率可以调节,范围是0.1Hz到20MHz,占空比可调,输出的峰峰值为2Vpp。电路如下:

5

简易电阻、电容和电感测量仪

3.2半桥电路设计

半桥电路形式为经典的反向比例运算电路,电路如下:

电路中Zx为被测量器件,Rs为标准电阻,这里给出了7个档位,保证了测量精度,两个放大器隔离了后级测量电路和半桥的路的阻抗系统,又一次保证了精度。半桥电路的输出Us和Ux的关系如下:

对于电阻R:R=Zx=Rs*Ux/Us

因此,只要通过有效值检测芯片测出有效值Us和Ux,通过以上公式就能计简便的算出电阻阻值,供电电源为+15V时,信号源输出电压有1V的Vpp时,输出Vpp最多达到10V,因此设计7个档位便能达到1?~10M?(如1k?档能有效的测量100?~1k?电阻)的测量范围。

对于电感L:Zx=Rs*Ux/Us L=Zx/ω (ω=2πf) 因此,方法只在电阻的测量基础上除个频率相关量便可。

对于电容C;Zx=Rs*Ux/Us C=1/(Zx*ω) 因此,用此公式便可计算出容值。

3.3参数测量电路设计

真有效值检测电路:

6

简易电阻、电容和电感测量仪

AD637是真有效值检测集成电路,而且具有较高的测量精度,且能够对精度进行调节,调精后,对于1V的直流输入,则输出1V的直流量;若输入幅值为1V的正弦信号,则输出0.707V的直流量,其电路图如下:

电压跟随器缓冲隔离了后级测量电路,进一步保证了测量精度,其输出直接连接到STM32控制器片内的A/D输入口即可方便的测量出输出电压。

3.4相位测量电路设计

由于半桥电路的输出是正弦波,所以我们需要将正弦信号变换为方波信号,供系统测量,给系统提供Us和Ux的相位信息的两路方波,系统就可以利用内部16位精确定时器将信号相位关系测量出来,判断处理出来的Us信号是超前还是滞后于处理后的基准信号Ux,从而判断所测的元件是电阻(无移相)、电感(超前)、电容(滞后)。

将正弦信号转换成方波信号的比较电路如下:

3.5相位差的的测量方案

将基准信号Ux(没有经过半桥电路)和半桥电路的输出信号Us都经过相

位检测电路,分别有通道一和通道二输出。

(1)如果所测元件为电阻,则通道一和通道二的输出波形图如下:

7

简易电阻、电容和电感测量仪

此时通道二的输出波形相对于通道一的输出波形既没有超前也没有滞后。

(2)如果所测元件为电感,则通道一和通道二的输出波形图如下:

此时通道二的输出波形超前于通道一的输出波形

(3)如果所测元件为电容,则通道一和通道二的输出波形图如下:

8

简易电阻、电容和电感测量仪

此时通道二的输出波形滞后于通道一的输出波形。

具体方法及部分代码:

1、将通道一的输出波形接到PE.0(E端口0管脚)

将通道二的输出波形接到PE.1(E端口1管脚)

2、在主函数中将PE.0、PE.1都配置成外部中断引脚,PE.0有效检测边沿为上升沿,PE.1的有效检测边沿为下降沿有效。代码如下: void EXTI_Configuration(void) {

EXTI_InitTypeDef EXTI_InitStructure;

/* Connect EXTI Line and 0 to PE.0 and PE.1 */

/* Configure EXTI Line0 to generate an interrupt on rising edge */

GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource0);

EXTI_InitStructure.EXTI_Line = EXTI_Line0;

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising ; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);

/* Configure EXTI Line1 to generate an interrupt on falling edge */ GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource1);

EXTI_InitStructure.EXTI_Line =EXTI_Line1;

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling ; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); }

3、当PE.0的有效边沿到来时(上升沿),在中断函数EXTI0_IRQHandler中将

9

简易电阻、电容和电感测量仪

PE.0的有效监测边沿改为上升沿或下降沿有效即上升沿和下降沿均可以触发中断。同时使能定时器TIM2、TIM3,代码如下:

void EXTI_Configuration_int(void) //在外部中断0服务子程序中将PD.O触发方式更改为EXTI_Trigger_Rising_Falling {

EXTI_InitTypeDef EXTI_InitStructure; /* Connect EXTI Line0 and 0 to PE.0*/

GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource0);

/* Configure EXTI Line9 to generate an interrupt on rising and falling edge */ EXTI_InitStructure.EXTI_Line = EXTI_Line0;

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling ; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); }

中断服务子程序代码:

void EXTI0_IRQHandler(void) {

if(EXTI_GetITStatus(EXTI_Line0) != RESET) { GPIO_SetBits(GPIOE,GPIO_Pin_5);//进入中断指示灯LED5 if(flag_exti == 0) //只让EXTI_Configuration_int()执行一次,提高代码效率 { EXTI_Configuration_int(); flag_exti = 1; } if(flag_tim2 == 0) { TIM_Cmd(TIM2,ENABLE);//同时启动定时器2、3 TIM_Cmd(TIM3,ENABLE); flag_tim3 = 1; } if(flag_tim2 == 1) { TIM_Cmd(TIM2,DISABLE);//检测到下降沿,失能定时器 counter_tim2 = TIM2 -> CNT;//读取定时器的值 TIM2 -> CNT = 0;//定时器清零 } if(++flag_tim2 == 2) flag_tim2 = 0; exti_PD0++;

10

简易电阻、电容和电感测量仪

EXTI_ClearITPendingBit(EXTI_Line0);//清除中断标志位 } }

void EXTI1_IRQHandler(void) {

if(EXTI_GetITStatus(EXTI_Line1) != RESET) { GPIO_SetBits(GPIOE,GPIO_Pin_6);//进入中断指示灯LED6 TIM_Cmd(TIM3,DISABLE); counter_tim3 = TIM3 -> CNT; TIM3 -> CNT = 0; flag_tim3 = 0; exti_PD1++; EXTI_ClearITPendingBit(EXTI_Line1); }

说明:在程序中给定时器TIM2、TIM3配置的时钟为36MHZ,是两个通道的输出频率10KHZ的3600倍,在两个通道的一个周期TIM2、TIM3会计数到3600.

在主函数中对PE.0的配置是为了总是在上升沿到来时启动定时器TIM2、TIM3,只是为了选定一个起始点,如果以任意边沿触发则会导致测出来的相位差不准确。在EXTI0_IRQHandler中断中将PE.0的有效边沿改为上升沿或下降沿是为了在通道一的下降沿到来时失能定时器TIM2,与此同时读出TIM2-CNT,测得在一个周期内通道一由高电平变为低电平定时器TIM2所计数的值counter_tim2。而在通道二的下降沿到来时失能定时器TIM3,与此同时读出TIM3-CNT,测得在通道一上升沿到来到通道二下降沿到来这一时间段定时器TIM3所计数的值counter_tim3。 3、相位差计算。结合以上三图:

(1)若counter_tim2 - counter_tim3 < 0,则通道二的输出信号滞后于通道一的输出信号,该元件无电容。

相位差 = | counter_tim2 - counter_tim3|/(2* counter_tim2)

(2)若counter_tim2 - counter_tim3 = 0,则通道二的输出信号没有发生移相,该元件为电阻。 相位差为0。

(3)若counter_tim2 - counter_tim3 > 0,则通道二的输出信号超前于通道一的输出信号,该元件为电容。

相位差 = | counter_tim2 - counter_tim3|/(2* counter_tim2) 3.5

程序流程图设计

11

简易电阻、电容和电感测量仪

开始 系统初始化 判断器件类型 电阻 电容 电感 测量幅值 计算电阻 计算电容 计算电感 显 示 是否按下结束按键 是 结束

4.1简易RLC测量仪功能说明

简易RLC测量仪功能说明:能够自动识别元器件(电阻、电容、电感)类型并计算出其值的大小,能够测出基准信号Ux(没有经过半桥电路)和半桥电路的输出信号Us的频率,真有效值大小及相位差。

4.2测试方案

测试工具:万用表DT9205

12

简易电阻、电容和电感测量仪

简易RLC测量仪使用说明:

1、整个测试过程通过使用操控台上的五个独立按键实现,五个按键分 为:key_up,key_down,ensure,return,res_consult+。 key_up:选中上一项。 key_down:选中下一项。 ensure:执行选中的当前项。 return:返回到上一幕。

res_consult+:更改程序中的档位值。

2、当向系统版写入程序后,进行测量,在10左右秒之后就会执行更新,并且12864会实时显示更新的测量值。

3、在测量之前应将档位调小,避免电路电流过大烧坏电路,“选中元件类型及值”之前应先执行“档位检测”以检测所选档位是否合适,如果不合适则进行更换。

3、系统能够测试常见的电阻、电感和电容的大小,将被测元件插入到测试插座中,系统能够自动识别元件类型并将元件类型显示,也可根据元件参数大小提示拨动拨码开关手动换挡:将档位调大或将档位调小,并且会显示当前程序中所选档位值。可通过调节“Res_consult+”键,来改变程序中所选档位值以此于实际电路中所选档位值相匹配,计算出元器件的值。

4.3实测记录

电阻测试:

表5-1电阻测量表格

序号 1 2 3 4 5 6 7 8 9 标准值 56? 100? 750? 1k? 5.1k? 10 k? 56 k? 100 k? 200 k? 测量值 57.34? 103.21? 762.89? 1037.02? 精度 2.4% 3.2% 1.7% 3.7% 3.9% 4.1% 2.7% 2.8% 8.5% 5297.26? 10412.23? 57491.12? 102836.25? 217159.34 13

简易电阻、电容和电感测量仪

10 11 12

680 k? 1M? 10 M? 725659.56? 6.7% 8.6% 2.7% 1085546.24? 10269456.24? 电容测试:

表5-2电感测量表格

序号 1 2 3 4 5 6

标准值(pF) 测量值(pF) 100 680 4700 10000 33000 100000 106.34 707.12 4664.25 9360.23 36168.12 106584.15 精度 6.3% 3.9% 0.8% 6.4% 9.6% 6.5%

电感测试:

表5-3电感测量表格 序号 1 2 3 4 标准值 100uH 1mH 10mH 100mH 测量值 0.11mH 1.06 mH 10.84 mH 90.12 精度 10% 6.0% 8.4% 9.8% 4.4测量数据分析

由表5-1电阻测量表格可知,电阻测量值的误差在10%以下,在满足题目要求的精度

范围内测量范围大,而由表5-2电容测量值表格及电感测量值表格可知,电容电感值的测量只是在一定范围内精度较高,超出一定范围就达不到精度要求,这是因为我们采用半桥法真有效值比例运算计算元器件的值,频率对电阻值的大小没有什么大的影响,但是对电容电感值的测量会产生较大的影响,如下为电阻、电容、电感的测量的计算公式;

对于电阻R:R=Zx=Rs*Ux/Us

14

简易电阻、电容和电感测量仪

对于电感L:Zx=Rs*Ux/Us L=Zx/ω (ω=2πf) 对于电容C;Zx=Rs*Ux/Us C=1/(Zx*ω)

对电感电容的测量误差是本方案信号产生自身的缺陷,即产生源正弦信号质量不好。

5参考文献

1童诗白,华成英.模拟电子技术基础. 高等教育出版社,2006.5 2王松武,赵旦峰,于蕾,王扬. 常用电路模块分析与设计指导. 清华大学出版社,2007.4 3林占江, 林放. 电子测量仪器原理与使用. 电子工业出版社,2006.4 4杜宇人. 现代电子测量技术. 机械工业出版社,2009.7

5陈尚松,雷加,郭庆. 电子测量与仪器. 电子工业出版社,2004.8

附录:

15

简易电阻、电容和电感测量仪

16

STM32F103VE系统原理图

简易电阻、电容和电感测量仪

人机界面图: 1、主菜单

2、元件类型及值大小

17

简易电阻、电容和电感测量仪

3、档位检测

4、查看实测参数值

18

本文来源:https://www.bwwdw.com/article/drlo.html

Top