Arduino qui demarre tout seul !

Bonjour a tous, jetait en trains de réaliser un montage avec un arduino qui as la particularité de déconnecter son alimentation... je m'explique:

Un appuis sur un bouton rend un transistor passant, de là l'arduino démarre et maintien ce transistor passant via une de ses broches (état haut). Quand l'arduino fini sa tache il passe le transistor en mode bloqué (passage à l’état bas ainsi qu'une résistance tirée a la masse).

jusque là ça va...

maintenant en fonctions des signaux sur ses broches, si il est éteint et qu'il reçoit un signal "1" soit 5V il s'allume et commence le cycle cité ci dessus !

je précise que les broches où j'ai appliqué le signal test ne sont reliées a rien, justes des broches I/O de l'atmega328p non connectées donc aucun lien avec le bouton cité plus haut non plus... :-\

Quelqu'un aurait-il une explication a ce phénomène? et encore mieux, une solution? :astonished:

Je n'ai pas tout compris ... mais des broches laissées en l'air ce n'est jamais une bonne idée

robotdelta: Bonjour a tous, jetait en trains de réaliser un montage avec un arduino qui as la particularité de déconnecter son alimentation... je m'explique:

bonsoir Tu t'explique là déjà ... mal :grin:

-Schéma ? - Code ?

oui je sais j’ai du mal exprimer clairement les choses :sweat_smile:

j’ai fais l’essai entre temps avec un code tout simple, j’ai pris le code exemple Blinks en premant soins de mettres certaines I/O en inputs, d’autres en input Pullup et d’autres en output.

je me rend compte que si je met pas d’alimentation (pas de 5V sur Vin) et que j’applique 5V sur n’importe quelle broche (Input, Input_pullup, Output) le code demarre, jetend par là que la led s’alimente et clignote comme demandé.

l’atmega328p est mis sur breadbord donc juste les liaisons:

  • Pin13 → Resistance + LED → GND
  • GND (relié aux GND de la LED et de la source d’alimentation)

je me rend compte que si je met pas d'alimentation (pas de 5V sur Vin) et que j'applique 5V sur n'importe quelle broche (Input, Input_pullup, Output) le code demarre, jetend par là que la led s'alimente et clignote comme demandé.

C'est normal, le courant descends les potentiels.

Il ne faut JAMAIS appliquer un potentiel sur une entrée d'un circuit non alimenté --> pour tuer un cmos c'est parfait.

Pour protéger les CI de ce genre d'agression et aussi des décharges électrostatiques les concepteurs placent sur chaque accès des diodes de protection montées en inverse.

Si tu appliques une tension sur une entrée d'un ci non alimenté la diode de protection supérieure se retrouve polarisée en direct et alimente (très mal) le CI.

Si tu fais cette erreur occasionnellement le ci résistera, mais si tu t'amuses à faire souvent ce genre d'annerie le ci passera l'arme à gauche. Tu es prévenu.

Uhmhum... C'est bien ce que j'avais imaginé... Donc en clair je peux pas laisser de signal analogique ou Tout ou rien connecté sur les I/O si n'est pas alimenté?

Quels solutions pourrait-il y avoir pour contrer ce phénomène ? Sachant que justement la coupure d'alimentation est pour économiser de l'énergie

Quels solutions pourrait-il y avoir pour contrer ce phénomène ? Sachant que justement la coupure d'alimentation est pour économiser de l'énergie

Il nous faudrait un schéma de ton montage pour te proposer une solution.

Quelques solutions:

  • Des opto-coupleurs sur les entrées
  • Des diodes, anode vers l'entrée de l'ATmega avec un pullup (diode schottky de préférence).

robotdelta: Sachant que justement la coupure d'alimentation est pour économiser de l'énergie

Il y a le mode "veille" pour économiser de l’énergie, tu passes ton arduino en sommeil et la consommation chute.

je devais le mettre en ligne hier mais je n'ai pas eu le temps, je vais le mettre en ligne d'ici la fin de soirée

oui (le mode veille est déjà utilisé en temps normal ) mais ici l'alimentation utilisée distribue l’énergie a plusieurs module, qui seront allumés ou éteint en même temps que l'arduino

si ce n'est pas clair (ce qui est surement le cas ) le schéma devrait être plus parlant^^

alors voila le schéma qui n’est qu’un extrait de l’ensemble

comme expliqué avant , les shields sont alimentés via le powerboost qui produit le 5V depuis la batterie ou l’entrée USB (5V permanent) si activée.

l’arduino “surveille” la tension batterie via la broche Bat (lien direct entre le +batterie et la broche).
si la batterie est trop déchargée l’arduino désactive son alimentation via la broche EN du powerboost désactivant ainsi les autres shields.

Le redémarrage de l’alimentation se fera donc par le signal “contactcle”.

par économie d’énergie le fréquencemètre et les portes logiques (portes “ou”) sont alimenté via le 5V permanent.

sur l’atmega, les signaux “Vbat” et “vitesse” sont des signaux analogiques et les signaux “contact” et “contactcle” sont des signaux logiques 0 ou 5V

Merci pepe pour ces précisions, je n'avais pas vu que le IRF5210 était inadapté, j'ai voulu réutiliser un autre montage et j'ai pas fait attention à ça, je vais rectifier ça :)

Pour les signaux logiques je pensais utiliser un optocoupleur mais ce qui me pose problème c'est que ces bebetes là on une conso importante et pour l'utilisation sur batterie ça m'embête un peu

Pour les signaux analogiques je ne sais pas comment faire par contre pour les isoler

Un interrupteur Cmos? Je n'ai jamais entendu parler de cette bête là, est-ce un montage à réaliser en composants discrets ou existe-t-il en boîtier tout fait ?

Petite précision, les signaux contact1 et contactcle sont des signaux logique d'entrée sur l'atmega

à voir mais ces composants ont l'air intéressants, pour mon application cela devrai suffire, en mettant mon signal logique en entrée et l'alim sur la broche de commande cela devrai fonctionner :)

est-il possible de réaliser un montage semblable qui n'ai pas besoin d'alimentation externe? je veux dire qu'il ne tienne compte que de 5V-bat et non de 5V-bat + le 5V pour l'alim, peut-etre avec des transistors mos?

En fait le signal qui m'embête le plus c'est le signal analogique V-bat3.7v qui est présent en permanence sur les broches de l'atmega le souci c'est que si 5V-bat est coupé ou si 5v est coupé (via l'interrupteur d'alimentation général) 3.7v va se retrouver sur les broches de l'atmega...