Arduino Forum

International => Français => Topic started by: Procyon999 on Apr 28, 2019, 08:14 pm

Title: Influence des sorties digitales sur la lecture analogique (Love-o-meter)
Post by: Procyon999 on Apr 28, 2019, 08:14 pm
Bonjour,

Je constate un souci de lecture sur le connecteur analogique lorsque j'active un connecteur numérique(sur mon arduino uno).

Je suis sur l'atelier Love o meter (starter pack) et lorsque j'utilise le code ci-dessous sans les conditions en rouge, cela
fonctionne parfaitement bien. Je trouve 21°c.

Dés que j'ajoute les trois conditions de la fin, les valeurs de température mesurées  par l'arduino dérivent jusqu'à +6°c. Pourtant lorsque je prends la tension à la sortie du capteur de température celle-ci est identique dans les deux cas (0,7v).

Auriez-vous des indices sur ce qui provoque cette dérive ?
Je me casse les dents depuis ce matin sur ce truc. :'(

Je vous remercie.


Code: [Select]
const int sensorPin = A5;
const float tempBasse = 20.0;
const float tempMoy = 22.0;
int tempSensor = 0;
float temperature = 0.0;

void setup() {

Serial.begin(9600);
for (int ledPin = 2; ledPin <=7; ledPin++) {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin,LOW);
}
}
void loop() {

tempSensor = analogRead(sensorPin);
temperature = (((tempSensor/1024.0)*5.0) - 0.5) * 100.0;

Serial.println(tempSensor);
Serial.println(temperature);

[color=red]if(temperature < tempBasse) {
  digitalWrite(2,HIGH);
  digitalWrite(4,LOW);
  digitalWrite(7,LOW);
} else if ( temperature < tempMoy && temperature > tempBasse) {
  digitalWrite(2,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(7,LOW);
} else if ( temperature > tempMoy) {
  digitalWrite(2,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(7,HIGH);
}[/color]
 delay(1000);

}
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on Apr 28, 2019, 08:35 pm
Bonjour,

Relies le GND et le +5V de ton capteur de température directement à la carte arduino (sans être commun avec le GND des leds).

Mets ton code entre balises.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: 68tjs on Apr 28, 2019, 11:39 pm
Indique quelle carte tu utilises exactement (Love o meter ? ? ? ?).
Lien cliquable sur le produit si ce n'est pas un produit arduino.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: Procyon999 on Apr 29, 2019, 11:19 am
Je viens de tester en rapprochant les pins d'alimentation au plus proche du capteur.
Cela fonctionne mieux. La dérive n'est plus que de +2°c.

D'ailleurs si je bouge légèrement les pins pendant le fonctionnement cela fait fluctuer les résultats bizarrement.

Cela me laisse sceptique.

J'imagine qu'il doit exister un moyen de filtrer ca...
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: dbrion06 on Apr 29, 2019, 11:23 am
J'imagine qu'il doit exister un moyen de filtrer ca...
Oui, mais pour commencer, faudrait que vous expliquez comment est alimenté (pile; secteur. Avec / sans découplage) votre philomètre.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on Apr 29, 2019, 11:26 am
Bonjour Procyon999

Utilisez vous un TMP36?
Il est souvent conseillé de mettre un condensateur de 100n entre et au plus près des pattes +5v et gnd  du capteur.

Également de moyenner les mesures.

Cordialement,
bidouilleelec
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on Apr 29, 2019, 06:54 pm
Je viens de tester en rapprochant les pins d'alimentation au plus proche du capteur.
C'est bien, mais ce qu'il faut surtout c'est que les fils d'alimentation aillent directement de la carte arduino au capteur et ne servent pas à alimenter autre chose.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 07:53 am
Bonjour

J'ai reproduis le montage supposé de Procion999:

_Arduino Uno
_LM35 avec condensateur 100n
_3 diodes
_un copier-coller de son algorithme d'allumage des diodes.

Je constate le même phénomène en plus faible.

Plus il y a de diodes allumées plus la température lue augmente (de quelques 1/10 de degré).

Isn'it bizarre?

Cordialement,
bidouilleelec
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: al1fch on May 01, 2019, 08:33 am
Bonjour

légérère baisse de Vref quand le courant total fourni par le Mega 328 augmente ?
Si Vref baisse , la tension mesurée augmente et la température avec
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on May 01, 2019, 08:52 am
Plus il y a de diodes allumées plus la température lue augmente (de quelques 1/10 de degré).

Isn'it bizarre?
Non ce n'est pas bizarre.
Les mêmes fils d'alimentations sont utilisés pour les leds et le TMP36. Il suffit d'une perte de quelques mV dans les fils quand les leds sont allumées pour faire varier la température lue.

Il faut une câblage d'alimentation qui alimente uniquement le TMP36 directement à partir des pins de la carte arduino.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: fdufnews on May 01, 2019, 09:21 am
D'ailleurs si je bouge légèrement les pins pendant le fonctionnement cela fait fluctuer les résultats bizarrement.
Je suppose que tu utilises une breadboard pour faire ton montage.
Ces plaques de test ne sont pas réputées pour la qualité de leurs contacts. Le simple fait de bouger les fils peut modifier fortement la résistance de contact et entraîner une variation de la mesure.
Donc ne pas trop s'inquiéter non plus.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: 68tjs on May 01, 2019, 09:22 am
+ 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.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 09:53 am
Nonjour 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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on May 01, 2019, 10:28 am
Je ne comprends pas le câblage que vous suggérez ?
Comme ceci:
(https://i.ibb.co/tm3m7dL/Cablage-tmp36.png) (https://ibb.co/tm3m7dL)
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 11:40 am
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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: al1fch on May 01, 2019, 11:52 am
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)
(http://forum.arduino.cc/index.php?action=dlattach;topic=612857.0;attach=306329)

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.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 11:55 am
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.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: al1fch on May 01, 2019, 12:00 pm
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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on May 01, 2019, 12:01 pm
C'est bien exactement le schéma que j'utilise;
??? Tu as dit que tu utilisais le schéma de Procion999
Quote
J'ai reproduis le montage supposé de Procion999:
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 12:16 pm
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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 12:22 pm
??? Tu as dit que tu utilisais le schéma de Procion999
Ah! j'avais oublié cette photo.

J'utilise votre schéma.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: kamill on May 01, 2019, 01:16 pm
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
Code: [Select]

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
Code: [Select]
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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: 68tjs on May 01, 2019, 01:39 pm
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 :

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.

Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 01:42 pm
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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: 68tjs on May 01, 2019, 01:51 pm
Quote
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.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: bidouilleelec on May 01, 2019, 01:55 pm
Bonjour 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
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: 68tjs on May 01, 2019, 04:53 pm
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.
Title: Re: Influence des sorties digitales sur la lecture analogique
Post by: Procyon999 on May 03, 2019, 08:22 am
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 :-)

Je vous remercie pour votre aide.
Title: Re: Influence des sorties digitales sur la lecture analogique (Love-o-meter)
Post by: petrusfr on May 03, 2019, 07:44 pm
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
Title: Re: Influence des sorties digitales sur la lecture analogique (Love-o-meter)
Post by: bidouilleelec on May 06, 2019, 04:50 am
.........
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