Новая система от Смаллтим - SwiftAI Next Generation - автопилот+телеметрия+ИМУ
Я бы предложил такой алгоритм (для 64 байт, пока размер и ссодержимое структуры не обсуждаем).
Я бы хотел продумать подгонку под аппаратную считывалку строки телетекста через SPI slave. Предлагаю добавить преамбулу и старт последовательность. Тогда мы просто прогоняем некоторое количество верхних строк и валим в память все, что прослушали, затем быстренько ищем преамбулу и старт последовательность, вычисляем сдвиги, подгоняем аппаратные задержки старта тактовых частот SPI и все в шоколаде. То есть, что-то типа автоматической подстройки фазы. Как подстроились, можно тупо читать данные телетекста через SPI. Вообщем я как всегда за минимум софтомых извратов и за максимум эксплуатации хитрожопых аппаратных возможностей таймеров STM32.
То есть в те пункты, что вы написали предлагаю преамбулу #AA несколько раз подряд, затем хеадер из двух байтов. А затем уже по вашему списку.
Каждый раз при включении показывает то 0,2 А (реальный расход без мотора в статике), то 5-7 А.
Как я понял, проблема будет решена только после выпуска нового датчика тока.
А так такая же фигня.
Предлагаю добавить преамбулу и старт последовательность. Тогда мы просто прогоняем некоторое количество верхних строк и валим в память все, что прослушали, затем быстренько ищем преамбулу и старт последовательность, вычисляем сдвиги, подгоняем аппаратные задержки старта тактовых частот SPI и все в шоколаде.
А почему нам недостаточно кадрового и строчного синхроимпульса? По ним все довольно точно синхронизируется. Выделитель синхры - традиционная LM1881.
Но о совместимости со старыми АП и ОСД придется забыть
Почему?
Считаешь Мега не потянет 2.5 МГц битовой скорости? Можно меньше сделать 1.25 МГц, например вдвое увеличив кол-во используемых строк.
Кстати из 625 строк PAL и 525 NTSC видимыми считаются только 576 и 480 соответчтвенно. То есть невидимых строк - 49 или 45, а в полукадре - 24 или 22. ИМХО смело можно задействовать не 4 изи них, а 8-12.
предлагаю преамбулу #AA несколько раз подряд, затем хеадер из двух байтов.
В принципе немого запаса по битам есть, можно и добавить.
Кстати, вот 2 интересных кадра, где видно кодирование данных наземки. Слева - SmallTim, справа - RVOSD:
У Вовы я насчитал 10 строк по 80-100 бит в строке.
У меня именно 2,5мГц (20мГц проц/8 тактов). Только 96 бит в строке (12 байт). Сейчас передаю только координаты и азимут/элевацию для трекера поэтому хватает две строки. Было 4 строки, когда передавал все подряд. В каждой строке в начале стартовый байт для синхронизации приема, затем номер фрейма данный (для каждой строки свой) и в конце CRC16. Остается 8 байт данных на строку. Все конечно на мегах…
В каждой строке в начале стартовый байт для синхронизации приема, затем номер фрейма данный (для каждой строки свой) и в конце CRC16
Восстановление данных используете? Или только отбрасывание?
В каждом кадре новые данные или заложенны повторы?
И каков результат по дальности на практике, на какой степени деградации картинки теряется связь?
Отбрасываю только строку в которой не прошла проверка CRC. Все данные пока укладываются в полукадр (так и поленился писать логер и виртуальную приборную панель, как поначалу задумывал, поэтому убрал все лишнее…). На наземке контроль, если брак хотя бы в одной строке зажигается светодиод на 0.5сек и пикает бузер. Начинает мигать и пикать когда картинка на уровне срыва СИ.
Начинает мигать и пикать когда картинка на уровне срыва СИ.
Весьма хороший результат!
Что в качестве детектора СИ, LM1881?
Не хочется читать всю ветку с самого начала.
Подскажите вот такой вопрос.
- Поддержка коптеров появилась в новом автопилоте?
2.Откуда автопилот берет питание, с сервразьемов от приемника, или с датчика тока или отдельное питание? - Есть ли поддержка футабьего Sbus?
Заранее спасибо за ответы.
2.Откуда автопилот берет питание, с сервразьемов от приемника, или с датчика тока или отдельное питание?
АП питается отдельно, от любого источника напряжением 6-30 В. Сервы АП не питает.
- Есть ли поддержка футабьего Sbus?
Да.
Остальное - не знаю.
- Поддержка коптеров появилась в новом автопилоте?
Пока нет, но Тимофей обещал.
Сначала нужно прошивку для самолетов допилить.
Сервы АП не питает.
Не понял ему ещё и повербокс мутить надо?
Не понял ему ещё и повербокс мутить надо?
Нет. Просто подключите регуль или BEC на любой разъем PWM. Цепи +5 и GND PWM разъемов объединены.
БП АП не питает сервы ни на одном АП, так как токи там могут требоваться до 5-8 А. Этим занимается штатный “питатель борта”.
Возникает резонный вопрос Зачем ему отдельное питание тогда нужно?
Он мог бы питаться с этих же разъёмов что и серво.
Зачем ему отдельное питание тогда нужно? Он мог бы питаться с этих же разъёмов что и серво.
А если у Вас нет питания борта (коптер)?
Или оно слишком слабое (микромодели).
Как в этом случае мерять напряжение основного акка?
Как в этом случае мерять напряжение основного акка?
А разве он не датчиком тока это делает?
А разве он не датчиком тока это делает?
Нет. Существующий датчик мерит только ток.
Напряжение измеряется на входе питания АП и на входе AUX V2.
Тестовым пилотам ушла прошивка 0.9.12 и Панель 6.2.2.
Масса исправлений и дополнений.
Думаю, скоро выйдет публично.
Прошивка SwiftAI NG версии 0.9.15.
Отличия от предыдущей версии, 0.8.14:
- Добавлена поддержка ультразвуковых датчиков расстояния с автоопределением подключения датчика
- Добавлена поддержка Futaba SBUS с расширениями для поддержки LRS Expert-baychi, сигнал подключается на первый сервовход АП.
- Разделены радиусы круга для удержания позиции и круга при возврате в точку старта
- Убраны ограничения на радиусы кругов
- Улучшена математика расчета ориентации по компасу
- Реализован новый алгоритм записи логов без задержки на операции с флеш-памятью
- Реализована запись, стирание и передача логов на ПК
- Добавлены экранные предупреждения при воздушной скорости выше и ниже порогов
- Добавлено мигание параметров при уровне RSSI ниже порога и количестве спутников ниже порога
- Добавлена поддержка голосовых сообщений об изменении состояния и режимов автопилота
- Добавлена поддержка голосовых сообщений с диктовкой полетных параметров
- Добавлена поддержка дублирования экранных предупреждений голосовыми сообщениями
- Добавлено задание опорного напряжения АЦП автопилота (повышает точность работы с аналоговыми датчиками) джампером не только на последний аналоговый вход АП, но и предпоследний аналоговый вход АП
- Исправлено некорректное отображение напряжения питания АП и дополнительной батареи (-1В) при установке джампера
- Исправлено некорректная реакция на настройку отображения режимов работы автопилота
- Добавлена настройка приглушения внешних звуков во время голосовых сообщений
- Исправлен и дополнен список параметров, сохраняемых в бортовом журнале
- Улучшена работа звуковых сообщений при обнаружении спутников и сохранении точки старта
- Введено отслеживание и автоматическая коррекция дрейфа нуля гироскопов
- Упреждение по курсу теперь берется не из курса по GPS, а от курсового гироскопа
- Исправлена логика включения режима аварийной посадки: теперь переход в этот режим возможен из любых режимов, кроме ручного управления, приоритет режима аварийной посадки выше приоритета включения автовозврата
- Введена возможность сохранения израсходованного заряда батареи в энергонезависимой памяти
- Добавлена возможность вызова экранного меню
- Добавлена возможность сброса израсходованного заряда батареи, переинициализации позиции точки старта по GPS, датчиков отриентации, бародатчиков, датчика тока из экранного меню
- Введена возможность автоматической и ручной блокировки и разблокировки автопилота
- Введена блокировка автопилота при ошибке чтения настроек/калибровок или повреждении данных в энергонезависимой памяти
По важным нововведениям:
- Блокировка автопилота.
Блокировка автопилота - полное отключение всех сервовыходов путем отключения соответствующих выводов процессора, это равноценно отключению серворазъема.
Блокировка автопилота включается при каждом старте автопилота, и, если это разрешено в Контрольной Панели, остается включенной дол тех пор, пока не будет снята вручную.
Если блокировка запрещена в контрольной панели, то после включения автопилота блокировка остается включенной лишь до тех пор, пока АП не прочитает настройки из энергонезависимой памяти.
Ошибка чтения настроек приводит к тому, что блокировка остается включенной до тех пор, пока не будет выключена вручную.
Ручное отключение блокировки выполняется так: при нулевом уровне газа необходимо быстро дважды перевести РН влево и в нейтраль. То есть, если РН и газ находятся на левом стике, то
это будет движение левый нижний угол -> низ -> левый нижний угол -> низ.
Если эти движения выполняются в течение дольше двух секунд, то они не воспринимаются как команда снятия блокировки.
Ручное включение блокировки выполняется так: при нулевом уровне газа необходимо быстро дважды перевести РН вправо и в нейтраль. То есть, если РН и газ находятся на левом стике, то
это будет движение правый нижний угол -> низ -> правый нижний угол -> низ.
Если эти движения выполняются в течение дольше двух секунд, то они не воспринимаются как команда установки блокировки.
Ручное снятие и установка блокировки АП возможно только при скорости GPS ниже 5 км/ч, во избежание случайного снятия или установки блокировки АП в полете.
- Экранное меню.
Экранное меню доступно при выборе “Включение экранного меню” для какого либо положения Управляющего канала №2 и переводе этого канала в соответствующее положение.
При включении экранного меню включается блокировка автопилота, при выключении экранного меню блокировка снимается, если она помимо этого не была установлена вручную.
Как ручная блокировка/разблокировка автопилота, включение экранного меню возможно только при скорости по GPS ниже 5 км/ч во избежание случайного включения в полете.
Перемещение между пунктами меню осуществляется правым стиком (стиком тангажа),
а для активации соответствующего пункта меню нужно отклонить стик крена в сторону правого крена на время около 3 секунд.
На экране OSD в это время высвечивается соответствующий статус активного пункта меню.
Используя экранное меню, можно выполнить следующие действия:
-
Сбросить величину израсходованного заряда батареи. Это удобно, когда после нескольких полетов на одной батарее подключается новая,
свежезаряженная батарея. Факт сброса запоминается в энергонезависимой памяти. -
Сбросить координаты точки старта по GPS. После сброса АП начинает заново накапливать данные GPS для сохранения позиции старта
и через несколько секунд сохраняет позицию старта. Это удобно, когда позиция старта изменилась с момента включения АП
или начальные координаты были инициализированы с недостаточной точностью. -
Переинициализировать датчики ориентации. АП запускает процедуру инициализации гироскопов и алгоритма определения ориентации.
Это удобно, когда при штатной инициализации АП он не был неподвижен и нули гироскопов инициализировались некорректно. -
Сбросить нули бародатчика скорости и встроенного бародатчика высоты. Это удобно, когда высота точки старта изменилась или бародатчики проинициализировались недостаточно точно.
-
Сбросить нуль датчика тока. Это удобно, когда датчик тока откалиброван некорректно или показывает недостаточно точный результат. Новое значение нуля НЕ СОХРАНЯЕТСЯ в энергонезависимой памяти.
- Звуковое сопровождение.
АП может озвучивать величину практически всех полетных параметров, в “быстром” режиме (числа произносятся как “один два пять один”)
или в “обычном” режиме (числа произносятся как “тысяча двести пятьдесят один”).
Помимо этого, можно настроить зачитывание или не зачитывание единиц измерения (“Скорость пять” либо “Скорость пять километров в час”),
и включить или выключить специальные зуммеры, привлекающие внимание (“бип-бип Скорость по бародатчику ниже порога”).
Все предупреждения, отображаемые на экране OSD, могут быть продублированы и голосовыми сообщениями. Голосовые сообщения,
соответствующие предупреждениям о выходе полетных параметров за определнные пределы, будут произнесены только в том случае,
если сами предупреждения включены в настройках OSD.
Помимо этого, для любых предупреждениях и для любых полетных параметров можно настроить частоту голосовых сообщений.
Так как АП не имеет возможности прервать текущее сообщение и начать произносить другое, то есть, фактически,
использует очередь голосовых сообщений и произносит их одно за одним, некоторые сообщения
могут быть произнесены с опозданием, вызванным необходимостью дочитать сообщения, стоящие в очереди.
Поэтому не рекомендуется злоупотреблять установкой слишком большого числа звуковых предупреждений и зачиткой большого
количества полетных параметров с большой частотой.
Настойки по умолчанию могут быть хорошей стартовой точкой для последующего выбора оптимального для каждого конкретного пилота набора голосовых сообщений.
Контрольная Панель 6.2.2
- Добавлен выбор SBUS в качестве RC сигнала (см. Радиоуправление - Настройки RC связи)
- Добавлено управление голосовыми сообщениями (см. Видео и звук - Настройки звуковых сообщений)
- Добавлена возможность настраивать приглушение внешних звуков на время воспроизведения голосовых сообщений
- Добавлена поддержка ультразвукового датчика расстояния (см. Мониторинг - Внешние аналоговые датчики)
- Улучшена устойчивость работы
- Добавлена возможность сохранять, стирать, настраивать и просматривать логи (см. Инструменты - Бортовой журнал автопилота)
- Улучшен экспорт логов в kml файлы Google Earth
- Значительно переделан просмотровщик логов
- Добавлен выбор разрешить/запретить сброс расхода батареи при повторных включениях АП (см. Внешние датчики и батарея - Настройка аналоговых входов и батареи)
- Добавлена возможность выбора варианта “Включение экранного меню” для Управляющего канала №2 (см. Радиоуправление - Настройки RC связи)
- Добавлен выбор разрешить/запретить автоблокировку АП (см. Радиоуправление - Настройки RC связи)
- Улучшено удобство калибровки RC каналов: теперь текущие нейтрали и диапазоны каналов отображаются на экране прямо во время калибровки
Ребят, не совсем могу понять практические преимущества блокировки автопилота. Разъясните пожалуйста
Разъясните пожалуйста
Все очень просто.
Представьте, вы приземлились, подошли к самолету, отсоединяете питание…
В это время внезапно садится батарея в аппе, пропадает питание LRS и т.д.
Как результат получаем порубленные пальцы, потому как включится F/S.
У нас была такая ситуация. Отключилась аппа и самолет попытался взлететь.
Слава Богу рядом никого не было, а в минус много чего ушло.
На коптерных АП изначально использовался арминг/дизарминг моторов.
На земле с аппаратом можно было делать все что угодно не боясь того что кто-нибудь заденет пульт или включится failsafe.
Тестовым пилотам ушла прошивка 0.9.12 и Панель 6.2.2.
Тимофей, хватит дразнить общественность.
Давай уже в серию запускай новую прошивку!
0.8.14 у нас уже отлично летает. Хотим еще лучше 😃
Кстати, вчера в минус 25 полетали. Результат на “пятерку”.
Да, думаю, эту версию буду выкладывать публично. Я до сих пор не совсем доволен полсчетом скорости и направления ветра. Если компас работает с ошибками, то и ветер считается неточно. Есть куда еще подумать.
Геннадий облетал тестовую прошивку, результатом доволен. Если захочет, то поделится впечатлениями и логами и видео.
Геннадий облетал тестовую прошивку, результатом доволен. Если захочет, то поделится впечатлениями и логами и видео.
Очень ждем. И впечатления Геннадия и саму прошивку.
25.01.2014 г. произвёл 2 вылета на X-5 wing с целью облёта новой прошивки и оценки качества нововведений.
Впечатления от полёта хорошие. Сначала на предыдущих настройках полетел с переруливанием по крену.
После внесения изменений в настройки полетел по другому
Меню удобное.
На старте плохо работала наземка, поэтому видео хуже.
В середине маршрута было реальное пропадание РУ. Поэтому в этом месте непонятные кренделя.
Дальние круги на большей высоте, ближние - на меньшей. Показания направления и силы ветра адекватные, что очень радует.
Магнитны компас практически совпадает с компасом GPS. Короче оценить все режимы полёта можно по моему техническому видео ролику.
Смотрите и оценивайте.
Но недостатки есть.
- В меню показания датчика тока обнуляются до фактического нуля, а надо до нуля + смещение, записанное при калибровке. Нет коэффициэнтов для подгонки расхода ёмкости аккумулятора с заправочной.
- Надо ввести в КП границу зоны целевой высоты автовозврата (радиус дома) в зоне которого АП запрещено набирать начальную высоту при автовозврате. После взлёта, хочешь поставить его в круг, чтобы одеть очки, посмотреть как крутиться наземка, а АП угоняет крыло на большую высоту, с глаз долой.
Начальная высота при автовозврате задумана для подъёма модели на большую высоту, в случае пропажи РУ, пока аккумуляторы, еще в силе это сделать. Это нужно для последующего возврата домой в режиме экономии и планирования. - Набор этой высоты должен проводиться в режиме не допускающем сваливание с разворотом в сторону базы.
- Сделать возможным отключать вывод координат в во всех режимах полёта, кроме автовозврата и в случае потери спутников (последние зафиксированные данные)
- В случае отказа камеры (например села батарея GoPro) АП должен продолжать транслировать данные телеметрии (полёт под “шторкой” по приборам).
- Отработка вариантов действия АП в случае пропаж РУ и спутников.
- Отработка алгоритма автоматического захода на посадку и посадки против ветра.
- Полёт по точкам
- Полёт в стабилизации с возможностью выполнения фигур пилотажа (2D/3D)
- и ещё то, о чём забыл.
Через 2-3 дня Тимофей обещал внедрить первые пять пунктов и выслать для тестирования прошивку, после чего, я думаю её можно со спокойной совестью
выкладывать на сайт фирмы для общего пользования вместе с облётанными настройками.
Остальные на безопасность полётов особенно не влияют и их можно внедрить позже.
Прошу учесть, что это моё личное мнение по результатам полётов.
- В случае отказа камеры (например села батарея GoPro) АП должен продолжать транслировать данные телеметрии[…]
Через 2-3 дня Тимофей обещал внедрить первые пять пунктов
вроде ж говорили что это невозможно?😃
так-то это бы была реально крутая штука 😃
Это невозможно на старом АП. На новом - вопрос программирования Тимофея. Все перечисленные вопросы с ним обсуждались.
Это невозможно на старом АП. На новом - вопрос программирования Тимофея. Все перечисленные вопросы с ним обсуждались.
Я сделал в черновом варианте формирование синхроимпульсов при отсутствии внешнего видеосигнала силами АП, и оно даже работает. Но буковки подергиваются вправо-влево, надо вдумчиво сидеть с осциллографом и внимательно настраивать приоритеты прерываний. Это (5й пункт) в прошивке через 2-3 дня не появится.