Go Down

Topic: Démarrage de l'arduino (Read 759 times) previous topic - next topic

imval

Bonjour tout le monde,
Voilà mon problème : je pilote un moteur pour un vélo éléctrique avec mon arduino en utilisant un MOS.
Sauf que quand l'arduino démarre ou que le microcontroleur se reset, l'arduino met tous ses ports à HIGH pendant quelques secondes.
C'est très problématique dans mon cas, car bloquer un moteur, c'est vraiment pas bon du tout (surtout en 24v).
Donc ma question est : comment faire pour que les ports ne se mettent pas à haut au démarrage de l'arduino ou alors faire en sorte que le moteur ne tourne pas au démarrage. ?

Bonne journée à tous,
Valentin.

fdufnews

Polariser toutes les entrées/sorties critiques avec des résistances au +5V ou à la masse pour fixer leur potentiel pendant la phase d'initialisation.

karistouf

bonjour !
polarisation ? cad mettre une resistance sur chaque ouitput, reliée à la masse ?
est ce que ca vaut aussi pour des relais branchés dessus ?  :-/

fdufnews

Quote
polarisation ? cad mettre une resistance sur chaque output, reliée à la masse ?

à la masse ou au plus suivant l'état que l'on veut trouver sur la broche pendant l'initialisation

Quote
est ce que ca vaut aussi pour des relais branchés dessus ?

Pendant l'initialisation du processeur les broches sont en haute impédance. Donc cela ne doit pas perturber les relais. Ce sont les portes logiques ou les transistors qui peuvent commuter de manière anarchique lorsque leur entrée n'est pas à un niveau franc.

B@tto

HHeeeuuuu moi mon arduino ne met pas les ports en HIGH au démarrage  :o
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

fdufnews

#5
Sep 16, 2010, 09:19 am Last Edit: Sep 16, 2010, 09:22 am by fdufnews Reason: 1
Quote
HHeeeuuuu moi mon arduino ne met pas les ports en HIGH au démarrage  

C'est pas moi qui le dit c'est Atmel.
Quote
The port pins are tri-stated when reset condition becomes active,
even if no clocks are running.

En fait, pendant l'initialisation, les broches sont en haute impédance.
Une fois l'initialisation terminée, avant que le bootloader soit lancé, avec les valeurs par défaut dans les registres, les broches sont configurées en entrée et donc elles se retrouvent encore en haute impédance.
Quand le bootloader à terminé, avant le lancement du sketch, les IO digitales sont par défaut en entrée.
C'est seulement lors de l'exécution de la fonction setup() que leur état est fixé conformément aux besoins réels de l'application.
Donc étant donné la temporisation dans le bootloader, pour attendre une éventuelle connexion avec le PC pour télécharger un nouveau logiciel, il faut compter environ 5 à 5,5 secondes pendant lesquelles les broches sont dans un état indéterminé.

Go Up