Go Down

Topic: Arduino mega 2560 SDA SCL pin 20 21 allumage led pendant reset (Read 1 time) previous topic - next topic

Hexor

Feb 25, 2013, 11:04 pm Last Edit: Feb 27, 2013, 10:19 pm by Hexor Reason: 1
Bonsoir à tous,

J'ouvre un petit topic car je ne m'explique pas un phénomène sur ma carte arduino méga 2560.
Enfait sur les broches 20 et 21 (qui sont aussi SDA et SCL) j'ai une led de branchée entre la sortie et la masse via une résistance de 550ohm

Et lors du reset, ces deux led s'illuminent très légèrement, après recherche et test il s'avère que ça vient du fait que les broches pendant le reset sont en entrées.
Car j'ai testé en déclarant ces deux broches en entrée, et idem mes deux led s'illuminent très légèrement...

Avez-vous une explication à ça ?
Et surtout y-a-t'il un moyen d'y remédier ? car je n'ai pas testé avec un autre composant logique derrière, mais je présume qu'il va interpréter ça comme un état haut...

Merci,
Bonne soirée :)

puppet-master

Je viens de me rendre compte que je connais le même "dysfonctionnement".
Dans mon cas les sorties sont raccordées aux broches 31 à 47.
Que ce soient des LEDs ou des relais le cas est le même.

Dans l'absolu ce n'est pas génant, mais si la sortie pilote un moteur de puissance via relais et contacteur par exemple, ce genre d'impulsion "parasite" lors d'un reset, c'est pas top.

Hexor

Salut puppet-master,

Je viens de tester sur ma méga, et pas de soucis avec des broches pris au hasard entre 31 et 47.
A priori je n'ai ce soucis qu'avec les broches 20 et 21 (qui sur la méga correspondent à sda et scl, coïncidence ou pas...)

68tjs

Les broches sdc et sda sont pour l'I2C.
Pour fonctionner l'I2C exige d'avoir sur SDA et sur SDC une résistance de tirage au + 5V.

N'auriez vous pas de modules I2C avec les résistances de tirages incorporées qui seraient connectés sur votre carte arduino ?

skywodd

Bonjour,


Les broches sdc et sda sont pour l'I2C.
Pour fonctionner l'I2C exige d'avoir sur SDA et sur SDC une résistance de tirage au + 5V.

N'auriez vous pas de modules I2C avec les résistances de tirages incorporées qui seraient connectés sur votre carte arduino ?

Je plussoie, une broche en haute impédance (INPUT) ne devrait pas permettre le passage de courant (ou tellement peu que la diode ne s'allumerait pas).
Les diodes de "clamping" des broches numérique ne devraient pas non plus permettre au VCC ou au GND de revenir dans le circuit (diodes bloquantes, cf image jointe).
Ils restent donc la possibilité d'une résistance de pull-up qui fournirai le courant nécessaire au leds ...
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Hexor

#5
Feb 27, 2013, 08:23 pm Last Edit: Feb 27, 2013, 08:34 pm by Hexor Reason: 1
Bonsoir à tous,

Non pas de module I2c de branché, ni de fonction utilisant I2c ni quoi que çe soit en rapport avec l'i2c.
Juste une led en serie avec une résistance qui va à la masse.

Pas de résistance de pullup non plus... (du moins je n'en ai pas rajoutée, mais il me semble qu'il est possible d'activer ou non celle intégré à l'arduino, alors peut être serais-ce ça ??)

Mais j'ai ce phénomène seulement (à priori) sur ces deux broches, et une autre personne avec la même carte mega2560 à le même phénomène sur ces deux broches aussi... et pareil juste une led + résistance rien d'autre, pas de fonction i2c etc...

------- EDIT --------
Je viens de tester en configurant la broche 20 (sda) en entrée, donc comme avant la led s'allume très peu.
J'ai ensuite fais un digitalWrite(broche_20, HIGH) ce qui d'après la doc arduino active la résistance de pullup, et effectivement la led s'allume un touuuuuuuuut petit peu plus.
Si je fais un "low" la led s'allume autant que pendant le reset ou sans l'activation de la pullup...

Donc tout ça pour dire que ça ne vient pas de la résistance de tirage interne à l'arduino qui n'est donc pas activé par défaut....
Mystère !

B@tto

Ca fait longtemps que vous les avez ? Modèle officiel ou copie ?
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

68tjs

Qu'elle est la valeur de la résistance en série avec la diode ?
Le courant de fuite des sorties n'est au maximum que de 1µA donc trop faible pour qu'une DEL éclaire.
Etats intermédiaires mal maîtrisés soit dans le micro (ça m'étonnerait, depuis le temps qu'Atmel livre ses produits cela se saurait) ou dans le bootloader.


Hexor

#8
Feb 27, 2013, 09:26 pm Last Edit: Feb 27, 2013, 09:28 pm by Hexor Reason: 1
J'ai ce phénomène avec une copie, mais la deuxième personne à qui je faisais allusion dans mon post au dessus possède l'original.
Ma carte à environ 6 mois, la sienne seulement quelques mois.

Résistance de 550ohm dans mon cas.

--- EDIT ---
Quote
Etats intermédiaires mal maîtrisés soit dans le micro (ça m'étonnerait, depuis le temps qu'Atmel livre ses produits cela se saurait) ou dans le bootloader.


J'ai le même phénomène si dans mon programme je déclare la broche en entrée et si je connecte la led.(donc la led éclaire très peu, mais constamment)

68tjs

#9
Feb 27, 2013, 10:00 pm Last Edit: Feb 27, 2013, 10:03 pm by 68tjs Reason: 1
Quote
J'ai le même phénomène si dans mon programme je déclare la broche en entrée et si je connecte la led

Là ça sent le courant de fuite du matériel qui a subit des outrages.

Si tu met une résistance à la masse qu'elle tension mesures-tu entre la sortie de la broche et la masse ?

Si tu as plusieurs valeur de résistance commence avec une 100k ou une 10 k.

Hexor

#10
Feb 27, 2013, 10:04 pm Last Edit: Feb 27, 2013, 10:13 pm by Hexor Reason: 1
Je devrais bientôt recevoir une autre carte, je referai le test...
Mais ça fait ça étrangement seulement sur la broche 20 et 21 (sda et scl) donc coïncidence ou pas ...

Je verrai bien avec ma nouvelle carte.

---- EDIT ---
Je viens juste de voir ton édition concernant la résistance de 10k et 100k.
Je test ça demain :)

B@tto

+1 68tjs

Surtout que que y'en a un c'est que sur les pin i2c, l'autre il a tout un PORT qui est touché ...
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

skywodd

Tu n'aurais pas fait mumuse avec des modules "hauts voltages" par hasard ?
Exemple (malheureusement trop récurent) : du RS232 en direct sur un port série TTL de la mega2560 ?

J'ai comme une idée du problème, j'espère me tromper mais bon ...
Est ce que tu observes le même genre de phénomènes sur les broches 18, 19 ou 38 ?


B@tto, 68tjs : si je vous dis "Serial3 sur 18/19" et "18/19/20/21/38 sur PORTD" vous voyez ce à quoi j'imagine ?
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Hexor

Bonsoir,

Alors pour commencer le résultat des tests demandés hier, à savoir la tension sur les bornes 20 21

A vide: 4.6V
100K a la masse: 4.2V
10K: 2.3V

C'est sur qu'elle en à vu passer cette carte, alors je ne sais plus ce qu'elle s'est prit dans la tronche ou pas ...
Je n'ai pas spécialement joué avec de la haute tension directement sur l'arduino...
Je n'ai pas non plus joué avec le RS232, la seule communication que j'ai utilisé c'est une liaison série via le cable usb sur le pc ...
Et de l'i2c pour jouer avec une eeprom (mais je ne suis meme pas sur que ça soit avec cette carte là...)

Et pas de soucis sur les broches 18 19 38

68tjs

Je voulais vérifier les courants de fuites mais j'ai oublié de spécifier que la pin devait être configurée en entrée, désolé.
Comme tu as joué avec l'I2C il se peut que sur une fausse manœuvre la pin ait pu se trouver court-circuitée vers la masse ou vers le + 5V.

Franchement si je pouvais faire passer le message suivant je serais content :

Ne jamais tester un nouveau composant avec une Mega, commencez avec une UNO où il est possible de changer facilement le micro. La carte UNO n'est pas un achat superflu, elle vous servira toujours pour faire un essais vite fait.

Également ne pas croire béatement les indications sur le site Arduino mais lisez et relisez la datasheet du microcontroleur.
Quand vous branchez un composant sur votre carte lisez et relisez sa datasheet pour voir si les niveaux et les courants absorbés ou fournis sont compatibles.
Les fournisseurs (Arduino en tête) ont tendance à faire passer des valeurs maximales exceptionnelles pour des valeurs permanentes et les circuits intégrés sont comme vous : un peu ça va mais à force d'encaisser ils font la gueule. Raison de plus d'être vigilant : la généralisation des circuits fonctionnant en 3,3V qui ne supportent pas le 5 Volts plus de 10 µs (la fumée blanche c'est  à Rome seulement qu'elle est positive).

Go Up