Table des matières:

Module de commande de commutateur d'alimentation Raspberry Pi ATX : 3 étapes
Module de commande de commutateur d'alimentation Raspberry Pi ATX : 3 étapes

Vidéo: Module de commande de commutateur d'alimentation Raspberry Pi ATX : 3 étapes

Vidéo: Module de commande de commutateur d'alimentation Raspberry Pi ATX : 3 étapes
Vidéo: Présentation déballage Alimentation secteur 5V 3A avec bouton poussoir Raspberry Pi 3 model B 2024, Juillet
Anonim
Module de commande de commutateur d'alimentation Raspberry Pi ATX
Module de commande de commutateur d'alimentation Raspberry Pi ATX

Dans un système composé d'un RaspberryPi alimenté par un bloc d'alimentation ATX, le but de ce circuit est de permettre d'allumer ou d'éteindre le système avec un seul bouton poussoir.

Ce tutoriel a été développé par sitelec.org.

Étape 1: Présentation fonctionnelle

Présentation fonctionnelle
Présentation fonctionnelle

Ci-dessous sont détaillées les étapes de fonctionnement du circuit.

Veuillez vous référer au schéma ci-joint et au diagramme de simulation:

X: 2s/div, Y: 0.5v/divATX_PS-ON (jaune) (mesure)PWR_SW (reg) (simulation)RPI_GPIO (bleu) (mesure)RPI_UART0-TXD (vert) (simulation)

Allumer

Ce circuit agit sur la broche ATX_PS-ON ATX PSU pour déclencher sa mise sous tension ou hors tension. Par défaut, cette broche est définie sur 5V, ce qui signifie que le bloc d'alimentation est arrêté. Pour mettre le bloc d'alimentation sous tension, le circuit doit mettre ATX_PS-ON à la terre. Lorsque le bouton-poussoir est activé, le transistor Q2 met ATX_PS-ON à la terre, ce qui déclenche la mise sous tension du bloc d'alimentation et le démarrage du RaspberryPi.

Système en cours d'exécution

Au démarrage, le RaspberryPi a réglé sa broche RPI_UART0-TXD sur 3,3V, agissant sur le transistor Q1 qui maintient le bloc d'alimentation actif en maintenant ATX_PS-ON à la terre. Cependant, cela peut prendre un certain temps avant que RPI_UART0-TXD passe à 3,3 V (2,6 secondes sur RaspberryPi 3). Le sous-circuit RC sur la base Q2 est conçu pour maintenir la saturation du transistor suffisamment de temps. Le condensateur C1 absorbe les variations de tension sur la broche RPI_UART0-TXD, ce qui est utile si le RaspberryPi UART est utilisé car il maintient le système actif.

Arrêt du système

Une nouvelle pression sur le bouton poussoir est détectée par logiciel sur le RaspberryPi en lisant une broche GPIO d'entrée, l'arrêt du système peut alors être effectué. Une fois le RaspberryPi arrêté, son PCB reste alimenté mais la broche RPI_UART0-TXD va à la masse, Q1 est alors coupé et le PSU s'arrête.

Étape 2: Paramètres RaspberryPi

La broche RPI_UART0-TXD est définie sur 3,3 V pendant l'exécution

Via un client SSH, connectez-vous sur votre RaspberryPi.

Tout d'abord, configurez le RaspberryPi pour définir RPI_UART0-TXD sur 3,3 V pendant l'exécution, afin de maintenir le bloc d'alimentation actif. Pour cela, éditez /boot/config.txt et ajoutez à la fin:

enable_uart=1

Arrêt RaspberryPi déclenché par GPIO

Pour permettre au bouton poussoir de déclencher l'arrêt du RaspberryPi, le circuit doit être connecté à un GPIO.

Téléchargez le script rpi_shutdown.py ci-joint.

Vous pouvez le modifier pour modifier les valeurs suivantes:

  • HOLD_TIME: temps de maintien du bouton enfoncé pour déclencher l'arrêt (cette valeur est faussée par C2 qui maintient le niveau pendant un certain temps après le relâchement du bouton)
  • PIN_NB: numéro GPIO à utiliser

Copiez le script dans /usr/local/bin et rendez-le exécutable:

sudo chmod +x /usr/local/bin/rpi_shutdown.py

Installez ses dépendances, comme gpiozero:

sudo apt-get -y install python3-gpiozero python3-pkg-resources

Activez-le au démarrage du système:

sudo crontab -e

ajoutez ce qui suit dans le fichier d'ouverture:

@reboot /usr/local/bin/rpi_shutdown.py &

Ce script a été écrit selon la documentation suivante:

Redémarrez correctement votre RaspberryPi:

redémarrage sudo

Vous pouvez maintenant connecter le circuit au RaspberryPi et au PSU et tester les éléments suivants:

  • le bloc d'alimentation est maintenu actif comme prévu par la broche RPI_UART0-TXD RaspberryPi
  • une pression sur le bouton déclenche l'arrêt du RaspberryPi, ce qui arrête le bloc d'alimentation

Étape 3: Ressources supplémentaires

Des ressources connexes peuvent être trouvées sur sitelec.org:

  • Tutoriel en anglais comprenant un projet FreeCad à jour et un environnement de simulation
  • Tutoriel en français incluant le projet FreeCad à jour et l'environnement de simulation
  • Tutoriel d'initiation à la simulation FreeCad en français, basé sur une méthode de feuille de simulation séparée

Conseillé: