Ce petit applicatif, faisant parti de "electronique.exe" disponible sur mon site, permet de calculer deux égalités par itérations : Lw = 1 / Cw condition essentielle de la résonance d'un circuit bouchon à une fréquence donnée.
Ne maitrisant pas les bases de données, les différents coaxiaux utilisables sont traités par une série de "Case". Ce qui ne change rien au calcul lui même.
Pour le calcul de la pulsation (nombre de tr/s exprimés en rd/s), Pi est calculé par
Pi = 4*Atn(1).
En dehors des spécificités électroniques, il m'a semblé intéressant de vous soumettre la chose.
Source / Exemple :
Public Frequence As Double, WaveLenght As Double
Public CapaParFt As Double, DiamCoax As Double, DiamNoyau As Double
Public NbreTours As Double, Zcoax As Double, VF As Double
Public Sub Form_Load()
'
On Error Resume Next
'
Frm1.TxtFrequence.SetFocus
'
OptMetrique.Value = True
'
End Sub
Private Sub OptMetrique_Click()
'
Label10 = "Diamètre coaxial en mm"
Label11 = "Capacité en pf/m"
Label12 = "Diamètre du mandrin en mm"
'
TxtDiamCoax = ""
TxtDiamMandrin = ""
TxtCapacitParMetre = ""
'
End Sub
Private Sub OptImperial_Click()
'
Label10 = "Diamètre coaxial en inches"
Label11 = "Capacité en pf/Ft"
Label12 = "Diamètre du mandrin en inches"
'
TxtDiamCoax = ""
TxtDiamMandrin = ""
TxtCapacitParMetre = ""
'
End Sub
Public Sub LstCoax_Click()
'
If LstCoax.ListIndex < LstCoax.ListCount - 1 Then
'
TxtCapacitParMetre.Locked = True
TxtDiamCoax.Locked = True
'
Else
'
TxtCapacitParMetre.Locked = False
TxtDiamCoax.Locked = False
'
End If
'
Select Case LstCoax.ListIndex
Case 0
' RG 6
Zcoax = 75
VF = 0.75
CapaParFt = 18.6
DiamCoax = 0.266
'
Case 1
' RG 8X
Zcoax = 52
VF = 0.75
CapaParFt = 26
DiamCoax = 0.242
'
Case 2
' RG 8
Zcoax = 52
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.405
'
Case 3
' RG 8 foam
Zcoax = 50
VF = 0.8
CapaParFt = 25.4
DiamCoax = 0.405
'
Case 4
' RG 8A
Zcoax = 52
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.405
'
Case 5
' RG 9
Zcoax = 51
VF = 0.66
CapaParFt = 30
DiamCoax = 0.42
'
Case 6
' RG 9A
Zcoax = 51
VF = 0.66
CapaParFt = 30
DiamCoax = 0.42
'
Case 7
' RG 9B
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.42
'
Case 8
' RG 11
Zcoax = 75
VF = 0.66
CapaParFt = 20.6
DiamCoax = 0.405
'
Case 9
' RG 11 foam
Zcoax = 75
VF = 0.8
CapaParFt = 16.9
DiamCoax = 0.405
'
Case 10
' RG 11A
Zcoax = 75
VF = 0.66
CapaParFt = 20.6
DiamCoax = 0.405
'
Case 11
' RG 12
Zcoax = 75
VF = 0.66
CapaParFt = 20.6
DiamCoax = 0.475
'
Case 12
' RG 12A
Zcoax = 75
VF = 0.66
CapaParFt = 20.6
DiamCoax = 0.475
'
Case 13
' RG 17
Zcoax = 52
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.87
DiamNoyau = 0
'
Case 14
' RG 17A
Zcoax = 52
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.87
'
Case 15
' RG 55
Zcoax = 53.5
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.216
'
Case 16
' RG 55A
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.216
'
Case 17
' RG 55B
Zcoax = 53.5
VF = 0.66
CapaParFt = 29.5
DiamCoax = 0.216
'
Case 18
' RG 58
Zcoax = 53.5
VF = 0.66
CapaParFt = 28.5
DiamCoax = 0.195
'
Case 19
' RG 58 foam
Zcoax = 53.5
VF = 0.79
CapaParFt = 28.5
DiamCoax = 0.195
'
Case 20
' RG 58A
Zcoax = 53.5
VF = 0.66
CapaParFt = 28.5
DiamCoax = 0.195
'
Case 21
' RG 58B
Zcoax = 53.5
VF = 0.66
CapaParFt = 28.5
DiamCoax = 0.195
'
Case 22
' RG 58C
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.195
'
Case 23
' RG 59
Zcoax = 73
VF = 0.66
CapaParFt = 21
DiamCoax = 0.242
'
Case 24
' RG 59 foam
Zcoax = 75
VF = 0.79
CapaParFt = 16.9
DiamCoax = 0.242
'
Case 25
' RG 59A
Zcoax = 73
VF = 0.66
CapaParFt = 21
DiamCoax = 0.242
'
Case 26
' RG 62
Zcoax = 93
VF = 0.86
CapaParFt = 13.5
DiamCoax = 0.242
'
Case 27
' RG 62 foam
Zcoax = 95
VF = 0.79
CapaParFt = 13.4
DiamCoax = 0.242
'
Case 28
' RG 62A
Zcoax = 93
VF = 0.86
CapaParFt = 13.5
DiamCoax = 0.242
'
Case 29
' RG 62B
Zcoax = 93
VF = 0.86
CapaParFt = 13.5
DiamCoax = 0.242
'
Case 30
' RG 133A
Zcoax = 95
VF = 0.66
CapaParFt = 16.2
DiamCoax = 0.405
'
Case 31
' RG 141
Zcoax = 50
VF = 0.7
CapaParFt = 29.4
DiamCoax = 0.19
'
Case 32
' RG 141A
Zcoax = 50
VF = 0.7
CapaParFt = 29.4
DiamCoax = 0.19
'
Case 33
' RG 142
Zcoax = 50
VF = 0.7
CapaParFt = 29.4
DiamCoax = 0.206
'
Case 34
' RG 142A
Zcoax = 50
VF = 0.7
CapaParFt = 29.4
DiamCoax = 0.206
'
Case 35
' RG 142B
Zcoax = 50
VF = 0.7
CapaParFt = 29.4
DiamCoax = 0.195
'
Case 36
' RG 174
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.1
'
Case 37
' RG 213
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.405
'
Case 38
' RG 214
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.425
'
Case 39
' RG 215
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.475
DiamNoyau = 0
'
Case 40
' RG 216
Zcoax = 75
VF = 0.66
CapaParFt = 20.6
DiamCoax = 0.425
'
Case 41
' RG 223
Zcoax = 50
VF = 0.66
CapaParFt = 30.8
DiamCoax = 0.212
'
Case 42
' 9913
Zcoax = 50
VF = 0.84
CapaParFt = 24
DiamCoax = 0.405
'
Case 43
' 9914
Zcoax = 50
VF = 0.78
CapaParFt = 26
DiamCoax = 0.405
'
Case LstCoax.ListCount - 1
' Coaxial personnel
TxtDiamCoax = ""
TxtDiamMandrin = ""
TxtCapacitParMetre = ""
'
End Select
'
If OptMetrique.Value = True And _
LstCoax.ListIndex < LstCoax.ListCount - 1 Then
TxtDiamCoax = DiamCoax * 25.4
TxtCapacitParMetre = CapaParFt / 0.3048
TxtZ = Zcoax
TxtVF = VF
Else
TxtDiamCoax = DiamCoax
TxtCapacitParMetre = CapaParFt
End If
'
End Sub
Public Sub mnuQuitter_Click()
End
End Sub
Public Sub TxtDiamCoax_Change()
If TxtDiamCoax.Locked = False Then
If OptMetrique.Value = True Then
DiamCoax = Val(TxtDiamCoax.Text) / 25.4
Else
DiamCoax = Val(TxtDiamCoax.Text)
End If
End If
End Sub
Public Sub TxtCapacitParMetre_Change()
If TxtCapacitParMetre.Locked = False Then
If OptMetrique.Value = True Then
CapaParFt = Val(TxtCapacitParMetre.Text) * 0.3048
Else
CapaParFt = Val(TxtCapacitParMetre.Text)
End If
End If
End Sub
Public Sub TxtDiamMandrin_Change()
If TxtDiamMandrin.Locked = False Then
If OptMetrique.Value = True Then
DiamNoyau = Val(TxtDiamMandrin.Text) / 25.4
Else
DiamNoyau = Val(TxtDiamMandrin.Text)
End If
End If
End Sub
Public Sub TxtFrequence_Change()
'
Frequence = Val(TxtFrequence.Text)
'
End Sub
Public Sub BtnCalculer_Click()
Call Calculer
End Sub
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
Public Sub Calculer()
'
Dim L As Double, A As Double, B As Double, N As Double
Dim C As Double, e As Double, Pi As Double
Dim TalonC As Double, D As Double, Puls As Double
Dim XL As Double, Xc As Double, k As Double, P As Double
Dim N3 As Double, w As Double, CL As Double, EffL As Double
Dim Boucles As Double, MsgStr As String
'
Pi = 4 * Atn(1)
'
If TxtFrequence.Text <> "" And _
TxtDiamCoax.Text <> "" And _
TxtCapacitParMetre.Text <> "" And _
TxtDiamMandrin.Text <> "" Then
'
e = CapaParFt / 12 ' passage de pF/Ft en pF/in
'
Puls = 2 * Pi * Frequence
'
A = DiamNoyau + DiamCoax ' Diametre moyen de la self
'
'
TalonC = 1 ' Deux extremites de 25 mm
' Approximation de N
N = Fix((570 / Frequence) * Sqr(DiamCoax / (A ^ 3 * e))) + 0.5
'
XL = 0
Xc = 0
L = 0
C = 0
'
Boucles = 0
'
Do Until Abs(Xc - XL) < 0.00000001 And L <> 0 And C <> 0
'
DoEvents
'
Boucles = Boucles + 1
' Limitation des itérations
If Boucles > 1000 Then
MsgStr = "Diamètre de mandrin minimum : " & Str(Fix(((DiamCoax * 7) * 25.4) * 100) / 100)
MsgBox MsgStr
Exit Sub
End If
'
B = DiamCoax * N ' Longueur de l'enroulement
'
L = (A ^ 2 * N ^ 2 / (18 * A + 40 * B)) ' (1)
'
' = LongueurCoax * Cap/m
C = (TalonC + A * Pi * N) * e ' (2)
'
XL = L * Puls
'
Xc = 1000000 / (C * Puls)
'
P = Xc - XL
' Actualisation de l'incrément k
If (Xc - XL) > 0 Then
k = (Xc - XL) / 1000
Else
k = (XL - Xc) / 1000
End If
'
N = N + (k * Sgn(P))
'
TxtReactanceInductive = XL
TxtReactanceCapacitive = Xc
'
Loop
'
N = N - k
'
L = (A ^ 2 * N ^ 2 / (18 * A + 40 * B))
XL = L * Puls
'
C = (TalonC + A * Pi * N) * e
Xc = 1000000 / (C * Puls)
'
'
If L < 1 Then
k = 1000
Else
k = 100
End If
TxtInductance = Fix(L * k + 0.5) / k
If C >= 10 Then
k = 10
Else
k = 100
End If
TxtCapacitance = Fix(C * k + 0.5) / k
'
TxtNombreTours = Fix(N * 100) / 100
TxtLongueurBobinage = Fix((DiamCoax * N / 100) * 100) / 100
TxtLongueurCoaxial = Fix(((A * Pi * N + TalonC) / e) * 100) / 100
'
w = N * DiamCoax
TxtLongueurBobinage = (Fix(w * 100) / 100) * 25.4
CL = A * Pi * N + TalonC
TxtLongueurCoaxial = Fix(CL * 25.4 * 100) / 100
EffL = Fix(CL * 8.8 + 0.5) / 10
TxtLongueurEffective = Fix(EffL * 25.4 * 100) / 100
End If
End Sub
Conclusion :
Le logiciel "Electronique.exe" est régulièrement mis à jour sur
http://f5prp.free.fr
Sur les 6 "beta testeurs", aucun n'a signalé de problème sur cet applicatif.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.