Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Gérard
Carte pour mesurer la capacité des batterie NIMH
-
cyril13110
Confirmé- Messages : 713
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
paulfjujo a écrit :bonsoir
]
oui, mais quelle date fraicheur ?
j'ai des DuraCuir plus de type AA .. date fraicheur 03/2031 !
quand à savoir la réelle capacité .. aucune données techniques sur DURACELL
voir normes IEC 2015
payantes ..
ou *.pdf avec extraits limités ...
5.5 Designation, nominal voltage, dimensions, discharge conditions, minimum average
duration and application for these batteries which fall into the same group are summarized in
one table.
pile_tableau.jpg
avant on avait " comme le PORT SALUT ...... c'est écrit dessus ! "
maintenant on met 2031 ..pour une pile !.. sur que le jouet ou le recepteur sera mort avant ! obsolescence oblige
Bonsoir,
Je viens de regarder il ny a pas de date sur les batteries du coup je ne pourrais pas te répondre.
je vais faire le test avec deja un timer sur interruption le temps de voir pour le faire avec un RTC et je vous dirais.
Carte pour mesurer la capacité des batterie NIMH
-
cyril13110
Confirmé- Messages : 713
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
Bonsoir à tous,
Je viens de modifier le code de la puce et j'ai intégré un timer de 1s par interruption réglé et contrôlé par oscilloscope.
A chaque interruption il est activé la mesure et le calcul de puissance.
Le resultat est sans appel, en mesure de puissance j'obtiens une belle différence plus de 100mAh de plus et ce pour le moment sur 3 batteries différentes.
Voila la derniere mise à jour de code.
Prochaine étage, je change du pic pour intégrer la gestion de 5 batteries en même temps. Ca sera un 18F46J50.
Je croise les doigts que les nouvelles cartes que j'ai redemandé au chinois cette fois ci soit dans le bon sens sans effet miroir.
D'ici la bonne soiré à tous et la suite au prochain episode
Je viens de modifier le code de la puce et j'ai intégré un timer de 1s par interruption réglé et contrôlé par oscilloscope.
A chaque interruption il est activé la mesure et le calcul de puissance.
Le resultat est sans appel, en mesure de puissance j'obtiens une belle différence plus de 100mAh de plus et ce pour le moment sur 3 batteries différentes.
Voila la derniere mise à jour de code.
Code : Tout sélectionner
program mesure_cap_NIMH1
' Declarations section
' Valeur de la resistance de decharge
const Res = 10.0
' Seuil bas de la tension d'une pile Ni-MH
const SEUIL_BAS_TENSION_PILE = 0.80
' Détection de seuil bas de la tension de la pile
dim seuilBasBatterieAtteint as bit
' Heure de début de la mesure
dim initTime as longword
' Quantité d'électricité générée par la pile lors
' de la dernière seconde
dim quantiteElectricite as float
' Quantité d'électricité totale générée par la pile
' depuis le lancement du programme
dim quantiteElectriciteTotale as float
dim quantiteElectriciteTotale_I as word
dim U0 as float
dim U0_I as word
dim U0_calc as float
dim U1 as float
dim tensionResistance as float
dim courant as float
dim courant_I as word
dim courant_calc as float
dim txt as string[6]
dim seconde as bit
' Lcd module connections
dim
LCD_RS as sbit at RB4_bit
LCD_EN as sbit at RB5_bit
LCD_D7 as sbit at RB3_bit
LCD_D6 as sbit at RB2_bit
LCD_D5 as sbit at RB1_bit
LCD_D4 as sbit at RB0_bit
dim
LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D7_Direction as sbit at TRISB3_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D4_Direction as sbit at TRISB0_bit
' End Lcd module connections
dim U0_direction as sbit at TRISA0_bit
U1_direction as sbit at TRISA1_bit
Trans_direction as sbit at TRISC0_bit
sortie_direction as sbit at TRISC2_bit
Trans as sbit at Portc.0
sub procedure Interrupt()
if (TMR0IF_bit) then
TMR0IF_bit = 0
TMR0H = 0x0A
TMR0L = 0xF0
'Enter your code here
seconde = 1
Portc.2 = not Portc.2
end if
end sub
sub procedure mesureQuantiteElectricite()
' Lit la tension aux bornes de la pile et aux bornes de la résistance
U0 = ADC_Read(0)*5/1024
U1 = ADC_Read(1)*5/1024
tensionResistance = U0-U1
' Verifie que la tension de la pile n'est
' pas inferieure à son seuil bas afin de ne pas
' l'endommager
if (U0 < SEUIL_BAS_TENSION_PILE) then
seuilBasBatterieAtteint = 1
end if
' Calcul du courant qui circule dans la résistance
courant = (U0-U1)/Res
' La quantité d'électricité est la quantité de charges électriques
' déplacées par les électrons. Elle est égale à l'intensité
' multipliée par le temps (1 seconde ici).
' Afin d'avoir la quantité d'électricité en mAh, il faut
' utiliser le facteur 1000/3600
quantiteElectricite = courant/3.6
' On additionne cette quantité d'électricité aux précédentes
' afin de connaître la quantité totale d'électricité
' à la fin de la mesure
quantiteElectriciteTotale = quantiteElectriciteTotale+quantiteElectricite
' Affichage sur l'afficheur OLED de la tension de la pile,
' du courant débité ainsi que de la quantité d'électricité débitée
' par la pile depuis le lancement du programme
Lcd_Out(1,1,"Test mesure")
FloatToStr(U0, txt)
Lcd_Out(2,1,"U=")
Lcd_Chr(2,3,txt[0])
Lcd_Chr(2,4,txt[1])
Lcd_Chr(2,5,txt[2])
Lcd_Chr(2,6,txt[3])
Lcd_Out(2,8,"V")
FloatToStr(courant, txt)
Lcd_Out(3,1,"A=")
Lcd_Chr(3,3,txt[0])
Lcd_Chr(3,4,txt[1])
Lcd_Chr(3,5,txt[2])
Lcd_Chr(3,6,txt[3])
Lcd_Chr(3,7,txt[4])
Lcd_Out(3,9,"A")
' FloatToStr(quantiteElectriciteTotale, txt)
IntToStr(quantiteElectriciteTotale, txt)
Lcd_Out(4,1,"Q=")
' Lcd_Chr(4,3,txt[0])
' Lcd_Chr(4,4,txt[1])
Lcd_Chr(4,3,txt[2])
Lcd_Chr(4,4,txt[3])
Lcd_Chr(4,5,txt[4])
Lcd_Chr(4,6,txt[5])
Lcd_Out(4,7,"mAh")
end sub
main:
' Main program
OSCCON = $7F
ADCON1 = $0D
ADCON2 = $BC
' RA0 Entrée ANA, RA1 Entrée ANA
'Init timer 0
T0CON = 0x84
TMR0H = 0x0A
TMR0L = 0xF0
GIE_bit = 1
TMR0IE_bit = 1
' RCO Sortie commande transistor, RC1 entrée TOR BP marche
Trans_direction = 0
' Port B commande afficheur
sortie_direction = 0
ADC_Init ()
Lcd_Init()
seuilBasBatterieAtteint = 0
quantiteElectriciteTotale=0
seconde =0
Trans = 1
While (TRUE)
' Mesure de la quantité d'électricité débitée toutes les
' secondes jusqu'à ce que la tension de la pile soit inférieure
' à son seuil bas afin de ne pas l'endommager.
if (seconde = 1) then
seconde =0
if (seuilBasBatterieAtteint = 0) then
mesureQuantiteElectricite()
else
' Une fois que le seule bas de la pile est atteint,
' on positionne le transistor en mode bloqué afin
' d'arrêter la décharge de la pile
Trans = 0
Lcd_Out(1,1," ")
Lcd_Out(2,1," ")
Lcd_Out(3,1," ")
Lcd_Out(4,1," ")
Lcd_Out(1,1,"Fin Decharge")
Lcd_Out(2,1,"Capacite pile=")
IntToStr(quantiteElectriciteTotale, txt)
Lcd_Chr(3,3,txt[0])
Lcd_Chr(4,4,txt[1])
Lcd_Chr(3,5,txt[2])
Lcd_Chr(3,6,txt[3])
Lcd_Chr(3,7,txt[4])
Lcd_Chr(3,8,txt[5])
Lcd_Out(4,1," mAh")
Delay_ms(1000)
end if
end if
Wend
end.
Prochaine étage, je change du pic pour intégrer la gestion de 5 batteries en même temps. Ca sera un 18F46J50.
Je croise les doigts que les nouvelles cartes que j'ai redemandé au chinois cette fois ci soit dans le bon sens sans effet miroir.
D'ici la bonne soiré à tous et la suite au prochain episode
Retourner vers « Langage BASIC & PASCAL »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités