Dernière mise à jour :
16/10/2013
Présentation
Cette réalisation permet de mesurer la capacité réelle de
piles ou
d'accumulateurs et d'en déduire leur autonomie pour un courant de
décharge donné et fixe.
Le
circuit est basé sur l'utilisation d'un microcontrôleur PIC 18F2520
associé à un afficheur LCD. Il est
capable d'effectuer des mesures sur quatre ou huit accumulateurs de
façon
indépendante, avec des courants de décharges différents
si nécessaire. On peut démarrer la mesure d'un accu alors qu'une mesure
sur un autre est déjà lancée. En fin de décharge, les valeurs mesurées
de capacité sont sauvées en mémoire EEPRom, pas besoin de rester à côté
du système.
Avertissement
Rien n'étant parfait dans ce monde...
- Cet
appareil est concu pour tester des piles ou accus. Pour un accu, la
mesure occasionne la perte d'un cycle de charge / décharge. Certains
types d'accus
sont donnés pour 1000 cycles de charge/décharge, d'autres types sont
spécifiés pour 200 cycles... A vous de voir si la perte d'un cycle est
rédibitoire, pour moi elle ne l'est pas. Pour une pile, le test est
"destructif". La mesure est intéressante si vous devez ensuite utiliser
une grosse quantité de pile du même type (même fabricant et même
modèle bien entendu), par exemple lors de tournages vidéo intensifs
(usage d'émetteurs HF pour ne citer qu'eux).
- La
mesure ne peut porter que sur des piles ou accus dont la
tension
nominale est d'au moins 6 V. A cela une raison simple, le circuit
électronique est alimenté sous une tension de +5 V issue elle-même des
piles ou accus en cours de test (auto-alimentation). Il faut dire qu'à
l'origine, ce circuit a été étudié pour la mesure d'accus de type "9 V"
(6F22) de tension de service 8,4 V. En alimentant l'appareil avec
une source d'alimentation externe, la mesure d'accus délivrant
une tension plus faible devient possible.
- La
durée maximale de décharge est de 18 heures. Cela est lié au fait que
le nombre de secondes de décharge est stocké dans une variable de type
word, qui ne peut excéder la valeur de 65535. Pour cette raison, la
décharge devra
s'effectuer de préférence avec un courant de décharge d'au moins 1/15
de la capacité de l'accu. Idéalement, au moins 1/10 de la capacité de
l'accu pour limiter le temps de mesure à 10 heures max.
- Ce projet est issu d'une collaboration avec
des professionnels de l'audiovisuel. Ni le code source ni le fichier
compilé du logiciel flashé dans le PIC ne sont disponibles sur ce site.
- Ce projet a fait l'objet d'un dépôt de paternité à l'INPI.
Ceci dit, en route !
Schéma
Bonjour, quatre tranches bien découpées, SVP...
Remarque
: les AOP "A" à "D" du circuit intégré U201 ainsi que les résistances
et diodes associées ne sont requis que pour la mesure simultanée de 8
piles ou accus. Ces composants peuvent être supprimés pour une mesure
simultanée de 4 piles ou accus.
Fonctionnement général
Le fonctionnement est le même pour
chacun des huit accus. Il consiste à mesurer le temps qui s'est
écoulé entre le moment où l'utilisateur a appuyé sur le bouton de début
de décharge et le moment où la tension de l'accumulateur est descendue
en-dessous d'un seuil prédéfini (seuil modifiable par l'utilisateur).
Pour que le temps mesuré signifie quelque chose, il faut bien sûr que
l'accumulateur soit pleinement chargé au moment où débute la décharge.
Une mesure du courant de décharge est effectuée en même temps que la
mesure de la tension aux bornes de l'accumulateur, le calcul du courant
s'effectuant à l'aide de la valeur de la résistance de shunt qui aura
été préalablement spécifiée. Les mesures
(acquisitions tension et courant des huit accus) se font au rythme de
la seconde, et les données affichées sur l'écran LCD sont mises à jour
au même rythme. L'utilisateur peut à tout moment stopper ou reprendre
le cycle de décharge d'un ou plusieurs accumulateurs, pour évaluer leur
tenue en fonction de l'usage qui en est fait (décharge en régime
continu ou morcelé). Au niveau de l'affichage, il est fait usage d'un
afficheur LCD à deux ou quatre lignes de caractères.
Un afficheur LCD à quatre lignes est plus confortable
pour la mesure sur huit accus (un modèle deux lignes suffit pour quatre
acus) mais il coûte aussi plus cher
qu'un modèle deux lignes (grosso-modo 25 euros au lieu de 15 euros, à
l'écriture de ces lignes). Comme j'aime la souplesse, j'ai inclu des
directives de compilations dans le code source du logiciel qui
permettent en un tours de main, de générer quatre fichiers compilés
(binaires *.hex) pour les quatre environnements matériels
suivants
:
- 4 accus / LCD 2 lignes
(electronique_mesure_accus_001_18f2520_accus4_lines2.hex)
- 4 accus / LCD 4 lignes
(electronique_mesure_accus_001_18f2520_accus4_lines4.hex)
- 8 accus / LCD 2 lignes
(electronique_mesure_accus_001_18f2520_accus8_lines2.hex)
- 8 accus / LCD 4 lignes
(electronique_mesure_accus_001_18f2520_accus8_lines4.hex)
Pour
le mode "8 accus / LCD 2 lignes", l'affichage des valeurs des huit
accus se fait sur deux pages LCD au lieu d'une seule (accus #1..4 et
accus #5..8).
Exemple d'utilisation
Vous
disposez d'accumulateurs spécifiés comme ayant une capacité de 400 mAH,
et
vous souhaitez savoir quelle autonomie vous pouvez en espérer quand ils
sont soumis à un courant de décharge de 70 mA ou de 140 mA. Pour ce
faire, il faut procéder à deux cycles de décharge complets, un premier
cycle avec une résistance de charge qui provoque un débit de 70 mA, et
un second cycle avec une résistance de charge qui provoque un débit de
140 mA. Si l'accu est un modèle 8,4 V, vous devrez utiliser des
résistances
de 120 ohms (pour 70 mA) et de 60 ohms (pour 140 mA). Comme on n'a pas
forcement besoin d'une
grande précision sur le courant de décharge (effectuer une mesure à 65
mA ou 75 mA au lieu de 70 mA ne changera sans doute pas grand chose sur
le calcul de la capacité),
on peut utiliser une résistance dont la valeur est normalisée et facile
à trouver. Si vraiment la décharge doit se faire à une valeur bien
précise et qu'il n'existe pas de valeur normalisée "parfaite", vous
pouvez toujours opter pour une combinaison de résistances qui donne une
valeur équivalente proche ou égale à la valeur recherchée. Ne soyez pas
surpris de constater une capacité (mAh) différente selon la valeur du
courant de décharge. Avec la majorité des accumulateurs, la
capacité
totale est supérieure si on les sollicite moins (courant de décharge
plus faible). Bien entendu dans les faits, vous aurez surement envie de
procéder à des mesures qui correspondent à des utilisations concrètes
bien précises, par exemple avec un émetteur HF d'un modèle précis.
Mesure de la tension de l'accu
La
tension de l'accumulateur est prélevée directement à ses bornes, rien
de spécial à dire à ce sujet. La valeur de cette tension est acquise
par un CAN (convertisseur analogique numérique) quadruple, nous en
reparlerons plus loin.
Mesure du courant de décharge de l'accu
La
mesure du courant se fait par calcul à partir de la tension mesurée aux
bornes de l'accu et de la valeur de la résistance de décharge.
Prenons exemple avec une résistance de décharge
de 100
ohm. Si la tension mesurée aux bornes de la résistance de
décharge
est de 8,20 V, cela correspond à un courant de :
I = 8,20 / 100 = 0,082 A
Remarques :
- la mesure du courant est effectuée plusieurs fois de suite et
moyennée sur les sept dernières acquisitions.
-
la valeur de la résistance de décharge doit être choisie ni trop faible
ni trop haute, et dépend bien sûr du courant de
décharge
souhaité pour la mesure. Ici, on utilise 4 résistances de 220 ohms
câblées en parallèle pour une valeur équivalente de 55 ohms (courant de
décharge voisin de 150 mA). Voir page
Mesure
courant pour plus de détails concernant le choix de cette
valeur.
Acquisition des tensions mesurées
Les
valeurs mesurées qui représent les tensions et les courants
doivent être avalées par le microcontrôleur pour permettre leur
traitement, affichage et sauvegarde. Bien qu'il soit possible d'assurer
ce type d'opération avec un microcontrôleur équipé d'un CAN et de
plusieurs entrées analogiques, je n'ai pas opté pour cette solution et
ai préféré utiliser un CAN externe. Pour cela deux raisons :
-
il
faut mesurer huit tensions, ce qui monopolise 8 broches du
microcontrôleur. Possible bien sûr avec un microcontrôleur bien doté,
mais avec le risque tout de même de ne plus disposer d'assez de broches
libres pour l'afficheur LCD et
les divers boutons poussoirs.
- la résolution du CAN intégré dans
les microcontrôleurs série 16F et 18F sont des modèles 10 bits, et je
souhaitais disposer d'une résolution minimale de 12 bits. J'ai donc
opté pour un CAN externe MCP3208, d'autres auraient pu faire l'affaire.
Ce
modèle de CAN (MCP3208) est capable de
travailler en 12 bits et dispose de huit entrées indépendantes qui
peuvent travailler en solo (single ended input) ou en mode
pseudo-différentiel (deux entrées pour une seule mesure). On utilise
ici le mode simple. Le
MCP3208 délivre le fruit des acquisitions
(échantillonnages) sous forme série, via un bus de type
SPI. Ce bus
requiert trois fils en plus de la référence de masse pour une
communication avec le microcontrôleur. En plus de ces trois
fils
dédiés à la transmission des données, il faut en ajouter un pour la
sélection du boîtier (Chip Select). Au final il nous
faut 4 fils de liaisons dédiés
au système d'acquisition des tensions / courants.
Mise en route d'un cycle de décharge
La
mise en route d'un
cycle de décharge pour un accu se fait en appuyant sur le bouton Start
qui lui correspond :
- Accu 1 : bouton Start1
- Accu 2 : bouton Start2
- Accu 3 : bouton Start3
- Accu 4 : bouton Start4
- Accu 5 : boutons Shift + Start1
- Accu 6 : boutons Shift + Start2
- Accu 7 : boutons Shift + Start3
- Accu 8 : boutons Shift + Start4
Si
la tension de l'accumulateur que l'on cherche à décharger est
inférieure à la tension de seuil spécifiée pour celui-ci, la commande
de décharge est refusée et un message de type "Tension faible"
s'affiche pendant une seconde.
Si
la tension lue pour cet accu est suffisante (supérieure au seuil
spécifié) alors la décharge peut commencer. Avant qu'elle ne débute
réellement, il est demandé à l'utilisateur si l'éventuelle valeur de
temps déjà écoulé doit oui on non être remise à zéro. Après réponse
(oui ou non), le compteur horaire qui lui
est
attaché démarre et incrémente le nombre de secondes
écoulées. Un
autre
appui sur le même bouton provoque l'arrêt de la décharge et arrête le
compteur de temps. Comme je n'ai pas voulu utiliser un PIC avec trop de
pattes (à cause de mon allergie), et aussi parce que j'aime bien
apprendre, j'ai décidé d'utiliser un expandeur de port... différent de
celui que j'avais déjà expérimenté sur bus I2C (PCF je ne sais plus
combien). Eh oui, 8 broches d'entrées / sorties en rab en ajoutant une
seule ligne au microcontrôleur, ça me convenait bien. Allez hop, mise
en parallèle sur le bus SPI du CAN 8 voies MCP3208 et de
l'expandeur de port 8 bits MCP23S08. [
Y'a qu'à]
lire le datasheet de ces merveilleux composants et roule ma poule.
Comment, ce n'est pas si simple que ça ? Je dois reconnaître qu'il m'a
fallu quelques heures pour aligner correctement les bits et les octets
pour [
communiquer valide]
avec ces petits
périphériques (oui je sais, mon langage laisse parfois à désirer. Faute
aux magasins qui positivent). Que dire de plus ? Ah oui, le reste. Les
ordres de mise en route envoyés par le PIC via le bus SPI arrivent sur
le MCP23S08 et ressortent en mode parallèle sur les huit
broches GP0 à GP7 qui sont bien sûr configurées en sortie (on ne rigole
pas). La
broche de "sortie" GP0 du MCP23S08 attaque la grile du MOSFET Q101 via
le fil de liaison Cde1, la broche de "sortie" GP1 du MCP23S08 attaque
la
grile du MOSFET Q201 via le fil de liaison Cde2, etc. Quand le MOSFET
(type N) reçoit une tension positive sur sa grille par rapport à sa
broche "Source" qui est reliée à la masse, il conduit et l'accu est
connecté à la masse via la broche Drain du MOSFET. A ce moment il
commence à se décharger dans sa
résistance de décharge (R102 pour le premier accu, R202 pour le second
accu,
etc). La valeur de 100 ohm fixée ici pour la résistance de décharge est
arbitraire, elle dépend bien
sûr du courant de décharge désiré. Avec cette valeur de 100 ohms et si
l'accu délivre 8,4 V, le
courant de décharge sera voisin de 84 mA (je néglige la chute de
tension dans le MOSFET). Il est possible de câbler une LED
additionnelle sur les sorties GP0 à GP7 du MCP23S08 afin de visualiser
plus facilement les accus en cours de décharge. Mais attention dans ce
cas, utiliser impérativement des LED haute luminosité avec une
résistance série de forte valeur (au moins 10 kO) pour limiter le
courant consommé par l'ensemble du circuit.
Précision des mesures
L'utilisation
d'un CAN 12 bits (4096 pas de quantification) avec une tension de
référence basse de 0 V et une tension de référence haute
de 4,096
V permet une précision théorique de 1 mV. Cette précision est cependant
valable pour une tension qui ne dépasse pas 4,095 V, puisqu'au-dela on
dépasse la pleine échelle de quantification. Pour mesurer une tension
de valeur supérieure (les accus peuvent faire 6 V mais aussi 7,2 V, 8,4
V ou plus), il faut ajouter un pont diviseur en amont du CAN.
Si le facteur de division de ce pont diviseur est de 2, la tension max
mesurable est alors portée à 8,192 V, mais cette fois avec une
résolution de 2 mV. La mesure d'un accu de 7,2 V est donc possible...
si sa valeur réelle ne dépasse pas 8,2 V ! Pour plus de sécurité, j'ai
décidé d'utiliser un pont diviseur de rapport 3, ce qui porte la
précision de mesure à 3 mV, ce qui est encore fort
honorable. Côté
courant, la précision
est de 3 mV divisé par la valeur du shunt. Si ce dernier vaut 100 ohms,
cela donne :
I = 0,003 / 100 = 0,00003 A (0,03 mA)
Cette précision
me semble bien suffisante. Rappellons puisqu'on ne l'a pas encore dit,
que le
présent système est fait pour mesurer des courants d'au moins 50 mA
car les accus à tester ont une capacité assez élevée et je ne
vois pas trop l'intérêt de faire une mesure de capacité sur plus de 10
heures, même si cela reste toutefois envisageable.
Méthode de calcul de la capacité des accus
La
méthode est on ne peut plus simple, puisqu'elle consiste à mesurer le
temps pendant lequel l'accu "a tenu bon" en conservant un courant de
décharge "nominal" et une tension au-dessus des seuils fixés. Les
seuils bas
peuvent être spécifiés de façon indépendante pour chaque accu,
mais dans tous les cas bien sûr il faut que la valeur du seuil soit
inférieure à la tension de l'accu chargé (par exemple seuil bas de 6,8
V pour un accu de 8,4 V). La base de temps utilisée pour le
calcul de la capacité est la minute - soit 60 secondes si ma
calculatrice fonctionne encore. Vouloir partir sur une base de temps
égale à la seconde serait à mon sens ridicule, et choisir une base
d'une heure serait trop juste car après tout, on peut très bien avoir
une application où l'autonomie en utilisation réelle est de 1 ou 2
heures (et là, la précision serait du coup insuffisante). Toutes les
minutes donc, un calcul est réalisé pour mettre à jour la "capacité
passée" de l'accu en cours de test. Ce principe est fort éprouvant pour
les joueurs qui verront là une occasion parfaite de miser avec leur
amis. " Je te parie un MKH40 que l'accu tiendra encore 30 minutes".
Prenons l'exemple d'un accu de 8,4 V / 500 mAH que l'on fait débiter
dans une charge provoquant un courant de décharge de 100 mA (sous ces
condition, l'accu est sensé tenir environ 5 heures). On fixe
pour cet accu et de façon arbitraire, un seuil bas de 7,0 V.
On
lance le cycle de décharge et on attend... Durant la première minute,
aucune valeur de capacité n'est affichée. Au bout d'une minute, le
logiciel du PIC se dit "hum, courant de décharge de 0,1 A pendant 1
minute, cela équivaut à une capacité de 100 mAH... si
l'accu tient au moins une heure.
On pourrait fort bien ne rien afficher avant qu'une heure entière ne
soit écoulée, mais je trouve intéressant de montrer que le système vit.
C'est pourquoi le système se permet d'afficher une valeur qui progresse
lentement durant les soixante premières minutes selon le principe de
proportionnalité horaire (la valeur de capacité affichée est pendant ce
temps inférieure au courant de décharge), et qu'une fois
passée la première heure, l'affichage donne une valeur standard en mAH.
La formule adoptée est la suivante :
Capacité = (Courant décharge *
Nombre de minutes écoulées) / 60
Pour
rester sur le même exemple, et pour les premières minutes de
décharge, nous aurions donc :
- Après 1 minute sous 0,1 A - Affichage capacité = 00001 mAH
- Après 2 minute sous 0,1 A - Affichage capacité
= 00003 mAH
- Après 3 minute sous 0,1 A - Affichage capacité
= 00005 mAH
- Après 4 minute sous 0,1 A - Affichage capacité
= 00006 mAH
- ...
- Après 15 minute sous 0,1 A - Affichage capacité
= 00025 mAH
- Après 30 minute sous 0,1 A - Affichage capacité
= 00050 mAH
- Après 45 minute sous 0,1 A - Affichage capacité
= 00075 mAH
- Après 60 minute sous 0,1 A - Affichage capacité
= 00100 mAH
A ce stade (une heure éculée) on peut avoir deux scénarios :
- soit l'accu en a encore dans le ventre;
- soit l'accu a vu sa tension de sortie chuter lamentablement avant
l'heure
Dans le premier cas les mesures continuent, et...
- ...
- Après 120 minute sous 0,1 A - Affichage capacité
= 00200 mAH
- Après 180 minute sous 0,1 A - Affichage capacité
= 00300 mAH
etc...
Les écrans qui suivent correspondent à un accu de 8,4 V / 500
mAh dont
le courant de décharge est 84 mA (sur résistance 100 ohms). Le premier
écran indique la capacité calculée au bout de quinze minutes, le second
au bout
de 39 minutes et le troisième au bout d'une heure et onze minutes,
valeurs exprimées en mAh.
|
1/4 d'heure, soit
environ 1/4 de la valeur du courant de décharge (84 mA / 4) |
|
2/3 d'heure, soit
environ 2/3 de la valeur du courant de décharge (84 mA * 2 / 3) |
|
1 heure et quart,
soit 1,25 fois la valeur du courant de décharge (84 mA * 1,25) |
|
Après 3 heures de
décharge sous 84 mA, certitude d'une capacité d'au moins 245 mAh |
Dans
tous les cas (décharge en moins d'une heure ou en plus d'une heure), la
valeur de la capacité en cours de calcul est mise à jour toutes les
minutes.
Affichage LCD
On
utilise ici un afficheur LCD classique dont les données de commande et
d'affichage sont transmise via une liaison 4 bits. A cela s'ajoutent
deux fils de liaison pour les lignes RS et EN, ce qui porte à 6 le
nombre de fils requis pour l'affichage seul. Comme dit auparavant,
l'afficheur est un modèle deux lignes ou quatre lignes de 20
caractères, le besoin en nombre de fils entre microcontrôleur et
afficheur restant le même dans tous les cas (c'est cool de remarquer
que dans certains domaines il existe des
normes bien suivies par de nombreux constructeurs). N'importe quel
afficheur LCD 2 lignes ou 4 lignes doté d'un contrôleur HD44780 doit
normalement convenir. Il suffit d'utiliser le fichier compilé (*.hex)
qui correspond au type d'afficheur utilisé (2 ou 4 lignes).
Alimentation du montage
L'alimentation
du montage est assez particulière puisqu'elle ne nécessite ni tension
secteur, ni pile, ni batterie. On se repique simplement sur le
ou les accus à décharger, au moyen de diodes anti-retour et
d'un
régulateur à faible tension de déchet.
On
peut se le permettre car le
courant demandé par le montage en lui-même est très faible.
Une
petite contrainte toutefois : le montage doit
enregistrer le
temps écoulé en fin de cycle, c'est à dire quand la tension à chutée
suffisement. La solution ? Un petit accu lui-même rechargé par les
batteries à tester, ou un condensateur de très forte capacité
(appelé super-capa pour faire chic dans les catalogues). Reste
juste à savoir quand la fin de décharge à lieu, ce qui
est facile
puisqu'il suffit de regarder la tension sur la broche MCLR du PIC, qui
est configurée ici en entrée TTL standard. Bien sûr cette tension à
surveiller n'est pas la même que celle qui alimente l'ensemble du
montage, sinon il risque d'y avoir quelques problèmes au niveau de la
sauvegarde des données dans l'EEProm du PIC. Non, cette tension à
surveiller est prélevée avant le régulateur de tension, avant la diode
qui arrive sur le "gros" condensateur de filtrage. La tension à
surveiller (appelée PSC sur le schéma pour Power Supply Check) est
filtrée par un condensateur qui n'a pas une grosse valeur,
d'une
part parce que la source de tension est continue et non
alternative, et d'autre part parce que cette tension doit disparaitre
rapidement en absence de source). Une diode zener de 4,7 V limite la
tension PSC qui arrive sur l'entrée correspondante du microcontrôleur
(RE3). Une régulation de la tension source
est assurée par un régulateur de tension de type MCP1802-50, capable de
délivrer 300 mA sous ses 5 V de sortie (on a besoin de bien moins) et
ne consommant lui-même que 25 uA. Ce régulateur est de type LDO (Low
Drop Out, faible chute de tension) et en version CMS (marquage 9B_M#
sur le composant en boîtier SOT-23 pour la version 5.0 V), vous pouvez
utiliser un modèle LDO standard mais pensez à vérifier sa consommation
propre.
Deux raisons possibles pour que le PIC entame sa
procédure de sauvegarde de données :
- soit la tension de l'accu est passée en-dessous du seuil fixé;
- soit la tension d'alimentation a disparu (retrait accus ou décharge
avancée).
Après
la sauvegarde, l'afficheur LCD informe de la coupure d'alimentation et
la LED D17 clignote jusqu'à plus soif, car c'est toujours cool d'avoir
un montage qui
tourne encore même quand on a retiré sa source d'énergie.
Mise en route du système
La
mise sous tension du système se fait automatiquement, dès l'insertion
d'une pile neuve ou d'un accu chargé. Après l'écran d'initialisation
(affichage version logiciel PIC), les tensions lues pour chaque accu en
place sont affichées. Si un seul accu est positionné, trois valeurs sur
les quatre seront affichées comme nulles. Le tiret affiché
après
le nom de la tension indique que la décharge n'est pas amorcée. Quand
la décharge est activée, le tiret est remplacé par une étoile.
|
Tiret
: décharge non amorcée ou arrêtée pour les quatre accus. |
|
Etoile : décharge
en cours pour l'accu #01 seulement (tension V1).
|
Au démarrage, aucune décharge d'accu n'est enclenchée, le système
attend vos instructions. Deux choix possibles :
-
soit on passe par les menus de configuration pour indiquer deux ou
trois détails concernant les piles ou accus sous test (boutons SW1 à
SW4),
- soit on lance tout de suite la phase de décharge (boutons
SW5/St1 à SW8/St4).
Supposons
qu'on démarre la machine pour la première fois. Un appui sur SW1/Set ne
fait pas de mal, et on arrive alors à l'affichage des courants.
|
Tiret
: décharge non amorcée.
Ne pas tenir compte des valeurs actuellement affichées. |
Dans
l'immédiat, ne pas tenir compte des valeurs actuelles, qui peuvent ne
rien signifier. Passer à l'écran suivant en
appuyant une nouvelle fois sur SW1/Set. On arrive à l'écran qui permet
de spécifier la valeur de la résistance de décharge de l'accu
(paramètre Shunt). Pour passer de la valeur spécifiée pour un accu à la
valeur spécifiée pour un autre accu, utiliser le bouton
poussoir
SW2/Sel.
|
Valeur résistance
décharge pour le premier accu (accu #01). |
|
Après appui sur
SW2/Sel, valeur résistance décharge pour le deuxième accu (accu #02). |
Utiliser
les boutons SW3/Up ou SW4/Down pour augmenter
ou diminuer la valeur actuellement spécifiée. Un appui bref incrémente
ou décrémente la valeur par pas de 0,1 ohm. En laissant le doigt appuyé
quelques secondes, les valeurs changent plus rapidement. Une fois la
valeur de la résistance de décharge spécifiée pour chaque accu à faire
travailler, appuyer une nouvelle fois sur SW1/Set. Cela nous amène sur
la valeur de la tension basse de l'accu, celle sous laquelle on
considère qu'il n'a plus grand chose à fournir. Notez que l'index de
l'accu en cours reste valable quand on passe d'un paramètre au
suivant.
|
Seuil
bas pour l'accu #02. Tension en-dessous de laquelle on décide d'arrêter
la décharge et d'effectuer le calcul final de capacité. |
Ce
seuil est celui qui correspond à une décharge avancée. Quand la tension
lue aux bornes de l'accu passe en-dessous de cette valeur, la
résistance de décharge est déconnectée (MOSFET OFF) et la valeur finale
de la capacité de l'accu est considérée comme la valeur nominale
réelle. Utiliser les boutons SW3/Up ou SW4/Down pour respectivement
augmenter
ou diminuer la valeur actuellement spécifiée, qui doit être en
cohérence avec le type d'accu et le matériel utilisé avec (au besoin,
s'appuyer sur les caractéristiques techniques fournies par les
fabricants). Un nouvel appui
sur SW1/Set nous amène maintenant au temps cumulé pendant lequel
l'accus en cours de sélection a été soumis à la décharge. Trois appuis
consécutifs sur SW2/Sel permet de revenir aux paramètres de l'accu #01
(#03>#04>#01) si le nombre d'accus est de 4 (il faut 7
appuis pour 8 accus).
|
Temps de décharge
cumulé pour l'accu #01. |
Cet
écran est informatif. On ne peut pas modifier la valeur, si ce n'est
bien sûr en réactivant la décharge de l'accu en cours de sélection.
Nouvel appui sur SW1/Set pour passer à l'affichage de la capacité
calculée. Si la durée de décharge n'a pas encore dépassé la minute, la
capacité affichée est nulle.
|
Temps de décharge
insuffisant pour afficher la capacité de l'accu. |
|
Une minute de
décharge suffit pour afficher une capacité "valide" (valeur augmentant
avec le temps) |
|
Plus d'une heure de
décharge, les chiffres commencent à parler... |
Comme
vous pouvez vous en rendre compte, le tour des menus est vite fait. Il
n'y a finalement que deux paramètres à préciser pour chaque accu :
valeur de la résistance de décharge, et seuil de tension basse. La
suite est simple, elle consiste à appuyer sur les boutons SW5 (Start1)
à SW8 (Start4) pour mettre en ou hors fonction la décharge des piles ou
accus.
Circuit imprimé
Non réalisé par mes soins, là ce sont des pros
qui s'en sont occupé.
Tous
les composants sont en version CMS, et l'emplacement prévu pour
l'afficheur LCD convient pour un modèle à 2 lignes ou 4 lignes.
La
programmation du PIC 18F2520 a été réalisé en ICSP via mon PicKit2, car
je me voyais mal positionnner ce composant CMS déjà soudé, sur le
support DIL de ma EasyPic7...
L'affichage peut se faire sur deux ou quatre lignes :
Le
logiciel a bien sûr posé quelques soucis au début et l'étape de débogage a été intéressante...
Logiciel du PIC
Ce projet est issu d'une collaboration avec
des professionnels de l'audiovisuel. Ni le code source ni le fichier
compilé ne sont disponibles sur ce site. Mine de rien, le logiciel
fait 1500 lignes de code, commentaires non compris (1800
lignes
avec
les commentaires).
Historique
15/10/2013 - V1.7
- Correction bug affichage valeur capacité enregistrée des accus au
démarrage (valeur affichée correcte lors des mesures).
- Déplacement des paramètres sur l'écran LCD pour correspondance avec
les slots physiques sur le circuit imprimé.
- Ajout affichage "Capacité précédente" sur la page "Durée précédente".
-
Désormais, la page "Toutes capacités" est affichée à la mise sous
tension si l'appareil s'est éteint alors qu'une mesure était en cours.
- Meilleur comportement (démarrage plus sûr) si des mauvais contacts
ont lieu lors de l'insertion de la première batterie.
13/01/2013
- Ajout photos prototype (ce dernier est actuellement réalisé en 5
exemplaires).
06/05/2012 - V1.6
-
Modification du logiciel pour utilisation au choix d'un afficheur LCD 2
lignes ou 4 lignes de 20 caractères (LCD avec contrôleur HD44780
utilisé ici en mode 4 bits).
- Ajout d'un bouton SHIFT pour démarrage / arrêt décharge des accus
5..8.
-
Ajout de quatre diodes (D5 à D8) pour le circuit d'alimentation
générale. Il faut bien profiter aussi de la présence des accus 5..8
(dans la version précédente, on acceptait 4 accus, ceci explique cela).
-
Déplacement de la LED de fin de décharge de tous les accus (plus d'alim
suffisante pour le système). Elle se trouve désormais sur la broche RC2
du microcontrôleur et ne monopolise plus une des huit sorties de
l'expandeur de port. Pour rappel, cette LED est de type haute
luminosité (HL), ce qui explique la valeur élevée de sa résistance
série.
- Ajout d'un message de type "Tension faible" lors de la
tentative de décharge d'un accu dont la tension en cours est inférieure
à la tension de seuil spécifiée. Auparavant, la mesure était refusée
dans une telle situation, mais aucun message n'indiquait pourquoi.
22/04/2012
- Première mise à disposition.