Для предотвращения пикантных ситуаций, как на данной картинке, ставят обратный клапан на канализацию.
Если проблема заключается в прорыве трубы водоснабжения, то поможет электромагнитный вентиль, перекрываемый по сигналу датчика протечки.
Там этот провод от драйвера к фонарю достаточно длинный (25-30 см, скручен в спираль), и при этом достаточно тонкий. Можно было бы вместо него поставить что-нибудь потолще, но это будет очень колхозно.
Если решить эту проблему, тогда конечно уже придется ограничивать ток на драйвере. Но я бы все равно не стал ставить линейный стабилизатор, а сделал бы повышающий/понижающий импульсный преобразователь, что для КПД будет лучше. Но это уже другая история :)
Считается хорошим тоном ставить супрессоры в носимые устройства. При замене батареи можно дотронуться рукой до контактов холдера батареи, и если в этот момент Ваше тело было заряжено статическим электричеством, заряд пойдет прямиком на драйвер. МК может этого не пережить, да и полевые транзисторы тоже боятся сильных статических разрядов, насколько я знаю.
Через светодиод ток в обратном направлении не течет (до определенного порога — примерно в 5 В, что меньше максимального напряжения батареи, а если вдруг и будет превышено — отсечется супрессором). Так что да, схема работает.
Да, через R6 пойдет ток около 80 мкА, но это не наносит вреда — видимо, рассеивается на внутреннем диоде.
Собственный ток в выключенном режиме не более 5 мкА, обычно где-то 2-3 мкА.
Ну я же не зря поставил тег "arduino" :)
На самом деле, реализация антидребезга с delay — самая простая. Можно конечно через прерывание переполнения считать время, пока кнопка нажата, но я не вижу смысла так усложнять код.
Основной цикл должен смотреть на эту переменную и на переменную текущего режима работы, и исходя из их разницы, при необходимости ставить новый режим.
Имхо, так будет неудобно плавно изменять яркость в реальном времени
если зажать кнопку надолго, то основной цикл будет проходить дольше,
Это не является проблемой, с батареей ничего не случится, если проверку напряжения отложить на какое-то время.
Кроме того, кнопки дребезжат не только при нажатии, но и при отжатии — это тоже хорошо бы обрабатывать правильно
Ну так это отлично отрабатывается конструкцией следующего вида:
If (btn_pressed) {
while (btn_pressed); // антидребезг при нажатии
_delay_ms(x); // антидребезг при отпускании
}
Вообще, внешний физический мир асинхронен по отношению к циклу while (1) — и события с него ловить надо тоже асинхронно, а не тогда, когда процессор готов будет это сделать, вывалившись из очередного _delay_ms :)
Согласен, в теории все так и есть. Но на практике (в конкретном случае) кнопку нажимает человек — существо довольно медленное, и длительность нажатия составляет как минимум, несколько миллисекунд. За это время мк гарантированно успеет отловить это нажатие, так как в коде нет delay большой длительности. Исключение — дополнительный режим, но там это не мешает — кнопку можно держать, пока драйвер из него не выйдет.
Да, так и есть — ток ограничивает сопротивление проводов до диода (там около 25 см), контактов держателя батареи, ну и сама батарея имеет внутренее сопротивление. Если поставить туда линейный драйвер, КПД будет намного хуже.
Как измерял? При полностью открытом ключе, амперметром.
Этот пик в начале положительного фронта обусловлен большой емкостью и ее разрядом в момент открытия ключа? Если так, то у меня там на VIN нет конденсаторов, а значит такого быть не должно, поидее.
Спасибо за конструктивную критику (наконец). Отвечу по пунктам.
Габариты этого драйвера в 5 раз меньше оригинального. Сделать меньше реально, но тогда во-первых, драйвер не получится закрепить на родные посадочные места, а во-вторых, будет гораздо сложнее сделать плату ЛУТом и без металлизации отверстий.
Максимальный ток, который идет через светодиод — 1.5 А, и это при полностью открытом транзисторе. Откуда Вы взяли цифру в 6 ампер? Вы предлагаете поставить линейный стабилизатор в импульсный драйвер? Про КПД тогда можно будет забыть.
N-канальный полевик конечно имеет меньшее сопротивление, но его нельзя было применить в этой схеме, поскольку к светодиоду идет всего три провода. Тут можно либо управлять светодиодом по минусу (n-канальный) и иметь общий плюс, на который будет замыкаться кнопка, либо управлять светодиодом по плюсу (p-канальный) с общим с кнопкой минусом. Первый вариант невозможен из-за особенностей МК, из режима power-down его может вывести только прерывание по низкому уровню, следовательно кнопка должна замыкаться на землю.
Отсутствие стабилизации яркости по мере разряда батареи мне никак не мешает. Яркость всегда можно подстроить достаточно точно.
Подсвечивается не кнопка, а сам корпус драйвера, который расположен сзади. Я писал в статье, зачем мне это нужно.
Тут я с Вами соглашусь, для контроллера с одним килобайтом памяти ассемблер больше подходит. Но я его не знаю, к сожалению.
Вам нужно определить номенклатуру для футпринтов?
Я бы на Вашем месте заказал бы эти компоненты по отдельности, желательно в тех магазинах, где предоставляется спецификация на продукт — тогда с поиском футпринтов проблем не будет. К тому же отпаять Атмегу не так просто — нужна паяльная станция с феном.
Если уж очень хочется распаять ардуинку на запчасти:
Как Вы там, что-то рассчитывали, методом научного тыка? :)
Ну почти — я вбил напряжение источника (4.5 В — с гарантированным запасом), открыл таблицу доступных в магазине поблизости номиналов и по ним подбирал такие, при которых бы выходное напряжение было бы максимально близко к 1 В, а сопротивление было бы как можно большим.
За калькулятор спасибо, с ним это делать конечно же намного удобнее — буду теперь им пользоваться :)
Кстати, в статью попала не та ссылка, я пользовался этим калькулятором.
В теории можно, но я боюсь, что тогда прошивка не уместится в килобайт памяти.
Для предотвращения пикантных ситуаций, как на данной картинке, ставят обратный клапан на канализацию.
Если проблема заключается в прорыве трубы водоснабжения, то поможет электромагнитный вентиль, перекрываемый по сигналу датчика протечки.
Спасибо за подробный туториал. Как раз завалялась в коробке с модулями такая плата, теперь есть еще один повод познакомиться с STM32.
Реализация 1-wire не влезет в прошивку, а вот терморезистор можно поставить.
Там этот провод от драйвера к фонарю достаточно длинный (25-30 см, скручен в спираль), и при этом достаточно тонкий. Можно было бы вместо него поставить что-нибудь потолще, но это будет очень колхозно.
Если решить эту проблему, тогда конечно уже придется ограничивать ток на драйвере. Но я бы все равно не стал ставить линейный стабилизатор, а сделал бы повышающий/понижающий импульсный преобразователь, что для КПД будет лучше. Но это уже другая история :)
Как вариант, но это усложнит схему.
Ну ведь защиты много не бывает :)
Эти конденсаторы стоят после диода — импульс может дойти до транзистора раньше, чем впитается в емкость.
В даташите пишут, что ток утечки всего 5 наноампер.
Спасибо. По пунктам:
Да, через R6 пойдет ток около 80 мкА, но это не наносит вреда — видимо, рассеивается на внутреннем диоде.
Дело в том, что на проводах она рассеивается и так. А вы предлагаете еще стабилизатор туда, дабы потери были еще больше?
Ну я же не зря поставил тег "arduino" :)
На самом деле, реализация антидребезга с delay — самая простая. Можно конечно через прерывание переполнения считать время, пока кнопка нажата, но я не вижу смысла так усложнять код.
Имхо, так будет неудобно плавно изменять яркость в реальном времени
Это не является проблемой, с батареей ничего не случится, если проверку напряжения отложить на какое-то время.
Ну так это отлично отрабатывается конструкцией следующего вида:
Согласен, в теории все так и есть. Но на практике (в конкретном случае) кнопку нажимает человек — существо довольно медленное, и длительность нажатия составляет как минимум, несколько миллисекунд. За это время мк гарантированно успеет отловить это нажатие, так как в коде нет delay большой длительности. Исключение — дополнительный режим, но там это не мешает — кнопку можно держать, пока драйвер из него не выйдет.
Да, так и есть — ток ограничивает сопротивление проводов до диода (там около 25 см), контактов держателя батареи, ну и сама батарея имеет внутренее сопротивление. Если поставить туда линейный драйвер, КПД будет намного хуже.
Как измерял? При полностью открытом ключе, амперметром.
Этот пик в начале положительного фронта обусловлен большой емкостью и ее разрядом в момент открытия ключа? Если так, то у меня там на VIN нет конденсаторов, а значит такого быть не должно, поидее.
Спасибо за конструктивную критику (наконец). Отвечу по пунктам.
Посмотрел Ваше видео и сразу вспомнился этот пост https://dlinyj.livejournal.com/676121.html
Хорошая мысль, попробую это реализовать.
В конкретном случае дроссель не актуален — даже когда транзистор полностью открыт, ток будет в районе полутора ампер.
Это регулируемый преобразователь — можно поидее с микроконтроллера им управлять через Vfeedback (ШИМ + rc фильтр), тогда будет регулировка яркости.
Вам нужно определить номенклатуру для футпринтов?
Я бы на Вашем месте заказал бы эти компоненты по отдельности, желательно в тех магазинах, где предоставляется спецификация на продукт — тогда с поиском футпринтов проблем не будет. К тому же отпаять Атмегу не так просто — нужна паяльная станция с феном.
Если уж очень хочется распаять ардуинку на запчасти:
Ну почти — я вбил напряжение источника (4.5 В — с гарантированным запасом), открыл таблицу доступных в магазине поблизости номиналов и по ним подбирал такие, при которых бы выходное напряжение было бы максимально близко к 1 В, а сопротивление было бы как можно большим.
За калькулятор спасибо, с ним это делать конечно же намного удобнее — буду теперь им пользоваться :)
Кстати, в статью попала не та ссылка, я пользовался этим калькулятором.