Cuprins:

Modul de control al comutatorului PSX Raspberry Pi ATX: 3 pași
Modul de control al comutatorului PSX Raspberry Pi ATX: 3 pași

Video: Modul de control al comutatorului PSX Raspberry Pi ATX: 3 pași

Video: Modul de control al comutatorului PSX Raspberry Pi ATX: 3 pași
Video: raspberry pi switch controller relay siansmart 16 channel relay 2024, Noiembrie
Anonim
Raspberry Pi ATX PSU Switch Module Control
Raspberry Pi ATX PSU Switch Module Control

Într-un sistem compus dintr-un RaspberryPi alimentat de o unitate de alimentare ATX, scopul acestui circuit este de a permite pornirea sau oprirea sistemului cu un singur buton.

Acest tutorial a fost dezvoltat de sitelec.org.

Pasul 1: Prezentare funcțională

Prezentare funcțională
Prezentare funcțională

Mai jos sunt detaliate etapele de rulare a circuitului.

Vă rugăm să consultați schema atașată și diagrama de simulare:

X: 2s / div, Y: 0,5v / divATX_PS-ON (galben) (măsură) PWR_SW (reg) (simulare) RPI_GPIO (albastru) (măsură) RPI_UART0-TXD (verde) (simulare)

Aprinde

Acest circuit acționează pe pinul ATX_PS-ON ATX PSU pentru a declanșa pornirea sau oprirea acestuia. În mod implicit, acest pin este setat la 5V, ceea ce înseamnă că alimentatorul este oprit. Pentru a porni alimentatorul, circuitul trebuie să seteze ATX_PS-ON la sol. Când butonul este activat, tranzistorul Q2 setează ATX_PS-ON la sol, ceea ce declanșează pornirea alimentatorului și pornirea RaspberryPi.

Sistemul rulează

La pornire, RaspberryPi și-a setat pinul RPI_UART0-TXD la 3,3V, acționând asupra tranzistorului Q1, care menține alimentatorul activ, menținând ATX_PS-ON la sol. Cu toate acestea, poate dura ceva timp până când RPI_UART0-TXD ajunge la 3,3 V (2,6 secunde pe RaspberryPi 3). Subcircuitul RC de pe baza Q2 este conceput pentru a menține saturația tranzistorului suficient timp. Condensatorul C1 absoarbe variațiile de tensiune pe pinul RPI_UART0-TXD, ceea ce este util dacă RaspberryPi UART este utilizat deoarece menține sistemul activ.

Oprirea sistemului

O nouă apăsare pe buton este detectată de software-ul de pe RaspberryPi prin citirea unui pin GPIO de intrare, oprirea sistemului poate fi efectuată. Odată ce RaspberryPi este oprit, PCB-ul său rămâne alimentat, dar pinul RPI_UART0-TXD merge la sol, Q1 este apoi tăiat și alimentatorul se oprește.

Pasul 2: Setări RaspberryPi

Pinul RPI_UART0-TXD setat la 3,3V în timpul rulării

Prin intermediul unui client SSH, conectați-vă la RaspberryPi.

Mai întâi, configurați RaspberryPi pentru a seta RPI_UART0-TXD la 3,3V în timpul funcționării, pentru a menține alimentatorul activ. Pentru a face acest lucru, editați /boot/config.txt și adăugați la final:

enable_uart = 1

RaspberryPi stop declanșat de GPIO

Pentru a permite butonului să declanșeze oprirea RaspberryPi, circuitul trebuie să fie conectat la un GPIO.

Descărcați scriptul rpi_shutdown.py atașat.

Puteți să-l editați pentru a modifica următoarele valori:

  • HOLD_TIME: timpul de menținere a butonului apăsat pentru a declanșa oprirea (această valoare este distorsionată de C2 care menține nivelul pentru o vreme după ce butonul este eliberat)
  • PIN_NB: numărul GPIO de utilizat

Copiați scriptul în / usr / local / bin și faceți executabil:

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

Instalați dependențele sale, cum ar fi gpiozero:

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

Activați-l la pornirea sistemului:

sudo crontab -e

adăugați următoarele în fișierul de deschidere:

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

Acest script a fost scris în conformitate cu următoarea documentație:

Reporniți corect RaspberryPi:

sudo reboot

Acum puteți conecta circuitul la RaspberryPi și la PSU și testați următoarele:

  • alimentatorul este menținut activ așa cum era de așteptat de pinul RPI_UART0-TXD RaspberryPi
  • apăsarea butonului declanșează oprirea RaspberryPi, care oprește alimentatorul

Pasul 3: Resurse suplimentare

Resursele conexe pot fi găsite de pe sitelec.org:

  • Tutorial în limba engleză, incluzând proiectul FreeCad actualizat și mediul de simulare
  • Tutorial francez, incluzând proiectul FreeCad actualizat și mediul de simulare
  • Tutorial de inițiere a simulării franceze FreeCad, bazat pe o metodă separată de foaie de simulare

Recomandat: