Go Down

Topic: Problème d'interférences (Read 1 time) previous topic - next topic

flamby69

bonjour,

J'ai un problème et je ne sais pas d'où il peut venir. ma carte arduino mega fonctionne parfaitement lorsqu'il y a une seule voie de branchée. mais lorsque je mettais plusieurs alimentations par exemple sur ( 5 ou 6 pins analogiques (en lecture), lorsque toutes mes alims sont éteintes j'ai bien 0V d'indiqué partout, mais lorsque je mets par exemple 4v sur la première, les 4 autres lectures des autres voies m'indiquent des valeurs de 0,5v par exemple et fluctuent en permanence...
Auriez vous une idée de ce qui pourrait causer cela ?
Merci d'avance pour vos avis :)

Jean-François

#1
Nov 20, 2010, 07:58 am Last Edit: Nov 20, 2010, 10:50 am by jfs Reason: 1
Il faut mettre des résistances de pullup ou pulldown.

http://arduino.cc/fr/Main/ApprendreBrochesEntreeSortie
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

fdufnews

Quote
lorsque je mettais plusieurs alimentations par exemple sur ( 5 ou 6 pins analogiques (en lecture), lorsque toutes mes alims sont éteintes j'ai bien 0V d'indiqué partout, mais lorsque je mets par exemple 4v sur la première, les 4 autres lectures des autres voies m'indiquent des valeurs de 0,5v par exemple et fluctuent en permanence...

Il faut bien comprendre comment fonctionne les entrées analogiques. Il n'y a qu'un seul convertisseur analogique/numérique et un multiplexeur assure l'aiguillage des signaux vers celui-ci. Je pense que ton problème est dû au fait que les voies qui sont éteintes n'imposent pas de potentiel et donc ne décharge pas les capacités parasites dans la chaine de conversion.. Il reste une tension résiduelle qui est donc vue par le convertisseur. Je pense qu'il faudrait mettre une résistance de pull down sur les entrées analogiques pour décharger ces capacités.

flamby69

merci beaucoup pour vos réponses. je vais essayer de mettre ces résistances :) . J'ai vu sur d'autres pages qu'il s'agissait généralement de résistance de 10ko, c'est bien ça ?..
J'aurais aussi deux petites questions de débutant..:
Si je mets des résistances pull up, a moins que je les ai mal placés, elle devraient faire en sorte que mes voies de lecture m'indiquent des valeurs différentes de zéro lorsque le circuit est ouvert, non?
et deuxième question, en supposant que ce que j'ai dis ci dessus soit correct, je compte m'orienter vers du pulldown.. Si je fais cela, serait ce une grosse boulette de n'utiliser qu'une résistance de 10ko reliée à la terre et à toutes les voies que j'utilise. Ou bien faut il en utiliser une par voie

fdufnews

#4
Nov 20, 2010, 07:34 pm Last Edit: Nov 20, 2010, 07:36 pm by fdufnews Reason: 1
Une résistance en pull down sur chaque entrée.

flamby69

oki, merci ! je teste ça lundi  :)

fdufnews

Suivant la constitution des sorties qui sont connectées à la carte Arduino, il pourrait être nécessaire de baisser les pull down. Typiquement si, comme le laisse entendre ton premier post, les sorties en question sont des sorties d'alimentation, il pourrait y avoir des capacités importantes auquel cas des pull down de 10K pourrait mettre longtemps à décharger les dites capa.

flamby69

En fait, j'ai parlé d'alimentation pour simplifier et ne pas avoir à expliquer toute ma manip.. il s'agit en fait d'une lecture de tension entre 0 et 5v pour laquelle les 10Ko devraient aller. Je vous tiens au courant, je n'ai pas pu m'en occuper hier..

flamby69

Salut,

J'ai testé avec les résistances pulldown et j'ai toujours le même problème.. :(
y a t'il un moyen de calculer la valeur de ces résistances pour que cela marche en supposant que ce soit la solution ?

Jean-François

#9
Nov 24, 2010, 12:49 pm Last Edit: Nov 24, 2010, 12:50 pm by jfs Reason: 1
Montre un shéma de ton montage et mets ton code.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

flamby69

Voici le code :

Code: [Select]

void setup() {
 Serial.begin(9600);
 //digitalWrite(13,HIGH);
 analogReference(DEFAULT);
}
void loop() {
 int analogValue0 = analogRead(0);
 int analogValue1 = analogRead(1);
 int analogValue2 = analogRead(2);
 int analogValue3 = analogRead(3);
 int analogValue4 = analogRead(4);
 int analogValue5 = analogRead(5);
 String virgule = ",";
 String stringresult = analogValue0 + virgule + analogValue1 + virgule + analogValue2 + virgule + analogValue3 + virgule + analogValue4 + virgule + analogValue5 ;
 Serial.println(stringresult);
 delay(300);
}


pour le schéma, je n'en ai pas encore sur pc, je m'en occupe ce weekend :)

Go Up