Raspberry Pi – Construisez votre propre UPS (alimentation sans coupure)

1591968607 Raspberry Pi Construisez votre propre UPS alimentation sans coupure
1591968607 Raspberry Pi Construisez votre propre UPS alimentation sans coupure

Dans certaines applications, il est important que le Pi continue d’être alimenté en cas de panne de courant. Si quelque chose est écrit sur la carte SD au moment de la coupure de courant, il est possible que l’image devienne corrompue et donc inutilisable.
Un UPS (Uninterruptible Power Supply) garantit qu’en cas de coupure de courant, une batterie / une autre source d’alimentation interviendra sans affecter l’unité.

Un tel onduleur peut être facilement créé avec quelques composants et en cas d’urgence, un script y répondra et arrêtera le Pi correctement.

Matériels requis

Bien qu’ils soient déjà prêts à acheter des onduleurs pour le Raspberry Pi, ceux-ci sont soit assez chers (lien) ou pas très bien notés (lien). Une autre variante (qui nécessite toutefois des compétences en soudage et en électronique) serait l’alimentation de deux sources d’alimentation – l’une via la prise et l’autre via le powerbank.

Installer

Planche à pain UPS

port USB

Port USB
1 – VCC (5 V)
4 – GND
© hardwarelabs.de

Deux ports USB du concentrateur sont requis. Au début, la banque d’alimentation est connectée, ce qui servira de Pi comme source d’alimentation. Le deuxième port USB est utilisé comme interrupteur marche / arrêt pour le relais. J’ai simplement serré les câbles qui contrôlent le relais sous les supports. Sur le côté droit, vous pouvez voir où 5V et GND sont connectés à un port USB.

La broche médiane OUT du relais vient au GPIO27 (broche 13) du Pi. La broche OUT droite est connectée à la broche 2 (5V) du Pi via une résistance de 10kΩ et la broche 6 (GND) à droite.

Logiciel

Supposons qu’il y ait une panne de courant. D’une part, le Pi fonctionnerait encore pendant quelques heures (selon le modèle de banque d’alimentation). Mais alors ce serait fini. Pour que le Pi soit informé qu’il fonctionne actuellement sur «alimentation de secours», les commutateurs de relais sur et sur GPIO23 sont maintenant à 0V. Avant cela, il y avait un niveau élevé parce que l’alimentation du concentrateur USB avait également le relais ouvert.

Dans mon exemple, je veux montrer comment réagir au changement et arrêter correctement le Pi. Bien sûr, d’autres actions peuvent être effectuées (envoyer un e-mail, enregistrer des données, réduire après un certain temps, etc.).

Pour cet exemple, vous devez avoir le câblagePi installé (une implémentation similaire avec Python devrait certainement être possible). La broche de câblagePi 2 correspond à GPIO27 (voir Affectation des broches de câblagePi).

Nous allons créer un nouveau fichier

sudo nano /usr/local/etc/USV.sh

avec le contenu suivant:

Au lieu de mon code, toute autre commande shell peut être entrée.

Pour que le script commence maintenant également à chaque redémarrage, nous le saisissons comme crontab:

sudo crontab -e

La ligne suivante sera ajoutée à la fin du fichier:

@reboot bash /usr/local/etc/USV.sh &

Le modèle Powerbank que j’utilise arrête sa charge dès qu’il est plein. Si vous êtes intéressé, je peux également vous présenter un circuit, qui vous permet de recharger la banque d’alimentation toutes les X heures (qui est essentiellement juste un relais supplémentaire). Pour cela, vous pouvez également lire cet article si nécessaire.