Перехожу на цифровые КиллСвитчДуины!
Не так давно полетал я на своем бензиновом паралете. Первый вылет сразу после утопления всей модели в болоте и проверки и отчистки всей электроники от налета и окислов(приемник-утопленник заменен на новый от греха подальше). Все бы ничего, но после 3 полетов неожиданно отказал киллсвитч. До этого никаких глюков не было ни на земле ни в полете. Просто тупо не работает - не выключает!
Обнаружил уже на старте разложив все на ВПП и финишной проверки перед стартом.
Не стал снова экспериментировать и свернулся домой. Там уже разобрал кожуру киллсвитча и начал осматривать в чем дело. Схема свитча простая и весьма проверенная на флип-флопе 4013В
Ну плюс добавил 5В рег на зажигалку и диоды не ставил так как 5В рег линейник питает борт(он стоит на плате развязки HV питания).
Проблема, как оказалось, крылась в задающем порог срабатывания резисторе P1-100К, который ради “надежности” я заменил 10К керамическим SMD резистором как и все остальные элементы к слову говоря(кроме оптрона). От воды или вибрации или и того и другого, резистор лопнул(заметно только через линзу с очень большим увеличением) и свитч все время давал 1 на вход оптопары и соответственно ключа. Вижуально хрен поймешь, а тем более если в полях.
Очень крепко я задумался над тем как и чем заменить в этих устройствах логику и схемотехнику таким образом, чтобы в принципе избавиться от подобной херни с определением порога в РРМ сигнале, который зависит от одного ненадежного элемента, хоть схема годами отработана не мной одним.
Так как я все еще в процессе разработки больших флайт-контроллеров для Диаблотина и паралёта(на больших ардуинах Mega/Due) и делаю я их очень неспешно, а летать хоцца я решил сделать новый киллсвитч на базе ардуины. В наличии была ардуина Микро, плюс куплено куча всяких выводных элементов чтобы сделать максимально удобный девайс.
Собрал пока на безпаечной макетке стенд, на котором отработал алгоритмы работы свитча с дополнительным полезным функционалом. Конечные изделия буду ваять на ардуине Нано, как более дешевом варианте CPU. Начинаю делать выводную плату под цоколевку ардуины, тобиш превращать в законченное изделие.
Итак, что я задумал сваять. Конечный девайс будет состоять из двух изделий - стандартная ардуина с ногами выводов и выводная плата с кроваткой для ардуины, регом 5В для ее питания, входом для приемника(и питания), входом для АКБ зажигания, опторазвязкой, регом 5В для зажиги, выходами на 2 светодиода(многоцветных) и пищалкой.
Выводная плата с HV развязкой питания будет несколько больше размером чем выводная плата простого киллсвитча за счет того что рег 5В будет на 7.5А и будут входы и выходы на сервы(HV). Рег на 5В на зажигу есть в обоих вариантах штатно.
Что уже умеет девайс:
- собственно включает выключает зажигание. Сигнал РРМ ловится с аппаратным прерыванием и замеряется длина импульса и определение срабатывания, таким образом, никак не зависит ни от каких задающих деталек как в случае прежней схемы.
- двухцветный светодиод индикации зажигания показывает наличие питания от АКБ зажигания красным(слабенько) и ярко синим показывает включенность самого зажигания
- трехцветный системный светодиод отображает состояние борта и управления
- Встроенный вольтметр следит за бортовым АКБ(выставляется его тип - LiFe/LiPO [NiCd/NiMH не подерживаются как лютый анахрнонизм]) и если напряжение понизилось ниже порога1(зашит) то блокируется зажигание и начинает моргать ярким зеленым. Решение о блокировке зажигания по замеру среднего напряжения в течении 2 секунд, а не одномоментно. Это первая защита от вылета с тухлым АКБ борта на опасной модели с бензиновым мотором.
- Дублируется индикация включения/выключения зажигания - моргает красным инверсно основному светику состояния зажигания(если выключено то моргает, если включено не горит вообще).
- Если отваливается провод управление от приемника или падает сигнал с приемника, свитч либо оставляет зажигания как было на момент отвала сигнала, либо выключает его(задается в интерактивном меню).
-
При троекратном выключении свитча в течение 2сек включается набортная 5В поисковая пищалка(пока к стенду 12В версия подключена, тиховатая собака) бибикает с шагом 0.5с для поиска модели в травах, болотах или деревьях. Выключается также троекратным выключением в течение 2с.
-
При снижении напряжения ниже порога2(вшит) киллсвитч включает Имперский Марш и уходит в себя блокируя все, тем самым говоря что полеты с таким АКБ борта закончены на сегодня или до его замены.
-
Интерактивное меню настройки подобно менюхам ESC c настройкой включения режима выключения зажигания при отвале управления и калибровкой диапазона РРМ канала на управлении(у всех пультов по разному) с запоминанием в EEPROM. По дефолту отключение при отвале управления выключено(вдруг банальный краткий неконтакт в полете случился?), диапазон сигнала РРМ стандартный 1000-2000мкс.
-
также есть диагностический порт для подключения переменника 10кОм для неиспользования приемника-передатчика при отладке(вшитый в девайс сервотестер).
-
возможность перезалить скетч с прошивкой используя стандартный порт ардуины.
Теперь ньюансы!
а. Почему надо блокирование зажигание при тухловатом АКБ?
Потому что полет с протухшей батарейкой на бензопиле чреват проблемами с законом(вдруг в кого попадет?) и скорым применением режима поиска дров. ctOS заботится о вас и не даст дровам случиться хотя бы по причине забывчивости пилота!
б. Почему не буду делать замер напряжения АКБ зажигания?
Потому технически крайне усложняется схема девайса. Так как замер напряжения идет через делитель и ADC пин на самой ардуине - это релизуется только в пределах сети питания борта легко. Для замера напруги АКБ зажигания с тем же делителем из-за опторазвязки требуется поставить микруху внешнего ADC и пробросить двунаправленно через опторазвязку ее SPI интерфейс, что увеличивает на 5 каналов опторазвязку(причем один в обратную сторону) и соответственно сильно увеличивает размеры и стоимость решения. Борт жрет много, зажигание жрет мало - такой замер просто нецелесообразенэкономически.
в. Почему не поддерживается центральное питание борта и зажигания от одной АКБ как делают многие?
Я сторонник чистого раздельного питания борта и зажигания. Я не сторонник вносить своими руками помехи из очень грязного контура зажигания в контур питания борта как любят делать многие бензиноводы. Достаточно упомянуть распространенный тахометр RCEXL Tacho с Хоббикинга или Himodel.com который может мерять обороты как с зажигалки напрямую при наличии выходного порта с нее, так и с ее питания через Y-кабель. Там в обратку при даче искры идет такой импульс помехи что хватает для уверенного определения такта искры для МК тахометра(а это уровень сигнала выше 2.5В!). Не, нам такое говно не нужно поддерживать! Пускай владельцы одного АКБ на все питание идут лесом и покупают киллсвитч на Хоббикинге на схеме 4013В и бьются от барабашек в питании самостоятельно!
с. Проект частично коммерческий
Кто осилит выводную плату самостоятельно и не рукожоп - тому почет и уважуха! Скетч будет открыт как и принципиальная схема девайса в двух версиях выводных плат
Также на основе кода КиллСвитчДуины(KillSwitchDuino) будет делаться в дальнейшем флайт-контроллер для бензосамолетов и паралетов на базе Arduino Mega/Due с очень навороченным функционалом. Это пока в ближайшей перспективе, проекты будут строго закрытыми/коммерческими.
Видео крайних полетов на прамодели Trike-Z+eGo Chipper XL Deluxe, кстати, под старый добрый Рок-н-Ролл: