2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V systéme zloženom z RaspberryPi napájaného napájacím zdrojom ATX je cieľom tohto obvodu umožniť zapnutie alebo vypnutie systému jediným tlačidlom.
Tento návod bol vyvinutý webom sitelec.org.
Krok 1: Funkčná prezentácia
Ďalej sú podrobne popísané kroky chodu obvodu.
Pozrite si priložený schematický a simulačný diagram:
X: 2 s / div, Y: 0,5 v / divATX_PS-ON (žltý) (meranie) PWR_SW (reg) (simulácia) RPI_GPIO (modrý) (meranie) RPI_UART0-TXD (zelený) (simulácia)
Zapnutie
Tento obvod funguje na pine ATX_PS-ON ATX PSU, aby spustil jeho zapnutie alebo vypnutie. Štandardne je tento pin nastavený na 5V, čo znamená, že zdroj je zastavený. Na zapnutie zdroja napájania musí obvod nastaviť ATX_PS-ON na zem. Keď je tlačidlo aktivované, tranzistor Q2 nastaví ATX_PS-ON na zem, čo spustí napájanie zdroja a spustenie RaspberryPi.
Systém beží
Pri štarte RaspberryPi nastavil svoj pin RPI_UART0-TXD na 3,3 V, pôsobiaci na tranzistor Q1, ktorý udržuje aktívny zdroj tým, že drží ATX_PS-ON na zemi. Môže však trvať nejaký čas, kým RPI_UART0-TXD prejde na 3,3 V (2,6 sekundy na RaspberryPi 3). RC subobvod na báze Q2 je navrhnutý tak, aby udržal dostatok času saturácie tranzistora. Kondenzátor C1 absorbuje kolísanie napätia na kolíku RPI_UART0-TXD, čo je užitočné, ak sa používa RaspberryPi UART, pretože udržuje systém aktívny.
Vypnutie systému
Nový tlak na tlačidlo zistí softvér na RaspberryPi prečítaním vstupného kolíka GPIO a potom je možné vykonať vypnutie systému. Akonáhle je RaspberryPi zastavený, jeho DPS zostane napájaná, ale kolík RPI_UART0-TXD pôjde na zem, Q1 sa potom preruší a napájací zdroj sa zastaví.
Krok 2: Nastavenia RaspberryPi
Kolík RPI_UART0-TXD nastavený na 3,3 V počas chodu
Prostredníctvom klienta SSH sa prihláste do svojho RaspberryPi.
Najprv nakonfigurujte RaspberryPi tak, aby pri spustení nastavil RPI_UART0-TXD na 3,3 V, aby bol PSU aktívny. Ak to chcete urobiť, upravte súbor /boot/config.txt a pridajte ho na koniec:
enable_uart = 1
Zastavenie RaspberryPi spustené GPIO
Aby tlačidlo mohlo aktivovať vypnutie RaspberryPi, musí byť obvod pripojený k GPIO.
Stiahnite si priložený skript rpi_shutdown.py.
Môžete ho upraviť a zmeniť nasledujúce hodnoty:
- HOLD_TIME: čas podržania tlačidla stlačeného na spustenie vypnutia (táto hodnota je skreslená o C2, čo chvíľu udržuje úroveň po uvoľnení tlačidla)
- PIN_NB: číslo GPIO, ktoré sa má použiť
Skopírujte skript do/usr/local/bin a urobte ho spustiteľným:
sudo chmod +x /usr/local/bin/rpi_shutdown.py
Nainštalujte jeho závislosti, napríklad gpiozero:
sudo apt-get -y install python3-gpiozero python3-pkg-resources
Povoľte to pri štarte systému:
sudo crontab -e
do úvodného súboru pridajte nasledujúce:
@reboot /usr/local/bin/rpi_shutdown.py &
Tento skript bol napísaný podľa nasledujúcej dokumentácie:
Správne reštartujte svoj RaspberryPi:
sudo reštart
Teraz môžete obvod pripojiť k RaspberryPi a k zdroju PSU a otestovať nasledujúce:
- zdroj PSU je aktívny, ako sa očakáva od kolíka RPI_UART0-TXD RaspberryPi
- stlačením tlačidla sa spustí vypnutie RaspberryPi, ktoré zastaví napájací zdroj
Krok 3: Ďalšie zdroje
Súvisiace zdroje nájdete na sitelec.org:
- Anglický návod vrátane aktuálneho projektu FreeCad a simulačného prostredia
- Francúzsky návod vrátane aktuálneho projektu FreeCad a prostredia simulácie
- Francúzsky návod na spustenie simulácie FreeCad založený na metóde oddelených simulačných listov