OSD на ATmega1281
В первой версии передавалось все, что только можно передать… Думал делать виртуальную приборную панель. Потом что-то стало лениво, на пол пути забросил свою софтину с приборной панелью и картой, и оставил только передачу координат и рассчитанные на борту азимут и элевацию антенны наземки.
Вот я и смотрю в коде что азимут уже готовый… а… а почему их на земле не считать? если координаты идут? для большей надёжности?
Извиняюсь если тупые вопросы задаю:)
Да не… вовсе не тупые… Тоже поначалу хотел считать на земле. Но для расчета кроме текущего положения надо знать положение базы. АП его знает по любому, иначе куда крутить в RTH. А как сказать базе? Однократным сообщением? Когда его отправлять? Как узнать приняла станция его или нет? Дублировать по сути константу (8 байт) периодически, вроде тоже не по хозяйски… Получается что проще это считать на борту (несколько строк на Си) и передавать сразу актуальные азимут и элевацию (всего 4 байта).
Озадачился вопросом потому что потребовалась наземка, но координаты по USART хочу в неё грузить вот и собираю инфу по этому.
В основе ваша разработка, плату вытравил уже вот, доламываю голову над софтом:)
Извяняюсь, atmega 2560 для проекта подойдёт?
для осд-Ап всмысле:)
Залить один в один нех вряд-ли получится… Но портировать прошивку скорее всего будет не сложно…
…
Тут поигрался со своими RFM22… Откалибровал по частоте кварцы. Был весьма удивлен, что на одном модуле с температурой частота увеличивается, а на другом уменьшается… Но в принципе в рабочем интервале (проверял +10…+50 град) точность <5ppm.
судя по описалову разница не большая в этих МК, по корпусам и выходной переферии у 2560 поболее ног -100 и на 2 UART больше и шимов побольше…
а ещё вопрос - от приёмника в АП последовательный ппм идёт?
Да, последовательный ппм, автоинверсия. Правда этот код не проверялся больше года, давно использую свой LRS-приемник подключаемый к АП по UART, но как понял у Константина все работает.
Вчера чуть не грохнулся… Самолет после многих, но казалось бы не слишком серьезных непроверенных модификаций, прошивка- так по мелочи поправлена, конфигурация тоже… Весьма сильный, порывистый ветерок. Нормально взлетел, вроде управляется, включил стабилизацию, тоже как-то стабилизирует, хоть, заметил, с потерей высоты. На ветру толком ничего не поймешь. Пробую RTH. Самолет заложил крен, и с разворотом весело несется к земле (Константин, почти как на твоем видео…). До последнего надеялся, сейчас одумывается- выправится… Не… Успеваю врубить ручной режим, с перепугу (после стабилизации как-то забываешь, что самолетом надо еще и управлять) чуть не переворачиваюсь в инверт, вообщем наверное в метре от земли успеваю выровнять и выдернуть… Причины, как потом разбирался, две.
- Замерзла высота GPS. Даже не совсем замерзла, менялась, но с очень большим опозданием.
- Самолет после переделок оказался абсолютно несбалансированным и неоттриммированным. Еле посадил его- газ сбрасываю, он падает как кирпич.
Вообщем мораль, сколько всех не призывал к бдительности, не торопиться, все последовательно настраивать, проверять и держать палец на MNL, в итоге сам (очередной раз!) оказался слишком самоуверен…
переразведу плату на 2560 попробую залить вашу прошиву, должно всё нормально встать:)
Сергей, я вот уже три недели делаю носитель 😃. Потраченного времени хватило бы как раз, чтоб готовый из Китая приехал, зато удовольствие от сборки получил. Но, наконец-то после двух неудачных попыток (вжжжик и икар 1500) сделал икар размахом 2м, который нормально полетел и у которого не сложились крылья даже после жестких тестов (чего не могу сказать о моей конструкции 1500-го 😃 ). Так как я не проверил реверсы в ОСД (вернее проверил их в полете - и РВ и элероны в реверсе оказались) вчера летал просто по камере вокруг себя. Вывод - ЖПС у меня ведет себя не корректно. Был момент, когда на ЖПС-е индикатор показывал 3D фикс, а ОСД рисовало палку в кружкЕ. Значит притание есть, а Tx от модуля видно болтается. Пошатал разъем - все ОК. Соответственно, в полете когда-как. Отображение курса то меняется как положено, то замирает. Аналогично и высота. А скорость всегда нормально отображается. Если это от вибрации у меня провод Tx от модуля отходит, может ли это приводить к таким последствиям? В общем контакты фиксить - 100%. А следующий на очереди другой ЖПС модуль. Благо самолет теперь нормальный есть.
Подтверждаю, вход ОСД Combined PPM (или PPM SUMM) отлично работает.
Так как я не проверил реверсы в ОСД
Да, это все не очевидные моменты (на первый взгляд)… Следует забыть возможности аппы. Пульт только в MNL работает как обычно, во всех остальных режимах с него задаются некоторые параметры, которые отрабатывают стабилизация, АП. Тем более АП все равно надо знать о реверсах и расходах. Поэтому по всем каналам с пульта должен идти “образцовый” сигнал от 1 до 2мс, а расходы и инверсию следует устанавливать в настройках АП. Единственное исключение (возможность хоть что-то задавать с пульта) - триммирование. Для этого допустимый диапазон расширяется до 0.8…2.2мс. Но после тримирования с пульта, полученные значение нулей следует записать в АП. Для этого и существует команда TRM, по переходу из которой в MNL текущие значения в каналах записываются в EEPROM, и в дальнейшем считаются нулевыми как для входного сигнала, так и для корректировки выходов.
По GPS- каждый поворот палки означает получение всех трех телеграмм от модуля: GGA, GSA, RMC. Т.е. если палка крутится, значит все данные от модуля приходят и можно не грешить на физику. Белый круг на палке появляется только если модуль сообщает в GSA, что его режим <3 (те. вышел из 3d-фикс), или по тайм-аут (1 сек) приема очередной RMC.
ЗЫ Эх, пора инструкцию писать… А то уже и сам подзабывать все стал, приходится в исходниках подсматривать…
Эх, пора инструкцию писать… А то уже и сам подзабывать все стал, приходится в исходниках подсматривать…
Большое дело! Очень актуально- сложно собрать всю инфу.
Платку вытравил, атмеги жду…
Что бы маленько разбавить нудные тексты, поучительное ( 😃 )видео:
Целевая высота 50м. После приземления обратил внимание, что забыл сориентировать антенну наземки, поэтому такое качество…
Сергей, я наверное чтото пропустил - как проходит подготовка наземки к полёту?
на 00.19 автофото пепелаца вышло:)
Сергей, попробовал откомпилить исходники под мегу 2560 которые года полтора назад вы мне скидывали - не ругнулся ни разу:)
Сергей, видео познавательное и одновременно страшное по своей сути. Реакция на высоте 😃
Выкинул свой GPS модуль на мтк3329 в мусорник. Все же крыша у него не в порядке. Поставил ublox. Совсем другая песня! Все летает, рулится, стабилизируется, возвращается, взлетает. Все на твердую 5!
Сергей, сегодня появилось два вопроса:
- Даже на Вашем видео выше этот эффект присутствует и у меня сегодня в абсолютно ровном полете пару раз проскакивал такой момент - бублик с палкой у IMU появляется. Это нормально поведение? Или сигнализирует о проблемах?
- А как все же правильно управлять самолетом? Да, вопрос глуповат, но все же. Вот я в режиме стабилизации. Лечу. Хочу забраться по-выше. Понятное дело, стик РВ принять на себя. Но ведь если я буду его так держать секунд 20-30-40, то система “запомнит” такое положение самолета как “стабильное”, а далее я отпускаю стик и самолет клюет носом и переходит в пикирование. Нужно делать некие манипуляции по тангажу, прежде, чем все устаканится. Или можно просто переключить в мануал, а потом в стабилизацию.
-
В принципе это больше отладочная инфа… Там выводится две цифры.
Первая это отклонение длины вектора акселя после коррекции на центробежку от 1G в процентах. 100% - соответствует 1G, 0% - длина отличается больше чем на 0.5G (те <0.5G или >1.5G). В DCM алгоритме от этого значения определяется скорость коррекции гироскопов по акселю (при 100% скорость максимальная, при 0% гироскопы совсем не корректируются).
Вторая цифра - отклонение между векторами гироскопа и акселя. Считается как длина в процентах векторного произведения исходных нормализированных векторов. 0- совпадение, 100 - полное несовпадение.
Для оценки работы алгоритма (на период отладки?..) сделал аларм (загорается “бублик с палкой”) если первая цифра <50 или вторая >50.
Кстати ниже мелкие цифры крен и тангаж в градусах. -
На стабилизации можно стики держать в любом положении неограниченное время, ничего нигде не запомнится. Запоминается как нули только в момент перехода из режима TRM в MNL,
В принципе для дальних полетов имеет смысл лететь в FBW. При этом только время от времени при желании менять целевые курс и высоты. Не очень удобно что новое значение целевой высоты видно только когда указатель находится в пределах шкалы. Наверное где-то циферку еще надо выводить…
Сергей, я наверное чтото пропустил - как проходит подготовка наземки к полёту?
Ждем когда стабилизируются показания GPS. Кнопкой на OSD фиксируем уточненное положение базы/ высоты.
Отходим с самолетом метров на 20. Кнопкой на наземке направляем антенну на самолет. Ради интереса можно походить вокруг, антенна должна следить за вашими перемещениями (выглядит весьма угрожающе…). Значения начального угла записывается автоматом в eeprom наземки. Поэтому если в следующий раз так-же сориентируете наземку по сторонам света, ничего устанавливать не потребуется.
На стабилизации можно стики держать в любом положении неограниченное время, ничего нигде не запомнится.
Блин, значит нужно что-то у себя копать. На двух самолетах одинаковое поведение. На покойном двухмоторнике и на новом самолете после продолжительного подъема (стик РВ на себя процентов на 20-30) в режиме стабилизации с последующим отпусканием стика в нейтраль самолет клюет носом. А продолжительные крены отрабатывает нормально. О, можно на земле проверить. Буду пробовать.
Может после набора высоты кроме отпускания стика РВ еще и газ сбрасываешь? По сбрасыванию газа действительно появляется в целевом тангаже пикирующий момент (это все видно на OSD), иначе стабилизация на брошенном стике РВ будет продолжать удерживать горизонтальное положение с неизбежной потерей скорости и сваливанием. Эта коррекция настраивается в конфигураторе двумя параметрами.
Ну или надо смотреть видео этого момента с OSD…
Я тут последнее время стал пользоваться автоматическим взлётом, совсем обленился… Но взлёт работает класс! Очень удобно.
Я понимаю что вопрос этот наверняка уже не раз задавался. Но чтобы понапрасну не перечитывать все 22 страницы темы таки спрошу. Скажите, человеку дружащему с паяльником, но несведущему в программировании (максимум могу прошивку влить) стоит заморачиваться с этим изделием?