Корректное выключение и спящий режим для Raspberry Pi — схема управления питанием DIY
Raspberry Pi — мощная, универсальная платформа для робототехники, но у неё нет нативной кнопки питания. Как Linux-система, она должна быть корректно выключена перед отключением питания; иначе файловая система SD-карты может повредиться — проблему я встречал много раз.
Чтобы устранить этот риск, я собрал простую, дешевую схему, которая не только безопасно выключает Pi, но и переводит робота в низкоэнергопотребляющее спящее состояние с автоматическим пробуждением через заданный интервал. Для дополнительной ценности дизайн может измерять потребление тока. Хотя существуют коммерческие наборы вроде Sleepy Pi, ту же функциональность можно достичь с легко доступными компонентами.
Почему важен спящий режим
В батарейном роботе энергоэффективность ключева. В простое робот может экономить энергию, выключая себя. Внутренний будильник затем будит его через регулярные интервалы для проверки задач. Для робота-лодки это позволяет дальние перемещения — дрейф с ветром или парусами — сохраняя батарею живой.
Ключевые компоненты
- Pololu Pushbutton Power Switch SV
Надежный выключатель питания без реле. Кнопка может срабатывать электронно через выводOff, позволяя Pi или микроконтроллеру инициировать выключение. Работает до 10 А, более чем достаточно для Pi и периферии. - Pololu 5 V, 9 A Step‑Down Regulator D24V90F5
Преобразует 12 В в 5 В для Pi. ВыводEnableрегулятора может быть притянут к земле для отключения питания. Так как вывод подтянут к 12 В, для интерфейса с 3.3 В логикой Pi требуется транзистор или MOSFET.
Как это работает
Когда робот бездействует, микроконтроллер (или сам Pi через GPIO) притягивает вывод Off коммутатора Pololu к нулю, запуская вывод Enable регулятора для отключения 5 В линии. Эта последовательность гарантирует, что Pi получает команду корректного выключения перед полным отключением питания. После заданной задержки микроконтроллер переключает Enable обратно в высокое состояние, восстанавливая питание и возобновляя работу.
Для мониторинга потребления можно добавить шунтирующий резистор или IC измерения тока в последовательность с 12 В входом, подавая измерение обратно микроконтроллеру.
Для полной схемы и детальных инструкций см. оригинальную статью: Raspberry Pi Shutdown Circuit with Sleep mode.
Производственный процесс
- Как считывать температуру с DS18B20 на Raspberry Pi 2
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- Точный мониторинг температуры в серверной на Raspberry Pi
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Обнаружение молний с Raspberry Pi и AS3935: практическое руководство
- Создание headless сигнализации утечки воды на Raspberry Pi 2 с Adafruit T‑Cobbler Plus
- Создание монитора температуры ThingSpeak с Raspberry Pi и BrickPi
- Создание бюджетного детектора плача ребенка на Raspberry Pi — DIY-руководство
- Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
- Перехват команд ИК-пульта на Raspberry Pi без LIRC: подход через Python UART