Киллсвич для бензинки с питанием от LIPO

mikki

Итак, после проведения натурных испытаний выяснилось, что на максимальных оборотах зажигание потребляет максимум 400мА , что для используемого стабилизатора семечки - его температура не превышает 40 градусов без радиатора.
Также установлено, что просадки напряжения при таком токе не происходит (я проверял на нагрузке 1,5А), что радует.
Поэтому схему переделывать не стал за исключением того, что убрал тумблер прямого включения (Х9, Х10)- его функции легли на кнопку программирования.
Выкладываю прошивку.
Работает так.
При включении светодиод мигает 3 раза .
Если есть сигнал с приемника и он указывает на то, что нужно включить зажигание, зажигание включается и светодиод начинает мигать с частотой, чем меньше напряжение батареи тем чаще.
При достижении напряжения на батарее 6В зажигание отключается и светодиод гаснет.
Если сигнал с приемника отсутствует или он соответствует выключению зажигания, то зажигание выключается и светодиод гаснет.

Для прямого включения зажигания нужно кратковременно нажать на кнопку. При этом светодиод начнет часто мигать и зажигание включится независимо от наличия сигнала от приемника.
Для программирования момента выключения нужно подать сигнал от приемника, нажать и удерживать кнопку в течение 3х секунд. После этого светодиод мигнет 3 раза. Далее свич нужно выключить и включить. Новая установка вступит в силу.
Если есть предложения по улучшению работы свича или по изменению алгоритма его работы прошу высказываться, мож чего и забыл…

main.zip

18 days later
mikki

Обновленная прошивка - немного подправил индикацию и измерение напяжения

main.zip

15 days later
MWW
mikki:

При достижении напряжения на батарее 6В зажигание отключается и светодиод гаснет.
------------------------------------------------------------------------------
или по изменению алгоритма его работы прошу высказываться, мож чего и забыл…

Честно сказать, странный у Вас алгоритм… Зачем выключать зажигание при падении напряжения до 6 вольт? Совсем не понятно… Я конечно понимаю, что Вы хотите сберечь липольку от переразряда, но, ее цена не сравнима с ценой модели - представьте себе, что будет если такое выключение случится при 3D пилотаже на малой высоте? Мне кажется, эту отсечку надо убрать из алгоритма, киллсвич должен глушить модель только по команде, и никак иначе…
Риск угробить аккумулятор несравненно мизерный по сравнению с риском разложить самолет…

28 days later
cv_avr

Доброго дня,… или ночи!
Попробвали воссоздать Ваш киллсвч,ну схему проверили раз 20,там нет таких навворотов ,чтоб можнобыло промазать,единственное снял зашиту кода,к сожалению,программировать отдавал друзьям,но с порога мне ни кто не поморгал светиком, подключил сервотестер… протыкал все осцилом ,обидно… но,PIC … не реагирует на все,может у Вас есть уже опыт … ктот собирал Ваш девайс …,ну так вот и хочется и,не получается,подскажите пожалуста,какие могут быть “подводные камни”,я фотку нашей версии прилагаю…
заранее благодарен!

9 days later
mikki

Прошу прощения за долгое молчание - не работает оповещение об ответах на форуме.
Защиту от переразряда снять можно. Наверное это правильно исходя из назначения киллсвича.
Если успею, сегодня сделаю.
По проблеме прошивки - проверьте значение бита MCLR. Он должен быть OFF.
Да, и еще. Если Вы используете PicProg, то для этого программатора существует баг - при загрузке программы биты вроде как устанавливаются, но реально не прошиваются. В этом случае проц не заведется. Решение - вручную переустановить биты конфигурации.
После включения светодиод должен либо мигать либо гореть постоянно в зависимости от входного напряжения. Если не горит - проблема с прошивкой. Попробуйте перепрошить не меняя значений битов конфигурации.
Проверьте, не находится ли кнопка постоянно в нажатом состоянии (я не могу разглядеть на плате но на кномке есть соединенные выводы) если да, то проц уходит в аут и ждет когда вы ее отпустите))) На 4 ноге должно быть +5В.
Да, и еще. Абсолютно необходимы конденсаторы обвязки стабилизатора. в противном случае в стабилизатор уходит вразнос, проц жутко греется и выходит из строя.
У меня почему-то не работает оповещение об ответах на форуме((( Если есть вопросы - пишите zms2003@inbox.ru

1 month later
mikki

Итак, 3.05.09 проведены полевые испытания свича на борту 2х метрового спитфайера…
Схема доказала свою работоспособность, однако для улучшения характеристик прошивка будет доработана в плане:
1.Выявлен баг индикации - при полностью заряженной батарее (когда индикатор не мигает) при отключении зажигания по радиоканалу, светодиод не гаснет а продолжает гореть.
2. Не учтена возможность реверса канала.
3 . Для тонкой настройки АЦП пороговые константы индикации нужно вывести в EEPROM.
Сегодня постараюсь доделать.

mikki

Выкладываю новую прошивку. Проверялась в симуляторе. Если кто сможет, проверьте в реале (у меня контроллер запаян в плату и доработки на работу моего свича не влияют). Адреса EEPROM:
Адрес Описание
0 Значение канала отключения (задается при программировании отсечки кнопкой. Пределы 0х39 - 0х7f)
1 Верхний порог АЦП
2 Первый промежуточный порог АЦП
3 Второй промежуточный порог АЦП
4 Нижний порог АЦП
5 Признак реверса канала (0- ревеса нет. 1-реверс. Автоматически программируется при нажатии кнопки программирования. Если ручка управления в нижнем секторе - 0, в верхнем - 1. По умолчанию - 0)
При отсутствии реверса отсечка происходит при длине канального импульса МЕНЬШЕ заданной.
При реверсе отсечка происходит при длине канального импульса БОЛЬШЕ заданной.

killswitch_v1.2.zip

5 months later
mikki

На сегодняшний день киллсвич отработал сезон на бензиновом двигателе с аппаратурой на 40Мгц и 2.4ГГц.
Ни одного сбоя в работе не выявлено. Отсечка отрабатывает стабильно.
размеры платы можно ужать раза в 3 при использовании SMD компонентов… Единственное - последняя прошивка в поле не проверялась, поэтому если кто заинтересовался и проверил ее, большая просьба отписаться.
Ну а если нет, тогда зимой сам займусь)))

2 months later
Makey

Повторил килсвитч на PIC12F629, в прямом заработал без проблем.
В процессе испытаний выявлен баг в режиме реверса нет отключения зажигания.При проверке EEROM выявлено что в 5 байт “1” прописывается.
Вот результаты испытаний

  1. Программирование по сигналу 1.0мс работа без замечаний
  2. Программирование по сигналу 2.0мс при включении с сигналом 2.0мс зажигание отключено, при уменьшении длительности до 1,5мс зажигание включается и не реагирует на изменение входного сигнала.
  3. Программирование по сигналу 2.0мс при включении с сигналом 1.8мс зажигание включается и реакции на изменение сигнала нет.
    Два раза получилось при программировании по сигналу 1.8мс при этом включение зажигания было при сигнале >1.8мс при сигнале меньше 1.8мс зажигание выключалось.
    Непонятно назначение порта GP1(выв 6)
    Предлагаю расширить диапазон обрабатываемых импульсов до 0.7-0.8мс так как аппаратура выдаёт стандартный сигнал отключения зажигания 3 канала -10% (импульсом 0.9мс) уменшение настройки откл зажигания до (-5%) может вызвать непроизвольное выключение двигателя.
mikki

Спасибо за подробный пост…
GP1 в новой версии не используется.
Правильно ли я понял, что все перечисленные баги относятся к работе в реверсе?
Диапазон расширить только в сторону уменьшения?
В общем понятно… При программировании после считывания длины импулься я немного уменьшал его для надежности))) а в реверсе я его походу тож уменьшаю, а надо увеличивать…

Makey

Все баги только в режиме реверса. В прямом режиме работает хорошо.
Диапазон предлагаю расширить в сторону уменьшения длительности импульса.

mikki

Я наверное диапазон тоже в EEPROM закатаю… дабы можно было настраивать…
Кстати баги ИМХО как раз из-за зажатого диапазона… Но надо еще покурить…
И еще… Опторазвязка немного но ощутимо удлиняет канальные импульсы… Я это заметил когда увидел расхождение измеренных значений импульсов между измеренными без нее и с ней.

roke116

Михаил, я заимел киллсвич китайского производства вот по такой схеме, но вышел из строя МП. Возможна ли замена МП с Вашей прошивкой для этой схемы?

mikki

Можно, только нужно перенаправить порт на включение, вход импульсов, и добавить кнопку программирования
или чтобы прошивку не ломать, перекоммутировать на плате и желательно последовательно со светодиодом оптрона резюк поставить на 470ОМ (мож из-за этого и МК вылетел…)
Да, чтобы АЦП не сбивал с толку, GP4 надо через 1к на +питания подключить

13 days later
mikki

Выкладываю обновленную прошивку.
Баг с реверсом вроде исправил (неправильно отрабатывали прерывания при записи значения канала)
Также вывел в епром все основные константы и добавил режим игнорирования АЦП.
Также расширил диапазон измерения импульсов (теперь его можно настраивать через епром)
/*
адрес EEPROM назначение
0 значение ручки газа (выставляется при программировании канала) должно быть между мин и мах ( 6 и 7 адрес епром)
1 верхнее значение АЦП
2 значение АЦП
3 значение АЦП
4 нижнее значение АЦП
5 Признак реверса канала 1-реверс 0-нет реверса(ставится автоматически)
6 минимальная длительность канального импульса
7 максимальная длительность канального импульса
8 середина хода стика
9 Признак задействования АЦП 1-есть 0-нет
*/

К сожалению не обнаружил у себя в запасниках ни одного чипа поэтому тестил на симе(((

killswitch2.1.zip

mikki

Вдогонку… Выключение АЦП предусмотрел, потому что у меня новый мотор, который можно питать от 4 до 18В… Поэтому ЛИПО буду подключать напрямую а напряжение питания проца снижу до 3.3В… Вот только не знаю, транзистор откроется на таком напряжении или нет. Если нет, поставлю опторазвязку на затвор, а цифровую часть запитаю от приемника… А может и нет)))
Кстати, вариант применения опторазвязкми канального импульса доказал свою жизнеспособность. Питание схемы от зажигания также не привело к несанкционированным отключениям мотора.
В общем есть варианты использования этого свича…

Makey

Повторил на PIC12F629 SMD всё работает без проблем.😁 Светодиод светит прерывисто это так и должно быть или какой-то баг.
Сделал простенький расчёт перевода длительности импульса в миллисекундах в шестнадцатеричный формат для заполнения пределов обрабатываемых импульсов биты EEROM № 0,6,7,8. Прикидывал методом научного тыка в “Протеусе” поэтому на большую точность не претендую 😉

mikki

Прерывисто светит, когда АЦП отключен… Задается в епроме по адресу 2. Чтобы видеть что схема не висит)))
На прямом включении частота мигания выше…

mikki

Кстати, значение Таймера измерения длительности импульса можно расчитать по формуле
(ДлИ)/(1/(1000000/16))
где ДлИ - длина импульса в секундах
Так, для 1мс - 0,001/(1/(1000000/16))=0.001/0,000016=62,5=63=0x3f
для 2мс = 125=0x7d
По поводу мигания при отключенном АЦП - ошибся… Частота мигания фиксированная и не изменяется

RDoc

А в каком диапазоне питания борта эта схема будет работать? В ней есть какой-нибудь стабилизатор напряжения?