IMA4 2018/2019 P72 : Différence entre versions

De Wiki de Projets IMA
(Calendrier prévisionnel)
(Ce qui a été fait)
 
(150 révisions intermédiaires par le même utilisateur non affichées)
Ligne 192 : Ligne 192 :
 
==Choix techniques : matériel et logiciel==
 
==Choix techniques : matériel et logiciel==
 
'''PREMIÈRE COMMANDE'''
 
'''PREMIÈRE COMMANDE'''
*1x Arduino Due [https://fr.farnell.com/arduino-org/a000062/arduino-due-carte-de-dev/dp/2250861?st=arduino%20due] '''Récupérée'''
+
*1x Arduino Due [https://fr.farnell.com/arduino-org/a000062/arduino-due-carte-de-dev/dp/2250861?st=arduino%20due] '''Rendue en fin de projet'''
 
*1x Arduino Uno (non-SMD) [https://fr.farnell.com/arduino/a000066/arduino-uno-carte-d-eval/dp/2075382]
 
*1x Arduino Uno (non-SMD) [https://fr.farnell.com/arduino/a000066/arduino-uno-carte-d-eval/dp/2075382]
*1x Breadboard assez longue [https://fr.farnell.com/mcm/21-18980/carte-de-prototypage-46-x-176/dp/2855027?st=breadboard] '''Récupérée'''
+
*1x Breadboard assez longue [https://fr.farnell.com/mcm/21-18980/carte-de-prototypage-46-x-176/dp/2855027?st=breadboard] '''Rendue en fin de projet'''
 
*~20 ou 30 Câbles pour Breadboard
 
*~20 ou 30 Câbles pour Breadboard
 
 
 
*1x Support DIL 28 broches [https://fr.farnell.com/amphenol-icc-fci/dilb28p-223tlf/dip-socket-28-position-through/dp/1824463?st=dil%2028]
 
*1x Support DIL 28 broches [https://fr.farnell.com/amphenol-icc-fci/dilb28p-223tlf/dip-socket-28-position-through/dp/1824463?st=dil%2028]
 +
*1x AOP OPA4277PA (précision) [https://fr.farnell.com/texas-instruments/opa4277pa/ampli-op-quad-high-prec/dp/1097452?st=opa%204277] '''Rendue en fin de projet'''
  
 
*1x AOP OPA4277PA (précision) [https://fr.farnell.com/texas-instruments/opa4277pa/ampli-op-quad-high-prec/dp/1097452?st=opa%204277]
 
 
----
 
----
 
'''SECONDE COMMANDE'''
 
'''SECONDE COMMANDE'''
*1x Carte convertisseur boost 15 W 3,7 - 34 V [https://www.robotshop.com/en/dfrobot-dc-to-dc-step-up-voltage-regulator.html]
+
*1x Carte convertisseur boost 15 W 3,7 - 34 V [https://www.robotshop.com/en/dfrobot-dc-to-dc-step-up-voltage-regulator.html] '''Rendue en fin de projet'''
 
*2x Coupleur de pile 9 V (Paquet de 10)[https://fr.rs-online.com/web/p/porte-piles-supports/1756071/]
 
*2x Coupleur de pile 9 V (Paquet de 10)[https://fr.rs-online.com/web/p/porte-piles-supports/1756071/]
 
*2x pile 9 V
 
*2x pile 9 V
 
*1x AOP TL081 [https://fr.farnell.com/texas-instruments/tl081cp/ampli-op-bifet/dp/1103002?st=tl%20081]
 
*1x AOP TL081 [https://fr.farnell.com/texas-instruments/tl081cp/ampli-op-bifet/dp/1103002?st=tl%20081]
 
*10x Résistances traversantes 10 kΩ 1% [https://fr.farnell.com/multicomp/mcmf006ff1002a50/resistance-couche-metal-10k-1/dp/2401780]
 
*10x Résistances traversantes 10 kΩ 1% [https://fr.farnell.com/multicomp/mcmf006ff1002a50/resistance-couche-metal-10k-1/dp/2401780]
*10x Transistor MMBTA14 [https://fr.farnell.com/on-semiconductor/mmbta14/transistor-npn-darl-0-3a-30v-sot23/dp/1700707]
+
*10x Transistor MMBTA14 [https://fr.farnell.com/on-semiconductor/mmbta14/transistor-npn-darl-0-3a-30v-sot23/dp/1700707] '''Récupérés'''
*15x Transistor MMBTH10LT1G [https://fr.farnell.com/on-semiconductor/mmbth10lt1g/transistor-npn/dp/1459112]
+
*15x Transistor MMBTH10LT1G [https://fr.farnell.com/on-semiconductor/mmbth10lt1g/transistor-npn/dp/1459112] '''Récupérés'''
 +
*3x Résistance CMS 0603 10 kΩ 1% [https://fr.farnell.com/multicomp/mcwr06x1002ftl/res-couche-epaisse-10k-1-0-1w/dp/2447230] '''Récupérées'''
 +
*3x Résistance CMS 0603 9.76 kΩ 1% [https://fr.farnell.com/multicomp/mcmr06x9761ftl/res-ceramique-9-76k-1-0-1w-0603/dp/2073586] '''Récupérées'''
 +
*10x Résistances CMS 0603 4.7kΩ 1% '''Récupérées'''
 +
*Diverses résistances CMS 1% pour les calibres ( 22Ω  2x51Ω  2x511Ω  4.7kΩ  10kΩ  51.1kΩ  511kΩ  1MΩ ) '''Récupérées'''
  
 +
----
 +
'''TROISIEME COMMANDE PAR MOI-MEME'''
 +
*Connecteurs carte à carte mâle et femelle 2.54 mm [https://www.amazon.fr/gp/product/B078SQ1CZF/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1]
 +
*3x AOP simple OPA227U CMS (AOP de précision) [https://www.ebay.fr/itm/8-St-OPA-227U-Pr%C3%A4z-OPV-Burr-Brown-SMD-E0154/130744245983?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649]
 +
*2x Potentiomètre variable 1 kΩ 10% 1 tour [https://www.ebay.fr/itm/Potentiometre-trimmer-3296W-resistance-variable-100-ohms-%C3%A0-2-Mohms-Par-2-4-Pcs/181337370795?ssPageName=STRK%3AMEBIDX%3AIT&var=480344068181&_trksid=p2060353.m2749.l2649]
  
 
----
 
----
 
'''POUR PLUS TARD'''
 
'''POUR PLUS TARD'''
 +
*1x Afficheur 3*7seg [https://fr.farnell.com/multicomp/lt0565srwk/afficheur-sept-segments-rouge/dp/2627649]
 
*2x Port banane
 
*2x Port banane
 
*2x Pointe de touche banane
 
*2x Pointe de touche banane
*1x Afficheur 3*7seg [https://fr.farnell.com/multicomp/lt0565srwk/afficheur-sept-segments-rouge/dp/2627649]
+
*Cavalier 2 contacts 2.54 mm [https://fr.farnell.com/amphenol-icc-fci/65474-002lf/cavalier-2-54mm-etain/dp/1097975]
* Connecteur carte à carte 3 contacts 2.54 mm [https://fr.farnell.com/harwin/m20-9990346/embase-1-rangee-3-voies/dp/1022249]
+
*1x TL081 surface [https://fr.farnell.com/texas-instruments/tl081cd/ampli-op-jfet-soic8/dp/1103182?st=tl%20081]
* Cavalier 2 contacts 2.54 mm [https://fr.farnell.com/amphenol-icc-fci/65474-002lf/cavalier-2-54mm-etain/dp/1097975]
 
 
 
 
 
*1x AOP double OPA2277UA/2K5 CMS (précision) [https://fr.farnell.com/texas-instruments/opa2277ua-2k5/ampli-op-double-precision-cms/dp/1234768?st=OPA2277]
 
*3x Résistance CMS 0603 10 kΩ 1% [https://fr.farnell.com/multicomp/mcwr06x1002ftl/res-couche-epaisse-10k-1-0-1w/dp/2447230]
 
*3x Résistance CMS 0603 9.76 kΩ 1% [https://fr.farnell.com/multicomp/mcmr06x9761ftl/res-ceramique-9-76k-1-0-1w-0603/dp/2073586]
 
*2x Potentiomètre variable 1 kΩ 10% 1 tour [https://fr.farnell.com/vishay/t93xa102kt20/potentiometre-trimmer-1k-23-tours/dp/1141373]
 
  
 
==Liste des tâches à effectuer==
 
==Liste des tâches à effectuer==
Ligne 235 : Ligne 235 :
  
 
==Calendrier prévisionnel==
 
==Calendrier prévisionnel==
 
{| class="wikitable"
 
!Semaine!!tâche!!réalisé
 
|-
 
| 1
 
|-
 
| 2
 
|-
 
| 3
 
|-
 
| 4
 
|
 
|-
 
| 5
 
|
 
|-
 
| 6
 
|
 
|-
 
| 7
 
|
 
|-
 
| 8
 
|
 
|-
 
| 9
 
|
 
|-
 
| 10
 
|
 
|-
 
|}
 
  
 
=Réalisation du Projet=
 
=Réalisation du Projet=
Ligne 272 : Ligne 240 :
  
 
{| class="wikitable"
 
{| class="wikitable"
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total par tâche
+
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Heures S11 !! Heures S12 !! Heures S13 !! Heures S14 !! Total par tâche
 
|-
 
|-
 
| Analyse des solutions existantes
 
| Analyse des solutions existantes
 
| 8h
 
| 8h
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Ligne 291 : Ligne 263 :
 
| 2h
 
| 2h
 
| 3h
 
| 3h
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Ligne 305 : Ligne 281 :
 
|
 
|
 
| 2h
 
| 2h
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Ligne 320 : Ligne 300 :
 
| 1h
 
| 1h
 
| 2h
 
| 2h
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Ligne 343 : Ligne 327 :
 
|
 
|
 
|
 
|
 +
|
 +
|
 +
|
 +
| 19h
 
|-
 
|-
 
| Théorie de la mesure de courant - Sélecteur de courant
 
| Théorie de la mesure de courant - Sélecteur de courant
Ligne 357 : Ligne 345 :
 
|
 
|
 
|
 
|
 +
|
 +
|
 +
|
 +
| 13h
 
|-
 
|-
 
| Théorie de l'alimentation
 
| Théorie de l'alimentation
Ligne 371 : Ligne 363 :
 
|
 
|
 
|
 
|
 +
|
 +
|
 +
|
 +
| 5h
 
|-
 
|-
 
| Partie programmation
 
| Partie programmation
Ligne 385 : Ligne 381 :
 
|
 
|
 
|
 
|
 +
|
 +
| 1h
 +
| 3h
 +
| 4h
 
|-
 
|-
| '''Routage de la carte'''
+
| Routage de la carte
 
|
 
|
 
|
 
|
Ligne 396 : Ligne 396 :
 
|
 
|
 
| 7h
 
| 7h
| 2h
+
| 16h
 +
| 5h
 +
| 4h
 +
|
 +
|
 +
|
 +
| 32h
 +
|-
 +
| Essais et mesure
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
| 3h
 +
|
 +
|
 +
|
 +
| 3h
 +
| 6h
 +
|-
 +
| Réalisation de la carte
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
 +
| 2h
 +
| 6h
 +
| 4h
 +
| 1h
 +
| 13h
 
|-
 
|-
 
| '''Total par semaine'''
 
| '''Total par semaine'''
Ligne 410 : Ligne 450 :
 
| 4h
 
| 4h
 
| 7h
 
| 7h
|
+
| 16h
|
+
| 8h
|
+
| 6h
 +
| 6h
 +
| 5h
 +
| 7h
 +
| 110h
 
|-
 
|-
 
|}
 
|}
Ligne 926 : Ligne 970 :
 
<div style="clear: both;"></div>
 
<div style="clear: both;"></div>
  
==Réalisation de la carte==
+
==Réalisation des cartes électroniques==
 +
 
 +
J'ai réalisé plusieurs cartes sur le logiciel Fritzing afin d'obtenir un appareil plus pratique et plus précis qu'un simple montage sur breadboard.
 +
Le choix de faire plusieurs cartes, une pour chaque fonction importante permet de ne pas refaire l'intégralité de la partie électronique en cas de problème.
 +
Toutes les cartes sont prévues pour qu'une fois en place, puissent respecter l'encombrement de la carte Arduino.
 +
 
 +
J'ai du ajouter deux composants sur Fritzing qui n'existaient pas dans les librairies de base : un AOP et une résistance variable.
 +
Il m'a fallu réaliser les schémas sur Inkscape et attribuer les identifiants xml qui permettent à Fritzing de reconnaître les différentes parties.
 +
<div style="clear: both;"></div>
 +
 
 +
===Ajouts de composants sous Fritzing===
 +
====Résistance variable T93XA====
 +
[[Fichier:breadboard trimt93xa.png|100px]]
 +
[[Fichier:pcb trimt93xa.png|100px]]
 +
[[Fichier:schematic trimt93xa.png|300px]]
 +
 
 +
Ce composant est la résistance variable que j'utilise pour ajuster la carte d'alimentation et la carte de compensation
 +
Voici le lien de téléchargement des fichiers source et du fichier Fritzing : [[Media:trimt93xa.zip]]
 +
 
 +
====Amplificateur opérationnel OPA227U====
 +
[[Fichier:breadboard aop227u.png|100px]]
 +
[[Fichier:pcb aop227u.png|100px]]
 +
[[Fichier:shematic aop227u.png|300px]]
 +
 
 +
Ce composant est utilisé dans la carte de feedback et dans la carte de compensation, je l'ai utilisé également dans la carte d'alimentation car le TL081 a le même brochage et le même encombrement.
 +
Voici le lien de téléchargement des fichiers source et du fichier Fritzing : [[Media:opa227u.zip]]
 +
 
 +
===Conception et réalisation des cartes électroniques===
 +
====Carte d'alimentation====
 +
[[Fichier:pcb_carte_alim.jpg|400px|left]]
 +
[[Fichier:shematic_carte_alim.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_alim.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
La carte d'alimentation permet d'adapter la sortie 24 V du convertisseur boost en créant trois nouvelles références de tensions : +12 V, -12 V et 0 V.
 +
Ces tensions permettent d'alimenter les AOPs de manière symétrique pour le reste du montage.
 +
 
 +
====Carte de compensation====
 +
[[Fichier:pcb_carte_compensation.jpg|400px|left]]
 +
[[Fichier:shematic_carte_compensation.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_compensation.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
La carte de compensation permet de compenser la tension de chute liée à la mesure par shunt, ceci permet de tester si la mesure par shunt pour de petit courant serait fiable ou non.
 +
 
 +
====Carte feedback====
 +
[[Fichier:pcb_carte_feedback.jpg|400px|left]]
 +
[[Fichier:shematic_carte_feedback.jpg|500px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_feedback.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
La carte feedback comporte uniquement l'AOP qui sert à la mesure par feedback.
 +
 
 +
====Carte mère====
 +
[[Fichier:pcb_carte_mere.jpg|400px|left]]
 +
[[Fichier:shematic_carte_mere.jpg|500px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_mere.jpg|400px]]
 +
[[Fichier:final_carte_mere2.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
La carte mère permet de relier la partie alimentation, compensation, les entrées de mesures au système de mesure, elle n'est pas reliée à l'Arduino.
 +
 
 +
====Carte résistance====
 +
[[Fichier:pcb_carte_resistance.jpg|400px|left]]
 +
[[Fichier:shematic_carte_resistance.jpg|700px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_resistance.jpg|400px]]
 +
[[Fichier:final_carte_resistance2.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
Cette carte comporte les différentes résistances servant aux mesures.
 +
 
 +
====Carte calibre====
 +
[[Fichier:pcb_carte_calibre.jpg|400px|left]]
 +
[[Fichier:shematic_carte_calibre.jpg|700px]]
 +
<div style="clear: both;"></div>
 +
[[Fichier:final_carte_calibre.jpg|400px]]
 +
[[Fichier:final_carte_calibre2.jpg|400px]]
 +
<div style="clear: both;"></div>
 +
Cette carte comporte les transistors permettant la sélection du calibre voulu.
 +
 
 +
===Réalisation et ajout des composants===
 +
 
 +
Les cartes ont été soudées puis assemblées :
 +
[[Fichier:Carte_complete.jpg|thumb|1000px|left|Les 6 cartes s'emboîtent parfaitement, les broches permettant les réglages, l'alimentation, la mesure et les potentiomètres de réglages sont accessibles]]
 +
 
 +
<div style="clear: both;"></div>
  
 
==Tests des performances==
 
==Tests des performances==
 +
 +
===Premiers tests sur breadboard avec composants traversants===
 +
 +
Afin de réaliser les tests suivants, j'ai estimé les erreurs avec la théorie. Pour déterminer le modèle théorique, j'ai mesuré la tension et la résistance dans chaque situation avec un multimètre précis. Ceci afin de déduire le courant mesuré attendu.
 +
 +
[[Fichier:erreur_tension.png|thumb|600px|left|Nuage de point représentant l'erreur en fonction de la tension feedback]]
 +
 +
*On remarque que pour la méthode de mesure par feedback, l'erreur diminue lorsque la tension feedback rester faible.
 +
*Pour les tensions plus élevées, il y a plus un problème de fidélité que de justesse. Ceci permet de montrer qu'un étalonnage permettrait de gagner grandement en précision sans modifier la partie matérielle.
 +
 +
<div style="clear: both;"></div>
 +
 +
[[Fichier:erreur_courant.png|thumb|600px|left|Nuage de point représentant l'erreur en fonction du courant mesuré]]
 +
 +
*La méthode feedback a une erreur statique non négligeable sous les 1µA mesurés, ceci est due à la forte résistance feedback utilisée, cependant cette erreur peut être moyennement estimée car dépend de la valeur de la résistance. Encore une fois, un étalonnage peut réduire ce problème mais pour ne faire gagner qu'un peu moins d'une décade au vue de la croissance de l'erreur pour les petits courants.
 +
 +
<div style="clear: both;"></div>
 +
 +
===Tests avec l'Arduino===
 +
 +
 +
[[Fichier:test_mesure_arduino.jpg|thumb|600px|left|Carte Arduino Due avec shield, branchée à un montage simulant une source de courant]]
 +
 +
J'ai écrit un programme pour lire les valeurs sortant des ADCs de l'Arduino Due mais celui-ci me renvoie zéro pour chaque port, y compris ceux dont je demande d'activer le transistor qui laisse passer le courant.
 +
Les calibres semblent ne pas se sélectionner. Après avoir testé de nombreux points sur la carte, je me suis rendu compte que la Due étant basée sur un cortex M3, les sorties numériques sortent du 3.3V et non du 5V. Ainsi les transistors sont sous alimentés : les résistances régulant le courant de base ont en effet été choisie pour avoir le moins de courant possible tout en activant correctement le transistor à 5V, ceci permettait de limiter les sources d'erreur qui pourraient provenir d'un trop fort courant dans la base devant le courant passant du collecteur à l'émetteur.
 +
 +
<div style="clear: both;"></div>
 +
 +
=Bilan projet en fin d'année=
 +
 +
==Ce qui a été fait==
 +
 +
*L'analyse sérieuse du sujet a menée à l'étude théorique, assez aboutie
 +
*Les simulations sur ordinateurs fonctionnent correctement pour les trois méthodes de mesures retenues (shunt, feedback, charge/décharge de condensateur)
 +
*Les essais sur breadbard permettent de confirmer la théorie, tout en connaissant les limites des composants choisis
 +
*Un shield pour Arduino Due a été fait, soudé et assemblé, mais ne fonctionne pas comme espéré, seule la partie sélection de calibre est en défaut. En effet les essais sur breadboard ont été répétés, montrant une précision doublée et mettant en évidence l'avantage à utiliser une courbe d'étalonnage (les petites valeurs de courant sont imprécises à causes de la précision de l'AOP et les grandes valeurs à cause de la saturation de l'AOP) .
 +
 +
==Ce qui n'a pas été fait==
 +
 +
*La mesure par charge/décharge de condensateur n'a pas été mise en pratique
 +
*La carte aurait pu être corrigée en changeant les résistances ajustant le courant dans les transistors
 +
*Un système étalonnage automatique se basant sur une source de courant de référence aurait pu être implémenté après réparation de la carte
 +
*Une interface simple était prévue à même le shield pour faciliter l'étalonnage
 +
*Une coque comprenant tout le système permettrait d'embarquer l'appareil sans risquer de l’endommager
  
 
=Documents Rendus=
 
=Documents Rendus=
 +
* [[Media:trimt93xa.zip|Fichiers source et du fichier Fritzing du t93xa]]
 +
* [[Media:opa227u.zip|Fichiers source et du fichier Fritzing du opa227u]]
 +
* [[Media:pcb_mesure_courant.zip|Fichiers source et gerber des cartes réalisées]]
 +
* [[Media:RapportP72.pdf|Rapport de projet P72]]
  
 
=Liens Utiles Cités plus haut=
 
=Liens Utiles Cités plus haut=

Version actuelle datée du 15 mai 2019 à 13:51

Sommaire


Présentation générale

  • Nom du projet : Mesure d'un courant simple
  • Étudiant : MARTIN Raphaël
  • Encadrants : Alexandre Boé, Xavier Redon et Thomas Vantroys
  • Objectif : Concevoir et réaliser un système de mesure du courant simple et avec une grande dynamique

Description

Dans le cadre de l'internet des objet, il est important de savoir mesurer la consommation énergétique des appareils dès la conception pour plusieurs raisons :

  • Estimer la durée possible d'utilisation d'un objet autonome en énergie
  • Suivre la consommation des différentes phases de fonctionnement de l'objet

Ce qui nous intéresse ici est le suivi de la consommation, en effet il peut subsister une incertitude pour cette dernière en raison de l'environnement qui ne peux pas toujours être modélisé avec exactitude, la prédiction seule de la consommation ne suffit alors plus. Mesurer le courant avec un appareil permet de confronter théorie et pratique afin d'affiner le modèle pour qu'il puisse être plus fiable pour un plus grand nombre de situation.

Objectifs

Afin de pouvoir mesurer précisément la consommation d'un objet connecté, j'ai pour objectif de réaliser les tâches suivantes :


  • Concevoir et tester différentes méthodes de mesure du courant :
  1. "fort" : basée sur une résistance de shunt
  2. "fort" : basée sur une mesure à effet hall
  3. "faible" : basée sur un montage de type "feedback ammeter"
  4. "faible" : basée sur les cycles de charge/décharge de condensateur


  • Concevoir un ampèremètre spécifique :
  1. Ayant une capacité de mesure de courants "forts" >2mA
  2. Avant une capacité de mesure des courants plus faibles <2mA
  3. Pouvant changer de calibre automatiquement sans intervention
  4. Avant une bonne bande passante pour détecter précisément les transitions entre les différentes phases de fonctionnement
  5. Ayant la possibilité d'enregistrer les mesures dans le temps afin d'analyser les données ou de les transférer en temps réel
  6. Portable
  7. Restant très abordable au niveau du prix comparé à du matériel de laboratoire utilisé classiquement


  • Finalement tester l'ampèremètre afin de déterminer précisément ses performances ainsi que ses limites

Analyse du projet

Positionnement par rapport à l'existant

Actuellement, les multimètres tout-en-un grand publique comportent un ampèremètre, c'est le point de départ de mon analyse. Ce type d'ampèremètre mesure le courant à l'aide d'une résistance de shunt, on mesure une tension au borne d'une faible résistance afin de ne pas trop perturber le système étudié. Une telle mesure est plutôt fiable pour des courants au delà du mA et pour des application peu exigeantes. Mon multimètre par exemple d'entrée de gamme (Lifedom MS8321A) est capable de mesurer des courants avec une résolution de 1µA mais seulement avec une bande passante de 400Hz ce qui est trop peu pour ce projet.


Voici un récapitulatif des méthodes de mesure de courant qui seront abordées durant le projet, on appellera "fort courant" un courant >2mA et "faible courant" un courant <2mA :


Mesure de courants "importants" : la mesure par résistance de shunt

Principe de la mesure par résistance de shunt
  • Principe de fonctionnement

La loi d'Ohm permet d'avoir une relation linéaire entre le courant qui traverse la résistance et la tension aux bornes de cette dernière.

  • Avantage

Le montage est simple à réaliser

  • Inconvénients
  1. La résistance de shunt affecte le système en ajoutant une chute de tension au bord de Rshunt
  2. Le montage convient surtout pour de forts courants car en deçà, l'image en tension obtenue devient rapidement trop faible avec de petites résistances (pour limiter la tension de chute) pour être exploitable

Mesure de courants "importants" : la mesure par effet hall

Principe de la mesure par effet Hall
  • Principe de fonctionnement

"Un courant électrique traversant un matériau baignant dans un champ magnétique, engendre une tension perpendiculaire à ce dernier" (voir la page Wikipedia sur l'effet Hall). On utilise cette propriété pour récupérer l'image du courant par une tension en imposant un champ magnétique à proximité du courant à mesurer.

  • Avantages
  1. La mesure du courant n'affecte que très peu le système (pas d'introduction d’éléments en série sur le circuit)
  2. L'isolation galvanique entre le système et la partie mesure permet d'avoir de grandes tensions en jeu
  3. L'isolation galvanique permet au signal mesuré de servir également d'alimentation à un étage d'amplification de la mesure ou au générateur de champ magnétique pour le module à effet hall sans avoir de problème de masse commune
  • Inconvénient

La mesure est très sensible aux perturbations électromagnétiques donc ne convient pas pour la mesure de faibles courants

Mesure de courants "faibles" : la mesure par un montage feedback ammeter

Principe de la mesure par feedback
  • Principe de fonctionnement

Le principe se rapproche d'une mesure par résistance de shunt, à cela on ajoute un AOP afin d'annuler la tension de chute (Voir une explication plus détaillée sur blog.freesideatlanta.org ou le Low Level Measurements Handbook de LLM handbook, page 1-18).

  • Avantages
  1. La chute de tension en entrée du quadripôle est proche de 0 (V+ = V- dans un AOP)
  2. L'utilisation de l'amplificateur opérationnel augmente la réactivité du système
  • Inconvénients
  1. Le courant mesurable est limité par le courant admissible par l'AOP, donc le montage ne convient que pour la mesure de faibles courants
  2. La bande passante de la mesure est limitée par le slew rate de l'AOP

Mesure de courants "faibles" : la mesure par charge / décharge de condensateur

Tension appliquée lors de la charge d'un condensateur
  • Principe de fonctionnement

Un condensateur accumule des charges aux bornes de ses armatures induisant une tension entre ces dernières. Mesurer cette tension permet d'avoir une image de la quantité de charge présente. Comme le courant est défini comme étant un débit de charge électrique, il est ainsi possible de déduire le courant.

  • Avantage

Quantité de charges directement proportionnelle à la tension aux bornes du condensateur

  • Inconvénients
  1. Je n'ai pas trouvé d'exemple d'application d'ampèremètre basé sur une charge / décharge de condensateur
  2. Une capacité ajoute une constante de temps électrique dans un montage ce qui limite la bande passante de l'appareil de mesure
  3. L'ESR (résistance série équivalente) peut influer sur la mesure, c'est pourquoi il ne faut pas la négliger (en partie lors de l'utilisation de certains condensateurs électrolytiques).

Une piste de réflexion est l'utilisation d'un montage type Coulomb-mètre, ce montage permet de mesurer la quantité de charge transitant (donc équivalent à un ampèremètre à une dérivée près). A l'instar d'un montage feedback, la tension de chute est proche de 0 grâce à l'utilisation d'un AOP.

Principe du Coulomb-mètre

Analyse du premier concurrent : Le multimètre de table de précision

Keithley 6485/E

Exemple du Keithley 2001, basé sur une mesure de type shunt

  • Prix : 6450 €HT
  • Résolution minimale : 100 pA
  • Erreur de biais max à la plus faible résolution : 2 pA
  • Tension de charge max à la plus faible résolution: 250 µV
  • Bande passante à la plus faible résolution : 10kHz
  • Courant maximal mesurable : 2A
  • Capacité de mesure : 2000 pts/sec
  • Cet appareil possède une connectique permettant d'exporter les mesures sur un ordinateur (par GPIB / RS232)


L'utilisation d'un multimètre pouvant être relié à un ordinateur peut sembler constituer une solution clé en main pour cette application : le multimètre possède une bonne plage de mesure, est capable de mesurer de faibles courants. Cependant il reste très cher, encombrant et n'a une bande passante que de 10kHz ce qui peut poser problème si l'appareil étudié change de phase de fonctionnement trop rapidement et trop souvent.

Analyse du second concurrent : L'amplificateur de signaux

National Instruments PXI 4022

Exemple du National Instruments PXI 4022, basé sur une mesure de type feedback ammeter

  • Prix : 815 €HT
  • Résolution minimale : 5 nA
  • Erreur de biais max à la plus faible résolution : 5 pA
  • Tension de charge max à la plus faible résolution : 20 µV
  • Bande passante à la plus faible résolution : 1MHz
  • Courant maximal mesurable : 1mA
  • Capacité de mesure : 1000 pts/sec
  • Cet appareil doit être relié à un voltmètre pour pouvoir réaliser les mesures, il ne s'agit que du montage feedback seul


Cette carte permet d'envoyer l'acquisition sur un voltmètre avec connexion PC ou sur un oscilloscope au choix. Il s'agit d'une solution moins encombrante que le premier concurrent, ce qui est préférable pour une utilisation sur le terrain. Cependant, bien que possédant une bande passante plus grande de 1MHz, les courants mesurés ne peuvent pas dépasser 1mA.

Scénario d'usage du produit ou du concept envisagé

Chronogramme représentant l'utilisation du processeur et du module de transmission

Dans le cas d'une émission radio dans un milieu parasité, les délais de transmission peuvent varier grandement et ce sans pouvoir estimer avec précision ces retards. Si cette communication est assurée par une partie spécifique de l'électronique et non par le processeur, il se peut que celle-ci se fasse pendant une phase de veille de ce dernier. Dans ce cas, il est difficile de récupérer les informations sur la durée ou la consommation due à la transmission sans mesure externe. Le chronogramme ci contre illustre les perturbations durant la transmission qui impactent sur la durée nécessaire pour terminer la tâche, ces dernières ne sont a priori pas prévisibles et un ampèremètre précis peut permettre d'avoir une analyse réaliste en situation réelle plus complète du système.


Une solution dans ce cas est d'utiliser un ampèremètre spécifique capable de mesurer une grande dynamique de courant et avec une bonne bande passante. Ces deux critères sont cruciaux pour distinguer les phases de fonctionnement de l'appareil mesuré.

  • La grande dynamique de courant permet de distinguer les phase d’émission radio et de calcul du processeur.
  • La grande bande passante permet de mesurer précisément le moment où l'appareil change de phase.

Réponse à la question difficile

  • Comment passer automatiquement d'un système de mesure à l'autre (courant très faible / courant faible) ?

On utilisera un comparateur fonctionnant en hystérésis entre chaque calibre commandant plusieurs transistors afin de choisir où part le courant mesuré. Ce comparateur sera piloté par la carte Arduino qui servira à mesurer la tension image du courant.


  • Comment améliorer la bande passante ?

Le montage de type Feedback ammeter permet d'améliorer la bande passante car seul les performances de l'amplificateur opérationnel limite la bande passante du montage (il faut regarder le produit gain-bande). Afin d'obtenir une bonne bande passante, j'utiliserai un AOP de précision OPA277PA.

Préparation du projet

Je vais pour le moment me baser sur un appareil spécialisé dans la mesure de consommation d'une carte Arduino Uno basé sur un ATmega 328p pour éventuellement explorer par la suite d'autres appareils

Cahier des charges

Le cahier des charges initial pour la mesure de consommation de l'Arduino Uno est le suivant :

  • Mesure jusqu'à 1A pour les "forts" courants afin de pouvoir mesurer la consommation de certains éléments gourmands autour du processeur
  • Mesure d'une résolution minimale de 0,1µA pour les "faibles" courants, ce qui correspond à peu près au mode veille de l'ATmega 328p selon www.robot-maker.com
  • Incertitude sur la mesure <0,5% (3 chiffres significatifs)
  • Minimiser les pertes de courant dues à la mesure (<5%) pour le pas trop perturber le résultat
  • Avoir une bande passante initialement au moins supérieure à 2,8kHz, ce qui correspond à plus du double de la vitesse maximale de changement d'état des différentes sorties de l'ATmega 328p selon le forum arduino, l'idéal étant de mesurer avec une rapidité d'environ une dizaine de fois au dessus de cette fréquence.


  • La sélection du calibre de mesure doit être automatique
  • Permettre l'enregistrement des mesures dans l'appareil ou à défaut utiliser une liaison série pour les transmettre à un ordinateur
  • L'appareil de mesure devra être portable (autonome en alimentation d'énergie, léger et portable)

Choix techniques : matériel et logiciel

PREMIÈRE COMMANDE

  • 1x Arduino Due [1] Rendue en fin de projet
  • 1x Arduino Uno (non-SMD) [2]
  • 1x Breadboard assez longue [3] Rendue en fin de projet
  • ~20 ou 30 Câbles pour Breadboard
  • 1x Support DIL 28 broches [4]
  • 1x AOP OPA4277PA (précision) [5] Rendue en fin de projet

SECONDE COMMANDE

  • 1x Carte convertisseur boost 15 W 3,7 - 34 V [6] Rendue en fin de projet
  • 2x Coupleur de pile 9 V (Paquet de 10)[7]
  • 2x pile 9 V
  • 1x AOP TL081 [8]
  • 10x Résistances traversantes 10 kΩ 1% [9]
  • 10x Transistor MMBTA14 [10] Récupérés
  • 15x Transistor MMBTH10LT1G [11] Récupérés
  • 3x Résistance CMS 0603 10 kΩ 1% [12] Récupérées
  • 3x Résistance CMS 0603 9.76 kΩ 1% [13] Récupérées
  • 10x Résistances CMS 0603 4.7kΩ 1% Récupérées
  • Diverses résistances CMS 1% pour les calibres ( 22Ω 2x51Ω 2x511Ω 4.7kΩ 10kΩ 51.1kΩ 511kΩ 1MΩ ) Récupérées

TROISIEME COMMANDE PAR MOI-MEME

  • Connecteurs carte à carte mâle et femelle 2.54 mm [14]
  • 3x AOP simple OPA227U CMS (AOP de précision) [15]
  • 2x Potentiomètre variable 1 kΩ 10% 1 tour [16]

POUR PLUS TARD

  • 1x Afficheur 3*7seg [17]
  • 2x Port banane
  • 2x Pointe de touche banane
  • Cavalier 2 contacts 2.54 mm [18]
  • 1x TL081 surface [19]

Liste des tâches à effectuer

  • Dans un premier temps réaliser les fonctions d'ampèremètre seules sur breadboard et analyser leurs performances à l'osciloscope
  • Réaliser un prototype du système complet à l'aide d'une carte Arduino Uno et de shields pour les fonctions d'enregistrement sur carte SD et des différentes mesure de courant
  • Analyser les performances du prototype du système complet (temps pour le changement du système de mesure, précision de la mesure dans le temps et en amplitude)
  • Dans un second temps réaliser le prototype final qui sera représentatif du produit, avec sa propre carte électronique et un boîtier adapté
  • Analyser les performances du prototype final toujours sur les mêmes critères

Calendrier prévisionnel

Réalisation du Projet

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Heures S11 Heures S12 Heures S13 Heures S14 Total par tâche
Analyse des solutions existantes 8h 8h
Théorie de la mesure par charge/décharge de condensateur 2h 3h 5h
Mise en place du synoptique 2h 2h
Choix de l'unité de calcul et ADC 1h 2h 3h
Théorie de la mesure de courant 7h 2h 1h 2h 3h 4h 19h
Théorie de la mesure de courant - Sélecteur de courant 5h 1h 5h 2h 13h
Théorie de l'alimentation 1h 4h 5h
Partie programmation 1h 3h 4h
Routage de la carte 7h 16h 5h 4h 32h
Essais et mesure 3h 3h 6h
Réalisation de la carte 2h 6h 4h 1h 13h
Total par semaine 10h 7h 9h 7h 6h 7h 5h 4h 7h 16h 8h 6h 6h 5h 7h 110h

Prologue

Etude préliminaire : architecture matérielle complète de l'appareil de mesure

Synoptique de l'architecture matérielle complète

Etude préliminaire : la mesure de courant par charge / décharge de condensateur

Synoptique du montage à réaliser

Je vais réaliser un premier prototype de système de mesure par charge / décharge de condensateur en me basant sur ce synoptique :


Le Coulomb-mètre permet d'avoir une image en tension de la quantité de charges s'étant déplacé dans la partie à mesurer, le montage dérivateur permet d'avoir une image de la variation de cette quantité, autrement dit du courant.

Comme la tension en sortie du Coulomb-mètre ne peut pas croître indéfiniment, un générateur d'impulsion (basé sur un Timer 555 pour le premier prototype) pilote la remise à zéro de cette mesure, ce qui n’intervient pas sur le résultat après dérivation.

Le problème de cette méthode est la période de transition lors du reset ce qui induit une très grande dérivée localement d'où l'utilisation d'un filtre passe bas dans le montage.

Voici un montage que j'ai réalisé sur falstad.com (le lien permet de simuler ce montage en particulier) qui me servira de base pour un ampèremètre par charge/décharge de condensateur

Premier prototype simulé sur falstad.com

Les valeurs des composants ont été choisis en tâtonnant, je reviendrais plus tard sur le dimensionnement de ce montage, mais le principe fonctionne.

Cependant il y a deux défauts majeurs dans ce montage :

  • Le transistor court-circuitant le montage passe bas durant la remise à zéro du coulomb-mètre permet d'éviter une valeur totalement erronée en sortie, mais empêche la lecture du courant pendant ce court laps de temps
  • Le timer 555 possède une bande passante maximale trop faible pour les contraintes de mon projet (10MHz) ce qui bride les AOPs de précision

Une solution à ces deux problèmes serait d'utiliser l'unité de calcul qui sert à la suite pour la gestion de la mémoire, du port série et de l'affichage en facade pour s'occuper du filtre passe bas (mais alors numérique) et de la génération d'impulsion pour la remise à zéro du coulomb-mètre. Ensuite doubler le montage de mesure en les calant sur une horloge en opposition de phase et prendre tour à tour la mesure qui n'est pas en train de "subir" le tic d'horloge.

Choix des solutions technologiques

Choix de l'unité de calcul et de l'ADC

J'ai rapidement exclu les FPGA car les modèles proposés étaient à souder par le biais d'une matrice de bille sous le composant ce qui ne m'est pas abordable. Je préfère me pencher sur une carte Arduino durant le projet, plus simple à intégrer dans le prototypage, pouvant servir de base pour le système final car utilisant un micro-contrôleur pouvant être installé sur une carte dédiée.

Nom du micro-contrôleur Architecture Fréquence d'horloge Mémoire flash Mémoire SRAM E/S Numériques E/S Analogiques
ATmega 32u4 (Arduino Leonardo) 8 bits 16 MHz 32 Ko 2,5 Ko 20 12
ATmega 328p (Arduino Uno) 8 bits 16 MHz 32 Ko 2 Ko 14 (+6) 8
ATmega 2560 (Arduino Mega) 8 bits 16 MHz 256 Ko 8 Ko 54 16
AT91SAM3X8E Cortex M3 (Arduino Due) 32 bits 84 MHz 512 Ko 96 Ko 54 12/2
ATSAMD21G18 Cortex M0+ (Arduino Zero) 32 bits 48 MHz 256 Ko 32 Ko 20 (22 sur la MKR) 6/1
Référence Mot de sortie Non-linéarité Erreur statique Temps de conversion Échantillons par seconde Gains possibles Nombre d'ADC
32u4 (ADC intégré de l'Arduino Leonardo) 8 bits - 10 bits 0,5 LSB ±2 LSB 65 µs - 260 µs 15 kSPS x1 x10 x40 x200 (x1 ADC) 12
328p (ADC intégré de l'Arduino Uno) 10 bits 0,5 LSB ±2 LSB 65 µs - 260 µs 15 kSPS x1 6 (+2)
2560 (ADC intégré de l'Arduino Mega) 10 bits 1 LSB ±2 LSB 13 µs - 260 µs 76,9 kSPS (8 bits) - 15 kSPS x10 x200 (x4 ADC) 14 (+2)
Cortex M3 (ADC intégré de l'Arduino Due) 12 bits 1 MSPS 16
Cortex M0+ (ADC intégré de l'Arduino Zero) 12 bits 350 kSPS 0.5x -> 16x 20

Je vais choisir un Cortex M3 (présent dans l'Arduino Due) pour sa fréquence d'horloge élevée et son ADC intégré permettant 1 million d’échantillonnages par seconde.

Mesure de courant

Choix des calibres

Afin d'obtenir une incertitude sur la mesure <1%, je sais qu'un ADC sort une valeur sur 12 bits donc resolution = \frac{plage}{2^{12}} d'où plage  = resolution \times 2^{12} = 4,096 . C'est à dire que sur l'affichage en écriture scientifique, la mesure peut aller de x à x+4,096.

En réalisant un hystérésis entre chaque plage afin d'éviter les changements intempestifs pour les mesures proches de la commutation entre deux calibres, je choisis arbitrairement de fonctionner par décades avec 3 plages par décades. Ceci me permet de couvrir 5 décades (+1/3 de décade en prime), la mesure peut donc être faite avec une grande dynamique. Les zones d’hystérésis entre décade seront déterminées selon une loi logarithmique afin de ne pas changer brusquement et arbitrairement la zone d’hystérésis par décade.

Dans un premier temps, afin de limiter la perturbation du signal et de la mesure, j'ai décidé de choisir un calibre par ADC afin de couvrir toute la dynamique voulue (un AOP par mesure par feedback) :

Répartition des différents calibres de mesure par décade - Courbe obtenue avec un solveur

Cette méthode permet avec 16 ADCs et 16 Montages feedback de couvrir une plage de courant allant de 403 nA à 80,3 mA. Cependant, le gros problème est la nécessité d'une dizaine d'AOP de précision assez coûteux, même si étant la meilleure solution pour réduire les écarts de mesure.

Il va donc falloir introduire des transistors dans le montage pour couper ou laisser passer le courant dans le dispositif de mesure voulu, cependant, ces derniers ne pourront pas être considérés comme des interrupteurs parfait au vue des courants mis en jeu dans la mesure.

Introduction de transistors pour sélectionner le calibre

Exemple de non-linéarités induises par l'ajout de transistors dans le montage

L'introduction de ces éléments perturbent différents aspects suivant les différents montages testés :

  • Ajout d'une tension de chute aux bornes de l'ampèremètre
  • Modification de l'intensité transitant dans l'ampèremètre
  • Offset, non-linéarité et modification du gain de la mesure

Je choisi d'utiliser un transistor NPN qui est un choix classique pour faire fonctionner un transistor en commutation. Voici l'agencement des composants permettant le meilleur compromis : lien de la simulation

Schéma après ajout d'un transistor sur un montage feedback (les valeurs des composants sont arbitraires, calculées plus tard)


Il est important de noter que le transistor doit être placé en aval de l'ampèremètre dans le sens du courant. En effet cela permet au courant de base d'aller directement à la masse sans passer par l'ampèremètre et donc ne pas affecter la mesure surtout avec les faibles courants mis en jeu ici (voir inférieurs au courant de base).

Le seul effet négatif est l'ajout d'une tension de chute définit par V_CE ce qui est un moindre mal pour notre application. C'est pourquoi j'ai ajouté un bloc intermédiaire dont le rôle est de compenser cette chute sans modifier le courant passant. Ce montage additionneur de tension doit être réalisé avec un AOP de bande passante égale à 100MHz pour ne pas brider les performances du montage vis à vis des autres composants.

Choix des transistors

Je me base sur les critères suivants pour le choix des transistors de commutation :

  • Bande passante >1MHz pour ne pas altérer la mesure
  • Taille réduite pour limiter les sources d'interférences
  • Pertes en commutation faible pour limiter les pertes
  • Gain élevé pour limiter le courant de base et donc les pertes
Référence Bande passante Puissance dissipée Courant de collecteur Gain Tension V_CE Prix pour 5 Dimension caractéristique Datasheet
MMBTH10LT1G [20] 650MHz 225mW 4mA 60hFE 25V 0,156 2,90 mm [21]
2SD2351T106W [22] 250MHz 200mW 50mA 820hFE 50V 0,141 1,60 mm [23]
BC846A [24] 300MHz 300mW 100mA 180hFE 65V 0,0472 2,90 mm [25]
MMBTA14 (darlington) [26] 125MHz 350mW 1,2A 20000hFE 30V 0,10 2,90 mm [27]


Liste des calibres utilisés selon la loi définie plus tôt

On alimentera les AOPs de mesure en +-15V

Calibre Seuil haut de changement Seuil bas de changement méthode de mesure Gain transistor i_c-max transistor i_b-min transistor résistance de mesure
1 1,05 A 605 mA shunt 20000 1,2 A 52,5 µA
2 803 mA 403 mA shunt 20000 1,2 A 40,15 µA
3 495 mA 94,5 mA shunt 20000 1,2 A 24,75 µA
4 105 mA 60,5 mA shunt 20000 1,2 A 5,25 µA
5 80,3 mA 40,3 mA shunt 20000 1,2 A 4,015 µA
6 49,5 mA 9,45 mA shunt 20000 1,2 A 2,475 µA
7 10,5 mA 6,05 mA shunt 20000 1,2 A 525 nA
8 8,03 mA 4,03 mA shunt 20000 1,2 A 401,5 nA
9 4,95 mA 945 µA shunt 20000 1,2 A 247,5 nA
10 1,05 mA 605 µA feedback 60 4mA 17,5 µA
11 803 µA 403 µA feedback 60 4mA 13,4 µA
12 495 µA 94,5 µA feedback 60 4mA 8,25 µA
13 105 µA 60,5 µA feedback 60 4mA 1,75 µA
14 80,3 µA 40,3 µA feedback 60 4mA 1,34 µA
15 49,5 µA 9,45 µA feedback 60 4mA 825 nA
16 10,5 µA 6,05 µA feedback 60 4mA 175 nA
17 8,03 µA 4,03 µA feedback 60 4mA 134 nA
18 4,95 µA 945 nA feedback 60 4mA 82,5 nA
19 1,05 µA 605 nA feedback 60 4mA 17,5 nA
20 803 nA 403 nA feedback 60 4mA 13,4 nA
21 495 nA 94,5 nA feedback aucun aucun aucun
22 105 nA 60,5 nA feedback aucun aucun aucun
23 80,3 nA 40,3 nA feedback aucun aucun aucun
24 49,5 nA 9,45 nA feedback aucun aucun aucun

Comme les transistors ont un courant minimal pour le collecteur, il faut se passer de transistor de sélection pour les calibres sous 100 nA.

Finalement, il n'est nécessaire de diviser la mesure en 7 groupes de calibres :

  • 1 groupe pour les mesures par shunt
  • 1 groupe pour les 11 calibres avec des transistors acceptant jusque 4 mA -> 1 AOP
  • 4 groupes pour les calibres sans sélections -> 4 AOPs

Finalement on réduit grandement le besoin en AOP pour le montage, de plus d'une dizaine pour 16 calibres (5 décades) à 5 pour 24 calibres (8 décades)

Compensation de la chute de tension induite par la mesure par shunt et par l'introduction de transistors

Montage sommateur réalisé avec un AOP qui rétablit le même potentiel au borne de l'appareil de mesure

V_+  = \frac{R_2}{R_1 + R_2}.V_E ; V_-  = \frac{R_4}{R_3 + R_4}.V_S

Si l'on suppose l'AOP parfait et en régime linéaire :

V_+  = V_- \leftrightarrow \frac{V_S}{V_E} = \frac{R_2 ( R_3 + R_4 )}{R_4 ( R_1 + R_2 )}

or on veut V_{chute} = 0 d'où V_S = V_E d'où  R_2 ( R_3 + R_4 ) = R_4 ( R_1 + R_2 ) \leftrightarrow \mathbf{R_2 . R_3 = R_4 . R_1}

  • Afin d'équilibrer parfaitement le pont, je placerais deux résistances en série dont une résistance variable à la place de l'une des résistances présentes sur le schéma.
  • Je serais également tenté de rajouter une capacité à gauche du montage pour compenser la vitesse de l'AOP lors des fortes variations de tension :

C = \frac{I_{max}}{\Delta u.f_{AOP}}

J'ai noté sur le schéma un courant de chute, même si il existe en théorie, en pratique on le néglige totalement car l'impédance de R1+R2 sera choisie bien plus forte que la partie droite du montage. Il faudra choisir également R3 et R4 grandes pour éviter les pertes par effet Joule (l'AOP alimente constamment ce pont de résistance en plus d'équilibrer la tension).

Selon ce cours sur la physique du bruit, afin de limiter le bruit dans les résistances, il est intéressant de se limiter à 10kΩ en ordre de grandeur afin de limiter le bruit dû à la capacité parasite).

Je place arbitrairement les valeurs standards CMS suivantes : 10 kΩ ± 1% pour R3 et R4 et 9.76 kΩ ± 1% pour R1 et R2 ainsi qu'une résistance variable de 1kΩ ± 10% pour équilibrer le pont. Ces valeurs permettent de s'assurer la possibilité de l'équilibrage du montage.


Voici les composants que je compte utiliser pour ce montage :

  • 1 AOP de précision OPA4277PA (1 MHz)
  • 1 capacité céramique 220 nF ± 10% 200V
  • 2 résistances 10 kΩ ± 1%
  • 2 résistances 9.76 kΩ ± 1%
  • 1 résistance variable 1 kΩ ± 10%

Aspect technologique

  • Par shunt

La mesure par résistance de shunt se fera aux bornes de deux résistances en série de faible valeur, une résistance à 1% et un trimmer de l'ordre de 1% de la valeur de la première résistance permettant d'affiner la valeur de la résistance.

  • Par effet Hall

La mesure par effet Hall se fera avec un ACS 712 et ne sera réalisé qu'à titre de comparaison avec les autres mesures, le trop grand nombre de perturbation fait que cela ne peut sans doute pas être fiable pour de tels courants.

  • Par feedback

J'utilise un AOP de précision OPA4277PA pour mon usage (Bande passante de 1MHz ce qui correspond à la fréquence de conversion de l'ADC utilisé).

  • Par charge/décharge de condensateur

Choix de l'alimentation des composants actifs

La source d'alimentation sera une pile 9V.


Une partie du PCB sera dédié à la conversion et régulation de cette tension en 5V (pour l'alimentation de la carte Arduino) et 24V (pour l'alimentation des AOPs).

J'ai donc besoin d'un convertisseur buck et d'un convertisseur boost. Devant la complexité de ces circuits, je préfère dans un premier temps utiliser des cartes toutes faites pour la conversion. Même si je connais les bases du fonctionnement des drivers présents dans ces convertisseur, il serait trop long et trop incertain de me lancer dans les calculs des composants nécessaire à la conversion. Le but ici est avant tout d'approfondir la méthode de mesure.

Afin d'optimiser le circuit, il faudrait utiliser idéalement un convertisseur flyback qui permettrait d'avoir avec un seul driver toutes les tensions voulues et de pouvoir se passer d'AOP pour l'établissement de la référence.


Comme j'ai besoin d'une alimentation symétrique pour les AOPs, j'utilise un montage suiveur comme suit :

Principe de l'alimentation symétrique utilisée
Résistance équivalente de précision <<1%

Pour cette alimentation continue, il faut un AOP avec des caractéristiques assez basique (bande passante faible). Par contre il faut que le pont de résistance soit très bien équilibré afin de ne pas perturber les AOPs de précisions qui seront alimentés avec ce montage.

Afin d'équilibrer le pont de résistance, j'utilise pour chaque élément R deux résistances : une résistance à 1% et une résistance ajustable de l'ordre de 2% de la valeur de la résistance la plus importante.

Réalisation des cartes électroniques

J'ai réalisé plusieurs cartes sur le logiciel Fritzing afin d'obtenir un appareil plus pratique et plus précis qu'un simple montage sur breadboard. Le choix de faire plusieurs cartes, une pour chaque fonction importante permet de ne pas refaire l'intégralité de la partie électronique en cas de problème. Toutes les cartes sont prévues pour qu'une fois en place, puissent respecter l'encombrement de la carte Arduino.

J'ai du ajouter deux composants sur Fritzing qui n'existaient pas dans les librairies de base : un AOP et une résistance variable. Il m'a fallu réaliser les schémas sur Inkscape et attribuer les identifiants xml qui permettent à Fritzing de reconnaître les différentes parties.

Ajouts de composants sous Fritzing

Résistance variable T93XA

Breadboard trimt93xa.png Pcb trimt93xa.png Schematic trimt93xa.png

Ce composant est la résistance variable que j'utilise pour ajuster la carte d'alimentation et la carte de compensation Voici le lien de téléchargement des fichiers source et du fichier Fritzing : Media:trimt93xa.zip

Amplificateur opérationnel OPA227U

Breadboard aop227u.png Pcb aop227u.png Shematic aop227u.png

Ce composant est utilisé dans la carte de feedback et dans la carte de compensation, je l'ai utilisé également dans la carte d'alimentation car le TL081 a le même brochage et le même encombrement. Voici le lien de téléchargement des fichiers source et du fichier Fritzing : Media:opa227u.zip

Conception et réalisation des cartes électroniques

Carte d'alimentation

Pcb carte alim.jpg

Shematic carte alim.jpg

Final carte alim.jpg

La carte d'alimentation permet d'adapter la sortie 24 V du convertisseur boost en créant trois nouvelles références de tensions : +12 V, -12 V et 0 V. Ces tensions permettent d'alimenter les AOPs de manière symétrique pour le reste du montage.

Carte de compensation

Pcb carte compensation.jpg

Shematic carte compensation.jpg

Final carte compensation.jpg

La carte de compensation permet de compenser la tension de chute liée à la mesure par shunt, ceci permet de tester si la mesure par shunt pour de petit courant serait fiable ou non.

Carte feedback

Pcb carte feedback.jpg

Shematic carte feedback.jpg

Final carte feedback.jpg

La carte feedback comporte uniquement l'AOP qui sert à la mesure par feedback.

Carte mère

Pcb carte mere.jpg

Shematic carte mere.jpg

Final carte mere.jpg Final carte mere2.jpg

La carte mère permet de relier la partie alimentation, compensation, les entrées de mesures au système de mesure, elle n'est pas reliée à l'Arduino.

Carte résistance

Pcb carte resistance.jpg

Shematic carte resistance.jpg

Final carte resistance.jpg Final carte resistance2.jpg

Cette carte comporte les différentes résistances servant aux mesures.

Carte calibre

Pcb carte calibre.jpg

Shematic carte calibre.jpg

Final carte calibre.jpg Final carte calibre2.jpg

Cette carte comporte les transistors permettant la sélection du calibre voulu.

Réalisation et ajout des composants

Les cartes ont été soudées puis assemblées :

Les 6 cartes s'emboîtent parfaitement, les broches permettant les réglages, l'alimentation, la mesure et les potentiomètres de réglages sont accessibles

Tests des performances

Premiers tests sur breadboard avec composants traversants

Afin de réaliser les tests suivants, j'ai estimé les erreurs avec la théorie. Pour déterminer le modèle théorique, j'ai mesuré la tension et la résistance dans chaque situation avec un multimètre précis. Ceci afin de déduire le courant mesuré attendu.

Nuage de point représentant l'erreur en fonction de la tension feedback
  • On remarque que pour la méthode de mesure par feedback, l'erreur diminue lorsque la tension feedback rester faible.
  • Pour les tensions plus élevées, il y a plus un problème de fidélité que de justesse. Ceci permet de montrer qu'un étalonnage permettrait de gagner grandement en précision sans modifier la partie matérielle.
Nuage de point représentant l'erreur en fonction du courant mesuré
  • La méthode feedback a une erreur statique non négligeable sous les 1µA mesurés, ceci est due à la forte résistance feedback utilisée, cependant cette erreur peut être moyennement estimée car dépend de la valeur de la résistance. Encore une fois, un étalonnage peut réduire ce problème mais pour ne faire gagner qu'un peu moins d'une décade au vue de la croissance de l'erreur pour les petits courants.

Tests avec l'Arduino

Carte Arduino Due avec shield, branchée à un montage simulant une source de courant

J'ai écrit un programme pour lire les valeurs sortant des ADCs de l'Arduino Due mais celui-ci me renvoie zéro pour chaque port, y compris ceux dont je demande d'activer le transistor qui laisse passer le courant. Les calibres semblent ne pas se sélectionner. Après avoir testé de nombreux points sur la carte, je me suis rendu compte que la Due étant basée sur un cortex M3, les sorties numériques sortent du 3.3V et non du 5V. Ainsi les transistors sont sous alimentés : les résistances régulant le courant de base ont en effet été choisie pour avoir le moins de courant possible tout en activant correctement le transistor à 5V, ceci permettait de limiter les sources d'erreur qui pourraient provenir d'un trop fort courant dans la base devant le courant passant du collecteur à l'émetteur.

Bilan projet en fin d'année

Ce qui a été fait

  • L'analyse sérieuse du sujet a menée à l'étude théorique, assez aboutie
  • Les simulations sur ordinateurs fonctionnent correctement pour les trois méthodes de mesures retenues (shunt, feedback, charge/décharge de condensateur)
  • Les essais sur breadbard permettent de confirmer la théorie, tout en connaissant les limites des composants choisis
  • Un shield pour Arduino Due a été fait, soudé et assemblé, mais ne fonctionne pas comme espéré, seule la partie sélection de calibre est en défaut. En effet les essais sur breadboard ont été répétés, montrant une précision doublée et mettant en évidence l'avantage à utiliser une courbe d'étalonnage (les petites valeurs de courant sont imprécises à causes de la précision de l'AOP et les grandes valeurs à cause de la saturation de l'AOP) .

Ce qui n'a pas été fait

  • La mesure par charge/décharge de condensateur n'a pas été mise en pratique
  • La carte aurait pu être corrigée en changeant les résistances ajustant le courant dans les transistors
  • Un système étalonnage automatique se basant sur une source de courant de référence aurait pu être implémenté après réparation de la carte
  • Une interface simple était prévue à même le shield pour faciliter l'étalonnage
  • Une coque comprenant tout le système permettrait d'embarquer l'appareil sans risquer de l’endommager

Documents Rendus

Liens Utiles Cités plus haut

Liens Utiles Annexes

Fournisseurs agréés

Datasheets

Logiciels utilisés