Si j'alimente mon Pi à partir de GPIO, puis-je détecter qu'il n'est pas alimenté par USB?

11

Je voudrais créer une solution d'alimentation de secours pour mon Raspberry Pi, et j'aimerais qu'une notification apparaisse que le Raspberry Pi fonctionne sur cette alimentation de secours. Cette notification doit me dire que quelque chose s'est produit et que je manque de temps.

Puis-je détecter l'alimentation entrant via GPIO plutôt que via USB?

User7391
la source
Que se passera-t-il si vous avez sous tension GPIO et USB? Hmmm. Rien?
Piotr Kula

Réponses:

7

Pour autant que je sache, vous ne pouvez pas.

Mais en utilisant une électronique très simple, vous le pouvez. L'option la plus simple et directe consiste à utiliser 2 broches GPIO en entrée (une pour chaque alimentation).

Connectez les deux alimentations (en plus de leur connexion normale pour fournir réellement l'alimentation) via certaines résistances (pour la sécurité et le réglage du niveau de tension !!) à ces broches GPIO.

Dans le logiciel, vous venez de lire les deux broches. Si les deux sont «1» (donc 5 V ou 3,3 V), les deux blocs d'alimentation fonctionnent correctement. Si l'une de ces broches d'entrée est un «0», l'alimentation connectée est coupée et vous pouvez prendre les mesures appropriées dans votre logiciel.

Plus de variantes sont disponibles, sur cette version très basique, qui n'utilisent qu'une seule broche d'entrée GPIO, mais les composants électroniques externes nécessaires deviendront légèrement plus complexes.

Remarque: L'alimentation via le GPIO présente certains risques car le fusible à semi-conducteurs est contourné, vous devrez donc au moins utiliser une protection contre les pénuries dans la connexion d'alimentation alternative.

Ce petit schéma ci-dessous devrait faire le travail, vous en aurez besoin de deux (un pour chaque alimentation)

Un petit schéma pour la détection si une alimentation fonctionne

Avant de les connecter à votre Raspberry Pi, mesurez les tensions de sortie du Raspberry et des broches GPIO, les diodes 1N4001 ont normalement une chute de tension d'environ 0,7 V mais cette diode étant une diode à usage général elles ne sont pas très précises. La tension du Pi ne doit pas dépasser 5 V et celle de la broche GPIO ne doit pas dépasser 3,3 V.

En modifiant ce schéma et en utilisant un régulateur de tension LM317 (et en lui donnant les valeurs de résistance correctes sur la broche ADJ, vous pouvez à nouveau connecter une alimentation `` standard ''), mais cela nécessite plus de composants. Cette alimentation «standard» peut être de 7,5 V ou 9 V.

Version différente utilisant LM317

Le LM317 a besoin de 2 condensateurs qui ne sont pas dans ce schéma, veuillez consulter la fiche technique du LM317 pour ceux-ci.

ikku
la source
Oui, je ne suis toujours pas clair. Dois-je utiliser 2 broches GPIO comme masse? Pouvez-vous publier le schéma en cas de problème?
User7391
1
Les deux GPIO liront la même valeur, sauf si vous isolez les deux alimentations avec des diodes. La chute de tension supplémentaire des diodes pourrait causer des problèmes de fiabilité
John La Rooy
Je vais créer un petit schéma plus tard dans la journée, mais gnibbler a raison, certaines diodes sont nécessaires, nous devons donc compenser la chute de tension, ce qui signifie que vous ne pouvez plus utiliser les alimentations USB `` de l'étagère ''.
ikku
Excellents schémas. Je suis curieux, quel programme avez-vous utilisé pour les fabriquer?
User7391
Cela a été fait en utilisant gEDA, juste pour cette fois, normalement j'utilise KiCad.
ikku