flybrain. передатчик + приемник + автопилот. powered by stm32

Drou

Все вышеперечисленное сделано и на земле прекрасно работает.
Но завтро перепроверю еще раз, может реверсы поставил на выходе стаба…
Но так то все работает и реагирует правильно иначе имхо не полетело бы вообще. На земле стаб включаю, пашет нормально рули поворачивает в нужную сторону, со стабом дергаю стики, тоже пашет, ибо в воздухе боролся с ним…

Drou

Если в КП разбираться, то напиши плз что и как смотреть. То есть Плата вверх деталями, назад УСБ разъемом . Наклоняю ее направо по ходу движения , что я должен видеть на картинке в КП ? Куда должен наклонятся прямоугольник? Если Я наклоняю передний край платы вниз? Красный цвет это низ или верх платы?

AlexSneg

Скачай полетный лог, давай посмотрим. Там все видно, куда наклон, куда рули и куда стики на пульте смотрят.

Drou:

Наклоняю ее направо по ходу движения , что я должен видеть на картинке в КП ? Куда должен наклонятся прямоугольник?

То, что в КП это больше условность, к полету отношения не имеет особого. Смотреть на нее не надо. Надо на самолет поставить и самолет наклонять вместе с подключенными сервами.

вот эти параметры
set board_reverse_pitch -1
set board_reverse_roll 1
set board_reverse_yaw -1
Должны оставаться неизменными. Их вообще трогать не надо.

А вот эти
set servo_reverse_roll_right_out 1
set servo_reverse_roll_left_out 1
set servo_reverse_pitch_out 1
set servo_reverse_yaw_out 1

реверсируют рули на выходе СТАБА. То есть, при НУЛЕВЫХ стиках в режиме стаба они регулируют реверс рулей. Создаем наклон, проверяем рули. Накренили самолет вправо - правый элерон должен пойти ВНИЗ а левый ВВЕРХ. Кренили самолет влево, тогда правый элерон должен пойти ВВЕРХ, а левый ВНИЗ. Если самолет накренили носом вниз, то элеватор пошел ВВЕРХ, если накренили носом вверх, то элеватор пошел ВНИЗ.

У тебя так?

Drou

Носитель Скай. Посмотрел, на всякий, твой конфиг один в один совпадает. Но может что то упустил… Может видео какое нибудь надо?

cat stab
Stabilizer current values:
Stabilize_Task_Solve_Period=40
Board_Reverse_Pitch=-1
Board_Reverse_Roll=1
Board_Reverse_Yaw=-1
Stick_Reverse_Roll=1
Stick_Reverse_Pitch=1
Stick_Reverse_Yaw=1
Servo_Reverse_Roll_Right_Out=1
Servo_Reverse_Roll_Left_Out=1
Servo_Reverse_Pitch_Out=1
Servo_Reverse_Yaw_Out=1
GAZ_Cruise=350
GAZ_minimum=0
GAZ_maximum=1023
GAZ_Cruise_delta=0.200
Baro_Altitude_InAir_Border=3.000
Home_Point_lon=0.000
Home_Point_lat=0.000
Home_Point_alt=30.000
Take_Altitude_Max_Angles=25.000
Kurs_Roll_To_Pitch_Koef=1.000
Take_Kurs_Roll_Max_Angles=30.000
Mag_Real_Heading_Delta=-4.000
Koef_Omega_Roll=0.100
Koef_Omega_Pitch=0.100
Koef_Omega_Yaw=0.100
Roll_Sensitivity=1.200
Pitch_Sensitivity=1.200
Yaw_Sensitivity=1.200
Roll_Position_Danger=45.000
Pitch_Position_Danger=45.000
Roll_Position_Stick_Max=45.000
Pitch_Position_Stick_Max=45.000
Yaw_Position_Stick_Max=45.000
Flight_Logs_Allowed=1
Nav_Critical_Altitude_Low_Border=10.000
Nav_Critical_Altitude_Upper_Border=20.000
Target_Reached_Radius=30.000
Target_Altitude_Corridor=10.000
Soft_Kurs_Keeping_Border=5.000
Nav_Test_Mode=0
Test_Alt=45
Test_Bearing=0
Test_Alt_Spd=0.000
Test_Lat=56.152149
Test_Lon=43.703308
Test_Aileron=0
Test_Elevator=0
Test_Ruder=0
Current_Autopilot_Mode=1
Auto_Trim_Max_Values=10
Adaptive_Roll_Brake_Period=2.000
Low_Critical_Speed=30
Upper_Critical_Speed=50
Module_PPM_Input_Mode=1
Receiver_Mode=2
Max_Allowed_Flight_Distance=0
Turn_Damp_Amplifier=0.800
Mixers_Allowed=1
MainBattery_Warning_Type=1
MainBattery_Warning_Level=14.20
Altitude_Warning_Level=30
Speed_Warning_Type=0
Speed_Warning_Level_Min=25
Speed_Warning_Level_Max=90

Щас смотрю в КП . У меня получается красный цвет верх платы, наклоняю плату вправо , прямоугольник наклоняется влево. Наклоняю плату вниз, прямоугольник наклоняется вниз. Поворачиваю плату в горизонтальной плоскости влево, прямоугольник поворачивается влево.

AlexSneg
Drou:

Щас смотрю в КП . У меня получается красный цвет верх платы, наклоняю плату вправо , прямоугольник наклоняется влево.

ЗАБУДЬ про прямоугольник в КП. Вообще выключи его. Надо смотреть на самолет и на его сервы. Конфиг по реверсам зависит только от того как сервы установлены в самолете, с какой стороны тяга крепится. Маловероятно, что тебе подходит мой вариант.

Home_Point_alt=30.000 - мало для начальных полетов
Upper_Critical_Speed=50 - тоже мало как-то, я на 90 км/ч поставил

Mixers_Allowed=1 Зачем тебе микшеры? Скаю микшеры не нужны.

Для начальных полетов
Nav_Critical_Altitude_Low_Border=10.000 я бы поставил на 20
Nav_Critical_Altitude_Upper_Border=20.000 я бы поставил на 30

Все остальное вроде ОК. Давай выключай дурацкий прямоугольник в КП (забыли про него), бери в руки самолет, включай стаб, стики на пульте в нейтраль и наклоняй самолет. Смотрим как работают сервы и куда машут рули. Выше написал, как должно быть.

Drou
AlexSneg:

Давай выключай дурацкий прямоугольник в КП

Тогда все ок. Все рулит правильно, по крайней мере на земле.

AlexSneg

Тогда жду логи полетные и если есть видео, которое можно сопоставить с логами, тоже хорошо будет.

AlexSneg

Облетал новый режим удержания позиции. Летает кругами, где оставили с удержанием высоты и автогазом. Вот тестовый полет. Научил таки нормально планировать и удерживать курс. Так же тут уже доступны 4 сквозных канала управления.

22:50 включен режим удержания позиции.
27:30 режим отключен. один раз за все время самолет сдуло, он сделал восьмерку и вернулся в левый круг. Короче, вроде работает как и задумано. Ниже определенной высоты включить УДЕРЖАНИЕ не получится.

Кроме того на автовозвратах научил теперь самолет с дальних дистанций именно планировать и следить за скоростью (пока по ГПС), тоже вроде работает нормально.

Сейчас Дима еще проверит, если у него все ОК и работает также, то выкладываю в общий доступ и переходим к имплиментированию и тестам режима круиз контроля, а затем к ОСД меню.

Drou

Алекс, скажи, в КП когда включаешь тест гиростаба , что бы проверить вибрацию, график не дожен дергаться вообще?

AlexSneg

Сильно не должен. Необходимо добиться как можно меньшей реакции на движок. Удастся сделать почти прямую, будешь летать как шоколаде. конечным критерием нормальности должно быть следующее:

  1. Ставим мои параметры IMU
  2. Ставим ходовой винт
  3. запускаем в статике на 50% газа, смотрим на горизонт. Перекосить не должно. при наклоне тушки, должно отрабатывать
  4. на 100% газа возможно небольшое отклонение ну до 5 градусов не критично. Но лучше конечно чтобы совсем не было. Я летаю с небольшим отклонение горизонта на полном газу, но я вообще никаких вибромероприятий не проводил. У меня плата в носу в верхней крышке. Не утяжелял.

Очень удачное решение придумал Дима. У него из репейника вибропрокладка, результат поразительный.

При попытке запустить без винта двиг, горизонт может поплыть. Это из за другого спектра колебаний. Объяснять долго и к тому же без винта все равно не полетит 😃

Drou
AlexSneg:

У него из репейника вибропрокладка

Если можно подробнее? я делал из утеплителя дверей резинового.

AlexSneg:

запускаем в статике на 50% газа, смотрим на горизонт. Перекосить не должно. при наклоне тушки, должно отрабатывать

Горизонт не плывет, но попробую не в полете, а на земле с включенным винтом покрутить. Но горизонт не плывет точно. Хотя график скачет на ~50%. Летал сегодня, опять тоже самое тянет вниз и влево… 😦
Переставлял плату, у меня плата под крылом щас. Думал поможет, но тоже самое. Рукой на корпусе вибрация ощутимая, но сравнить не с чем. Обьясни плиз по логам, нашел где скидывать, там полет 1, 2. Но как почистить не понял. Что надо сделать , что бы логи были “те”. Скину тогда. Видео нужно которое с ОСД?

AlexSneg
Drou:

Если можно подробнее?

Дима расскажет. Я тоже только с его слов представляю.

Drou:

тянет вниз и влево

Как раз похоже, что вибрация. Надо в статике винт покрутить и быть уверенным, что самолет находится в горизонте, сразу все ясно станет. Еще можно на высоте попробовать двиг отключить и попробовать планировать в стабе при нулевом газе, этот тест тоже сразу все на место ставит.

Drou:

нашел где скидывать, там полет 1, 2. Но как почистить не понял.

Оно само нумерует по возрастанию. Скидывай последний. Почистить нельзя, логи по кругу пишутся. Дойдут до конца флешки, начнут сначала.

Drou:

Видео нужно которое с ОСД?

Да, надо сопоставить картинку и что по рулям в этот момент из логов.

telion
Drou:

Если можно подробнее? я делал из утеплителя дверей резинового.

Денис, собственно я сделал коробочку из пластика, слепил платы пирогом и запаковал в нее… саму коробочку засунул в верхний отсек ская прикрепив обычным “репейником” - это липучки такие. Тестировал на вибрацию и с винтом и без винта и на разном газу и с кривым винтом и на движке с хреновыми подшипниками, проблем не наблюдается! Покажи свои настройки из секции ##### BEGIN IMU #####

Drou:

у меня плата под крылом щас

Не совсем понял, где именно под крылом, в нижнем или верхнем отсеке? или вообще под крылом? 😃 Верхний отсек кстати не очень хорош в плане вибраций и пр. но у меня все хорошо…
Где силовые провода проходят? нужно чтоб рядом с платой их не было! Чем дальше тем лучше, и вообще магниты и всякие пр. электромагнитные помехи лучше чтоб были подальше…

В какую сторону винт крутится? горизонт как выставлял?
да, видео очень желательно )

Drou
telion:

Не совсем понял, где именно под крылом, в нижнем или верхнем отсеке?

Верхний отсек. АП там, 3-4 см от переднего края, СТАДАП в нижнем отсеке от него не далеко до акка и ЕСК.

telion:

Где силовые провода проходят?

В нижнем отсеке акк, там же ЕСК, провода на полу нижнего отсека.

telion:

В какую сторону винт крутится?

Если смотреть на винт сзади, нос самолета от себя, то винт вращается по часовой стрелке.

telion:

горизонт как выставлял?

Горизонт выставлял на глаз, примерно как самолет висит в воздухе, крен по уровню.

telion
Drou:

Но почемуто при включении стаба сваливает вниз и влево вродь…

Без видео диагноз поставить сложно… рискну предположить что всё же горизонт по тагажу не правильно выставлен, я выставлял по выкосу мотора, не уверен на 100% что это правильно но при малых скоростях самолет летит отлично, при увеличении оборотов начинает набирать высоту но это и не удивительно подъемная сила растет. Попробуй так, должно помочь.
То что уходит влево тут немного странно, у меня мотор тоже вращает по часовой соответственно реактивный момент немного скручивает самолет в право стаб с этим ни чего не сделает да и не должен. Стаб это не удержание курса, высоты и пр… Стаб это просто помощник который не дает сильно накосячить и при бросании ручек приводит самолет в горизонт если он правильно выставлен ). Я вот например со стабом летал в ветер примерно 5-8 м.с. в Екатеринбурге, в полне комфортно, как только переходил в ручной режим, самолет чуть ли не переворачивало 😃 Вот видео этих полетов

Drou:

крен по уровню

вот лучше тангаж по уровню ) у меня кстати получился тример тангажа примерно 10гр. если плата в верхнем отсеке лежит на полу. Клади уровень прямо на мотор.

10 days later
Drou

www.ebay.com/itm/…/200908823757 Подойдет ли такой экран для передатчика, если да, то как его подключить? и Возможно использование вместо 32f205 - 32f100 ?

AlexSneg

Я использовал такой
www.ebay.com/itm/…/181181869412
Если контроллер дисплея по твоей ссюке не такой-же, то придется код дорабатывать. Если ты готов, то исходники я дам и от передатчика и от приемника. В принципе там ничего сложного, но для облегчения гемора, я бы все же взял тот, с которым уже все работает. Тач скрин пока не задействован, но будет. С ним я работать уже научился.

Drou:

Возможно использование вместо 32f205 - 32f100

Нет. Надо ставить 205RE. Там ОЗУ длинное, это важно для буфера под цветной дисплей, поэтому не стоит гнаться за большими дисплеями.

DChernov
AlexSneg:

Если EB600 то там надо будет ручками активировать glonass и на 10Гц его переключить. Автомат я пока не сделал для переключения. Набор команд для загона его в нужный режим вроде понятен.

Проясните, пожалуйста. Что-то не докопался, как это сделать. Или ткните в адекватный мануал. Спасибо!

AlexSneg
DChernov:

Проясните, пожалуйста

поясняю. Изначально EB600 работает только на GPS спутниках с частотой 1Гц. Ее можно переключить на 10Гц + активировать GLNS спутники. Делается это при помощи USB-UART адаптера. На плате есть перемычки RX/TX. Их снимаем. Кидает туда два провода от адаптера. Сначала одной командой, отключаем все то барахло, что модуль сыпит по умолчанию. Затем надо дать серию команд, которая активирует глонасс, а затем серия команд для подъема частоты внутреннего процессора. после этого убедиться, что все регистры приняли нужные значения (это так же через консольные команды), а затем записать в NVRAM модуля новые параметры. последнее действие - пересброс питания модуля, без этого настройки не вступят в силу.

Вы спросите почему я не сделал автоматом, как для EB500? Отвечу, я пытался, но во-первых, нужно передергивать питание, во-вторых, все манипуляции требуют двойной проверки, ибо CRC как-то странно там считается, либо вообще не проверяется. Короче если не проконтролировать, что в конечном счете записалось в регистры и дать команду на запись конфига во флешку, можно превратить в кирпич. Один модуль я уже превратил. Со второй экспериментировать не стал.

Если USB-UART адаптера нет, то я могу напрячься и сделать проброс команд и ответов прямо через АП, тогда адаптер не нужен будет. Однако, делать слепой автомат на выдачу команд в EB600 я воздержусь до тех пор, пока не пойму, почему мои контрольные суммы модуль не воспринимает и не откидывает кривые команды. Есть набор текстовых команд, они несложные. Я дам инструкцию, справитесь.

В целом сам по себе модуль работает отлично. Шпарит 8 - 10 Гц на выход с точностью до 2 м в статике. Это ессно, если одновременно и ГПС и ГЛОНАСС разрешены для микширования результата. Холодный старт с активной антенной не превышает 35сек.

Вместо EB600 можно ставить EB500 , он тоже поддерживается софтом без проблем. К слову, сейчас я летаю с EB500 и никаких проблем. Для совсем экзотичных решений, можно использовать любой сторонний на чипах MediaTek. На плате есть место под разъем выносного модуля.

DChernov
AlexSneg:

Сначала одной командой, отключаем все то барахло, что модуль сыпит по умолчанию. Затем надо дать серию команд, которая активирует глонасс, а затем серия команд для подъема частоты внутреннего процессора. после этого убедиться, что все регистры приняли нужные значения (это так же через консольные команды), а затем записать в NVRAM модуля новые параметры. последнее действие - пересброс питания модуля, без этого настройки не вступят в силу.

О!
Собственно, именно эти команды я и пытаюсь найти.
Ткните носом, не нахожу 😃
Спасибо!

Drou

Переделал крепление движка, видимо снизились вибрации, заработал стаб:) Крен держит хорошо, но что то вниз его тянет:) видимо горизонт опустить чуток надо, не хватило акка попробовать. И еще вопросик, щас можно настроить АП что б при пропадании сигнала от передатчика оно возвращалось домой? ну и например кружило?