IMA4 2018/2019 P72 : Différence entre versions
(→Dimensionnement de la mesure de courant) |
(→Choix de l'unité de calcul et de l'ADC) |
||
Ligne 385 : | Ligne 385 : | ||
|} | |} | ||
− | 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 | + | 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. |
===Choix de l'alimentation des composants actifs=== | ===Choix de l'alimentation des composants actifs=== |
Version du 23 janvier 2019 à 13:46
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
- 5 Documents Rendus
- 6 Liens Utiles Cités plus haut
- 7 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 jusque au moins 1A pour les "forts" courants afin de pouvoir mesurer la consommation des éléments 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
- Minimiser les pertes de courant dues à la mesure (<10nA) 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
- 1x Arduino Due [1]
- 1x Arduino Uno (non-SMD) [2]
- 1x Breadboard assez longue [3]
- ~20 ou 30 Câbles pour Breadboard
- 1x Support DIL 28 broches [4]
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
Semaine | tâche | réalisé |
---|---|---|
1 | Planification du design du PCB et dimensionnement du circuit pour un seul mode de mesure | Non |
2 | Mise en place du système de sélection du calibre et finalisation de la liste de matériel | Non |
3 | Dernières simulations et début de design du PCB sur ordinateur | Non |
4 |
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 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 10h | 7h | 2h |
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.
Semaine 1
Cette semaine, je travaille sur l'établissement de la liste du matériel qui n'est toujours pas complète.
- J'ai terminé la partie "prologue" sur l’architecture matérielle qui servira de fil rouge tout au long de ce projet
- J'ai retravaillé le modèle de mesure de courant à l'aide du coulomb-mètre que j'avais fait pendant les vacances. Cette nouvelle version donne des valeurs bien plus fidèles à la mesure même si il reste une erreur pendant la période de commutation.
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.
Choix de l'alimentation des composants actifs
Il est important que l'appareil soit portable, ainsi l'alimentation des composants actifs se fera à l'aide de ce principe :
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.
Semaine 2
- Fin du choix du µC et de l'ADC
Dimensionnement de la mesure de courant
Les 16 ADCs à ma disposition me permettront de mesurer au plus 16 plages de tension différentes ce qui est assez confortable, voici comment je souhaite découper la mesure dans le prototype final :
Numéro du calibre | Seuil inférieur de changement de calibre | Seuil supérieur de changement de calibre |
---|---|---|
1 | 500 mA | |
2 | 600 mA | 200 mA |
3 | 300 mA | 80 mA |
- Par shunt
- Par effet Hall
- Par feedback
- Par charge/décharge de condensateur
Documents Rendus
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
Liens Utiles Annexes
Fournisseurs agréés
Datasheets