Influence des sorties digitales sur la lecture analogique (Love-o-meter)

  • 1000 avec Kamil
    Ces bestioles délivrent seulement 10 mV par degré, vous n'êtes plus avec des signaux numériques de 5V d'amplitude il faut faire attention.
  1. Les fils de cuivre n'ont pas une résistance nulle et si d'autres circuits sont alimentés il se produira une petite tension dans le fil de masse que le micro prendra en compte, d'ou le résultat faux.
  2. Il est clairement précisé dans la datasheet du lm35 que ce produit ne supporte pas des charges capacitives comme il s'en produit avec des grandes longueurs de liaison. La datasheet conseille de placer en sortie du capteur une résistance série de 2k, j'ai fais des essais et j'ai trouvé un optimum à 5k.
    Avec une autre méthode j'ai obtenu de bons résultats avec 50m de câble Ethernet. Je ne peux pas joindre actuellement le schéma étant sur tablette.

Nonjour kamill

kamill:
Il faut une câblage d'alimentation qui alimente uniquement le TMP36 directement à partir des pins de la carte arduino.

Je ne comprends pas le câblage que vous suggérez ?

Cordialement,
bidouilleelec

bidouilleelec:
Je ne comprends pas le câblage que vous suggérez ?

Comme ceci:

kamill:
Comme ceci:

Merci.
C'est bien exactement le schéma que j'utilise;
sauf que j'ai 3 couleurs de diode ....

Rectification : j'ai une augmentation de 1 degré à la 1ère diode allumée , puis 2 dixièmes pour chaque diode suivante.
Ajouter une résistance série sur le LM35 ne change rien.

Cordialement,
bidouilleelec

Pour moi il subsiste l'influence d'un câblage non modifiable : le petit fil qui dans le boitier du Mega 328 relie la patte Vcc et le Vcc de la puce (die)
330px-DIP_package_sideview.PNG

Le courant sortant vers les leds traverse ce fil et produit une petite chute de tension : le Vcc interne est alors un poil plus faible que le Vcc externe (régulé).

Si dans l'application le Vcc sert de Vref cette petite baisse de Vref augmentera un peu la valeur sortant du convertisseur analogique-numérique.
Si les leds étaient commutées par des transistors ce phénomène disparaïtrait
Si le convertisseur utilisait une bonne référence de tension externe (ou la référence 'band gap' interne) le phénomène disparaîtrait également.

al1fch:
Si dans l'application le Vcc sert de Vref cette petite baisse de Vref augmentera un peu la valeur sortant du convertisseur analogique-numérique.
Si les leds étaient commutées par des transistors ce phénomène disparaïtrait

l

J'utilise la référence interne sur A0.

la référence interne Vcc ou la référence interne 'bandgap' de 1,1V ?
le code de Procyon999 utilise le Vcc interne comme référence.

Avec la référence interne 'bandgap' il subsiste l'influence de l'achauffement de la puce lorsque des sorties fournisent des courants de qq mA. la référence 'bangap' est sommaire dans les Mega328

bidouilleelec:
C'est bien exactement le schéma que j'utilise;

??? Tu as dit que tu utilisais le schéma de Procion999

J'ai reproduis le montage supposé de Procion999:

al1fch:
la référence interne Vcc ou la référence interne 'bandgap' de 1,1V ?

la référence interne 'bandgap' de 1,1V

kamill:
??? Tu as dit que tu utilisais le schéma de Procion999

Ah! j'avais oublié cette photo.

J'utilise votre schéma.

Je viens de faire l'essai avec un LM35 car je n'ai pas de LM36, les résistances des leds sont de 220 ohms.
L'effet est très net

Affichage: nombre de leds allumées -> température
Schéma Procion999

0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24
0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24
0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24
0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24
0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24
0 -> 23.95
1 -> 25.90
2 -> 29.33
3 -> 33.24

température de 23.95 à 33.24

Mon Schéma

0 -> 22.97
1 -> 23.46
2 -> 23.46
3 -> 23.46
0 -> 23.95
1 -> 22.97
2 -> 23.46
3 -> 23.46
0 -> 23.95
1 -> 22.97
2 -> 23.46
3 -> 23.46
0 -> 23.95
1 -> 22.97
2 -> 23.46
3 -> 23.46
0 -> 23.95
1 -> 23.46
2 -> 23.46
3 -> 23.46
0 -> 24.44
1 -> 23.46
2 -> 23.46
3 -> 23.46

température de 22.97 à 23.95

Pour les mesures analogiques il faut utiliser la broche GND la plus proche des entrées analogique.
Et si des E/S numériques sont utilisées pour elles il faut utiliser l'autre broche GND --> comme sur le dessin de kamill et vous obtiendrez ses résultats.
Et surtout ne pas polluer la masse analogique en y connectant n'importe quoi.

Si la carte est une UNO la mesure ne sera jamais stable SAUF à souder un condensateur de 100 nF :

  • au verso de la carte
  • directement sur les broches du support pour le micro
  • entre la broche Aref et Gnd DU MICROCONTRÔLEUR, pas de la carte arduino (il y en a déjà un qui ne sert à rien là où il est placé).

Si le concepteur du micro, c'est à dire Atmel, a placé une broche de masse juste à coté de la broche Aref c'est qu'il y a une raison très importante. Mais apparemment cela a complètement échappé à Arduino qui est aller foutre la connection Aref de carte à l'autre bout de la carte. Résultat : la piste est polluée pendant la traversée de la carte en diagonale.

Aref c'est le cœur du convertisseur analogique, si Aref n'est pas propre il est impossible d'obtenir des mesures stables.

al1fch:
Avec la référence interne 'bandgap' il subsiste l'influence de l'achauffement de la puce lorsque des sorties fournisent des courants de qq mA. la référence 'bangap' est sommaire dans les Mega328

J'ai mesuré AREF : 1.107 V quelque-soit le nombre de diodes allumées.

Cordialement,
bidouilleelec

J'ai mesuré AREF : 1.107 V quelque-soit le nombre de diodes allumées.

Cela me parait normal : la perturbation n'est pas dans le micro mais dans le câblage externe.

Le 328p possède une sonde de température qui permet de vérifier s'il y a un changement de température de la puce.
Cette fonction n'est pas prise en charge par Arduino ce qui fait que certains parlent de fonction cachée alors que tout est exposé dans la datasheet.
Bien sûr il faut faire appel aux registres du micro pour l'exploiter.

Bonjour 68tjs

68tjs:
Pour les mesures analogiques il faut utiliser la broche GND la plus proche des entrées analogique.
Et si des E/S numériques sont utilisées pour elles il faut utiliser l'autre broche GND --> comme sur le dessin de kamill et vous obtiendrez ses résultats.
Et surtout ne pas polluer la masse analogique en y connectant n'importe quoi.

En connectant la masse analogique comme vous le décrivez et la masse des diodes à la pin GND située à coté de la pin AREF, le phénomène disparait.
Cela semble donc bien un problème de masse.

Cordialement,
bidouilleelec

Tu n'imagines pas comme la masse a une importance capitale en électronique analogique.

Ce qu'il faut admettre c'est qu'un plan de masse uniforme c'est à dire qui est strictement à 0V sur toute sa surface est une vue de l'esprit.

Après tout dépend des cas d'utilisation, si c'est avec des signaux qui font 5V d'amplitude ce ne sera pas quelques mV qui feront quoi que soit mais avec des amplitudes plus petites rien n'est gagné.

Autre point dans les datasheets des différents micros il y a un chapitre sur les sources d'erreur du convertisseur analogique digital. C'est très clair que la mesure n'est pas donnée à un pas près mais plutôt à ± 5 pas près.

Certaines erreurs sont systématiques c'est à dire que dans les mêmes conditions on aura toujours les mêmes erreurs. Comme exemple on peut citer l'erreur de non-linéarité. D'autres erreurs sont aléatoires, comme exemple on peut citer celle due au bruit d'origine thermique dans le micro.

Leur sommation n'est pas identique. On additionne simplement les erreurs systématiques, pour les erreurs aléatoires on prend la racine carrée de la somme des carrés des différentes erreurs aléatoires.

Les erreurs aléatoires peuvent être éliminées ou grandement affaiblies avec un moyennage.
Les erreurs systématiques ne peuvent pas être éliminées. Seul un étalonnage suivi d'une calibration logicielle peut les compenser.

Bonjour à tous !

J'ai résolu le problème en branchant le GND des sorties numériques et le TMP sur le GND principal.
J'ai aussi rajouté un condensateur 0.1uf.

Je me rends compte qu' Arduino a choisi un atelier sensible pour son starter kit. Comme quoi même les projets pour débutants peuvent être compliqués sur certains aspects :slight_smile:

Je vous remercie pour votre aide.

Bonjour,

Le bon côté de cet atelier : son mauvais fonctionnement du départ, t'as permis (et pas qu'à toi car je m'inclus) de prendre conscience des problèmes de masse pour les mesures analogiques... Et spécialement pour les cartes Uno..
Merci à tout les électroniciens participant a ce fil pour leurs conseils, partage du savoir et astuces

Pierre

petrusfr:
.........
Merci à tout les électroniciens participant a ce fil pour leurs conseils, partage du savoir et astuces

Pierre

Oui, oui : Grand merci à ces sacrés Électroniciens, qui ne font que critiquer les informaticiens (à sa mémère), mais sans qui ????????

Cordialement,
bidouilleelec