Convertisseur de peukert

Contenu du snippet

Le convertisseur de Peukert est un petit programme qui permet au ingénieur et chercheur d'effectuer des conversions sur les capacités des batteries. Par exemple si la valeur de la capacité d'une batterie est donnée par exemple en C10, l'utilisateur peut avoir l'équivalent C100 ou C20 par exemple de la valeur de la capacité de cette même batterie. Bien évidement le calcul est basé sur la formule de Peukert.
Programme certes simple mais très efficace pour gagner en temps lors de multiples conversions pour le dimensionnement d'un système photovoltaïque.

NB: Pour les calculs, le coefficient de Peukert varie entre 1,1 et 1,3.

Source / Exemple :


Sub Peukert()

'###############################

'C = t * I ^ k

' * C  est la capacité selon Peukert, à un niveau de décharge de 1 ampère, exprimée en ampère-heure ;
' * I  est le courant de décharge, exprimé en ampère ;
' * k  est la constante de Peukert, nombre sans dimension ;
' * t  temps de décharge, en heure.

'###############################

Set F = Worksheets("Feuil1")
Dim cin, cout, valin, valout, cp, temp As Variant
cin = F.Range("G13").Value
cout = F.Range("J13").Value
valin = F.Range("C13").Value
cp = F.Range("M13").Value
F.Unprotect Password:="max"
'##################### Gestion des débordements #################################

'If cin > 500 Then
'cin = 500
'F.Range("G13").Value = cin
'End If

If cin < 1 Then
cin = 1
F.Range("G13").Value = cin
End If

'If cout > 500 Then
'cout = 500
'F.Range("J13").Value = cout
'End If

If cout < 1 Then
cout = 1
F.Range("J13").Value = cout
End If

If cp > 1.3 Then
cp = 1.3
F.Range("M13").Value = cp
End If

If cp < 1.1 Then
cp = 1.1
F.Range("M13").Value = cp
End If

'################################################################################

'Valeur de la batterie selon Peukert
C = cin * WorksheetFunction.Power((valin / cin), cp)
C = WorksheetFunction.Round(C, 0)
F.Range("G34").Value = C
F.Range("C29").Value = valin
F.Label1.Caption = "Valeur initiale (Ah): capacité donnée en C" & cin
F.Label2.Caption = "Résultat conversion (Ah): capacité donnée en C" & cout

'variable tempon
temp = C * WorksheetFunction.Power(cout, cp - 1)
'Résultat de la conversion
valout = WorksheetFunction.Power(temp, 1 / cp)
F.Range("K29").Value = WorksheetFunction.Round(valout, 0)
F.Protect Password:="max"
End Sub

Conclusion :


Il ne me reste plus qu'a souhaiter bonne conversion aux intéressés!

Max TCHANA

A voir également

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.

Du même auteur (mjtchana)