У меня немного проблемы с электроникой, и мне нужно удерживать входной контакт высоким в течение примерно 8-10 секунд. Я реализую это решение: https://github.com/NeonHorizon/lipopi/blob/master/README.power_up_power_down.md , которое отлично работает, но мне нужно удерживать выключатель питания в течение 10 секунд, прежде чем Pi установит UART. шпилька высоко (и держит ее высоко). Я просмотрел какое-то объяснение RC-цепей, и, похоже, все они имеют одинаковую задержку заряда, что и задержка разряда. Может где-то нужен диод? По сути, я бы хотел, чтобы конденсатор заряжался быстро и медленно разряжался через резистор.
Следуя предложению Флавио, может ли кто-нибудь сказать мне, будет ли работать использование транзистора для изоляции, что-то вроде этого? Ожидаемый результат:
(фиксированная ориентация транзистора)
Добавив конденсатор C1, вы можете добиться этого. Обратите внимание, что время, необходимое для разрядки конденсатора, составляет примерно R*C, в моем примере ниже около 10 с.
Недостатком использования этого подхода является то, что для выключения цепи также потребуется столько же времени, сколько вам нужно такое же время RC.
Примечание к вашей исходной схеме: два последовательных диода - очень грязный способ падения напряжения (если он вообще падает напряжение), вам лучше использовать резистивный делитель (R2 и R3), показанный на моей схеме, с правильные значения в зависимости от вашей батареи.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Редактировать: лично я бы использовал вывод UART для включения цепи, а другой - для выключения цепи. Вы можете использовать GPIO18, чтобы фактически отключить схему. Установив его как вход по умолчанию и используя его как выход только тогда, когда вы хотите отключить цепь. Затем ваша схема уменьшится до приведенной ниже, с быстрым временем выключения (R2 * C1 = 2 с).
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Вы можете использовать эту схему для быстрого заряда и вычислить R, чтобы сделать его настолько медленным, насколько вы хотите, включив Q2 от вывода микроконтроллера или любого цифрового сигнала.
РЕДАКТИРОВАТЬ: Vout - это напряжение на C1.
Хм, твой транзистор перевернут. Остальную работу вашей схемы я не проверял.
Можете ли вы установить низкий уровень GPIO прямо перед выключением? Почему бы вам не попробовать это:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
R3 отключает M1.
Когда кто-то нажимает SW, он включает M1, который оставляет M2 включенным (который оставляет M1 включенным после отпускания SW).
D1 не позволяет M2 перевести кнопку чтения в низкий уровень, поэтому R1 вытягивает кнопку чтения в высокий уровень. Когда кто-то снова нажимает SW, вы читаете «Низкий».
Затем вы можете установить низкий уровень «Turn-off». M2 выключается, R3 выключает M1. Enable затем становится низким.
PS: я не проверял, как работает ваш прорыв Adafruit, поэтому я предполагаю, что это что-то близкое к тому, что вам нужно.
Спасибо всем за ваши предложения. Я нашел простое решение, как показано ниже. Раньше у меня было похожее решение, но значения RC были такими, что сопротивление резистора (2 МОм) было слишком большим, чтобы работать в качестве подтягивающего, и поэтому EN всегда был высоким, что поддерживало питание Pi. Спасибо Douwe66 за то, что он дал мне идею использовать конденсатор с большей емкостью (100 мкФ), что позволило мне использовать существующий 100K pulldown для завершения RC-цепи. А использование делителя напряжения вместо двух последовательных диодов для понижения напряжения для GPIO 18 фактически уменьшило количество компонентов. Возможно, решение Уэсли сработало, но количество компонентов было слишком велико.
Я бы принял первое решение Dowwe66, за исключением того, что он все время оставлял GPIO 18 высоким (что привело бы к выключению Pi сразу после того, как демон монитора выключения стал активным), а также то, что UART TX не может использоваться в качестве пути к заземление для EN pulldown (внутреннее сопротивление в выключенном состоянии составляет около 27 МОм).
В общем, я многому научился, и теперь у меня есть рабочее решение. Спасибо!
Свеньонсон
Доуве66
Свеньонсон
Доуве66
Доуве66
Свеньонсон
Свеньонсон
Доуве66