Архив

Публикации с меткой ‘AVR’

Прототип удаленного датчика на базе модуля TR24A

Как и обещал, выкладываю начальную версию удаленного малопотребляющего датчика на основе 2,4ГГц радиомодуля TR24A.
В данной версии связь односторонняя, т.е. датчик только передает данные хосту. По этому, при использовании нескольких устройств в одной сети возможны «коллизии».
Данная схема позволяет подключать «народный» термометр DS18B20, а также емкостный датчик относительной влажности воздуха HCH-1000

Читать далее…

Универсальный драйвер питания мощных светодиодов 2.0

Откопал недавно драйвер питания светодиодов. С тех пор он подвергся некоторой доработке.
А именно, максимальный ток светодиода и опорное напряжение батареи настраивается теперь при помощи дополнительной кнопки на незадействованной ноге контроллера.

Читать далее…

TR24A + USB

Давным давно закупил на Космодроме несколько этих модулей, вот дошли руки с ними поиграться.

Читать далее…

SEPIC-драйвер для питания мощных светодиодов на ATTiny25

27 октября 2010 648 комментариев

При использовании готовых решений DC-DC-преобразователей одна из основных проблем — управление яркостью, выключением, а также контроль напряжения питания в случае использования батарей. В самом простом случае регулировка идет манипуляциями с напряжением обратной связи. Также может применяться «второй» низкочастотный ШИМ…
В любом случае, для полноценного управления нужен дополнительный контроллер, хотя бы типа Tiny13.
Только, зачем если есть микроконтроллер использовать еще и дополнительный специализрованный драйвер. Давно уже пришла идея сделать универсальный драйвер DC-DC-преобразователя с регулировкой тока и монитором батареи. ATTiny13 не совсем подходит под это дело, а вот ATTiny25 — уже в самый раз.
Поскольку питание планировалось от одной банки литий-ионного аккумулятора — то в качестве топологии DC-DC-преобразователя выбор упал на SEPIC. В принципе, с минимальными изменениями в схеме получится и BUCK и BOOST. Единственно, что в случае, если напряжение питания будет выходить за рамки допустимого для АВРки — деталей прибавится.
Получилось такое чудо. Плата полностью односторонняя. Если на двух сторонах делать — будет гораздо компактнее.
ATTiny25 SEPIC-контроллер питания светодиодов

Читать далее…

Мониторинг напряжения батареи в микроконтроллерах AVR

18 октября 2010 8 комментариев

При разработке автономных малопотребляющих устройств довольно часто возникает проблема контроля заряда батареи. Существует довольно много проектов, где тупо ставится делитель из двух резисторов на ногу АЦП. Если делитель будет 470к/100к — то при питании от 3В уже выходит ток порядка 5мка. Обычно ставят сопротивление на порядок меньше, что иногда дает ток утечки на этих резисторах соизмеримый со средним током потребления всего устройства.

В современных микроконтроллерах AVR есть недокументированная возможность, про которую почему-то мало пишут в интернетах. Есть возможность в качестве опорного напряжения выбрать AVCC, а в качестве измеряемого — опору Vbg (обычно, 1.1В) В таком случае имеем несколько плюсов: не требуется постоянная утечка тока на делителе, экономится, как минимум одна нога (что очень критично в восьминогих tiny-контроллерах) и не требуется никаких внешних компонентов.
Пока что этот вариант был опробован на МК ATTiny25V. Для вычисления напряжения питания можно воспользоваться слудующей формулой

Uavcc = 1.1*1024/ADC

Конечно, тут требуется калибровка, потому можно не заниматься вычислениями, а просто забить в EEPROM несколько значений, соответствуюзих различным уровням напряжения батареи.
Еще одно важное замечание. Переключение мультиплексора АЦП в таком режиме происходит не сразу, из-за чего первые 5-6 результатов измерения будут недостоверными (в режиме Free-Run). У меня обычно АЦП работает в непрерывном режиме с усреднением. И при переключении входов отбрасываются 1-2 выборки, но в данном случае пришлось отбрасывать 8 первых выборок.
Осталось проверить, как это будет работать на других контроллерах.

Самодельный велокомпьютер

10 августа 2010 32 комментария

Сразу после покупки велосипеда пришлось закупиться всякой необходимой мелочевкой: спидометр, фара, задняя мигалка, насос…
Хотелось как всегда, побыстрее все взять, поставить и кататься. Первая попавшаяся фара оказалась говеной, вторую подарили — чуть лучше, но еще есть, что улучшить. Насос тоже пришлось обновить…
Велокомпьютер.
Опять же, по-быстрому был куплен первый подвернувшийся за 12-15$ «велокомпьютер» типа Longus BR3. Стандартная фигня с одним датчиком и стандартным для этого дела набором функций (в количестве около 10). Но именно велокомпьютером эту штуку, лично я, называть не могу. Спидометр+одометр. Вычисление скорости мгновенной и средней не такая уже серьезная задача, чтоб называться компьютером.
Для того чтобы девайс назывался велокомьютером или же велонавигатором, на мой взгляд, необходимы следующие стандартные функции(модули):

  • скорость (датчик на колесе);
  • скорость вращения педалей(датчик на педалях);
  • измерение пульса (пока не особо знаю теорию);
  • измерение высоты (барометр/GPS);
  • определение угла подъема/спуска (акселерометр);
  • измерение температуры (DS1820);
  • и стандарные функции подсчета расстояния, средних скоростей и т.д.


Все вышеперечисленное можно найти за не очень большие деньги, но интереса особого не представляет. По этому, список «необходимого» немного дополнился:

  • Измерение текущих координат, скорости, направления (GPS);
  • Хранение трека пройденного пути (SD-MMC-карточка);
  • Задание путевых точек и указание направления к ним;
  • Связь с компутером (Картридер, USB или беспроводная);
  • Беспроводная связь с датчиками (чтоб не было лишних проводов);
  • Управление освещением (тоже по радиоканалу);


Опять же, список можно дополнять, но в при наличии готового правильного железа это все будет несложно реализовать позднее программно.
Из готовых девайсов с похожим функционалом нашлось что-то типа, Garmin Edge, Polar CS600 Power, где цена начинается от 500$ и датчики по 100$. Но на такое и денег жалко и самому все-таки гораздо интереснее сделать.
Также когда-то находил такую тему: http://forum.ixbt.com/topic.cgi?id=48:7153, но там и фукнкционал гораздо скромнее, и непонятно чем все закончилось.

Читать далее…