Arduino on off sans boutons

Bonjour,
Je voudrais faire un pcb avec un ATMEGA32U4. Il doit fonctionner en 3.3v et il sera alimenté avec une batterie lipo en 3.7v via un régulateur de tension AP2112K-3.3. Le pcb pourra être placé sur une station de charge via le port usb. Pour sélectionner la source d'alimentation externe via usb ou interne via batterie, je pense utiliser un mosfet ZXMP6A13FTA et une diode BAT20JFILM. Mon problème est le suivant, je voudrais que le microcontrôleur démarre lorsqu'on l'enlève de la station de charge et qu'il s'arrête lorsqu'on le replace sur la station de charge. Quelles solutions sont envisageables?
Détection niveau logique détecté sur les broches D+ et D- du microcontrôleur?
Utilisation d'un PMIC (Power Management Integrated Circuit) style MCP73831/2?
Détection de tension de réinitialisation MCP130?
Quelle est la meilleure solution est comment la mettre en œuvre.
Merci pour vos réponses

Bonjour @zjbjbjbz

Je suppose que tu souhaites différencier , côté USB deux situations :

-la connection à la station de charge via USB
-la connection à un port USB pour un transfert de données

sinon un simple MOSFET N , grille sur VUSB, source à la masse et drain sur Reset ferait l'affaire :wink:

si la connection avec données USB n'est que ponctuelle un simple cavalier pourrait neutraliser l'effet du Mosfet ci-dessus

autre solution : une ampoule ILS 1RT entre Reset 32u4 et masse , et un câble USB 'dédié charge' avec un petit aimant en extremité

je n'ai pas besoin de transfert de données via USB. Je n'ai donc pas besoin de cavalier?

oui, toute présence de 5V sur Vusb forcera le Reset du microcontrolleur qui ne redémarrera qu'àprès déconnection du câble USB.

penser qand même au besoin de téléversement du code, via USB pour par ISP ?

Par curiosité : Pourquoi avoir choisi un mega32u4 si l'USB n'est pas utilisé ?

En fait, le pcb a déjà été développé avec le port usb pour graver le bootloader et téléverser le sketch, donc j'aurais bien besoin d'un cavalier (entre le drain et le reset?). La mise en marche et l'arrêt du pcb se fait avec un bouton à glissière que je veux supprimer.
Aurais tu un mosfet à me conseiller? un autre microcontroleur plus adapté?

Aurais tu un mosfet à me conseiller? un autre microcontroleur plus adapté?

Non, une réponse serait sans intérêt sans connaissance du cahier des charges

par ailleurs l'USB en transfert de données sert ici à flasher un bootloader, ça lui fait déjà une fonction. sans USB natif (dans le µC) :wink:

je comprends. Peux tu me confirmer l'emplacement du cavalier entre le drain et le reset pour autoriser le transfert de données

ok , entre drain et reset

n'importe quel petit mosfet N fait l'affaire du moment que son Vgs garantit une bonne conduction avec 5V sur la grille

en boitier TO92 un classique 2N7000 par exemple

Merci de ton aide

de rien

....il est quand même prudent de tester avant de lancer la fabrication d'un circuit imprimé :wink:
ne pas oublier une résistance entre grille et masse pour avoir un blocage franc du Mosfet lors de la déconnection du chargeur

Bon en fait, l'histoire n'est pas fini, j'ai utilisé un 2N7000, j'ai connecté la grille du mosfet au VBUS, mais j'ai du connecté le drain à la masse et la source au reset du microcontrôleur.
Quand je charge le microcontrôleur s'arrête et quand je débranche l'usb, le microcontrôleur démarre. Super.
Maintenant je voudrais pouvoir arrêter le microcontrôleur au bout d'un certain temps si il n'est pas replacé sur sa station de charge.
Il n'existe pas de fonction native pour éteindre complètement l'Arduino par code et le mode veille ne fonctionne pas (peut être parce que l'alimentation est géré par le mosfet)
Merci de m'éclairer encore une fois de vos lumières.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.