亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 用M8制作電感、電容、電解電容測(cè)量?jī)x表 [打印本頁(yè)]

作者: niujia    時(shí)間: 2015-7-18 14:05
標(biāo)題: 用M8制作電感、電容、電解電容測(cè)量?jī)x表
這個(gè)電路不同國(guó)家和地區(qū)很多人制作過(guò),測(cè)量精度高,測(cè)量范圍大,有用不同語(yǔ)言寫(xiě)的程序,我作了一個(gè)BASCOM-AVR版本的,并增加了對(duì)電解電容器測(cè)量。
電感測(cè)量范圍:0.1μH~2H
電容測(cè)量范圍:1pF~2.5μF
電解電容測(cè)量范圍:0.1μF~30000μF
一、電容、電感測(cè)量原理:
電路是一個(gè)由LM393(U3A)組成的LC振蕩器。由單片機(jī)測(cè)量LC震蕩回路的頻率F1,然后控制繼電器K2將標(biāo)準(zhǔn)電容C2與C1并聯(lián),測(cè)出振蕩器頻率F2,再用下列式子計(jì)算出電容C1電感L1的值。


這里電容器C2的容量的精確程度,基本上決定了整個(gè)測(cè)量過(guò)程的精度。應(yīng)該選用穩(wěn)定性好精度高的電容器,這個(gè)制作選用了1800pF的云母電容器。
上述過(guò)程可稱(chēng)作為一個(gè)校準(zhǔn)過(guò)程,由M8控制每次開(kāi)機(jī)時(shí)自動(dòng)完成。開(kāi)機(jī)后延時(shí)1500ms,測(cè)量由U1A、L1、C1組成振蕩器頻率F1;Portd.3 = 0,K2吸合,C2接入延時(shí)1500ms,測(cè)量振蕩器頻率F2,Portd.3 = 1,K2斷開(kāi)。M8計(jì)算C1、L1完成后按S1進(jìn)入電容Cx的測(cè)量狀態(tài)。
電容Cx、電感Lx的值,分別用下列式子計(jì)算:


二、電解電容測(cè)量原理:
電解電容的測(cè)量是基于對(duì)RC電路的時(shí)間常數(shù)的計(jì)算,由脈沖電路原理可知,電容的充電速度與R和C的大小有關(guān),R與C的乘積越大,過(guò)渡時(shí)間就越長(zhǎng)。這個(gè)RC的乘積就叫做RC電路的時(shí)間常數(shù)τ,即τ=R?C。若R的單位用歐姆,C的單位用法拉,則τ的單位為秒。


圖示曲線可以得到充電過(guò)程的一般規(guī)律:Uc是按指數(shù)規(guī)律上升的,Uc開(kāi)始變化較快,以后逐漸減慢,并緩慢地趨近其最終值,當(dāng)t=τ時(shí),Uc=0.632E;本測(cè)量?jī)x就是利用單片機(jī)測(cè)量Uc=0到0.632E這段時(shí)間,用下列式子計(jì)算計(jì)算被測(cè)電容值:


電路由比較器U3B,放電晶體管Q等組成。設(shè)定比較器正輸入端為Uc,(Uc=0.632E=0.632?5=3.16V,調(diào)節(jié)RP1獲得),反向輸入端接被測(cè)電容CEx,當(dāng)D端為高電平時(shí),Q導(dǎo)通電路處于放電狀態(tài),這時(shí)CEx被放電,比較器U3B輸出高電平。當(dāng)D為低電平時(shí)Q截止電容CEx通過(guò)R9(R10)充電,CEx兩端電壓逐步升高,當(dāng)CEx兩端電壓>Uc時(shí),比較器U3B輸出低電平,產(chǎn)生INT0中斷(INT0中斷設(shè)置為下降沿觸發(fā)),中斷服務(wù)程序讀取定時(shí)器值,并計(jì)算、顯示CEx的值。然后置位PD6為高電平,Q導(dǎo)通,CEx放電,延時(shí)100mS是為了保證CEx充分放電,中斷返回開(kāi)始下一個(gè)測(cè)量周期。為了提高測(cè)量精度電解電容測(cè)量分兩檔,由繼電器K2切換,R9接入時(shí)測(cè)量0.1μF~500μF電容,R10接入時(shí)測(cè)量500μF~20000μF電容。R9(R10)的精度和電壓Uc的精度基本上決定了測(cè)量結(jié)果精度。
這個(gè)設(shè)計(jì)原本加入了一個(gè)電解電容漏電流測(cè)試功能,由于測(cè)量時(shí)間太長(zhǎng)而放棄,圖中的R13、R9(R10)與adc0等組成漏電流測(cè)量電路。
三、使用方法:
按下S2接通電源,進(jìn)入校準(zhǔn)狀態(tài)(此時(shí)測(cè)量端子不能接入器件):


校準(zhǔn)完成后:


按動(dòng)S1進(jìn)入電容測(cè)量狀態(tài):


按動(dòng)S1進(jìn)入電感測(cè)量狀態(tài):


按動(dòng)S1進(jìn)入電解電容(<500uF)測(cè)量狀態(tài):


按動(dòng)S1進(jìn)入電解電容(>500uF)測(cè)量狀態(tài):


再按S1返回到電容測(cè)量狀態(tài)。

這是安裝完成的樣子:






電路板被設(shè)計(jì)成適合熱轉(zhuǎn)印:


加了一個(gè)鋁合金底座:


這是原理圖:


這是熱轉(zhuǎn)印圖和裝配圖: zp.rar (526.81 KB, 下載次數(shù): 116)

這是源程序:
'****************************************************
'*               電感電容電解電容測(cè)量?jī)x             *
'*  電容:1P-2.5uF                                   *
'*  電感:1uH-2.0H                                   *
'*  電解電容:0.1uF-20000uF                          *
'*                 呂軍省   天津大港                *
'****************************************************
$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
Config Lcd = 16 * 2

Config Timer1 = Counter , Edge = Falling       '配置T/C1為計(jì)數(shù)
Config Timer2 = Timer , Prescale = 64       '配置T/C2定時(shí)

Config Int0 = Falling
Config Timer0 = Timer , Prescale = 8
On Ovf0 Tim0_isr
On Int0 T1_isr

On Ovf2 Tim2_isr
Enable Ovf2
On Ovf1 Tim1_isr
Enable Ovf1
Enable Interrupts
Tcnt2 = &H83
Start Timer2
Counter1 = 0
Start Counter1

Dim F1 As Long
Dim F2 As Long

Dim C1 As Single
Dim Ca1 As Single
Dim Ca2 As Single
Dim Cx As Single
Dim L1 As Single
Dim Lx As Single
Dim F11 As Single

Dim V1 As String * 11
Dim V2 As String * 11

Dim Vf As String * 6
Dim Vs As String * 8
Dim Z1 As String * 2

Dim J As Bit
Dim I As Byte
Dim K As Bit
Dim M As Bit
Dim Vl As Byte
Dim Tc As Byte
Dim Tc1 As Long
Dim Te As Long

Ddrd.7 = 0       '鍵初始
Portd.7 = 1
Ddrd.4 = 1       '繼電器初始化
Ddrd.3 = 1
Portd.4 = 1
Portd.3 = 1

Ddrd.6 = 1
Portd.6 = 1
J = 1
K = 1
M = 1
I = 1
Tc1 = 0
Cls
Cursor Off

'/////主程序/////
Do

   '/////按鍵處理/////

   If Pind.7 = 0 Then       'S1
      Waitms 40
         If Pind.7 = 0 Then
            Incr I
            Bitwait Pind.7 , Set
         End If
   End If

   '/////電感L1,電容C1計(jì)算/////

   If I = 1 Then
      If J = 1 Then

         Lcd "  L_C_CE meter"
         Lowerline
         Lcd "    20081217"

         Waitms 1500       '等待F1計(jì)數(shù)
         Portd.3 = 0       '接入標(biāo)準(zhǔn)電容C2
         Waitms 1500       '等待f2計(jì)數(shù)

         Ca1 = F1 * F1
         Ca2 = F2 * F2
         C1 = Ca1 - Ca2
         C1 = Ca2 / C1
         C1 = C1 * 1800       '1800是標(biāo)準(zhǔn)電容C2 ;單位pF

         L1 = 3.1416 * 3.1416
         L1 = L1 * 4
         L1 = L1 * Ca1
         L1 = L1 * C1
         L1 = 1 / L1
         L1 = L1 * 1000000000000000000       '單位uH

         Portd.3 = 1       '斷開(kāi)標(biāo)準(zhǔn)電容C2
      End If

      J = 0

      Vf = Str(f1)       '顯示f1
      Vf = Format(vf , "      ")
      Locate 1 , 7
      Lcd "F=" ; Vf ; "Hz"
      Locate 1 , 1
      Lcd "SetOK "

      V1 = Fusing(c1 , "#.#")
      V2 = Fusing(l1 , "#.#")
      Locate 2 , 1
      Lcd V1 ; "pF " ; V2 ; "uH"

   End If

   '/////電容Cx計(jì)算/////

   If I = 2 Then

      Vf = Str(f1)
      Vf = Format(vf , "      ")
      Locate 1 , 7
      Lcd "F=" ; Vf ; "Hz"

      F11 = F1 * F1
      Cx = Ca1 / F11
      Cx = Cx - 1
      Cx = Cx * C1

      V1 = Fusing(cx , "#.#")

      Vl = Len(v1)
      Z1 = "pF"

      If Vl = 6 Then
         V1 = Mid(v1 , 1 , 4)
         Z1 = "pF"
      End If

      If Vl = 7 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "00.00")
         Z1 = "nF"
      End If

      If Vl = 8 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "000.0")
         Z1 = "nF"
      End If

      If Vl = 9 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "0.000")
         Z1 = "uF"
      End If

      Vs = Space(8)
      Locate 2 , 1
      Lcd "   Cx=" ; V1 ; Z1 ; Vs

      Locate 1 , 1
      Lcd "TestC "

   End If

   '/////電感Lx計(jì)算/////

   If I = 3 Then

      Vf = Str(f1)
      Vf = Format(vf , "      ")
      If F1 < 50 Then
         Vf = "     0"
      End If
      Locate 1 , 7
      Lcd "F=" ; Vf ; "Hz"

      Portd.4 = 0       '輸入端切換到測(cè)電感

      If F1 > 1000 Then
         F11 = F1 * F1
         Lx = Ca1 / F11
         Lx = Lx - 1
         Lx = Lx * L1
      Else
         Lx = 0
      End If
      V1 = Fusing(lx , "#.##")
      Vl = Len(v1)
      Z1 = "uH"

      If Vl = 6 Then
         V1 = Mid(v1 , 1 , 5)
         Z1 = "uH"
      End If

      If Vl = 7 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "0.000")
         Z1 = "mH"
      End If

      If Vl = 8 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "00.00")
         Z1 = "mH"
      End If

      If Vl = 9 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "000.0")
         Z1 = "mH"
      End If

      If Vl = 10 Then
         V1 = Mid(v1 , 1 , 4)
         V1 = Format(v1 , "0.000")
         Z1 = "H "
      End If

      Vs = Space(8)
      Locate 2 , 1
      Lcd "   Lx=" ; V1 ; Z1 ; Vs

      Locate 1 , 1
      Lcd "TestL "

   End If

   '/////電解電容器測(cè)量(<500uF) /////

   If I = 4 Then
      Portd.4 = 1
      If K = 1 Then

         Disable Ovf1
         Disable Ovf2

         Enable Int0
         Enable Ovf0

         Locate 1 , 1
         Lcd "TestCE  [<500uF]"
         Locate 2 , 1
         Lcd "   CEx=       "

      End If
      K = 0

   Portd.6 = 0       '開(kāi)始充電
   Start Timer0       '開(kāi)始計(jì)時(shí)
   End If

   '/////電解電容測(cè)量(2) /////

   If I = 5 Then

      If M = 1 Then
         Portd.3 = 0
         Locate 1 , 1
         Lcd "TestCE  [>500uF]"
         Locate 2 , 1
         Lcd "   CEx=       "
      End If
      M = 0
      Portd.6 = 0       '開(kāi)始充電
      Start Timer0       '開(kāi)始計(jì)時(shí)
   End If


'/////返回到電容測(cè)量//////

   If I = 6 Then

      I = 2       '返回到電容測(cè)量

      Enable Ovf1
      Enable Ovf2

      Disable Int0
      Disable Ovf0

      Portd.3 = 1
      K = 1
      M = 1
   End If

Loop
End

'/////計(jì)數(shù)中斷/////

Tim1_isr:

   Incr Tc1       '這么作可使計(jì)數(shù)分辯率最高到1Hz

Return

'/////定時(shí)中斷/////

Tim2_isr:

   Tcnt2 = &H83       '定時(shí)器T2初值
   Incr Tc
   If Tc = 250 Then       '定時(shí)250mS
      Stop Counter1
      Tc1 = Tc1 * 65535
      If Portd.3 = 1 Then
         F1 = Counter1
         F1 = F1 + Tc1
         F1 = F1 * 4
      End If
      If Portd.3 = 0 Then
         F2 = Counter1
         F2 = F2 + Tc1
         F2 = F2 * 4
      End If
      Counter1 = 0
      Start Counter1
      Tc = 0
      Tc1 = 0
   End If

Return

'/////定時(shí)中斷,測(cè)電解電容/////

Tim0_isr:

   Incr Te       '定時(shí)器0中斷次數(shù)

Return

'/////外部中斷,測(cè)電解電容/////

T1_isr:

   Stop Timer0

   Te = Te * 256
   Te = Te + Tcnt0
   Te = Te / 2       '時(shí)間/充電電阻=被測(cè)電容

   V1 = Str(te)
   Vl = Len(v1)

   If Portd.3 = 1 Then       '充電電阻R9接入,<500uF

       If Vl = 2 Then
          V1 = "NO"
       End If

       If Vl = 3 Then
          V1 = Mid(v1 , 1 , 3)
          V1 = Format(v1 , "0.000")
       End If

       If Vl = 4 Then
          V1 = Mid(v1 , 1 , 3)
          V1 = Format(v1 , "0.00")
       End If

       If Vl = 5 Then
          V1 = Mid(v1 , 1 , 3)
          V1 = Format(v1 , "0.0")
       End If

       If Vl = 6 Then
          V1 = Mid(v1 , 1 , 3)
       End If

       If Vl = 7 Then
          V1 = "  OL  "
       End If

   End If

   If Portd.3 = 0 Then

      If Vl = 2 Then
         V1 = Mid(v1 , 1 , 2)
         V1 = Format(v1 , "0.00")
      End If

      If Vl = 3 Then
         V1 = Mid(v1 , 1 , 3)
         V1 = Format(v1 , "0.00")
      End If

      If Vl = 4 Then
         V1 = Mid(v1 , 1 , 2)
      End If

      If Vl = 5 Then
         V1 = Mid(v1 , 1 , 3)
      End If

      If Vl = 6 Then
         V1 = Mid(v1 , 1 , 4)
      End If

      If Vl = 7 Then
         V1 = Mid(v1 , 1 , 5)
      End If
   End If

   Vs = Space(7)

   If Te > 1 And Te < 10 Then

      Locate 2 , 1
      Lcd "   CEx=" ; "0" ; "uF" ; Vs

   End If

   If Te > 10 Then

      Locate 2 , 1
      Lcd "   CEx=" ; V1 ; "uF" ; Vs

   End If

   Portd.6 = 1       '開(kāi)始放電

   If Portd.3 = 1 And Te > 10 Then
      Waitms 100
   End If
   If Portd.3 = 0 And Te > 10 Then
      Waitms 500
   End If

   Tcnt0 = 0       '定時(shí)計(jì)數(shù)器清零
   Te = 0       '定時(shí)中斷次數(shù)清零

Return

433770.rar

6.52 KB, 下載次數(shù): 86, 下載積分: 黑幣 -5


作者: stewart_leung    時(shí)間: 2015-8-14 08:12
用51就好了
作者: mtkmt6225    時(shí)間: 2015-8-21 09:21
這東西好啊!
作者: 釣魚(yú)臺(tái)    時(shí)間: 2015-9-1 21:18
看著爽!可惜是m8,。
作者: qwa1234    時(shí)間: 2015-10-15 22:11
diy必需品啊
作者: qwe12345    時(shí)間: 2015-10-15 22:29
好東西
作者: qwe12345    時(shí)間: 2015-10-15 22:36
有pcb源文件嗎
作者: qwe12345    時(shí)間: 2015-10-15 22:38
有pcb源文件嗎
作者: camit    時(shí)間: 2015-12-30 22:20
想整個(gè)來(lái)用,學(xué)習(xí)一下
作者: feilang    時(shí)間: 2016-5-7 08:43
有使用器件列表嗎
作者: daifhfh    時(shí)間: 2016-11-24 00:20
diy必需品啊
作者: jms208    時(shí)間: 2017-12-8 06:55
好東西.學(xué)習(xí)一下............
作者: GUOXUAN    時(shí)間: 2017-12-8 21:20
記得在2006年的<無(wú)線電>雜志也有M8制做USB電容電感表的文章,當(dāng)時(shí)我還設(shè)計(jì)好線路制做了30片PCB,還向無(wú)線電報(bào)社申請(qǐng)了M8樣片,打算制做LCR表.......一晃10多年過(guò)去了,那些還是零件,躺在紙箱中.心中難過(guò)呀iing.
作者: wefew    時(shí)間: 2017-12-8 21:36
可以,學(xué)習(xí)學(xué)習(xí)
作者: AOP    時(shí)間: 2017-12-8 23:33
制作好精量。。。。。。。
作者: raymondau    時(shí)間: 2017-12-12 13:13
你好,請(qǐng)問(wèn)能發(fā)一下電感、電容、電解電容測(cè)量?jī)x表清晰一點(diǎn)的原理圖嗎?謝謝!
作者: 邱冬    時(shí)間: 2017-12-14 09:16
收藏了,正需要
作者: 邱冬    時(shí)間: 2017-12-14 09:19
標(biāo)記下,方便接下來(lái)的學(xué)習(xí)
作者: qjzyx    時(shí)間: 2017-12-25 21:35
下一個(gè)來(lái)做做看,也好好的學(xué)習(xí)M8.
作者: rayin    時(shí)間: 2020-11-15 10:01
好好看看,也好好的學(xué)習(xí)M8
作者: taotie    時(shí)間: 2020-11-15 10:26
這是bascom版的。




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1