ce lien (PDF 737 kB)

publicité
Après une présentation sur le matériel Arduino, suivie d’une activité pratique, voici le temps de
connecter notre petit matériel vers l’extérieur et de commencer à faire des mesures dans le
monde analogique: ce n’est pas toujours facile !
Table des matières
1)
2)
3)
4)
5)
6)
Le convertisseur analogique / digital (A/D)
Les recommandations de câblage
Les différents amplificateurs isolés galvaniquement
La mesure de courant
Les jauges de contraintes
Les capteurs reliés directement à un bus de données
1) Le convertisseur analogique digital (A/D)
Quelques paramètres:
a. La plage de mesures.
Il y a des convertisseurs qui fonctionnent dans une plage de:
0-5V
-> Adapté à l’alimentation du microcontrôleur
0-10V
-> Un meilleur rapport signal / bruit
-10V / + 10V -> Bipolaire.
Ratio métrique -> On fournit au convertisseur la mesure de la tension de
référence aux bornes du capteur, cette tension peut varier légèrement (compensation
des chutes de tension dans les câbles, etc.)
b. La vitesse de conversion
Il existe des convertisseurs très rapides, d’autres très précis, c’est toujours un
compromis entre vitesse, résolution et …. prix !
c. Le « sample and hold »
Quelques fois, on doit mesurer un signal à un instant très précis. Le convertisseur est
incapable de convertir la tension à cet instant précis. De plus, la commande software ne
connaît pas forcément cet instant.
On va donc prendre un échantillon à cet instant précis, mémoriser de manière
analogique la valeur.
On aura ainsi le temps d’effectuer une conversion précise “off line”
Cas particulier le « peak and hold »: c’est la mémorisation de la valeur maximum. Du
point de vue électronique, c’est tout un art !
d. La résolution.
Supposons que je veuille construire un pèse-personne.
Échelle de mesure 0-> 100 Kg, résolution 0,1 Kg. On prendra une résolution 20 fois
meilleure que la précision que l’on veut afficher soit 100/20 = 5 grammes !
Nombre d’échantillons: 100 Kg / 0,005 = 20000 échantillons -> 15 bits minimum, on est
loin de l’Arduino de base…
Quelques technologies utilisées:
A. Le convertisseur à double rampe en 3 étapes
Ce fut la première technologie vraiment efficace. Aujourd’hui, cette technologie est
remplacée par le delta sigma.
1) On charge une capacité avec un courant proportionnel au signal à convertir pendant un
temps fixe (le temps du comptage complet du compteur) ;
2) On décharge ensuite la capacité, avec un courant constant issu de la tension de
référence, jusqu'à annulation de la tension à ses bornes. Lorsque la tension devient
nulle, la valeur du compteur est le résultat de la conversion ;
3) On annule enfin la tension aux bornes de la capacité par une série convergente de
charges et de décharges (l'objectif étant de décharger totalement la capacité pour ne
pas fausser la mesure suivante). On parle en général de phase de relaxation.
B. Le convertisseur flash
Cette technologie est utilisée dans le cas où l’on a besoin de rapidité, par exemple vidéo,
oscilloscope numérique, etc.. C’est diablement rapide, mais… onéreux.
C. Le convertisseur delta sigma
C’est aujourd’hui une des technologies les plus utilisées pour des conversions précises dans le
cas où le besoin en bande passante est faible. On trouve couramment des convertisseurs avec
une résolution de 24 bits pour quelques dollars. Attention, un convertisseur de 24 bits de
résolution ne signifie pas 24 bits de précision. Rappel: pour un convertisseur de 24 bits avec
une échelle de 5 V, le LSB vaut: 0.0000003 V soit 0,3 micro volt !
En effet, il y a plusieurs facteurs qui entachent la précision, notamment:
●
Le bruit du signal analogique
●
Le bruit de quantification
●
Le convertisseur n’est pas forcément monotone.
●
La référence de tension n’est pas parfaite (bruit, etc)
●
La ronflette…
.
D. Le convertisseur utilisé dans l’Arduino.
Le microcontrôleur de l’Arduino contient déjà un convertisseur analogique digital.
Ce convertisseur est bien pratique pour des petits montages. Dans d’autres cas, il devra être
remplacé par un composant plus performant.
C’est un convertisseur basé sur l'approximation successive. La notice technique nous apprend
que le temps de conversion est de 13 à 260 us pour une précision de 10 bits.
Comme dans la majorité des convertisseurs analogiques digitaux, la fin de la conversion peut
générer une interruption sur le microcontrôleur.
Remarque: l’utilisation de nombres flottants impose le chargement d’une librairie
supplémentaire, consomme beaucoup de mémoire et de CPU !
2) Les recommandations de câblage
La plus belle femme au monde ne peut donner que ce qu’elle a…..
Ici, c’est pareil. On a beau avoir de supers beaux capteurs et de bons composants, le câblage
a souvent une importance capitale.
Par principe, le monde analogique n’aime pas trop la proximité du monde digital, car il y a des
inductions parasites et des pointes de courant d’alimentation qui se retrouvent dans la mesure
analogique, etc.
●
Il convient donc de séparer le plus possible les circuits, notamment la masse
«analogique» de la masse «digitale». On essayera également de blinder le circuit
analogique.
●
Pour des raisons de rapport signal / bruit, on travaillera avec des tensions les plus
élevées possibles. On préfèrera donc travailler si possible avec une référence de 10 V
plutôt que 3,3 V, etc.
●
Pour lutter encore contre le bruit, on travaillera avec la bande passante la plus faible
possible. On peut également mettre en place un filtre qui atténue le 50 Hz.
3) Les différents amplificateurs isolés galvaniquement
Aujourd’hui, plusieurs technologies existent pour mesurer un signal dont le point de référence
ne correspond pas au point de référence du convertisseur analogique digital.
Tout d’abord, il faudra choisir si on effectue l’isolation du côté analogique:
… Ou du côté digital:
Bien sûr, c’est plus facile d’effectuer l’isolation du côté digital, mais on ne peut pas toujours le
faire.
Cela suppose de pouvoir alimenter de l’électronique du côté isolé, ce qui n’est pas toujours
évident. Comme nous allons le voir, les méthodes de transmissions ne manquent pas, chacune
a ses avantages et ses inconvénients.
A. Utilisation d’un ampli différentiel.
Bien que cela ne constitue pas à proprement parlé un isolement, mais, avec la très
grande amélioration des amplificateurs opérationnels, il est possible de mesurer un
signal dont le potentiel de référence est très loin de la masse du circuit analogique.
Attention ! le comportement en dynamique, par exemple, sur un hacheur de puissance
n’est pas forcément très bon.
B. Transmission capacitif.
Le principe est d’avoir un étage d’entrée comportant un amplificateur opérationnel, celui-ci est
suivi d’un convertisseur analogique digital avec une sortie série.
On passe l’information de manière capacitive de l’autre côté de la barrière d’isolement et on
reconstitue le signal analogique.
Cette technique fonctionne bien pour des fréquences élevées (typiquement 20 kHz) et 2,5KV
d’isolement). Il faut alimenter les 2 côtés de l’amplificateur d’isolement, quelques fois il y a un
petit convertisseur dans le composant… De plus, il ne faut pas oublier qu’à 10 MHz, une
impédance de couplage de 10 pF représente une impédance de seulement 1,6 K Ohm….
Lorsqu’il y a des fronts très raides entre les 2 sources comme par exemple dans les hacheurs
d’alimentation à découpages, cela provoque des transmissions parasites qui produisent des
erreurs en sortie. Cette technologie est, par contre, indépendante des champs magnétiques.
C. Transmission magnétique
Ici, on module le signal analogique pour obtenir un signal alternatif que l’on peut appliquer à un
transformateur. Un autre transformateur est en général utilisé pour fournir l’alimentation du côté
à isoler. Les performances de bandes passantes sont meilleures que l’isolement capacitif. La
consommation est relativement faible, mais il y a une sensibilité aux champs magnétiques
externes.
Cette technologie présente une immunité face aux champs électriques.
D. Transmission optique
On utilise dans cette technologie un optocoupleur constitué d’une led et de 2 photos diodes.
On suppose que les 2 photos diodes sont identiques.
On utilise une photo diode pour la contre-réaction de l’étage d’entrée.
Cette technologie, un peu ancienne, est toujours délicate à mettre en œuvre, car il est difficile
de compenser l’offset. De plus cet offset bouge un peu dans le temps. La bande passante est
faible, la consommation est élevée, mais il y a une immunité face aux champs électriques et
magnétiques.
En résumé, il est très difficile de réaliser un amplificateur d’isolement de qualité.
J’ai eu à en développer un pour un analyseur de spectre du réseau 220 V. Eh bien ! C’était très
chaud pour obtenir les performances désirées.
Si je me souviens bien la bande passante allait du continu à 200 KHz avec -0,1 dB
d'atténuation…..
4) Les mesures de courant
Depuis que l’électronique existe, il faut mesurer des tensions et des courants. Ces derniers
temps, principalement dû aux besoins de miniaturisation, les techniques mises à disposition ont
explosé.
A. La mesure directe (par un shunt)
Même si la masse de la mesure est la même que la masse du shunt, on utilisera dans la plupart
des cas une mesure par amplificateur différentiel. Ainsi, on évitera les boucles de masses et
tous les problèmes inhérents. Si la tension sur le shunt est faible, il faudra prendre garde à
l’offset de l’amplificateur opérationnel
L’alimentation de l’amplificateur devra être bipolaire.
B. Utilisation d’un amplificateur différentiel supportant un très grand mode commun.
Les fondeurs de circuits intégrés ont développé des techniques pour mesurer des courants à
des tensions jusqu'à 80 V.
Les tensions d’offset sont très faibles. En interne, il y a des commutateurs pour mesurer et
annuler cet offset. La bande passante n’est pas très élevée.
Voici un exemple de chez Adafruit: sortie en I2C directe, librairie fournie, mesure jusqu’à 3,2 A
tension max 26 V, 12 bits environ 600 us pour l’acquisition.
On voit à peine le circuit intégré….
Un autre avec 80 V d’isolation et 200 KHz de bande passante sortie analogique.
C. Mesure de courant indirecte utilisant la mesure du flux magnétique
Selon notre vieille règle des trois doigts, un courant produit un champ électrique et
électromagnétique. Ces 3 champs sont perpendiculaires entre eux.
Le principe est basé sur un capteur à effet Hall qui, avec un courant constant, produit une
tension proportionnelle au champ magnétique (crée par le courant a mesuré) appelée tension
de Hall.
Il existe 2 différentes techniques:
1) La mesure de flux
On mesure le flux et on en déduit le courant. C’est la mesure la plus simple, la bande passante
est d’environ 25 KHz, mais elle est un peu moins précise pour les faibles courants. Il existe
plusieurs gammes de produits utilisant cette technologie. Plusieurs astuces existent pour
diminuer la tension d’offset, dû entre autres à la rémanence du matériel magnétique.
Quelques composants sur le marché:
Attention ! Il existe 2 modèles de circuit imprimé: le premier qui est fait pour les faibles courants
et le second pour le 5 A. Celui pour les faibles courants est très mal fait, il a un amplificateur
pratiquement inutilisable, beaucoup trop de bruit et de dérive.
On peut changer le circuit intégré et monter jusqu’à 30 A. Isolation 2,1 KV bande passante: 80
KHz résistance 1,2 milli ohm. J’ai une bonne expérience avec ces circuits.
Lem produit également un capteur avec la même technologie:
Courant mesuré de 100 A, 45 KHz de bande passante, alimentation 0-5V, isolation 2 KV
2) La compensation de flux
Ici on cherche à annuler le flux créé par le courant à mesurer avec une bobine alimenté par un
amplificateur. L’amplificateur commande la bobine en opposition avec le flux mesuré par un
capteur à effet Hall. On cherche à n’avoir aucun flux dans le circuit magnétique.
C’est ce que l’on appelle un transfo shunt ou capteur Lem. La sortie est un courant
proportionnel au courant d’entrée comme dans un transformateur d’intensité. Depuis quelques
années, Lem a des concurrents. Comme on l’a vu, Lem produit également des capteurs style
“boucle ouverte”
5) Les jauges de contraintes
a. Principe et ordres de grandeurs
Voici un bref aperçu sur l’utilisation des jauges de contraintes (en anglais “load cell”).
Les jauges de contraintes sont des résistances qui varient avec l’effort appliqué dessus.
En effet, la résistance d’un conducteur est proportionnelle à sa longueur et inversement
proportionnelle à sa section:
Si on applique une force sur une jauge de contrainte, la longueur du fil va augmenter, sa
section, en conséquence, va diminuer. Le résultat est que la résistance va augmenter.
Oui, mais de combien va varier la résistance ?
La pièce mécanique sur laquelle le capteur est fixée doit être utilisée dans sa plage linéaire…
Sans entrer dans des calculs compliqués, on se rend vite compte que l’augmentation de
longueur de la jauge de contrainte est très faible et donc que la variation de résistance sera
malheureusement elle aussi très faible.
b. Influence de la température
Tout conducteur soumis à une variation de température verra sa résistance varier.
En choisissant correctement le conducteur, on pourra minimiser l’influence de celle-ci mais
comme la variation de la résistance est faible, l’influence de la température risque de ne pas
être négligeable…
Pour contrer ce phénomène, on peut intégrer une compensation de température dans notre
code sur notre Arduino préféré… On préfèrera utiliser les jauges par couple.
On utilise à chaque fois 2 jauges: une jauge soumise aux contraintes mécaniques et l’autre
uniquement pour la compensation thermique.
c. Le montage en pont de Wheatstone
Remarque R4 pourrait très bien être une jauge de compensation thermique.
d. La sensibilité du montage
Ici, on n’a pas beaucoup de chance… La variation de résistance étant faible, la variation de
tension récoltée aux bornes du montage sera faible également.
On parle usuellement d’une sensibilité de 2 mV par V d’excitation pour une charge maximum,
soit une dizaine de mV de déviation (avec un offset de plusieurs volts). C’est donc vraiment très
faible !!!
d. Étage d’entrée
Avec une variation de tension aussi faible, il conviendra de soigner tout particulièrement l’étage
d’entrée afin de minimiser les erreurs de mesures.
On utilisera donc un ampli différentiel en choisissant avec soin l’amplificateur d’instrumentation.
On contrôlera notamment:
.
●
La réjection en mode commun
●
Le bruit
●
Le gain
●
L’offset
●
La dérive de l’offset avec la température.
e. La conversion analogique digitale
Particulièrement dans ce type de mesure, il conviendra de bien choisir le convertisseur. Sur le
marché, il existe des bons circuits pas cher.
Ce circuit présente les avantages suivants:
●
Alimentation en 5 V.
●
Consommation très faible.
●
Entrées différentielles.
●
On peut imposer le point chaud et le point froid de la référence. Ainsi, il est possible de
compenser les pertes dans les câbles d’alimentation des sondes.
●
Il est possible d’amplifier l’entrée.
●
Très faible bruit.
●
Filtre programmable 50 / 60 hz.
●
Convertisseur 24 bits dont 19,5 utilisables.
●
Sortie sur le port SPI.
Analogue Device a même une carte d’évaluation sous forme de “shield” Arduino:
La carte d’évaluation est très bien faite sur le plan de la réalisation électronique.
Par contre, du point de vue logiciel, les standards actuels ne sont pas respectés, en particulier,
les accès au bus SPI n’utilisent pas le mode transactionnel et, par conséquent, rendent difficile
la présence d’autres périphériques SPI sur ce bus.
J’ai réécrit une librairie qui permet entre autres d’avoir plusieurs balances...
6) Les capteurs reliés directement a un bus de données
Aujourd’hui, les microcontrôleurs tels que l’arduino, mais aussi la plupart de ceux-ci comme le
Raspberry et autres, supportent en natif des bus de données dont principalement le bus SPI,
I2c et OneWire. Ce ne sont pas les seuls bus, il en existe d’autres !
Il appartient au technicien de vérifier la fidélité du capteur, la compatibilité avec le bus de
données sans oublier de contrôler si l’alimentation est en 3,3 V ou 5 V. Les développements
électroniques pour les smart phones ont permis, par exemple, d’obtenir des boussoles,
inclinomètres et autres accéléromètres pour des sommes de 10 $ alors qu’il y a quelques
années leurs prix variaient entre quelques centaines à quelques dizaines de milliers $!
Rappelons les caractéristiques principales de ces 3 bus:
Le bus SPI:
●
Une ligne d'horloge,
●
une ligne de data pour le master (MOSI)
●
une ligne de data pour les esclaves (MISO)
●
une ligne pour chaque périphérique (chip select)
●
Bus très rapide mais courte distance
●
Pas d'acquittement
●
Librairie pour Arduino
On voit que le bus est assez simple d’utilisation, il existe des librairies qui intègrent ce protocole.
Malheureusement, la synchronisation avec l'horloge peut être soit sur l’état haut soit sur l’état
bas. Pour cette raison, Arduino a développé une librairie transactionnelle pour faciliter
l’adressage de plusieurs périphériques de différents types sur le même bus. Il existe,
malheureusement, d’autres bus “maisons” dont le protocole est plus ou moins décrit, avec
différentes versions. C’est le cas pour les stations météo par exemple. L’effort de « retro
engineering » peut être très important pour utiliser un capteur bon marché...
On trouve principalement les capteurs suivants:
● Pression (Honeywell)
●
température
●
Sonde à effet Hall
Bus I2C ou IIC:
●
Seulement 2 lignes de contrôles !
●
Bus normalisé: pas besoin de transaction
●
Il faut ajouter des résistances de pullup
●
Configuration à plusieurs maîtres possibles
●
128 périphériques possibles
●
Librairie pour Arduino
On trouve principalement les capteurs suivants:
●
Température
●
Température de la couleur
●
Pression barométrique
●
Capteur de distances à ultrasons
●
Inclinomètre
●
Accéléromètre
●
Boussole
Le bus « OneWire »
●
Une seule ligne de données
●
Mode parasite possible: le périphérique est alimenté par la ligne de data….
●
Utilisé principalement pour des capteurs de température ou des interrupteurs.
●
Chaque périphérique a une adresse unique gravée dans le « chip ».
Le DS18B20:
Voilà, pour cette présentation ! Les techniques de mesures sont toujours très intéressantes à
étudier et à mettre en pratique. Aujourd’hui, il existe des capteurs spécialisés de toutes sortes,
comme pression atmosphérique, humidité, etc. sans compter les capteurs biométriques. Il faut
toujours faire très attention de ne pas perturber les mesures. Des circuits ultra performants sont
disponibles chez les fournisseurs, encore faut-il les utiliser à bon escient !
Téléchargement