Electronique > Réalisations > Mesure accus 001

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.

mesure_accus_001_lcd_002d

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...
Ceci dit, en route !

Schéma

Bonjour, quatre tranches bien découpées, SVP...

mesure_accus_001

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.

mesure_accus_001_lcd_007a

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.

mesure_accus_001_lcd_002a 1/4 d'heure, soit environ 1/4 de la valeur du courant de décharge (84 mA / 4)
mesure_accus_001_lcd_002b 2/3 d'heure, soit environ 2/3 de la valeur du courant de décharge (84 mA * 2 / 3)
mesure_accus_001_lcd_002c 1 heure et quart, soit 1,25 fois la valeur du courant de décharge (84 mA * 1,25)
mesure_accus_001_lcd_002d 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.

mesure_accus_001_alim

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.

mesure_accus_001_lcd_001a Tiret : décharge non amorcée ou arrêtée pour les quatre accus.
mesure_accus_001_lcd_001b 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.

mesure_accus_001_lcd_001c 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.

mesure_accus_001_lcd_003a Valeur résistance décharge pour le premier accu (accu #01).
mesure_accus_001_lcd_003b 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.

mesure_accus_001_lcd_004a 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).

mesure_accus_001_lcd_005a 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.

mesure_accus_001_lcd_006a Temps de décharge insuffisant pour afficher la capacité de l'accu.
mesure_accus_001_lcd_006b Une minute de décharge suffit pour afficher une capacité "valide" (valeur augmentant avec le temps)
mesure_accus_001_lcd_002c 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é.

mesure_accus_001_proto_mi_001a mesure_accus_001_proto_mi_001b mesure_accus_001_proto_mi_001i

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.

mesure_accus_001_proto_mi_001e mesure_accus_001_proto_mi_001g mesure_accus_001_proto_mi_001h 

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...

mesure_accus_001_proto_mi_001f mesure_accus_001_proto_mi_001n mesure_accus_001_proto_mi_001k

L'affichage peut se faire sur deux ou quatre lignes :

mesure_accus_001_proto_mi_001d mesure_accus_001_proto_mi_001l mesure_accus_001_proto_mi_001m 

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.