Compteur Solaire (ou totalisateur d'énergie basse tension)

L'énergie solaire est à la mode, et les panneaux sont à prix accessible (au moins les panneaux de petite taille !)
L'idée m'est donc venue de concevoir un montage simple permettant de mesurer l'énergie disponible (énergie reçue) .
Ceci, afin de répondre simplement à quelques questions du genre :
- mes accus de 2200mAH sont ils rechargés en 1 jour , 2 , 3 ?
- quelle puissance ai-je reçue en 1 journée ?
- que puis-je alimenter avec tel ou tel panneau ?
        1 seule led banche (<1W) ? ou plusieurs (2-3W)? une chaine hi-fi (10W) ? une télé (30-50W)? ou plus encore ?

Ma platine comprends donc 3 bormiers :
    -1 entrée "solaire" (éventuellement, cela peut être une simple alim de Labo -en ajoutant la diode !!!-)
    -1 bornier "batterie" (12V)
    -1 bornier "sortie"

Il s'agit de mesurer et d'afficher : la tension, le courant, de multiplier ces 2 chiffres pour obtenir la puissance.
Enfin, le montage additionne à intervalle régulier la puissance pour obtenir l'énergie en Wh

___ MESURE DE LA TENSION ___
J'utilise un PIC 16F872 qui intègre un can 10 bits.
Un TL431(avec 2 résistances égales ) fournit une tension précise de +5V connecté en patte Vref.
Une mesure sur 10bit signifie 1024 "pas" .
Pour d'évidentes raisons de simplicité de programmation (en assembleur) je choisis un pas de 20mV.
Donc ma pleine échelle affichée est de 1023 x 20m V = 20.46 V

Un pont diviseur prélève la tension à mesurer et l'applique après réglage dudit pont diviseur à l'entrée analogique AN0 du PIC

___ MESURE DU COURANT ___
Le principe est simple : on insère une résistance "shunt" de faible valeur et on mesure la tension à ses bornes.
Mais en pratique, les choses se compliquent :
-la résistance induit une chute de tension (=énergie perdue) on veut donc choisir une résistance faible pour une chute de tension minimale.
Ici, la tension perdue maximum est 100mV (pour le courant maximum)
La tension de référence du CAN étant de 5.00V cela implique un coefficient multiplicateur de 50 ( 5.00 V / 100mV)
Un simple aop en soustracteur comme ceci peut faire ce travail :
mesure de courant avec un AOP
mais les choses ne sont pas si simples
la tension à mesurer est très faible : 100mV pour le courant maxi mais les aop ont tous un défaut appellé "offset"
qui est facilement de plusieurs mV ; sur une échelle de 100mV l'erreur est énorme en % .
Ensuite un courant faible voire nul va induire une tension faible voire nulle , mais là aussi , les aop ne descendent pas tous à 0V en sortie
Il y a aussi la consommation du circuit lui-même : en solaire , les mA sont précieux !
Et enfin un autre critère d'importance : le common mode voltage : on cherche à mesurer 2 tensions
dont les valeurs sont proches de la tension d'alim
Regardez par exemple, comme un "simple TL081" ne conviendrait absolument pas:

j'avais donc pensé à un TLC271 (offset compensable, conso propre maxi 1mA ; tension de sortie affleurant le 0v (50mV maxi )
mais je me suis résigné -in extrémis- vers un MAX4376F qui-fait-tout !
Je répugne d'habitude à utiliser des composants ésotériques , mais celui là est dispo chez electronique diffusion pour 3.5e .

___ CALCUL P= U x I ___
Purement logiciel , il s'agit d'une routine que j'ai développée sur le principe de la multiplication que l'on pose sur le papier !
elle est assez longue (à concevoir !) mais elle marche et multiplie 4 chiffres par 4 chiffres pour obtenir 8 chiffres.
C'est tellement "luxueux", que tous ces chiffres ne seront pas affichés, par contre, ils sont tous conservés en mémoire.

___ CALCUL ENERGIE E = P x t ___
Par un simple calcul : toutes les 36 secondes on effectue : E (nouveau) = E (ancien)  + P (avec P en watt et E en WH)
on accumule tout simplement la puissance.
Pourquoi toutes les 36 sec ? car il suffit de faire 100 mesures par heure et de décaler la virgule de deux crans vers la gauche pour un affichage correct en WH !
J'en parle plus haut, TOUS les chiffres de la puissance sont utilisés, ne vous étonnez donc pas de voir parfois 4+4 = 9 !! (en fait4.9+4.9 =9.8)

Et voici les photos du protoype :

La plaquette entière :
-les 3 boniers (entrée , batterie et sortie)
-le PIC6F872 avec son quartz de 32K768 et son bouton blanc pour le reset
-les 2 résistances de shunt de 1 ohm (car j'ai mis 2 MAX en prévision de la version 2 de ce montage !)
-le potentiomètre (bleu) pour ajuster la tension
-un transistor : non, c'est le TL431 pour la référence de tension

Le MAX4376 n'est disponible qu'en boitier SOT23 , mais on peut quand même le souder sur un plaque d'essai !!
Il faut enlever au cutter 2 arcs de cercle de 2 pastilles afin de faire de la place pour le fil du milieu.
l'autre côté ne pose pas de problème .

Voici le schéma :


et les fichiers sources : le rar contient le .asm et le .hex à programmer

retour au sommaire électro