Gestion de l'alimentation d'un média-center avec un système à relais.

Un lieu pour discuter des composants et de leur utilisation. Un passage obligé si vous devez interfacer votre Raspberry Pi avec le monde extérieur. On y trouvera aussi les cartes type commande de moteur pas à pas, continu, servo...

Modérateurs : Francois, smba38

Répondre
batouh
Messages : 7
Enregistré le : ven. 28 avr. 2017 10:33

Gestion de l'alimentation d'un média-center avec un système à relais.

Message par batouh » mar. 9 mai 2017 13:34

Bonjour, bonjour, dans ma présentation le principe intéressait quelqu'un donc voici un retour:

Image


1. Matériel:

Une TV qui ne gère pas le CEC.
Un Raspberry Pi 3B.
Une alimentation 5V 3A.
Cinq relais 5V avec un contact. ( ou un relai 3NO/1NC et un relai 1NO )
Un relai 5V temporisé.
Quatre condensateur 10V 1mF récupérés.
Deux diodes récupérées.
Une résistance 1kohm.
Des fils et de la connectique USB et micro-USB qui traine pour câbler le tout.


2. Objectif:

A l'allumage de la TV, on allume automatiquement le Raspberry pi et les périphériques ( chez moi le son 2.1 par exemple ).
A l'extinction de la TV, on éteint les périphériques et on commande une extinction propre du Raspberry pi. Une fois éteint on le met hors tension.


3. Schéma:

Image


4. Explication du fonctionnement:

En allumant la TV on met sous tension le relai AL.
- Il commande le relai AL1 qui mettra sous tension les périphériques.
- Il commande le relai AL2 qui va se fermer et le GPIO23 sera mis à '1'.
- Il commande le relai AL3 qui va s'ouvrir et la tempo TAR ne sera pas commandée pour le moment.
- Il commande le relai ALT qui va immédiatement alimenter le Raspberry Pi.
- La batterie de condensateur va se charger. Elle permet de retarder l'arrêt du relai ALT d'un temps très court.

En éteignant la TV met hors tension le relai AL.
- AL1 va s'ouvrant et mettre hors tension les périphériques.
- AL2 s'ouvrir, le GPIO23 se mettra à '0' et commandera un arrêt propre du raspberry.
- AL3 va s'ouvrir et commander le relai TAR.
- ALT va s'ouvrir mais légèrement plus tard ce qui permet au relai TAR de prendre le relai,
et éviter une micro-coupure sur le Rasberry pi lors de la commutation des relais.
- Le relai TAR s'auto-maintien et alimente le Raspberry qui est en train de s'éteindre.
- A la fin de la temporisation le relai TAR se coupe et met hors-tension le raspberry qui a pu s'éteindre correctement.


5. Programmation du GPIO:

Je précise que je suis un débutant en linux, ce n'est peut-être pas optimisé, mais cela fonctionne correctement.
Ceci est pour un fonctionnement sur OSMC et doit sûrement être adapté pour les autres distributions:

-Installation du paquet build-essential ( nécessaire à l'installation de wiringpi )

Code : Tout sélectionner

sudo apt-get install build-essential
-Installation de wiringpi ( permet le contrôle des GPIOs )
http://wiringpi.com/download-and-install/

-Contrôle du fonctionnement des GPIOs:

Code : Tout sélectionner

gpio readall
-Création du fichier script:

Code : Tout sélectionner

sudo nano /bin/scriptarret.sh
-Contenu du fichier script:

Code : Tout sélectionner

#!/bin/bash
# arret automatique sur relai
setup ()
{
 echo Setup
 gpio -g mode 23 in
}

waitButton ()
{
 echo -n "Script en attente du signal d'arret. "
 while [ `gpio -g read 23` = 1 ]; do
   sleep 1
 done
halt echo osmc | sudo -S halt
}

setup
while true; do
On teste l'état du GPIO23 toute les secondes, dès qu'il passe à '0', on commande l'arrêt.

-On rend le fichier exécutable:

Code : Tout sélectionner

chmod 755 scriptarret.sh
-Ouverture du fichier de gestion de démarrage:

Code : Tout sélectionner

sudo nano /etc/rc.local
-Ajoute de notre script d'arrêt:

Code : Tout sélectionner

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/bin/scriptarret.sh
exit 0
-Redémarrage en faisant attention de mettre le GPIO23 à '1' sinon le Rpi s'éteindra automatiquement.

Code : Tout sélectionner

reboot

Voilà pour le fonctionnement, si vous avez déjà le raspberry et son alimentation, le budget est d'une dizaine d'euros pour les relais. Pour toute la partie électronique le budget est inférieur à 20 euros si vous achetez tout.
Si je peux vous éclairer sur un point, surtout n'hésitez pas! :D
A bientôt!

Ghislain
Raspinaute
Messages : 315
Enregistré le : jeu. 12 nov. 2015 17:39
Localisation : Bourges (18)

Re: Gestion de l'alimentation d'un média-center avec un système à relais.

Message par Ghislain » jeu. 11 mai 2017 11:59

Bravo ! Je me lancerai un de ces jours ;)

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Gestion de l'alimentation d'un média-center avec un système à relais.

Message par dyox » mar. 16 mai 2017 20:07

Bonsoir,

Ne manquerait-il pas l'appel de la fonction waitButton dans le script ?

En tout cas, belle réalisation.

Personnellement, j'ai opté pour un Hackable Raspberry Pi Switch (que j'ai reçu aujourd'hui)

Navarre
Messages : 1
Enregistré le : jeu. 25 janv. 2018 13:01

Re: Gestion de l'alimentation d'un média-center avec un système à relais.

Message par Navarre » jeu. 25 janv. 2018 13:20

Bonjour
Je suis très intéressé par votre montage car je veux éteindre le moniteur et la Raspberry en même temps en éteignant l' alimentations secteur (il s'agit en fait de plusieurs moniteurs vidéo dans un petit Musée branchés sur le circuit éclairage).
Je voudrais savoir Quel relai temporisé avez vous utilisé ?
En vous remerciant Cordialement

Répondre

Retourner vers « L'électronique et le Raspberry Pi »