Эта статья - работа над ошибками первого варианта схемы управления питанием Raspberry Pi Zero W v1.1. Теперь работает стабильно, деталей меньше, переходные процессы проще и понятнее. На авторство схемы не претендую, ибо взял то, что предложил в комментариях уважаемый @tklim, отладил на макетке и немного адаптировал под свои нужды.
Кратко напомню критерии, которым должна соответствовать схема:
Обеспечить потребление в выключенном режиме 1 – 2 мкА;
Управление одной тактовой кнопкой (одна группа нормально разомкнутых контактов без фиксации);
Возможность выключения с корректным завершением работы Linux;
Возможность программного выключения устройства без воздействия на кнопку;
Возможность аварийного аппаратного выключения на случай зависания устройства;
Отсутствие программируемых компонентов.
Вариант схемы v2.0

При кратковременном нажатии на кнопку, напряжение питания подается на вывод EN через резистор R1. Через R2 происходит самоблокировка. Стабилитрон ZD1 служит для того, чтобы на GPIO4 устройства не прилетело напряжение выше напряжения питания (3,3 в). Также его наличие гарантирует, что цепочка R1, R2 не станет причиной повышенного напряжения в цепи питания +5v.
Если удерживать кнопку порядка 6 секунд, то конденсатор C1 через резистор R4 зарядится достаточно, чтобы канал транзистора Q1 полностью открылся. В оригинальной схеме от @tklim в цепи затвора этого транзистора стоял стабилитрон на 3,3 в, но при таком напряжении полевик открывается не до конца и просадки напряжения в точке EN недостаточно для выключения стабилизатора. R5 служит для разрядки конденсатора после отпускания кнопки.
Цепь R6, Q2 служит для инвертирования сигнала кнопки. Это особенность устройства, которую следует учитывать. Изменить полярность входа или выбрать другую ножку не позволяют дополнительные шилды, используемые в моём конкретном случае. Если полярность можно бы было поменять, то схему на транзисторе можно бы было заменить цепочкой из резистора и стабилитрона. Возможно, пришлось бы поставить диод последовательно с R1, чтобы эта цепочка из резистора и стабилитрона не запиталась от +5v.
Выключение в штатном режиме происходит при появлении низкого уровня на GPIO4 устройства. Он подтягивает точку EN к земле. В первом варианте я нагородил здесь стрёмную схему на p-n-p транзисторе. Наверное, я пробовал вариант с диодом, но шоттки под рукой не было, а падение на обычном диоде оказалось недостаточным, чтобы отключить схему (да, даташиты надо читать внимательней). Совсем без диода развязки не получается, потому что сразу после выключения питания на GPIO появляется слабый ток утечки, вызванный, вероятно, разрядом емкостей в цепях питания. Этого тока достаточно, чтобы через несколько микросекунд напряжение на EN достигло порога включения стабилизатора.
Заключение
Надеюсь, эта статья сэкономит кому-то немного времени и позволит обойтись без микроконтроллеров и стрёмных запутанных решений там, где можно обойтись парой транзистроров и еще несколькими копеечными компонентами.
Комментарии (4)
FInside
18.07.2025 22:30Правильно ли я понимаю, что кнопка, как и Raspberry Pi Zero W питаются от 12V + конвертер? Меня именно 12V на кнопке смущают. Понимаю, что для питания Raspberry Pi Zero W нужно 5V.
HCN3903 принимает до 30V, как указано в первой статье. Но роль 12V для меня пока не понятна.
Заранее благодарен за пояснение.
Kudesnick33 Автор
18.07.2025 22:30Да, похоже я ненароком утаил, почему именно 12 в. Это автономный девайс, силовая часть которого напрямую запитывается от литиевой сборки 3S (со схемами защиты и балансировки). Т. е. в 12-вольтовой цепи висят ещё два H-моста. При пропадании управляющих напряжений от Raspberry они тоже переходят в глубокий сон и добавляют свои несколько микроампер к потреблению в выключенном состоянии.
KonstantinTokar
Есть семейство микросхем LTC295*, на них интересно было бы увидеть схемку..
Kudesnick33 Автор
Интересно было бы увидеть микросхемку живьём)
Если серьезно, то не знал про такую, спасибо, буду иметь в виду. Но тестить её как-то нет желания. Доставка 6-8 недель, цена под полторы тыщи (самизнаетегде). А тут собрал буквально за сто рублей (купил мешок полевиков там же), да еще статью успел написать.