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

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

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

mikki

Я использовал 2S ЛИПО… Можно и 3S но греться поболе будет.
Питается схема от стабилизатора LM1084. Можно использовать любой LDO стаб на ток не менее 1А для одногоршкового зажигания и 1,5А для оппозита.

Минимальное напряжение, когда еще будет АЦП адекватно реагировать - 6,3В
Если без АЦП - то и меньше потянет.
Пороги Измерения АЦП задаются в ЕПРОМе и делителем на GP4.
Делитель (R1 R2) расчитывается таким образом, чтобы при максимальном напряжении батареи на GP4 было не более 5В.

RDoc

А для чего там ток не менее 1 А, если от него питается только микросхема. Зажигалка ведь питается от своего АКБ.

mikki

Повнимательнее смотрите - Это киллсвич со стабилизатором для питания ЗАЖИГАНИЯ.
А сигнал от приемника идет через опторазвязку… Но можно и по-другому смострячить - запитать цифру от приемника а через опторазвязку врубать мосфет на зажигание - на схеме выше примерно так показано. Но тогда контролировать можно будет только напряжение борта