Съдържание:

Модул за управление на превключвател за захранване на Raspberry Pi ATX: 3 стъпки
Модул за управление на превключвател за захранване на Raspberry Pi ATX: 3 стъпки

Видео: Модул за управление на превключвател за захранване на Raspberry Pi ATX: 3 стъпки

Видео: Модул за управление на превключвател за захранване на Raspberry Pi ATX: 3 стъпки
Видео: Полное руководство по 16-канальному сервоконтроллеру PCA9685 для Arduino с кодом версии 5 (V1) 2024, Ноември
Anonim
Модул за управление на превключвател за захранване на Raspberry Pi ATX
Модул за управление на превключвател за захранване на Raspberry Pi ATX

В система, съставена от RaspberryPi, захранван от ATX захранващ блок, целта на тази схема е да позволи включване или изключване на системата с един бутон.

Този урок е разработен от sitelec.org.

Стъпка 1: Функционално представяне

Функционално представяне
Функционално представяне

По -долу са описани подробно стъпките за изпълнение на веригата.

Моля, вижте приложената схематична и симулационна диаграма:

X: 2s / div, Y: 0.5v / divATX_PS-ON (жълто) (мярка) PWR_SW (reg) (симулация) RPI_GPIO (синьо) (мярка) RPI_UART0-TXD (зелено) (симулация)

Включено

Тази схема действа върху ATX_PS-ON ATX захранващия щифт, за да включи или изключи захранването му. По подразбиране този щифт е зададен на 5V, което означава, че захранването е спряно. За да включите захранването, веригата трябва да настрои ATX_PS-ON към земята. Когато бутонът е активиран, Q2 транзисторът настройва ATX_PS-ON към земята, което задейства захранването на захранването и стартирането на RaspberryPi.

Системата работи

При стартиране RaspberryPi зададе своя RPI_UART0-TXD извод на 3.3V, действайки на Q1 транзистор, който поддържа PSU активен, като държи ATX_PS-ON на земята. Въпреки това може да отнеме известно време, преди RPI_UART0-TXD да премине към 3.3V (2.6 секунди на RaspberryPi 3). Подсхемата RC на база Q2 е проектирана да поддържа достатъчно време за насищане на транзистора. Кондензаторът C1 абсорбира вариациите на напрежението на щифта RPI_UART0-TXD, което е полезно, ако се използва RaspberryPi UART, защото поддържа системата активна.

Изключване на системата

Ново натискане на бутон се открива от софтуера на RaspberryPi чрез четене на входен GPIO щифт, след което може да се извърши изключване на системата. След като RaspberryPi бъде спрян, неговата печатна платка остава захранена, но щифтът RPI_UART0-TXD отива на земята, след това Q1 се прекъсва и захранването спира.

Стъпка 2: Настройки на RaspberryPi

ПИН RPI_UART0-TXD, зададен на 3.3V, докато работи

Чрез SSH клиент влезте в своя RaspberryPi.

Първо, конфигурирайте RaspberryPi да задава RPI_UART0-TXD на 3.3V, докато работи, за да поддържа PSU активен. За да направите това, редактирайте /boot/config.txt и добавете в края:

enable_uart = 1

RaspberryPi стоп, задействан от GPIO

За да позволите на бутона да задейства изключването на RaspberryPi, веригата трябва да бъде свързана към GPIO.

Изтеглете прикачения скрипт rpi_shutdown.py.

Можете да го редактирате, за да промените следните стойности:

  • HOLD_TIME: време за задържане на бутона натиснат, за да задейства изключването (тази стойност се изкривява от C2, който поддържа нивото за известно време след отпускане на бутона)
  • PIN_NB: GPIO номер за използване

Копирайте скрипта в/usr/local/bin и го направете изпълним:

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

Инсталирайте неговите зависимости, като gpiozero:

sudo apt-get -y инсталирайте python3-gpiozero python3-pkg-resources

Активирайте го при стартиране на системата:

sudo crontab -e

добавете следното в началния файл:

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

Този скрипт е написан съгласно следната документация:

Рестартирайте правилно вашия RaspberryPi:

sudo рестартиране

Вече можете да свържете веригата към RaspberryPi и към захранването и да тествате следното:

  • захранването се поддържа активно, както се очаква от пина RPI_UART0-TXD RaspberryPi
  • натискането на бутона задейства изключването на RaspberryPi, което спира захранването

Стъпка 3: Допълнителни ресурси

Свързани ресурси могат да бъдат намерени от sitelec.org:

  • Урок по английски език, включващ актуален проект FreeCad и среда за симулация
  • Урок по френски език, включващ актуален проект FreeCad и среда за симулация
  • Урок за иницииране на симулация на френски FreeCad, базиран на метод за отделен симулационен лист

Препоръчано: