Ampèremètre avec affichage sur USB

LA MESURE DES INTENSITÉ avec l’ATmega328.

Assez semblable à la mesure des résistances, mesurer une intensité revient à placer une résistance en série dans le circuit en mesurage et à numériser la tension à ses bornes. De la même façon que pour la détermination des résistances, deux calibres se sont montrés nécessaires pour couvrir une plage importante de valeurs mesurables. Ils servent à « étaler » la sensibilité de notre ampèremètre. C’est d’autant plus facile à envisager que le programme précédent laisse les deux entrées analogiques A4 et A5 entièrement disponibles. On se doute que ces expériences visent à globaliser le tout dans un programme plus complet qui transformera Arduino en un multimètre numérique à plusieurs « options ». Ce chapitre permet de défricher la mesure des courants électriques.

Le schéma électrique.

Fig. 1

Incontestablement élémentaire comme on peut le vérifier sur la Fig.1 il se résume à deux résistances SHUNT. L’une de 10Ω pour mesurer entre 50mA et 500mA. L’autre de 100Ω pour une évaluation dix fois plus fine et ainsi numériser entre 0 et 50mA. Envisager des intensités plus importantes serait possible, il suffirait d’utiliser une valeur de shunt dix fois ou cent fois plus faible, mais l’expérience montre qu’avec ces deux plages on couvre largement nos « besoins courants avec Arduino ». Rien n’interdit du reste d’utiliser en parallèle sur l’entrée A4 ou l’entrée A5 un shunt complémentaire et de multiplier la valeur affichée par 10 ou 100. Pour brancher un ampèremètre, en « standard » on ouvre le circuit à mesurer et l’on insère en série un shunt de précision. Dans notre cas, on se contentera de résistances disponibles facilement et peu onéreuses. Pour ajuster la précision des mesures un simple coefficient multiplicateur sera inséré dans les calculs.
C’est l’un des avantages de l’informatique.

x

x

ATTENTION : L’appareil de mesure étant branché sur le circuit à tester, il se trouve à son potentiel.l est donc impératif qu’Arduino soit sur sa propre alimentation avec une bonne isolation galvanique du secteur 220V~. Ceci dit, rien n’interdit comme montré en Fig.2 d’évaluer la consommation d’un composant utilisé sur Arduino à condition d’accepter une masse commune. Par exemple sur la Fig.2 on désire déterminer la résistance qu’il faudra employer en série avec la diode D qui sera branchée sur une sortie binaire d’Arduino. Quand on aboutit à l’intensité désirée conforme aux caractéristiques nominales, le composant mis en série fait dans notre cas 120Ω. La résistance à prévoir dans le montage définitif sera donc de 100Ω + 120Ω soit 220Ω car il faut tenir compte de la présence du shunt ajouté dans le circuit.

L’algorithme utilisé.

Largement inspiré de celui relaFig. 3tif à l’ohmmètre il en reprend l’architecture représentée en Fig.3. Sa structure en est très semblable et reprend les mesures avec lissage. Comme précédemment, l’affichage n’est rafraichi que si la valeur mesurée a changé. Si la mesure fluctue en permanence, c’est que l’alimentation du circuit en test présente un fort taux de résiduel alternatif. Anticipant l’étude d’un programme complet intégrant les modules précédents, créer une procédure paramétrée pour effectuer toutes les mesures devient une évidence pour minimiser la taille du code. Le rang de l’entrée utilisée sera alors passé en paramètre sous la forme d’un byte. La formule de calcul pour déterminer la valeur de l’intensité dérive ici aussi de l’incontournable loi d’Ohm. On mesure une tension aux bornes d’une résistance qui pour la circonstance est nommée SHUNT. L’intensité qui la traverse est donc égale à I = U / R, dans laquelle U est la tension mesurée par A4 ou A5.

Utilisation de SHUNT avec « précision logicielle ».

Tributaire de la précision des résistances qui sont employées sur les multimètres analogiques à galvanomètres mobiles, les shunts sont obligatoirement des composants à faible dispersion de caractéristiques. Soit ce sont des résistances de précision, soit une résistance courante associée à un mini-potentiomètre pour affiner en usine la déviation pour chaque calibre de l’appareil. Grâce à la facilité de calcul qu’apporte le microcontrôleur, on peut sans aucun problème utiliser des composants ordinaires, et corriger par calcul le résultat de la mesure pour compenser l’écart de précision. Dans P02_Amperemetre_sur_USB.ino qui assure la fonction ampèremètre décrite ici, la formule de calcul donnée ci-avant est légèrement complétée : Formule 1

Les paramètres K10 et K100 sont deux coefficients multiplicateurs qui ajustent avec précision les deux calibres. Pour les déterminer, on impose une intensité correspondant au maximum de la plage mesurable, le courant réel étant vérifiée avec un appareil extérieur placé en série avec la charge. Puis, un simple calcul de proportion permet de déterminer la valeur à donner au coefficient correcteur. Prenons l’exemple donné en Fig.4 pour lequel on procède à la correction pour la résistance de 10Ω. Quand on ajuste l’intensité réelle à exactement 500mA le système Arduino affiche 481mA. La résistance du shunt est donc légèrement trop faible. Mais l’erreur qu’elle engendre est proportionnelle à la valeur de l’intensité. En conséquence, un simple coefficient multiplicateur permet de rétablir l’exactitude des mesures qui ne seront plus influencées globalement que par la perturbation du circuit en essai par l’insertion en série du shunt, et par l’erreur apportée par la conversion analogique vers numérique. La formule de calcul pour déterminer la valeur du coefficient est:

Formule 2

Fig. 4

K10 = 500 / 481 = 1.04 valeur qui est introduite dans le programme sous forme d’une définition en tête des déclarations et ainsi permet de faciliter la « transportabilité » du source sur d’autres applications. P02_Amperemetre_sur_USB.ino lors de la compilation conduit à une taille de 5372 octets. On en déduit qu’assembler de multiples fonctions en un programme unique sera largement faisable, et un multimètre complet sera alors émulé par un module Arduino auquel il ne faut ajouter que quelques résistances. L’ATmega328 est un microcontrôleur vraiment convivial.

>>> Page suivante.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *