Идея для коммуникации кнопки

Контроллер Мега 2560. Стоит схема включения по тактовой кнопке (управляющий мосфет, где замыкание дает питание на Ардуино, дальше он сама через базу транзистора дает питание на мосфет).

Это все работает, все хорошо.

Я использую обновление прошивки через SD карту.
Процесс такой, — принять данные от пользователя, потом перезагрузиться и начать обновляться. После обновления снова перезагрузиться.

Проблема в том, что после перезагрузки само собой питание пропадает, а пока загрузчик обновит прошивку нужно время. То есть, если нажать и держать кнопку в период обновления, то все ОК.

Задача стоит, чтобы как-то скомуницировать кнопку. Как я это вижу. Перед перезагрузкой, я подаю питание на некий автомат, который замыкает кнопку. После обновления, я понимаю что прошивка свежая, снова подаю питание на автомат и он размыкает кнопку.

То есть такой транзистор с сохранением состояния почти. Я пересмотрел все варианты, IGBT, тиристоры, динисторы и т.д., но не получается реализовать логику на одном элементе. Реле ставить тоже не вариант, нужно как можно меньше по размеру и проще.

Может есть у кого какие мысли?

1 лайк

На разъёме SD карты обычно есть контакт, выявляющий наличие карты. Если такой есть - использовать этот сигнал, чтобы запретить выключение, если карта вставлена. Транзистор из 1# заменить на полевой.

2 лайка

Идея интересная, спасибо. Но на моем шилде нет вроде такого контакта

UPD, контакт вроде присутствует, он не распаян просто на клемму.

Но, получается он физически будет замыкать кнопку питания всегда если есть карта, а нужно только в режиме прошивки.

Тебе нужно гуглить прр RS-тригер они есть совсем маленькие в SOT23 корпусе.

2 лайка

Можно просто организовать задержку отключения питания на время пере… при пропадании 1 на D6 с помощью конденсатора и нескольких элементов.

1 лайк

Поддерживаю!
И логика работы не изменится и при перезагрузке не будет выключаться (вне зависимости от наличия SD-карты, ведь перезагрузиться можно по разным причинам, например, собакой по зависанию).

https://aliexpress.ru/popular/74ls279.html

1 лайк

А зачем ты перегружаешься? Да ещё 2 раза? Вообще ни разу не надо перегружаться.

1 лайк

На самом деле даже один раз, но перезагрузка необходима, так устроен бутлоадер

Там прошивка большая, пишется около минуты, поэтому либо кондер большой, но опять же он нужен только во время обновления

Спасибо, уже раскуриваю тему

Если так, и есть свободный пин, то можно попробовать применить буферный элемент(повторитель) с z-состоянием.

Т.е., к примеру, если карта вставлена, на буфер приходит лог 1. и, если МК работает в обычном режиме, на управляющем пине (подтянутом внешним резистором к GND)устанавливаем логическую 1, - на выходе буфера, высокоимпедансное состояние , и работе схемы ничего не не мешает.

При прошивках/перезагрузках на упр.пине резистором удерживается лог 0 и на выходе буфера - лог 1.которая открывает транзистор

P.S. Да, наличие карты в этом случае можно
вообще не отслеживать, подтянуть вход буфера к +5В и всё.

1 лайк

Поосторожней с подобным шильдом. На нём нет преобразователей уровней. Проверьте тестером.
image

2 лайка

Это не прошивка большая, это прошивальщик тормозной. Кроме того ещё и работает не так как надо в данном случае. Переделывать надо, или свой написать и будет без всяких костылей из конденсаторов.

1 лайк

Комплексный подход, скорее всего.

1 лайк

Всем спасибо, все сделал. Спасибо за триггеры. Предложенную микросхему не нашел, собрал на К155ЛА3

За основу взял такую схему
trigger-log

С помощью двух контактов управляю состоянием, а вместо диода одного сигнал пустил на базу схемы выше и все работает как часы.

1 лайк

Вопрос решен нужно поставить на сообщении #4.

Только лучше б заменить на 561 серию, например. 155 жрёт много, нифига она не КМОП.

Чё, прям настоящая 155ла3 а не 74хххх?

Если теперь есть внешний триггер то не нужна схема из первого сообщения, с программным триггером.

А что такого? Они вагонами ещё продаются. Производились с расчётом на светлое будущее десятками миллионов. Но то ли будущее не наступило, то ли наступило, но не то. Короче не пригодились) с тех пор на барахолках вёдрами продают.

Зачем на барахолках? У меня берите два ведра. Пригождаются до сих пор, если нет определённых требований. Кстати, подал как-то раз 12 вольт вместо пяти и обнаружил это только когда осцилографом тыкать начал. Ничего.выжили. Спектрум собирал.Проверял сигналы без процессора и памяти .Хорошо,что не воткнул их в панельки. Обанкротился б. 91 год был вроде бы.