Сигнализатор разряда батарее квадрокоптера

Одним из важных параметров, который нужно контролировать во время полёта – это уровень заряда батарее. Иначе это может кончиться печально для модели, которая мгновение назад находилась в воздухе, а сейчас неуправляемая падает или летит в непонятном направление. Для решения этой задачи нужно контролировать, что бы напряжение аккумулятора не упала ниже пороговой отметки, после которой начинает отказывать электроника и моторы. Для контроля за этой границей был разработан свой миниатюрный сигнализатор литий-полимерных аккумуляторов.

Сигнализатор разряда литий-полимерного аккумулятора модели

Сигнализатор разряда литий-полимерного аккумулятора модели

Да, есть множество готовых таких сигнализаторов, но ждать его доставки из Китая долго, а в местных магазинах нужного в наличие не было. Да и самостоятельная разработка даёт мне возможность заложить больше функционала или настроить оповещение, т.к. мне хочется.

Схема пищалки приведена ниже:

Схема сигнализатора разряда литий-полимерного аккумулятора модели

Схема

Как видно, всё только самое необходимое: стабилизатор на 5В, микроконтроллер, резисторный делитель и сам пьезоизлучатель. Пищалку со встроенным генератором взял ту, что была в наличие в ближайшем магазине, она, к сожалению, оказалась не очень громкой, хотя для маленького квадрокоптера её достаточно, бонусом стала её малая прожорливость, в связи, с чем посадил её напрямую на ногу МК. Если применять более мощный пьезоизлучатель, то нужно, что бы потребляемый им ток не превышал 15мА или добавить в схему ключ.

В спокойном состоянии на GP1 – 0, а на GP2 – 1, во время тревоги сигналы инвертируются.

Печатка (вид со стороны выводных деталей)

Печатка (вид со стороны выводных деталей)

Основу тревожного оповещателя о разряде бортовой батарее стал МК PIC12F675. Извещатель со встроенным генератором EFM-250A. Стаблизатор 78L05ABUTR в корпусе SOT-89 + обвязка два чип конденсатора C1 и C2 в корпусах типоразмера 0805 по 0,1мкФ. Конденсатор C3 чип тантал в корпусе A на 10мкФ напряжением от 10В. Резисторы делителя R1 0805 27к 1% и R2 4,7к 1206 1%. R3 4,7к 0805. И панелька для микроконтроллера DIP8 т.к. пищалка у меня была в стадии разработки, тестирования и отладки.

В прошивки заложил 3 диапазона срабатывания и 2 детектируемых диапазона работы:


2 банки, менее 8,93В 3 банки, менее 13,1В
инициализация один короткий сигнал два коротких сигнала
один короткий сигнал
7,4В
11,1В
периодичный короткий сигнал
10,3В
длинный периодичный сигнал
6,5В
9,5В

Если напряжение будет выше 13В то пищалка будет пищать беспрерывно, сигнализируя о неисправности аккумулятора. Так же хочу упомянуть особенность применённого стабилизатора 78L05: что минимальное падение на нём 1,7В, а я его использую c 2-х баночном Li-Poli аккумулятором, у которого напряжение во время работы может просесть ниже 6В. Так использовать стабилизатор не очень хорошо и напряжение на МК может упасть до 4В и ниже, но стабилизатор тем не менее со своей задачей справляется, а контроллер может работать при пониженном напряжение. Только когда напряжение на входе падает ниже 6В пищалка начинает всё тише работать.

Так же следует учесть, что для упрощение и удешевления конструкции из схемы был исключен подстроечный резистор, в связи с этим, даже при использование 1% резисторов, возможно небольшое отклонение от заявленных пороговых напряжений.

Установленный сигнализатор на мелкокоптере

Установленный сигнализатор на мелкокоптере

ВНИМАНИЕ! Не забываем про калибровочные биты!

Скачать печатку и прошивку

Скачать исходник ,

для тех, кто хочет откорректировать функционал под свои нужды.

17 комментариев »

Alex_EXE | 12.08.2012 | Авиа | 9 947 просмотров

17 комментариев на « Сигнализатор разряда батарее квадрокоптера»

  1. Alex пишет 12.09.2012 в 23:48 #

    Alex_EXE. Доброго времени суток, 1) на 11,1v какой резистор делителя подбирать, 2) как сделать в сигнализаторе разряда, что бы ещё и светодиод загорался вместе с пищалкой?

  2. Alex_EXE пишет 13.09.2012 в 09:51 #

    1. резисторы те же самые, МК сам определяет какой аккумулятор к нему подключен.
    2. Что бы светодиод загорался одновременно с пищалкой — то между землёй и GP1 или параллельно пищалке, если токоотдачи GP2 хватит.

  3. Гришка пишет 16.11.2012 в 13:45 #

    Здравствуйте, подскажите для того что бы отслеживать напряжение на 3.7В Li-on аккумуляторе какие должны быть значения детектируемого напряжения. И ещё обязательно ли делать делить напряжения, видел примеры где напряжение идёт на прямую на АЦП без делителя?
    За ранее спасибо.

  4. Alex_EXE пишет 16.11.2012 в 13:55 #

    Эта схема не подойдет для детектирования напряжений ниже 7В.
    Задача делителя — поделить входное напряжение, что бы контроллер работал с допустимыми для него напряжениями, превышение которых может привести к выгоранию АЦП микроконтроллера или порче всей микросхемы.

  5. Гришка пишет 16.11.2012 в 18:00 #

    А у Вас нет примерчика, для 3.7В то же для pic12f675?

  6. Гришка пишет 17.11.2012 в 17:38 #

    Здравствуйте, у Вас в исходнике написано
    return ADRESL+ADRESH*256;// читаем младший байт с АЦП и старшие 2 байта с АЦП
    Вот это старшие 2 байта с АЦП может имелось ввиду старшие 2 бита, или я не правильно понял?
    И еще один вопрос если детектируемое напряжение меньше того с которым может работать контроллер то делитель напряжения не обязательно ставить например:
    допустимое напряжение для работы контроллера 5.5В
    детектируемое напряжение 4.2В (полностью заряженная li-on АКБ) но при этом контроллер запитан от 3.3В в этом случае можно использовать опорное напряжение от Vdd контроллера и без делителей напряжения?

  7. Alex_EXE пишет 17.11.2012 в 19:46 #

    Примера готового нет.

    Да, верно, 2 бита.
    Дело в том, что для измерения напряжения в пределах от 0 до 5В контроллер нужно питать 5В или на вход Vref нужно подать опорные 5В и причём эти 5В должны быть стабильными, иначе АЦП будет врать. В вашем случае будет проще получить опорное напряжение 3.3В с помощью стабилитрона или запитать весь контроллер стабильными 3.3В, затем, всё таки, поделить входное напряжение, скажем, в 2 раза и подать на вход АЦП. Так же ещё одним неприятным минусом такого варианта будет необходимость пересчёта выходных значений АЦП под новое опорное напряжение. Еще как вариант можно напряжение питания контроллера поднять до 5В, например, с помощью ncp1400, но это как то сложновато будет.

  8. Гришка пишет 17.11.2012 в 21:12 #

    Вот как раз в этом вся загвоздка, пока не понял как рассчитывать значения, а питание контроллера у меня стабилизировано 3.3В и лишних ног нет все заняты на Vref подать опорное не могу, вариант использовать только внутренний ИОН с Vdd. Сейчас посмотрел может можно будет обойтись компаратором.

  9. Alex_EXE пишет 17.11.2012 в 23:16 #

    Такой вариант тоже описал выше:
    в качестве опорного напряжения используем напряжение питание контроллера (флаг VCFG=0), т.е. изменений тут нет. Понадобиться делитель, скажем в 2 раза, что бы входное напряжение не превышало опорное. И останется только пересчитать значения АЦП: 0 — 0В 1024 — 6.6В (для делителя в 2 раза), если нечего не путаю.
    Компаратор использовать тоже можно, но менее гибко, т.е. только норма и разряжено.

  10. Гришка пишет 18.11.2012 в 00:37 #

    Спасибо, с АЦП становится более менее понятно. Насчёт компаратора в принципе больше и не требуется, в устройстве задействован только один светодиод как раз для индикации разряда АКБ.

  11. olegtur77 пишет 10.12.2012 в 00:25 #

    Собрал платку,прошил два пика, но схема молчит. Питание 4,92В, три банки 12.3В, на входе ацп 1,82В. Посмотрел хекс, вроде все нормально…не могу понять.

  12. olegtur77 пишет 10.12.2012 в 03:01 #

    прошил третий проц, заработало. в первых двух случайно затер калибровку, от они и не пищали

  13. Alex_EXE пишет 10.12.2012 в 20:15 #

    Добавил предупреждение в статью.

  14. Alex_EXE пишет 28.05.2013 в 12:03 #

    Нашел пищалку погромче в несколько раз — EMX-7TA06SP.
    Тока одного вывода МК на неё должно хватить, т.е. замена безболезненная, нечего в проекте менять не нужно.

  15. search_max пишет 03.07.2013 в 00:45 #

    Простите, но я не допираю.. зачем пищалка в квадрокоптере??! Он же далеко. Легче посредством телиметрии вывести пищалку на пульт управления. Тем более что и так всё туда идёт…. Хотя я ваш проект полностью не читал. Не знаю как вы им управляете. Но обычно люди либо покупают типа футабы, либо городят сами пульты, либо управляют с нетбука/ноута.

  16. Alex_EXE пишет 03.07.2013 в 01:26 #

    Далеко — это если летать далеко. (Когда доберусь до FPV тогда однозначно телеметрия, пока ей внимания не уделял, только в планах)
    Вы хоть раз слышали, как пищит пищалка с HobbyKing? Её за пол километра слышно, если конечно не очень шумно. А представленную пищалку использую на маленьком квадрате, на котором летаю в помещениях и её вполне хватает, даже несмотря на тихий излучатель (марка более мощного в комментариях есть).

  17. search_max пишет 03.07.2013 в 21:58 #

    Нет не слышал :).
    Но после прочтения статьи первая мысль это то что эта вещица совсем не нужна. А после прояснения ясно уже что это на специфические нужды :).
    Кстатии на счёт FPV. Вы то сказали что пока не заглядываете так далеко, но просто интересно чем и на какой частоте вы собираетесь работать? Чем это в смысле антенна+приёмно-передающий блок. А частоту обычно любят 1,2ГГц, бывает ещё 900МГц. Ну а я встретил у одно за бугром чел-а в описании такую вещь: Intuicom C1000μ, с малюпасенькой платформочкой управления всего планера+место под кусок RouterOS. Найти не удалось её, но ближайший аналог: Ubiquiti XR9, который тоже редко заловить. Вы с такими случаем не встречались?

Комментарии RSS

Оставьте отзыв