Пищалка позволяет контролировать напряжение на банках (до 4 банок) LiPo батареи, может пищать при включении с пульта, а также сигнализировать о потере сигнала (при отсутствии failsafe у приёмника).

Давно зрела идея скрестить поисковую пищалку и пищалку для контроля напряжения аккумулятора. Сперва хотел заставить пищалку для контроля за батареей ещё пищать по команде с пульта, посредством RC Switch. Но для реализации пришлось бы колхозить к пищалке этот самый Switch, что мне не нравилось. Поэтому решил сделать свою универсальную пищалку, которая будет контролировать напряжение на банках батареи, пищать по команде с пульта, а также и при потере сигнала.



За основу был взят распространённый не дорогой контроллер Tiny13A, который имеет 4-е АЦП, что позволяет контролировать напряжение на 4-х банках (только при прошивке фьюза RSTDISBL и превращении ножки Reset в ещё один входной порт, иначе будут контролироваться только 3-и банки и распайку резисторов делителя для четвёртой банки R7, R8 ни в коем случае не делать).

Все остальные элементы были выпаяны из старых ненужных плат, кроме мосфета, который был у меня в запасниках. (транзистор можно поставить и биполярный на ток 200-250 мА для электромагнитного излучателя, для пьезо – можно меньше.)

Т.к. устройство предполагалось универсальное, то питание заводится с 2-х сторон: от батареи и с приёмника (чтобы была возможность работать отдельно от батареи). Обращаю особое внимание на то, что при неправильном подключении батареи, (при подключенном кабеле от приёмника) будут спецэффекты с дымом (банка или несколько банок получат короткое замыкание через плату пищалки). Поэтому особое внимание следует уделить установке предохранителя (0.2A думаю будет вполне). А если не предполагается использовать пищалку отдельно от батареи, то лучше от приёмника заводить только сигнальный провод, а питание и общий провод не подключать, тогда нет опасности короткого замыкания батареи при неправильном её подключении.
Для защиты схемы от переполюсовки батареи предусмотрен защитный диод VD2.

Предполагается использование безгенераторного пьезо- или электромагнитного излучателя на 5 вольт. Сопротивление между + и – звукового излучателя (R11) нужно при использовании пьезоизлучателя (для электромагнитного излучателя оно не нужно). (Прошивка RC_BattAlarm_ATtiny13_1_NoGen.hex)

Для применения звукового излучателя со встроенным генератором, используйте соответствующую прошивку (RC_BattAlarm_ATtiny13_1_Gen.hex).

Я у себя поставил какие-то NoName электромагнитные излучатели, причём я не знал их резонансную частоту. Пришлось подбирать опытным путём. Оказалось, что мои излучатели (на слух) имеют максимумы на частотах 2344Гц и 4688Гц. Остановился на 4688Гц – более противный писк :)

Для тех, кто будет себе подбирать частоту, изменяя программу:

Есть константа c_Tone, которая определяет частоту сигнала: F = 150000/( c_Tone *2)
Также есть отдельная прошивка (RC_BattAlarm_ATtiny13_1_TEST.hex), которая после подачи питания, воспроизводит поочерёдно сигналы частотой начиная с c_Tone = 36 (2083Гц) до 15 (5000Гц) (22 градации). Нужно на слух найти наиболее громкий звук, запомнить его номер по порядку и сопоставить значению c_Tone. Далее в основной программе изменить константу c_Tone новым значением. И откомпилировать программу (в AVR Studio, достаточно 4 версии).
Также, изменяя константу c_lowBatt, можно изменить порог напряжения для срабатывания сигнализации.
c_lowBatt = 876 3.6B
c_lowBatt = 828 3.4B
c_lowBatt = 779 3.2B


Самый ответственный и сложный момент, это подбор резисторов R1 – R8 в делителях напряжения. Необходимо добиться, чтобы при подключенном заряженном аккумуляторе, напряжение на входах АЦП контроллера было 1,1В. (на схеме приведены номиналы для LiPo аккумулятора - 4.2В на банку)

Резисторы могут быть любого номинала, главное чтобы соблюдалось соотношение R1/R2, R3/R4, R5/R6, R7/R8.
Вот примерные варианты для распространённых номиналов:



При прошивке фьюзы остаются по умолчанию. При этом 1 ножка работает не как входной порт и не может контролировать напряжение на 4-й банке. (устройство может видеть только 3-и банки, и резисторы делителя напряжения для 4-й банки распаивать не надо!)

При программировании фьюза RSTDISBL устройство начинает «видеть» 4-ю банку. Но тогда перепрошить контроллер, простыми средствами, уже не получится. Для перепрошивки нужно будет собрать специальный программатор.


Теперь о работе.

Пищалка может включаться по 3-м причинам (в порядке уменьшения приоритета):
  1. Потеря сигнала с приемника (наивысший приоритет) – частые короткие сигналы.
  2. Включение с пульта – серия из двойных коротких сигналов.
  3. Уменьшение напряжения любой банки до порога 3.6В – длинные сигналы с длинной паузой.
После подключения батареи, раздаётся серия сигналов равная количеству банок в батарее. Если сигналов было меньше или их вообще нет – необходимо переподключить батарею т.к., возможно, из-за плохого контакта не все банки были обнаружены и пропущенные банки не будут контролироваться. Также отсутствие сигналов может говорить о слишком низком заряде (<2.5 B на банке).

Архив со всем добром (RC_BattAlarm_ATtiny13_1.rar) (Проект в AVR Studio, схема, плата в Sprint Layout 6, файл для тестирования в Протеусе).

Пожелания и критика приветствуются.