Comments 54
Хаха, интересно, а что мешало автору сделать пульт с нулевым током покоя? Я когда пытался сделать свою авто сигналку делал так: нажатие на кнопку — подавало питание на контроллер, который защелкивал оптопару удерживающую питание. Затем МК грузился, посылал сигнал и после — отщелкивал оптопару — полностью вырубая себе питание. Время загрузки МК и посылки сигнала — настолько мало, что разницы между моим вариантом и классикой — не было видно никакой.
Я бы попробовал без оптопары, если код из флеша сразу выполняется и написано все на голом железе, без монструозных библиотек и операционных систем, то времени нажатия на кнопку вполне хватит чтобы инициализировать железо, считать сигнал и выполнить действие. ИМХО, конечно.
Особого смысла так усложнять нет. Можно взять контроллер попроще (ATTiny), и ток в режиме сна будет меньше 1 мкА. Ток саморазряда батареи больше.
Если срок работы пульта от одного комплекта батареек 4 года, то увеличив его до 5 лет мы никакого нового качества не получим.
А батарейки типа «таблетки» могут не потянуть ток (десятки миллиампер), необходимый для работы светодиода. Точнее могут в таком режиме терять заряд значительно быстрее, чем ожидается.
И двухконтактные кнопки — это дороже и менее надежно. Их сложно заменить контактами на плате, которые замыкаются токопроводящей площадкой резиновой кнопки и т.п.
Я бы сказал, что подобное решение приносит проблем гораздо больше, чем способно дать положительного результата. Может быть поэтому я ни разу не видел пульта с двухконтактными кнопками, который бы полностью обесточивал себя, а не засыпал бы.
Для «дрыгания» светодиодом можно сделать буфер из конденсатора, который будет с некотрой задержкой заряжаться, а затем «выстреливать» пакет данных. С другой стороны, проще просто посмотреть характеристики батарейки. В любом случае, конденсатор не помешает, он позволит сохранять работоспособность при низком заряде батареи.
Двухконтактные кнопки можно заменить на одноконтактные, но придется делать небольшую схему с диодами и включать подтяжку. Тогда можно заменить решение на резиновые кнопки.
Думать нужно в первую очередь о потребителе. Потребителю будет по нраву маленький пульт. А в маленький пульт не впихнешь большую батарейку. ИМХО.
Для «дрыгания» светодиодом можно сделать буфер из конденсатора, который будет с некотрой задержкой заряжаться, а затем «выстреливать» пакет данных
Я думал об этом. Конденсатор нужно будет довольно большой. Там ток может быть и 50 мА, а скорость выпихивания посылки 1-2 бита в миллисекунду, если не ошибаюсь. Если 16 бит, то, грубо говоря 10 мс, из которых светодиод светит четверть времени.
Двухконтактные кнопки можно заменить на одноконтактные, но придется делать небольшую схему с диодами и включать подтяжку. Тогда можно заменить решение на резиновые кнопки.
Ну да. Диоды, транзистор, который все это будет открывать, токи утечки…
Думать нужно в первую очередь о потребителе. Потребителю будет по нраву маленький пульт. А в маленький пульт не впихнешь большую батарейку. ИМХО.
Все имеет разумные пределы. Я покупал китайские универсальные пульты плоские и маленькие. Включить телек удобно. Но кнопки для полноценного управления там просто не разместятся. Если вы когда-нибудь разбирали пульт, то, наверное, заметили, что он внутри вообще пустой и батарейки занимают 10% объема. Остальное — пустота, чтобы обеспечить большую площадь для размещения кнопок.
Утечек не будет. Диоды поставить после кнопок.
Кажется, это называется «монтажная операция ИЛИ». Вроде ничего не пропустил.
В схемотехнике я ничего не понимаю, и поэтому не уверен, что питание схемы через резиновую кнопку — хорошая идея. И что дребезг контактов не надо подавлять.
Если все это будет работать без схем подавления дребезга, без дополнительных транзисторов, которые только управляются сигналом от кнопки, то отлично. Если же не будет, то вот в этой части после диодов и возможны всякие неучтенные расходы электричества.
Но более того, в этой схеме можно и без него — если при нажатии дребезг настолько значительный, что контроллер пройдёт несколько циклов вкл/выкл — то да и чёрт бы с ним, когда кнопка стабилизируется, он запустится и отработает.
С остальным, в принципе, согласен. Хотя ик-порт на сотнях килобит в секунду работает, кажется. Никак не 10 мс получается.
Ну попробовать ведь всегда стоит :)
Наличие же нагрузки имеющей ток потребления ниже тока саморазряда не всегда приводит к уменьшению времени жизни, по крайней мере линейной зависимости как при суммировании тока потребления и тока саморазряда тут нет. Более того разброс в качестве элементов питания будет играть большую роль, чем такая нагрузка.
Ясно, что ток саморазряда — оценочная характеристика. Статистическая. А ток разряда — это более-менее постоянная величина.
Не ясно только, на какие теоретические и экспериментальные данные опирается утверждение «наличие нагрузки, имеющей ток потребления ниже тока саморазряда не всегда приводит к уменьшению времени жизни». Мне это кажется сильно неочевидным.
Насчет нелинейности согласен. Насчет «не всегда» — сильно сомневаюсь. Но, опять же, хотелось бы просветиться на этот счет.
Кажется вполне логичным, что внешний и внутренний ток можно суммировать.
Другое дело, например, коррозия корпуса, которая ни как не зависит от тока потребления, но ограничивает срок жизни батарейки.
Как раз таки экспериментальные данные и позволяют это утверждать. Но все же добавлю что там есть "нюанс" в виде того, что потребление бралось среднее (условно — импульсы 10мА в течении 20мкс с периодичностью в. 1с на фоне 2мкА постоянного), что может сделать меня неправым в общем случае. Объясняется тем что процессы протекающие в батарее зависят в том числе от того, есть потребление или нет. При наличии хотя бы небольшого потребления саморазряд может меняться.
5 мс у него это примерно занимает, считая раскочегаривание и выход на режим RC-генератора.
от кол-ва кода скорость запуска не зависит НИКАК! это AVR и в этом его прелесть.
но это не недостаток атмеги — это недостаток програмиста и трассировщика.
За код как уже было замечено ниже — вообще умолчим… никакого сохранения предыдущего состояния, никакого засыпания по таймауту залипшей кнопки и прочего… ад просто.
void loop() { //MUST set BOD to <3V so this can all run off a single CR2032 (write 0x05 to extended fuse for 2.7V BOD, 0x07 to disable BOD)
if(digitalRead(pwr)==0){tmp=power_cmd; //BUG, if button is held, sends additional press on button release!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}else if(digitalRead(play)==0){tmp=play_cmd;
}else if(digitalRead(pause)==0){tmp=pause_cmd;
LAutour вполне себе, берем двусторонний текстолит, канцелярским ножом его расщепляем, травми. сверлим. сопоставляем отверстия клеим. Да. чуть трудозатратнее, но более чем реализуемо :) и совмещение слоев очевидно проще)
а что с доставкой? ну выйдет в десятку баксов и пару недель ожидания. в наших реалиях самодельная плата не сильно дешевле обходится без учета потраченного времени и нервов
Заказывать есть смысл когда нужны эти 10 штук. Единичное быстрее проще и дешевле самому сделать
перекись водорода в аптеке — копейки
лимонная кислота еще копейки.
(хлорное железо покупал за 70р когда то банку, с учетом что оно восстанавливается — почти вечное)
Глянцевая бумага — бесплатно журналы раздают.(певый раз был еще веселее, напечатал на струйнике на обычной бумаге, а чтоб возможно было перевести, сходил на почту сделал копию на ксероксе на страницу журнала, давно же это было)
Нервы — не знаю, у меня с первого раза получались дорожки 0.2 с шагом 0.2 (первый раз когда трассировку делал не посомтрел на толщину, а на экране все выглядело достаточно крупно). А сейчас есть вариант и без утюга переносить тонер.
Время — 10-20 минут против 2 недель. Если взять SMD то еще и сверлить ничего не нужно.
LAutour ну с этим я и спорить не буду, я высказался только по поводу изготовление двусторонних плат:)
Я привык к тому что все должно в первую очередь красиво выглядеть. Шучу. Склоняюсь к тому что плата прототипа должна быть максимально приближена к рабочей версии. В плане разводки
Пульт ДУ с малым током покоя на ATmega328P