Приветствую коллеги!
Как когда-то давным давно обещал (ну лучше поздно чем никогда), выкладываю статью про изготовление своей версии универсального устройства для простейшего мониторинга напряженя батареи, по совместительству простейшего поискового устройства, для поиска модели в высокой траве и т.п. ориентируясь на звуковые/световые сигналы.
Итак, приступим.
Вот так красиво выглядит 3D- модель платы =)


Основные функции устройства:
- мониторинг напряжения батареи, при достижении критического уровня выдается звуковой (световой) сигнал;
- мониторинг уровня PWM на канале приемника, при уровне на канале больше 50% выдается звуковой (световой) сигнал;
- при потере сигнала от передатчика срабатывает сигнализация;
- автоматическое определение количества "банок" батареи Li-Po, устройство может работать с 2S - 4S батареями;
- может работать исключительно как поисковая пищалка, т.е. батарею для мониторинга можно не подключать;

Характеристики:
- напряжение питания - 5В;
- мониторинг батарей Li-Po 2S - 4S;
- сигнализация - любая нагрузка напряжением питания 5В (звуковой излучатель, светодиод, да хоть катапульта или все вместе и сразу) =);
- порог срабатывания по напряжению батареи - 3.2 или 3.3 вольта на банку - в зависимости от прошивки;
- вес 5гр. (с одной пищалкой);

Подробности и принцип работы:
Устройство запитывается от приемника стандартным трехжильным проводом от любого свободного канала. Напряжение питания от BEC должно быть 5В, при значительных отклонениях питающего напряжения от этого значения напряжение батареи будет определяться не правильно!
Обновление. Выложены варианты схемы для питания микроконтроллера от батареи через стабилизатор (см. ниже). В этом варианте ликвидирована зависимость точности измерений напряжения от напряжения BEC. Но иметь ввиду, что при этом подключение батареи к устройству обязательно, иначе работать не будет вообще! Кому нужна только поисковая пищалка - распаивать классический вариант.
При достижении напряжением батареи критического уровня срабатывает сигнализация. Побаночного мониторинга не стал делать, т.к. это серьезно усложнит устройство, а толк сомнителен.
Определение наличия\отсутствия сигнала от передатчика работает как с приемниками с функцией fail-safe, так и с обычными приемниками, у которых при потере связи прекращается генерация PWM.
Проверялось на такой аппаратуре
HobbyKing HK6S 2.4 ГГц FHSS, 6 - канальный приемник и передатчик (Мода 2)
Товар http://www.parkflyer.ru/ru/product/103613/
и на приемниках Fr-Sky с fail-safe.
Устройство постоянно мониторит наличие PWM импульсов от приемника и измеряет их длину. При длине импульса больше 1500мкс (что соответствует 50% уровню), срабатывает сигнализация. Таким образом, если на этот канал привязан, предположим, тумблер, то его включение приведет к включению сигнализации.
Полное отсутствие PWM также приводит к включению сигнализации.

Необходимые компоненты.

Разводка печатной платы делалась под SMD компоненты в корпусах 0603 или 0805, транзистор в корпусе SOT-23, но при желании можно собрать и на DIP, если кому-то сильно понадобится и статья наберет достаточно большой рейтинг - сделаю разводку платы под DIP и дополню статью.
Кто платы травить не умеет-не хочет-ленится - может попытаться собрать хоть на макетке, хоть навесным монтажом - нет препятствий патриотам =)
Разводка и рисование принципиальной схемы производилось в программе DipTrace. Качаем отсюда freeware версию, которой для наших потребностей выше крыши хватит.

Нам понадобятся:
- микроконтроллер Atmel Attiny13A (к корпусе SOIC-8 или DIP-8);
- полевой транзистрор (MOSFET) n-канальный с током сток-исток не менее 300мА (например 2N7002);
- электролитический конденсатор емкостью от 10 до 47 мкФ;
- керамический конденсатор емкостью 0.1мкФ;
- резисторы 24КОм, 10КОм, 1КОм, 470Ом;
- штырьковые разъемы однорядные с шагом 2.54мм (лучше загнутые);
- активный звуковой излучатель с напряжением питания 5В (в простонародье - пищалка);

Для прошивки микроконтроллера необходим USBAsp адаптер, на Али навалом. Или любое другое подходящее для прошивки Attiny13A устройство. Т.к. я прошивал через USBAsp, то описывать процесс буду именно для него.

Опционально для индикации наличия питания платы, распаивать не обязательно:
- светодиод SMD в корпусе 0603 или 0805 (цвет кому какой нравится);
- резистор 2КОм;
В случае использования варианта платы со стабилизатором - эта индикация показывает только наличие питания на сигнализации\нагрузке.

Опционально для схемы со стабилизатором для питания контроллера:
- стабилизатор 78L05 в корпусе TO-92;
- конденсаторы 100нФ и 470нФ керамические напряжением не менее 20В;

Опционально для самостоятельного изготовления печатной платы:
- односторонний фольгированный текстолит;
- сверло диаметром 1мм;
- тонкий провод с хорошей изоляцией;
- перекись водорода 100мл;
- лимонная кислота пищевая;
- соль поваренная пищевая;
- глянцевый журнал с мелованной бумагой;
- лазерный принтер;

Процесс травления описан, например, ТУТ. Ну или гуглится по ключевым словам "травление печатных плат перекисью водорода". Способ понравился своей дешевизной и отсутствием необходимости покупать ядреную химию. =)
Процесс переноса рисунка на плату методом ЛУТ (то бишь лазерно-утюжной технологии=)) описан ТУТ. Или опять же гуглится.

Добыть все это добро можно или у китайцев на каком-нить Алиэкспрессе, или распотрошив какую-нить электронную дохлятину. Проблематично случайно найти будет только микроконтроллер.
Еще раз обращаю внимание - пищалка АКТИВНАЯ, при подключении пассивной - сожжете или ее или транзистор!!!
Ингридиенты для травления платы покупаются влюбой аптеке + продуктовом магазине.

Принципиальная схема:


Картинка кликабельна для увеличения размера. Справа список и маркировка компонентов.
Файлы для DipTrace: (UB_8DIP.dch) (UB_SOIC.dch) . Отличаются только типом корпуса микроконтроллера.
Обновление. Вариант с питанием микроконтроллера от стабилизатора (UB_SOIC_78L05.dch) . При таком варианте нет зависимости точности мониторинга батареи от напряжения BEC. Но иметь ввиду, что подключение батареи обязательно для нормальной работы устройства.
Описывать тут особо нечего...
Светодиод D2 и сопротивление R1 - индикация наличия питания 5В, распаивать не обязательно.
конденсаторы С2 и С1 - фильтр питания.
Резисторы R2 и R3 - резистивный делитель напряжения, используется для перевода напряжения батареи в диапазон понятный микроконтроллеру 0 - 5В.
U1 - микроконтроллер.
U2 - стабилизатор 78L05 в корпусе TO-92. С3 и С4 - керамические конденсаторы его обвязки.
Транзистор Q1 работает в режиме электронного ключа и используется для включения\выключения сигнализации. Если использовать транзистор 2N7002, то максимальный ток нагрузки не должен превышать 300мА. В принципе в качестве нагрузки можно использовать что угодно, что впишется в параметры транзистора с напряжением питания 5В. Транзистор можно использовать более мощный, например, IRLML2502. С ним нагрузка может потреблять до 4.2А, если ваш BEC конечно способен на такой подвиг =)
В качестве нагрузки можно использовать активную пищалку, всякие разные бывают и весьма мощные в том числе, или
мощный светодиод с соответстующим токоограничивающим сопротивлением.
В случае использования мощной нагрузки, желательно электролитический конденсатор поставить пожирнее, дабы избежать проблем с перезагрузкой микроконтроллера при включении нагрузки, пожирнее залудить соответствующие дорожки. А так же использовать качественный провод для подключения устройства к приемнику, который сможет пропустить через себя соответствующий ток и не устроить фейерверк =)

Трассировка платы:


Картинки само собой выложил просто для ознакомления. Файлы DipTrace для детального просмотра и печати качать ниже.
Если кому-то вдруг понадобится в другом формате - пишите, если без гимору удастся экспортировать - выложу в нужных народу форматах.
Печатать для ЛУТа из DipTrace в зеркальном отражении!!! При печати справа в закладке "Слои" убрать все галки, кроме пункта "Верхний"

Обратите внимание, что несколько дорожек находятся на противоположной не фольгированной стороне платы. Их нужно напаять при помощи проводов, соединив соответствующие контактные площадки, в которых предварительно сверлятся отверстия. Рассмотреть их можно открыв файл в DipTrace и переключившись на "Нижний" слой в правой части верхней панели управления.

Корпус DIP-8:(UB.dip)
Корпус SOIC-8:(UB_SOIC8.dip)
Обновление. Универсальный вариант платы с возможностью как установить стабилизатор для питания микроконтроллера, так и не устанавливать:(UB_SOIC8_78L05.dip)
Для начала прошиваем микроконтроллер (см. ниже). Необходимо распаять четырехпиновый и трехпиновый разъемы, а также не забыть про перемычку по цепи GND на "Нижней" стороне платы.
Далее.

Для варианта со стабилизатором: распаять элементы обведенные синим, установить синюю перемычку. Элементы обведенные красным не распаивать. Перерезать дорожку в месте помеченным красным крестом.
Для варианта без стабилизатора: элементы обведенные синим не распаивать, синюю перемычку не устанавливать. Элементы обведенные красным распаять, дорожу помеченную красным крестом не трогать.



Прошивка:


Все тонкости расписывать не буду, статья все же не про способы прошивки микроконтроллеров =) Но обещаю, если честно следовать инструкции - все получится даже у того, кто никогда этим не занимался.
Описание для прошивки с помощью USBAsp типа такого:
USBasp AVR Programming Device for ATMEL proccessors
Товар http://www.parkflyer.ru/ru/product/817748/

Распиновка разъема (кликабельно):

Тут есть тонкий момент, GND в моем конкретном экземпляре адаптера я брал крайнюю левую, т.к. крайняя правая китайцами делавшими мой адапатер заведена хрен знает куда. Селектор питания устанавливаем на 5В.
Подключаем к компьютеру, устанавливаем драйвера при необходимости. Драйвера брать ТУТ.

Распиновка разъемов на нашей плате (в зависимости от типа корпуса микроконтроллера распиновка разная, будте внимательны!!!):

Слева корпус DIP-8, справа SOIC-8. Обратите внимание на те самые дорожки, про которые писал в разделе про трассировку =). Их надо изобразить проводами.
Для прошивки необходимо подключить к соответствующим пинам USBAsp следующие выводы: Reset, SCK, MOSI, MISO, 5V, GND. Обратите внимание, что для разных версий корпуса микроконтроллера, распиновка разъема для прошивки отличается! Черырех пиновый разъем после прошивки можно удалить, кому мешает. Или вообще не распаивать, а напаяться на контактные площадки, прошить и отпаяться.
Подключаем плату к USBAsp, который подключаем к компьютеру. Если планируете использовать какую-либо мощную нагрузку, не подключайте ее в процессе прошивки, хоть адаптер USBAsp при выставлении перемычки на 5В и берет питание непосредственно от порта USB компьютера, лучше не эксперементировать с его нагрузочной способностью =) Если распаивали индикацию питания, то должен загореться светодиод, что означает, что хотя бы с питанием платы проблем нет. Батарею пока подключать не надо!!!
Для прошивки нам понадобится программа (setup-AVRDUDESS-2.4.exe) Устанавливаем, запускаем, выставляем следующие опции (см. рисунок, помечено красным):

Жмакаем кнопку Detect в правом верхнем углу. Внизу в окне вывода должна появиться строка:
Detected 1e9007 = ATtiny13.
Это значит, что все нормально. Если пишет:
Unable to detect MCU.
Значит неправильно подключили. Проверяйте. Если к этому моменту уже дым курится - значит что-то пошло не так =) Ладно, шучу... сжечь этот девайс вообще-то постараться надо =)
Далее в блоке Fuse & lock bits жмакаем кнопки Read. Значения должны быть следующие (см рисунок):

Обычно такие значения стоят по-умолчанию.
Если значения отличаются, вписываем руками те, что на рисунке выше и жмакаем кнопки Write.

Качаем файл прошивки:
Для порогового напряжения 3.2В на банку (Universal_Buzzer_v1.0_3.2V.hex)
Для порогового напряжения 3.3В на банку (UniversalBuzzer_v1.0_3.3v.hex)

Жмакаем в секции Flash кнопу (...), выбираем скачанный файл, затем там же жмакаем кнопку Go.

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

О стоимости.
Т.к. у меня этой рассыпухи навалом и покупалась она в разное время, точно оценить стоимость сложно. Самый дорогой компонент - микроконтроллер, на данный момент продается на Али за 125р. 5шт., т.е. по 25р. штука.
Остальные компоненты вообще копеечные, но это если брать у китайцев и наборами. Например набор SMD резисторов 560шт. 56 номиналов по 10шт. каждого мне обошелся в 180р., т.е. 32 копейки штука.
Таким образом себестоимость готового устройства с лихвой укладывается в 100р., на самом деле даже меньше.

Инструкция по эксплуатации:
Первой к устройству необходимо подключать батарею, а затем уже подавать питание на приемник. При включении и первичной инициализации устройство проверяет напряжение на батарейном входе, и если оно равно 0, то считает, что батарея не подключена. При такой ситуации после включения питания устройство издаст протяжный вой писк длительностью 3с, который говорит о том, что устройство не обнаружило батарею. Даже если после этого подключить батарею, ее мониторинг производиться не будет! При этом мониторинг обрыва связи будет работать в обычном режиме. В том случае, если напряжение подключенной батареи слишком низкое, слишком высокое или не попадает в нормальные диапазоны напряжений Li-Po батарей 2S - 4S, устройство будет выдавать прерывистый сигнал постоянно, это говорит о том, что с батареей что-то не в порядке.
Обновление. При варианте платы со стабилизатором (см. выше) подключение батареи обязательно! Без батареи работать не будет вообще.
При просадке напряжения батареи ниже соответствующего уровня (выбирается типом прошивки):
- для 2S - 6.4В или 6.6В;
- для 3S - 9.6В или 9.9В;
- для 4S - 12.8В или 13.2В;
срабатывает сигнализация, тройные срабатывания с перерывом между ними.

Устройство подключается в любой свободный канал приемника управляемый тумблером или крутилкой. Для удаленного включения аварийной сигнализации необходимо установить канал в положение более 50%. Включится сигнализация "SOS" - три коротких сигнала, три длинных, три коротких.

При обрыве связи с приемником, в зависимости от его типа, возможны два варианта:
- на канале куда подключено устройство отсутствуют PWM импульсы - включается сигнализация;
- приемник имеет функцию fail-safe, в этом случае необходимо запрограммировать приемник таким образом, чтобы при обрыве связи уровень на этом канале был более 50% - включается сигнализация;

Заключение.
Фото тестового экземпляра (кликабельно):


Устройство лично мною собрано оттестировано и работает.
Видео с демонстрацией основных функций:

Исходники программы выкладывать не вижу смысла, если кому-то понадобятся - пишите, поделюсь, если посчитаю нужным =)

Конструктивная критика и рацпредложения принимаются и рассматриваются в порядке очереди.

Спасибо за внимание.

З.Ы. В перспективе планирую дополнить плату стабилизатором питания для контроллера и таким образом развязать его питание и питание нагрузки, а также избавиться от зависимости напряжения BEC и точности измерения напряжения. Кому интересно - следите за апдейтами.

З.З.Ы. Выложил вариант со стабилизатором.