Retrograd, рассуждения верны, но следует рассматривать на конкретном примере конструкции: устройство для хобби?, устройство для дополнительной деятельности?, задача, серьезная деятельность и т.п.
Согласен. Я говорил лишь к тому что не бывает однозначно верных рецептов в ситуация с более чем одним неизвестным.
Но в случае с автомобилем бы сделал безусловно с:
каждый компонент (кнопка, вход, выход) - на отдельном пине. Таким образом, программно легко можно реализовать множество софт. способов стабильной работы, например, debounce кнопки (дребезг контактов или входов), чтения состояния несколько раз, проверку при выполнении и т.д.
И да, автомобиль такая штука что для качественной эксплуатации надо устройства делать весьма дубовыми. Иногда даже в ущерб функционалу.
Добавлено after 17 minutes 9 seconds:От 20 до 40 миллиампер можно грузить.
На чём основывается утверждение? Если информация от производителя, то хотелось бы ознакомится с такими данными… Спрашиваю не из любопытства, а для расширения знаний…
Всё просто вот
ссылка. За что купил за то и продаю, как говорится. Ну а сам проверил на макетке светодиод прекрасно через 910 Ом на землю светит.
Утверждать не берусь, но на мой взгляд, автомобильный аккумулятор должен сглаживать подобные выбросы… хотя если пишешь, что такие выбросы имеются, значит тебе видней… тогда конечно стабилитрон нужен.
Не сглаживает. Слишком инертен наверное. Вообще по автомобильной сети много чего странного бегает. И 60 вольт там это не нонсенс. Краткими пиками, но тем не менее. Я сам и более киловольта всплески наблюдал в автомобильной сети. Но это скорее правильнее будет отнести к разряду поломок чем к штатной работе. Не зря на автомобильных МК (штатных процессорах) так тщательно подходят в защите входов-выходов. Я так понимаю мне еще предстоит озадачиться этим вопросом отдельно.
Добавлено after 2 minutes 50 seconds:Извиняйте, всей темы не читал и в суть не вникал. Просто расскажу, как я реализовывал завершение работы при отключении питания.
В некоторых микроконтроллерах (STM32 например) есть встроенный детектор пониженного напряжения VCC. Порог срабатывания детектора настраивал чуть ниже, чем минимальное напряжение регулятора при нормальной работе. У меня выходило 3,1 - 3,0 В при VCC 3,3 В. Этот сигнал от детектора будет признаком начала выключения. Прерывание от детектора PVD вызывалось с наибольшим приоритетом и программа начинала процедуру корректного выключения устройства, первым делом выключая все мощные потребители, затем сохраняла, если надо, последнее состояние в энергонезависимой памяти. По времени есть примерно около 30-50 мс на все действия, в зависимости от ёмкости конденсаторов питания.
Если встроенного детектора напряжения нет, то придется его организовать извне, поставив супервайзер питания - такая мелкашечка с тремя выводами, которая переключает состояние её выхода при пересечении порогового уровня питания. Бывает на разные пороги. И вот этот сигнал подавать на вход микроконтроллера и использовать его как сигнал внешнего прерывания.
Оч интересно. Спасибо. Покопаю в этом направлении.
Добавлено after 37 minutes 24 seconds:А если говорить о задачах учебных, то ваш подход даже вреден. Потому как приучает ученика не думать, а тупо использовать простые типовые подходы.
Ну вот, спросил совета и тут же с высоты своего знания дал выволочку советующим. А сам ведь только в начале пути.
Уточню, в начале именно этого пути. Это же совсем не значит что что за моими плечами нет других пройденных путей. Возможно куда более сложных.
Ну и собственно совет в стиле "Не тратьте силы зря возьмите молоток побольше", это даже и не совет в общем-то. Будь я сильно помоложе, наверное мог бы даже обидеться за такой совет.
Но уже давно не обижаюсь. Потому как понимаю что люди склонны считать себя умнее окружающих.
И количество лап тут далеко не первостепенное. Если предполагается всё это использовать в автомобиле - при первом же включении навалятся помехи. И нужно будет продумывать более тонкие вещи: развязки, фильтрация, экранирование, разводка. Массу сюрпризов сулит этот путь.
Полностью согласен. Сюрпризов думаю что будет очень много. Но такие трудность вызывают азарт.
А что касается максимальной минимизации
, для меня этот вопрос звучит так: сделать дёшево - или сделать хорошо. Я всегда для себя пытался реализовать второй вариант, даже если для этого понадобится вкорячить ещё один МК. Не нами придумано: скупой платит дважды.
Давно понял простую истину, дорого не значит хорошо. Так-же как дешево не значит плохо. Обычно оптимальный результат где-то между. Его еще зовут золотой серединой.
Согласен что скупой платит дважды. Просто не надо переходить грань между скупостью и экономностью. Если скупость почти всегда приводит к лишним затратам, то экономность обычно позволяет снизить издержки.