IMA4 2018/2019 P72 : Différence entre versions
(→Positionnement par rapport à l'existant) |
(→Ce qui a été fait) |
||
Ligne 6 : | Ligne 6 : | ||
*'''Nom du projet :''' Mesure d'un courant simple | *'''Nom du projet :''' Mesure d'un courant simple | ||
*'''Étudiant :''' MARTIN Raphaël | *'''É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== | ==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 : | |
+ | #"fort" : basée sur une résistance de shunt | ||
+ | #"fort" : basée sur une mesure à effet hall | ||
+ | #"faible" : basée sur un montage de type "feedback ammeter" | ||
+ | #"faible" : basée sur les cycles de charge/décharge de condensateur | ||
− | + | *Concevoir un ampèremètre spécifique : | |
+ | #Ayant une capacité de mesure de courants "forts" >2mA | ||
+ | #Avant une capacité de mesure des courants plus faibles <2mA | ||
+ | #Pouvant changer de calibre automatiquement sans intervention | ||
+ | #Avant une bonne bande passante pour détecter précisément les transitions entre les différentes phases de fonctionnement | ||
+ | #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 | ||
+ | #Portable | ||
+ | #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= | =Analyse du projet= | ||
Ligne 39 : | Ligne 45 : | ||
Actuellement, les multimètres tout-en-un grand publique comportent un ampèremètre, c'est le point de départ de mon analyse. | 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é. | 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 | + | 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=== | ||
+ | [[Fichier:Mesure_shunt.jpg|300px|thumb|left|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'' | ||
+ | #La résistance de shunt affecte le système en ajoutant une chute de tension au bord de Rshunt | ||
+ | #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 | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ===Mesure de courants "importants" : la mesure par effet hall=== | ||
+ | [[Fichier:acs712.jpg|450px|thumb|left|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 [https://fr.wikipedia.org/wiki/Effet_Hall 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'' | ||
+ | #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) | ||
+ | #L'isolation galvanique entre le système et la partie mesure permet d'avoir de grandes tensions en jeu | ||
+ | #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 [https://www.youtube.com/watch?v=mKKany4dTdY 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 | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ===Mesure de courants "faibles" : la mesure par un montage feedback ammeter=== | ||
+ | [[Fichier:feedback_ammeter.jpg|400px|thumb|left|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 [http://blog.freesideatlanta.org/2012/08/precision-low-current-measurement-w.html blog.freesideatlanta.org] ou le [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=2ahUKEwig1-ityLDfAhVM2xoKHZYeAXkQFjAFegQIAxAC&url=https%3A%2F%2Fwiki.epfl.ch%2Fcarplat%2Fdocuments%2FLowLevMsHandbk.pdf&usg=AOvVaw0dwQLPgWF7M9q4RlR2YAQL ''Low Level Measurements Handbook''] de '''LLM handbook''', page 1-18). | ||
+ | *''Avantages'' | ||
+ | #La chute de tension en entrée du quadripôle est proche de 0 (V+ = V- dans un AOP) | ||
+ | #L'utilisation de l'amplificateur opérationnel augmente la réactivité du système | ||
+ | *''Inconvénients'' | ||
+ | #Le courant mesurable est limité par le courant admissible par l'AOP, donc le montage ne convient que pour la mesure de faibles courants | ||
+ | #La bande passante de la mesure est limitée par le slew rate de l'AOP | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ===Mesure de courants "faibles" : la mesure par charge / décharge de condensateur=== | ||
+ | [[Fichier:coulombmetre.jpg|300px|thumb|left|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'' | ||
+ | #Je n'ai pas trouvé d'exemple d'application d'ampèremètre basé sur une charge / décharge de condensateur | ||
+ | #Une capacité ajoute une constante de temps électrique dans un montage ce qui limite la bande passante de l'appareil de mesure | ||
+ | #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). | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | 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. | ||
+ | [[Fichier:coulombmetre2.jpg|400px|thumb|left|Principe du Coulomb-mètre]] | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ==Analyse du premier concurrent : Le multimètre de table de précision== | ||
+ | [[Fichier:R7600307-01.jpg|300px|thumb|left|Keithley 6485/E]] | ||
+ | |||
+ | ''Exemple du [https://fr.farnell.com/keithley/2001/multimetre-num-8k-memcordon-8605/dp/2074726 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== | ||
+ | [[Fichier:02091039.jpg|300px|thumb|left|National Instruments PXI 4022]] | ||
+ | |||
+ | ''Exemple du [http://www.ni.com/fr-fr/support/model.pxi-4022.html 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. | ||
+ | <div style="clear: both;"></div> | ||
− | |||
− | |||
==Scénario d'usage du produit ou du concept envisagé== | ==Scénario d'usage du produit ou du concept envisagé== | ||
+ | [[Fichier:schema_IOT_2.png|300px|thumb|right|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. | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
==Réponse à la question difficile== | ==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= | =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== | ==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 [https://www.robot-maker.com/forum/blog/45/entry-41-tout-ce-que-vous-pourriez-vous-demander-sur-la-consommation-dune-puce-atmega328p-puce-darduino// 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 [https://forum.arduino.cc/index.php/topic,77060.msg582084.html#msg582084// 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== | ==Choix techniques : matériel et logiciel== | ||
+ | '''PREMIÈRE COMMANDE''' | ||
+ | *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 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 | ||
+ | *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''' | ||
+ | |||
+ | ---- | ||
+ | '''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] '''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 pile 9 V | ||
+ | *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 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] '''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''' | ||
+ | *1x Afficheur 3*7seg [https://fr.farnell.com/multicomp/lt0565srwk/afficheur-sept-segments-rouge/dp/2627649] | ||
+ | *2x Port banane | ||
+ | *2x Pointe de touche banane | ||
+ | *Cavalier 2 contacts 2.54 mm [https://fr.farnell.com/amphenol-icc-fci/65474-002lf/cavalier-2-54mm-etain/dp/1097975] | ||
+ | *1x TL081 surface [https://fr.farnell.com/texas-instruments/tl081cd/ampli-op-jfet-soic8/dp/1103182?st=tl%20081] | ||
+ | |||
==Liste des tâches à effectuer== | ==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== | ==Calendrier prévisionnel== | ||
Ligne 57 : | 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 | + | !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 | ||
+ | | | ||
| | | | ||
| | | | ||
Ligne 72 : | Ligne 434 : | ||
| | | | ||
| | | | ||
+ | | 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=== | ||
+ | |||
+ | [[Fichier:architecture materielle montage complet.jpeg|800px|thumb|center|Synoptique de l'architecture matérielle complète]] | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ===Etude préliminaire : la mesure de courant par charge / décharge de condensateur=== | ||
+ | [[Fichier:synoptique_coulomb_metre.JPG|600px|thumb|right|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. | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | Voici un montage que j'ai réalisé sur [http://tinyurl.com/ycu2ab5r 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 | ||
+ | [[Fichier:amperemetre condensateur v1.jpeg|800px|thumb|left|Premier prototype simulé sur falstad.com]] | ||
+ | <div style="clear: both;"></div> | ||
+ | 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. | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ==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. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !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 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !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 <math>resolution = \frac{plage}{2^{12}}</math> d'où <math>plage = resolution \times 2^{12} = 4,096</math> . | ||
+ | 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) : | ||
+ | |||
+ | [[Fichier:solveur courbe.jpeg|600px|thumb|right|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. | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ====Introduction de transistors pour sélectionner le calibre==== | ||
+ | |||
+ | [[Fichier:Courbes_datasheet.png|400px|thumb|right|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 | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | 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 : [http://tinyurl.com/yy5yycdx lien de la simulation] | ||
+ | |||
+ | [[Fichier:capture_selecteur.png|1000px|thumb|right|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. | ||
+ | |||
+ | <div style="clear: both;"></div> | ||
+ | '''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 | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Référence!!Bande passante!!Puissance dissipée!!Courant de collecteur!!Gain!!Tension V_CE!!Prix pour 5!!Dimension caractéristique!!Datasheet | ||
+ | |- | ||
+ | |MMBTH10LT1G [https://fr.farnell.com/on-semiconductor/mmbth10lt1g/transistor-npn/dp/1459112] | ||
+ | |650MHz | ||
+ | |225mW | ||
+ | |4mA | ||
+ | |60hFE | ||
+ | |25V | ||
+ | |0,156 | ||
+ | |2,90 mm | ||
+ | |[http://www.farnell.com/datasheets/1708290.pdf] | ||
+ | |- | ||
+ | |2SD2351T106W [https://fr.farnell.com/rohm/2sd2351t106w/transistor-npn/dp/1680161] | ||
+ | |250MHz | ||
+ | |200mW | ||
+ | |50mA | ||
+ | |820hFE | ||
+ | |50V | ||
+ | |0,141 | ||
+ | |1,60 mm | ||
+ | |[http://www.farnell.com/datasheets/1921213.pdf] | ||
+ | |- | ||
+ | |BC846A [https://fr.farnell.com/diodes-inc/bc846a/transistor-npn-65v-0-1a-sot23/dp/1902483] | ||
+ | |300MHz | ||
+ | |300mW | ||
+ | |100mA | ||
+ | |180hFE | ||
+ | |65V | ||
+ | |0,0472 | ||
+ | |2,90 mm | ||
+ | |[http://www.farnell.com/datasheets/1911717.pdf] | ||
+ | |- | ||
+ | |MMBTA14 (darlington) [https://fr.farnell.com/on-semiconductor/mmbta14/transistor-npn-darl-0-3a-30v-sot23/dp/1700707] | ||
+ | |125MHz | ||
+ | |350mW | ||
+ | |1,2A | ||
+ | |20000hFE | ||
+ | |30V | ||
+ | |0,10 | ||
+ | |2,90 mm | ||
+ | |[http://www.farnell.com/datasheets/1708290.pdf] | ||
+ | |- | ||
+ | |} | ||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | |||
+ | '''Liste des calibres utilisés selon la loi définie plus tôt''' | ||
+ | |||
+ | ''On alimentera les AOPs de mesure en +-15V'' | ||
+ | {| class="wikitable" | ||
+ | !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) | ||
+ | |||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ====Compensation de la chute de tension induite par la mesure par shunt et par l'introduction de transistors==== | ||
+ | |||
+ | [[Fichier:Compensation_chute.png|400px|thumb|right|Montage sommateur réalisé avec un AOP qui rétablit le même potentiel au borne de l'appareil de mesure]] | ||
+ | |||
+ | <math>V_+ = \frac{R_2}{R_1 + R_2}.V_E</math> ; <math>V_- = \frac{R_4}{R_3 + R_4}.V_S</math> | ||
+ | |||
+ | Si l'on suppose l'AOP parfait et en régime linéaire : | ||
+ | |||
+ | <math>V_+ = V_- \leftrightarrow \frac{V_S}{V_E} = \frac{R_2 ( R_3 + R_4 )}{R_4 ( R_1 + R_2 )}</math> | ||
+ | |||
+ | or on veut <math>V_{chute} = 0</math> d'où <math>V_S = V_E</math> d'où <math> R_2 ( R_3 + R_4 ) = R_4 ( R_1 + R_2 ) \leftrightarrow \mathbf{R_2 . R_3 = R_4 . R_1}</math> | ||
+ | |||
+ | *''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 :'' | ||
+ | |||
+ | <math>C = \frac{I_{max}}{\Delta u.f_{AOP}}</math> | ||
+ | |||
+ | 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 [http://pimprenelle.lps.ens.fr/biolps/sites/default/files/teaching/4/C3beam.pdf 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% | ||
+ | |||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ====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 :'' | ||
+ | |||
+ | [[Fichier:alimentation_et_reference.jpg|300px|thumb|right|Principe de l'alimentation symétrique utilisée]] | ||
+ | [[Fichier:resistance serie.png|300px|thumb|right|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. | ||
+ | |||
+ | <div style="clear: both;"></div> | ||
+ | |||
+ | ==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== | ||
+ | |||
+ | ===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= | ||
+ | *[https://fr.wikipedia.org/wiki/Effet_Hall Page Wikipedia sur l'effet Hall] | ||
+ | *[https://www.youtube.com/watch?v=dNjamGKGSeY Explication d'un problème de masse commune] | ||
+ | *[http://blog.freesideatlanta.org/2012/08/precision-low-current-measurement-w.html Etude d'un montage de type Feedback Ammeter] | ||
+ | *[https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=2ahUKEwig1-ityLDfAhVM2xoKHZYeAXkQFjAFegQIAxAC&url=https%3A%2F%2Fwiki.epfl.ch%2Fcarplat%2Fdocuments%2FLowLevMsHandbk.pdf&usg=AOvVaw0dwQLPgWF7M9q4RlR2YAQL ''Low Level Measurements Handbook'' de '''LLM Handbook'''] | ||
+ | *[https://fr.farnell.com/keithley/2001/multimetre-num-8k-memcordon-8605/dp/2074726 Lien du 1er concurrent : le Keithley 2001] | ||
+ | *[http://www.ni.com/fr-fr/support/model.pxi-4022.html Lien du 2nd concurrent : le National Instruments PXI 4022] | ||
+ | *[https://www.robot-maker.com/forum/blog/45/entry-41-tout-ce-que-vous-pourriez-vous-demander-sur-la-consommation-dune-puce-atmega328p-puce-darduino// Etude de la consommation en veille de l'ATmega 328p] | ||
+ | *[https://forum.arduino.cc/index.php/topic,77060.msg582084.html#msg582084// Etude de la bande passante nécessaire à la mesure de l'ATmega 328p] | ||
+ | *[http://falstad.com/circuit/circuitjs.html Simulateur en ligne gratuit de circuit électroniques Falstad] | ||
+ | *[http://falstad.com/circuit/circuitjs.html?cct=$+1+0.000005+13.097415321081861+69+10+50%0A165+224+144+272+144+0+9.286520325234179%0Aw+224+176+192+176+0%0Ar+192+176+192+240+0+150000%0Aw+192+240+224+240+0%0Aw+192+240+192+272+0%0Aw+192+272+224+272+0%0Aw+192+272+192+336+0%0Ac+192+336+192+384+0+1.0000000000000001e-7+5.783294434163692%0Ar+192+336+304+336+0+10000%0Ad+352+336+304+336+2+default%0Aw+352+208+352+336+0%0Aw+800+288+848+288+0%0Aw+768+288+720+288+0%0Ar+720+288+720+352+0+1%0Aw+848+352+848+288+0%0Aa+720+432+848+432+8+15+-15+1000000+2.5736272008094916e-9+0+100000%0Aw+720+416+720+352+0%0Aw+848+432+848+352+2%0Ag+720+448+720+560+0%0Aw+720+416+640+416+1%0Aw+720+448+640+448+0%0At+784+208+784+288+0+1+0.7473064332444518+0.747049067937877+100%0Ag+192+384+192+416+0%0AR+288+112+288+48+0+0+40+10+0+0+0.5%0Ar+560+416+640+416+0+500%0As+496+416+560+416+0+1+true%0Av+496+448+496+416+0+0+40+5+0+0+0.5%0Aw+496+448+640+448+0%0Ac+992+432+1056+416+0+0.00001+-0.0002573652908398806%0Aa+1056+432+1184+432+8+15+-15+1000000+2.57075897815695e-9+0+100000%0Aw+848+432+992+432+0%0Ag+1056+448+1056+560+0%0Ar+1056+352+1184+352+0+1000%0Aw+1056+416+1056+352+0%0Aw+1184+432+1184+352+2%0At+1120+208+1120+288+0+1+0.7473061464221865+0.7470488006926159+100%0Aw+784+208+1120+208+0%0Ar+1056+352+1056+288+0+1%0Aw+1056+288+1104+288+0%0Aw+1136+288+1184+288+0%0Aw+1184+288+1184+352+0%0Aw+784+208+496+208+0%0Ar+496+208+416+208+0+1%0At+400+160+400+208+1+1+-7.061071070485122+0.7652320060948465+100%0Aw+352+208+384+208+0%0Aw+352+208+352+64+0%0Aw+352+64+400+64+0%0Ar+400+160+400+64+0+1000%0A209+720+352+848+352+0+0.00009999999999999999+0.00025736529370810326+1%0Ao+34+64+0+4099+0.001220703125+1.6+0+2+34+3%0A Premier prototype du montage mesureur de courant à base de charge de condensateur fonctionnel réalisé sur Falstad.com] | ||
+ | *[https://forums.futura-sciences.com/electronique/140944-vce-negatif-transistor.html Utilisation des transistors avec V_CE négatif] | ||
+ | *[http://pimprenelle.lps.ens.fr/biolps/sites/default/files/teaching/4/C3beam.pdf Cours de l'ENS ''La physique du bruit'', Vincent Croquette] | ||
+ | |||
+ | =Liens Utiles Annexes= | ||
+ | ''Fournisseurs agréés'' | ||
+ | *[https://www.gotronic.fr/ Go Tronic] | ||
+ | *[https://fr.rs-online.com/web/generalDisplay.html?id=rspro RS] | ||
+ | *[https://fr.farnell.com/ Farnell] | ||
+ | *[https://www.mouser.fr/ Mouser] | ||
+ | *[https://www.digikey.fr/ Digi-Keys (pas de commande)] | ||
+ | *[https://www.robotshop.com/ Robot Shop] | ||
+ | |||
+ | ''Datasheets'' | ||
+ | *[http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf ATmega 328p (Arduino Uno)] | ||
+ | *[http://ww1.microchip.com/downloads/en/devicedoc/atmel-7766-8-bit-avr-atmega16u4-32u4_datasheet.pdf ATmega 32u4 (Arduino Leonardo)] | ||
+ | *[http://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf ATmega 2560 (Arduino Mega)] | ||
+ | *'''[http://image.dfrobot.com/image/data/DFR0220/AT91SAM%20full%20datasheet.pdf AT91SAM3X8E Cortex M3 (Arduino Due)]''' | ||
+ | *[http://ww1.microchip.com/downloads/en/DeviceDoc/SAMD21-Family-DataSheet-DS40001882D.pdf ATSAMD21G18 Cortex M0+ (Arduino Zero)] | ||
+ | *[https://www.sparkfun.com/datasheets/BreakoutBoards/0712.pdf ACS712 (Capteur à effet Hall)] | ||
+ | *[http://www.ti.com/lit/ds/symlink/opa277.pdf OPAx277 (AOP de précision)] | ||
+ | *[http://www.farnell.com/datasheets/2255395.pdf Convertisseur Boost] | ||
+ | |||
+ | ''Logiciels utilisés'' | ||
+ | *[http://falstad.com/circuit/circuitjs.html falstad.com (simulation de circuits électroniques intuitif)] | ||
+ | *[http://fritzing.org/download/ Fritzing (design de PCB)] |
Version actuelle datée du 15 mai 2019 à 13:51
Sommaire
- 1 Présentation générale
- 2 Analyse du projet
- 2.1 Positionnement par rapport à l'existant
- 2.1.1 Mesure de courants "importants" : la mesure par résistance de shunt
- 2.1.2 Mesure de courants "importants" : la mesure par effet hall
- 2.1.3 Mesure de courants "faibles" : la mesure par un montage feedback ammeter
- 2.1.4 Mesure de courants "faibles" : la mesure par charge / décharge de condensateur
- 2.2 Analyse du premier concurrent : Le multimètre de table de précision
- 2.3 Analyse du second concurrent : L'amplificateur de signaux
- 2.4 Scénario d'usage du produit ou du concept envisagé
- 2.5 Réponse à la question difficile
- 2.1 Positionnement par rapport à l'existant
- 3 Préparation du projet
- 4 Réalisation du Projet
- 4.1 Feuille d'heures
- 4.2 Prologue
- 4.3 Choix des solutions technologiques
- 4.4 Réalisation des cartes électroniques
- 4.5 Tests des performances
- 5 Bilan projet en fin d'année
- 6 Documents Rendus
- 7 Liens Utiles Cités plus haut
- 8 Liens Utiles Annexes
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 :
- "fort" : basée sur une résistance de shunt
- "fort" : basée sur une mesure à effet hall
- "faible" : basée sur un montage de type "feedback ammeter"
- "faible" : basée sur les cycles de charge/décharge de condensateur
- Concevoir un ampèremètre spécifique :
- Ayant une capacité de mesure de courants "forts" >2mA
- Avant une capacité de mesure des courants plus faibles <2mA
- Pouvant changer de calibre automatiquement sans intervention
- Avant une bonne bande passante pour détecter précisément les transitions entre les différentes phases de fonctionnement
- 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
- Portable
- 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 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
- La résistance de shunt affecte le système en ajoutant une chute de tension au bord de Rshunt
- 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 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
- 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)
- L'isolation galvanique entre le système et la partie mesure permet d'avoir de grandes tensions en jeu
- 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 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
- La chute de tension en entrée du quadripôle est proche de 0 (V+ = V- dans un AOP)
- L'utilisation de l'amplificateur opérationnel augmente la réactivité du système
- Inconvénients
- Le courant mesurable est limité par le courant admissible par l'AOP, donc le montage ne convient que pour la mesure de faibles courants
- 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
- 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
- Je n'ai pas trouvé d'exemple d'application d'ampèremètre basé sur une charge / décharge de condensateur
- Une capacité ajoute une constante de temps électrique dans un montage ce qui limite la bande passante de l'appareil de mesure
- 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.
Analyse du premier concurrent : Le multimètre de table de précision
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
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é
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
Etude préliminaire : la mesure de courant par charge / décharge de condensateur
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
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 d'où . 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) :
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
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
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
;
Si l'on suppose l'AOP parfait et en régime linéaire :
or on veut d'où d'où
- 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 :
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 :
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
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
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
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
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
La carte feedback comporte uniquement l'AOP qui sert à la mesure par feedback.
Carte mère
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
Cette carte comporte les différentes résistances servant aux mesures.
Carte calibre
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 :
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.
- 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.
- 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
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
- Fichiers source et du fichier Fritzing du t93xa
- Fichiers source et du fichier Fritzing du opa227u
- Fichiers source et gerber des cartes réalisées
- Rapport de projet P72
Liens Utiles Cités plus haut
- Page Wikipedia sur l'effet Hall
- Explication d'un problème de masse commune
- Etude d'un montage de type Feedback Ammeter
- Low Level Measurements Handbook de LLM Handbook
- Lien du 1er concurrent : le Keithley 2001
- Lien du 2nd concurrent : le National Instruments PXI 4022
- Etude de la consommation en veille de l'ATmega 328p
- Etude de la bande passante nécessaire à la mesure de l'ATmega 328p
- Simulateur en ligne gratuit de circuit électroniques Falstad
- Premier prototype du montage mesureur de courant à base de charge de condensateur fonctionnel réalisé sur Falstad.com
- Utilisation des transistors avec V_CE négatif
- Cours de l'ENS La physique du bruit, Vincent Croquette
Liens Utiles Annexes
Fournisseurs agréés
Datasheets
- ATmega 328p (Arduino Uno)
- ATmega 32u4 (Arduino Leonardo)
- ATmega 2560 (Arduino Mega)
- AT91SAM3X8E Cortex M3 (Arduino Due)
- ATSAMD21G18 Cortex M0+ (Arduino Zero)
- ACS712 (Capteur à effet Hall)
- OPAx277 (AOP de précision)
- Convertisseur Boost
Logiciels utilisés