OSD на ATmega1281

Иван

Извяняюсь, atmega 2560 для проекта подойдёт?

для осд-Ап всмысле:)

msv

Залить один в один нех вряд-ли получится… Но портировать прошивку скорее всего будет не сложно…

Тут поигрался со своими RFM22… Откалибровал по частоте кварцы. Был весьма удивлен, что на одном модуле с температурой частота увеличивается, а на другом уменьшается… Но в принципе в рабочем интервале (проверял +10…+50 град) точность <5ppm.

Иван

судя по описалову разница не большая в этих МК, по корпусам и выходной переферии у 2560 поболее ног -100 и на 2 UART больше и шимов побольше…

а ещё вопрос - от приёмника в АП последовательный ппм идёт?

msv

Да, последовательный ппм, автоинверсия. Правда этот код не проверялся больше года, давно использую свой LRS-приемник подключаемый к АП по UART, но как понял у Константина все работает.
Вчера чуть не грохнулся… Самолет после многих, но казалось бы не слишком серьезных непроверенных модификаций, прошивка- так по мелочи поправлена, конфигурация тоже… Весьма сильный, порывистый ветерок. Нормально взлетел, вроде управляется, включил стабилизацию, тоже как-то стабилизирует, хоть, заметил, с потерей высоты. На ветру толком ничего не поймешь. Пробую RTH. Самолет заложил крен, и с разворотом весело несется к земле (Константин, почти как на твоем видео…). До последнего надеялся, сейчас одумывается- выправится… Не… Успеваю врубить ручной режим, с перепугу (после стабилизации как-то забываешь, что самолетом надо еще и управлять) чуть не переворачиваюсь в инверт, вообщем наверное в метре от земли успеваю выровнять и выдернуть… Причины, как потом разбирался, две.

  1. Замерзла высота GPS. Даже не совсем замерзла, менялась, но с очень большим опозданием.
  2. Самолет после переделок оказался абсолютно несбалансированным и неоттриммированным. Еле посадил его- газ сбрасываю, он падает как кирпич.
    Вообщем мораль, сколько всех не призывал к бдительности, не торопиться, все последовательно настраивать, проверять и держать палец на MNL, в итоге сам (очередной раз!) оказался слишком самоуверен…
Иван

переразведу плату на 2560 попробую залить вашу прошиву, должно всё нормально встать:)

dollop

Сергей, я вот уже три недели делаю носитель 😃. Потраченного времени хватило бы как раз, чтоб готовый из Китая приехал, зато удовольствие от сборки получил. Но, наконец-то после двух неудачных попыток (вжжжик и икар 1500) сделал икар размахом 2м, который нормально полетел и у которого не сложились крылья даже после жестких тестов (чего не могу сказать о моей конструкции 1500-го 😃 ). Так как я не проверил реверсы в ОСД (вернее проверил их в полете - и РВ и элероны в реверсе оказались) вчера летал просто по камере вокруг себя. Вывод - ЖПС у меня ведет себя не корректно. Был момент, когда на ЖПС-е индикатор показывал 3D фикс, а ОСД рисовало палку в кружкЕ. Значит притание есть, а Tx от модуля видно болтается. Пошатал разъем - все ОК. Соответственно, в полете когда-как. Отображение курса то меняется как положено, то замирает. Аналогично и высота. А скорость всегда нормально отображается. Если это от вибрации у меня провод Tx от модуля отходит, может ли это приводить к таким последствиям? В общем контакты фиксить - 100%. А следующий на очереди другой ЖПС модуль. Благо самолет теперь нормальный есть.
Подтверждаю, вход ОСД Combined PPM (или PPM SUMM) отлично работает.

msv
dollop:

Так как я не проверил реверсы в ОСД

Да, это все не очевидные моменты (на первый взгляд)… Следует забыть возможности аппы. Пульт только в MNL работает как обычно, во всех остальных режимах с него задаются некоторые параметры, которые отрабатывают стабилизация, АП. Тем более АП все равно надо знать о реверсах и расходах. Поэтому по всем каналам с пульта должен идти “образцовый” сигнал от 1 до 2мс, а расходы и инверсию следует устанавливать в настройках АП. Единственное исключение (возможность хоть что-то задавать с пульта) - триммирование. Для этого допустимый диапазон расширяется до 0.8…2.2мс. Но после тримирования с пульта, полученные значение нулей следует записать в АП. Для этого и существует команда TRM, по переходу из которой в MNL текущие значения в каналах записываются в EEPROM, и в дальнейшем считаются нулевыми как для входного сигнала, так и для корректировки выходов.
По GPS- каждый поворот палки означает получение всех трех телеграмм от модуля: GGA, GSA, RMC. Т.е. если палка крутится, значит все данные от модуля приходят и можно не грешить на физику. Белый круг на палке появляется только если модуль сообщает в GSA, что его режим <3 (те. вышел из 3d-фикс), или по тайм-аут (1 сек) приема очередной RMC.
ЗЫ Эх, пора инструкцию писать… А то уже и сам подзабывать все стал, приходится в исходниках подсматривать…

Панкратов_Сергей
msv:

Эх, пора инструкцию писать… А то уже и сам подзабывать все стал, приходится в исходниках подсматривать…

Большое дело! Очень актуально- сложно собрать всю инфу.
Платку вытравил, атмеги жду…

msv

Что бы маленько разбавить нудные тексты, поучительное ( 😃 )видео:

Целевая высота 50м. После приземления обратил внимание, что забыл сориентировать антенну наземки, поэтому такое качество…

Иван

Сергей, я наверное чтото пропустил - как проходит подготовка наземки к полёту?

на 00.19 автофото пепелаца вышло:)

Иван

Сергей, попробовал откомпилить исходники под мегу 2560 которые года полтора назад вы мне скидывали - не ругнулся ни разу:)

dollop

Сергей, видео познавательное и одновременно страшное по своей сути. Реакция на высоте 😃
Выкинул свой GPS модуль на мтк3329 в мусорник. Все же крыша у него не в порядке. Поставил ublox. Совсем другая песня! Все летает, рулится, стабилизируется, возвращается, взлетает. Все на твердую 5!
Сергей, сегодня появилось два вопроса:

  1. Даже на Вашем видео выше этот эффект присутствует и у меня сегодня в абсолютно ровном полете пару раз проскакивал такой момент - бублик с палкой у IMU появляется. Это нормально поведение? Или сигнализирует о проблемах?
  2. А как все же правильно управлять самолетом? Да, вопрос глуповат, но все же. Вот я в режиме стабилизации. Лечу. Хочу забраться по-выше. Понятное дело, стик РВ принять на себя. Но ведь если я буду его так держать секунд 20-30-40, то система “запомнит” такое положение самолета как “стабильное”, а далее я отпускаю стик и самолет клюет носом и переходит в пикирование. Нужно делать некие манипуляции по тангажу, прежде, чем все устаканится. Или можно просто переключить в мануал, а потом в стабилизацию.
msv
  1. В принципе это больше отладочная инфа… Там выводится две цифры.
    Первая это отклонение длины вектора акселя после коррекции на центробежку от 1G в процентах. 100% - соответствует 1G, 0% - длина отличается больше чем на 0.5G (те <0.5G или >1.5G). В DCM алгоритме от этого значения определяется скорость коррекции гироскопов по акселю (при 100% скорость максимальная, при 0% гироскопы совсем не корректируются).
    Вторая цифра - отклонение между векторами гироскопа и акселя. Считается как длина в процентах векторного произведения исходных нормализированных векторов. 0- совпадение, 100 - полное несовпадение.
    Для оценки работы алгоритма (на период отладки?..) сделал аларм (загорается “бублик с палкой”) если первая цифра <50 или вторая >50.
    Кстати ниже мелкие цифры крен и тангаж в градусах.

  2. На стабилизации можно стики держать в любом положении неограниченное время, ничего нигде не запомнится. Запоминается как нули только в момент перехода из режима TRM в MNL,
    В принципе для дальних полетов имеет смысл лететь в FBW. При этом только время от времени при желании менять целевые курс и высоты. Не очень удобно что новое значение целевой высоты видно только когда указатель находится в пределах шкалы. Наверное где-то циферку еще надо выводить…

Иван:

Сергей, я наверное чтото пропустил - как проходит подготовка наземки к полёту?

Ждем когда стабилизируются показания GPS. Кнопкой на OSD фиксируем уточненное положение базы/ высоты.
Отходим с самолетом метров на 20. Кнопкой на наземке направляем антенну на самолет. Ради интереса можно походить вокруг, антенна должна следить за вашими перемещениями (выглядит весьма угрожающе…). Значения начального угла записывается автоматом в eeprom наземки. Поэтому если в следующий раз так-же сориентируете наземку по сторонам света, ничего устанавливать не потребуется.

dollop
msv:

На стабилизации можно стики держать в любом положении неограниченное время, ничего нигде не запомнится.

Блин, значит нужно что-то у себя копать. На двух самолетах одинаковое поведение. На покойном двухмоторнике и на новом самолете после продолжительного подъема (стик РВ на себя процентов на 20-30) в режиме стабилизации с последующим отпусканием стика в нейтраль самолет клюет носом. А продолжительные крены отрабатывает нормально. О, можно на земле проверить. Буду пробовать.

msv

Может после набора высоты кроме отпускания стика РВ еще и газ сбрасываешь? По сбрасыванию газа действительно появляется в целевом тангаже пикирующий момент (это все видно на OSD), иначе стабилизация на брошенном стике РВ будет продолжать удерживать горизонтальное положение с неизбежной потерей скорости и сваливанием. Эта коррекция настраивается в конфигураторе двумя параметрами.
Ну или надо смотреть видео этого момента с OSD…

ubd

Я тут последнее время стал пользоваться автоматическим взлётом, совсем обленился… Но взлёт работает класс! Очень удобно.

16 days later
Dacor

Я понимаю что вопрос этот наверняка уже не раз задавался. Но чтобы понапрасну не перечитывать все 22 страницы темы таки спрошу. Скажите, человеку дружащему с паяльником, но несведущему в программировании (максимум могу прошивку влить) стоит заморачиваться с этим изделием?

ubd

Скажите, человеку дружащему с паяльником, но несведущему в программировании (максимум могу прошивку влить) стоит заморачиваться с этим изделием?

Если есть опыт в паянии плат с морем SMD деталей, то стоит. Прошивку и дебил зальёт, много ума не нужно.

Dacor

Ок. Значит читаю тему сначала.

msv

С одной стороны эта поделка конечно не радиостанция/трансивер на дискретных элементах, которая требует кропотливой настройки по приборам. И будучи собрана без ошибок, наверняка сразу заработает. С другой стороны… цешка конечно нужна, да и осциллограф под рукой может пригодиться… Я не даром долгое время не давал фюзы, тк надеялся, что для людей которым не проблема хоть с этим разобраться самостоятельно, не будет вопросов повторения всей конструкции…
Текущий проект уже состоит из:

  1. OSD/АП
  2. IMU
  3. LRS
  4. Наземка
    Для начала можно ограничится только 1 и 2, и иметь аппу, способную выдать из приемника SUM PPM.
    Прошивки давно не выкладываю, они постоянно обновляются, но рассылаю всем желающим по первому требованию…
    Желаю удачи!
Иван

Сергей, на текущий момент у вас в ИМУ какие датчики сидят? судя по прошиве для него: ITG3205 ADXL345 HMC5883, по идее вместо первых двух mpu6050 можно ставить? с соответстующими изменениями в коде.

Dacor
msv:

цешка конечно нужна, да и осциллограф под рукой может пригодиться

все необходимые приборы имеются, да и помочь в случае чего тоже есть кому. Аппаратура управления тоже с приемником с выходомм SUM PPM тоже есть.

ubd

В место IMU на первое время могу продать Пиро-датчики. Я с ними один сезон отлетал нормально. В личку если нужно.

11 days later
msv

Без претензий на высокохудожественный слог и даже технически грамотно выдержанную документацию, попытался наклепать некую “документацию”
Строго не судите, если найдете явные ляпы,- говорите, поправлю…