用M8制作电感电容电解电容测量仪表文档格式.docx
《用M8制作电感电容电解电容测量仪表文档格式.docx》由会员分享,可在线阅读,更多相关《用M8制作电感电容电解电容测量仪表文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
Uc是按指数规律上升的,Uc开始变化较快,以后逐渐减慢,并缓慢地趋近其最终值,当t=τ时,Uc=0.632E;
本测量仪就是利用单片机测量Uc=0到0.632E这段时间,用下列式子计算计算被测电容值:
Gs_3.jpg)
电路由比较器U3B,放电晶体管Q等组成。
设定比较器正输入端为Uc,(Uc=0.632E=0.632⋅5=3.16V,调节RP1获得),反向输入端接被测电容CEx,当D端为高电平时,Q导通电路处于放电状态,这时CEx被放电,比较器U3B输出高电平。
当D为低电平时Q截止电容CEx通过R9(R10)充电,CEx两端电压逐步升高,当CEx两端电压>
Uc时,比较器U3B输出低电平,产生INT0中断(INT0中断设置为下降沿触发),中断服务程序读取定时器值,并计算、显示CEx的值。
然后置位PD6为高电平,Q导通,CEx放电,延时100mS是为了保证CEx充分放电,中断返回开始下一个测量周期。
为了提高测量精度电解电容测量分两档,由继电器K2切换,R9接入时测量0.1μF~500μF电容,R10接入时测量500μF~20000μF电容。
R9(R10)的精度和电压Uc的精度基本上决定了测量结果精度。
这个设计原本加入了一个电解电容漏电流测试功能,由于测量时间太长而放弃,图中的R13、R9(R10)与adc0等组成漏电流测量电路。
三、使用方法:
按下S2接通电源,进入校准状态(此时测量端子不能接入器件):
Lcd_1.jpg)
校准完成后:
Lcd_2.jpg)
按动S1进入电容测量状态:
Lcd_3.jpg)
按动S1进入电感测量状态:
Lcd_4.jpg)
按动S1进入电解电容(<
500uF)测量状态:
Lcd_5.jpg)
按动S1进入电解电容(>
Lcd_6.jpg)
再按S1返回到电容测量状态。
这是安装完成的样子:
PCB_2.jpg)
PCB_3.jpg)
电路板被设计成适合热转印:
PCB_1.jpg)
加了一个铝合金底座:
w_3.jpg)
这是原理图:
这是源程序:
'
****************************************************
*
电感电容电解电容测量仪
*
电容:
1P-2.5uF
电感:
1uH-2.0H
电解电容:
0.1uF-20000uF
吕军省
天津大港
junsheng427@
20081217
$regfile
"
m8def.dat"
$crystal
8000000
Config
Lcdpin
Pin
Db4
Portb.2
Db5
Portb.3
Db6
Portb.4
Db7
Portb.5
E
Portb.1
Rs
Portb.0
Lcd
16
2
Timer1
Counter
Edge
Falling
配置T/C1为计数
Timer2
Timer
Prescale
64
配置T/C2定时
Int0
Falling
Timer0
8
On
Ovf0
Tim0_isr
T1_isr
Ovf2
Tim2_isr
Enable
Ovf2
Ovf1
Tim1_isr
Ovf1
Interrupts
Tcnt2
&
H83
Start
Timer2
Counter1
0
Counter1
Dim
F1
As
Long
F2
C1
Single
Ca1
Ca2
Cx
L1
Lx
F11
V1
String
11
V2
Vf
6
Vs
Z1
J
Bit
I
Byte
K
M
Vl
Tc
Tc1
Te
Ddrd.7
0
键初始
Portd.7
1
Ddrd.4
1
继电器初始化
Ddrd.3
Portd.4
Ddrd.6
Portd.6
Cls
Cursor
Off
/////主程序/////
Do
/////按键处理/////
If
Pind.7
Then
S1
Waitms
40
Then
Incr
I
Bitwait
Set
End
If
/////电感L1,电容C1计算/////
L_C_CE
meter"
Lowerline
20081217"
1500
等待F1计数
接入标准电容C2
等待f2计数
F1
F2
-
Ca2
/
C1
1800
1800是标准电容C2
;
单位pF
3.1416
3.1416
4
Ca1
L1
1000000000000000000
单位uH
断开标准电容C2
Str(f1)
显示f1
Format(vf
)
Locate
7
F="
;
Hz"
SetOK
Fusing(c1
#.#"
Fusing(l1
2
pF
uH"
/////电容Cx计算/////
Str(f1)
F11
Fusing(cx
Len(v1)
pF"
6
Mid(v1
4)
7
Format(v1
00.00"
nF"
8
000.0"
9
0.000"
uF"
Space(8)
Cx="
Vs
TeSTC
/////电感Lx计算/////
3
<
50
0"
输入端切换到测电感
>
1000
Else
Fusing(lx
#.##"
5)
mH"
10
H
Lx="
TestL
/////电解电容器测量(<
500uF)
/////
4
Disable
Int0
Ovf0
TeSTCE
[<
500uF]"
CEx=
开始充电
开始计时
/////电解电容测量
(2)
5
[>
/////返回到电容测量//////
返回到电容测量
Loop
End
/////计数中断/////
Tim1_isr:
这么作可使计数分辩率最高到1Hz
Return
/////定时中断/////
Tim2_isr:
H83
定时器T2初值
Tc
250
定时250mS
Stop
65535
+
Tc1
/////定时中断,测电解电容/////
Tim0_isr:
定时器0中断次数
/////外部中断,测电解电容/////
T1_isr:
Timer0
256
Tcnt0
时间/充电电阻=被测电容
Str(te)
充电电阻R9接入,<
500uF
NO"
3)
0.00"
0.0"
OL
2)
Space(7)
And