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

sashaNar
PAF:

это микшеры для ЛК? к - от единицы? 0.5 - 50%? Правильно?

Да. Все правильно. К - от 0.5 до единицы (50%-100%). Поставьте 0.8, нормально должно летать.
Для V хвоста тоже самое, но вместо элеронов - руль направления. Математически - поворот базиса на 45 градусов. 😉
А, ну и горизонт проверяйте, как SkyWorker пишет. Видео, правда, толком посмотреть не могу - инет мобильный.

telion
PAF:

Вот эта раскачка, на 20 сек

Пётр, скиньте настройки IMU при которых было снято это видео. Тут явно что-то с IMU или с датчиками. Я когда экспериментировал с вибрациями и настройками imu я такого даже близко добиться не мог, очень интересно как вы этого добились 😃 А плата точно правильно стоит? галки реверсов платы не трогали? Может перепутали реверс платы и реверс стаба…

AlexSneg
PAF:

Вот эта раскачка, на 20 сек.

Явно глючно настроено IMU. Работает в противоположную от крена сторону. Ты ее не задом наперед поставил? Должно быть USB разъемом назад, а кварцем вперед. Может реверсы какие-то не те накрутил? Петр, давай сначала на столе без полетов. Двигатель повключай, держа самолет в руках. Понаклоняй его. Покажи видео с этими тестами. Гравитометр зашкаливает, аж в NaN уходит, это либо вибрация, либо коэффициенты IMU неверно заданы. покажи cat imu команду.

PAF

😮

AlexSneg:

Явно глючно настроено IMU.

😃 Я кнопки не трогал… только кормил собак! 😃
##### BEGIN IMU #####
set ekf_proc_variance 0.0100
set ekf_accel_variance 1500.0000
set ekf_mag_variance 100.0000
set ekf_accel_gravity_cut_off 0.2000
set ekf_gyro_use_fir 0
set ekf_accel_use_fir 1
set ekf_mag_use_fir 1
set ekf_gyro_freq_fir 60.0
set ekf_accel_freq_fir 5.0
set ekf_mag_freq_fir 25.0
set accel_compens_x_k 0.500
set accel_compens_yr_k_0_5 0.200
set accel_compens_yr_k_5_10 0.200
set accel_compens_yr_k_10_15 0.200
set accel_compens_yr_k_15_100 0.350
set accel_compens_yl_k_0_5 -nan
set accel_compens_yl_k_5_10 -nan
set accel_compens_yl_k_10_15 -nan
set accel_compens_yl_k_15_100 -nan
set accel_compens_z_k 0.200
set accel_ref_x 0.000
set accel_ref_y 0.000
set accel_ref_z -1.000
set mag_ref_x 0.000
set mag_ref_y 0.250
set mag_ref_z -0.395
set trimmer_roll -2.768
set trimmer_pitch 1.352
##### END IMU #####

AlexSneg:

Ты ее не задом наперед поставил? Должно быть USB разъемом назад, а кварцем вперед. Может реверсы какие-то не те накрутил?

Нет, это пока правильно. А реверсы разумеется накручены. Потому как без этого “то рубашка коротка, то пупок наружу”, ручное правильно - на стабе вниз кидает. Нос вниз - елевоны вниз. Надо вверх. Это микшеры переиначивать надо… Как-то…
Вчера реверсы поставил по другому. И плату задом наперед. И почти бы… И тут… Новый глю! Не сбрасывается высота в ноль, нет удаления, странные подтормаживания. На столе то все правильно, а в поле реалии… Ноут на АМД64 вин7 не понимает драйвера СТМ 😵 Кстати, на сайте ссылки в никуда стали. st.com отдавать не хочет.
Вот настройки стаба.
##### BEGIN STAB #####
set stabilize_task_solve_period 40
set board_reverse_pitch -1
set board_reverse_roll -1
set board_reverse_yaw -1
set stick_reverse_roll 1
set stick_reverse_pitch 1
set stick_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
set gaz_cruise 350
set gaz_minimum 0
set gaz_maximum 1023
set gaz_cruise_delta 0.200
set baro_altitude_inair_border 3.000
set home_point_lon 0.000
set home_point_lat 0.000
set home_point_alt 50.000 ---------- Что означает?
set take_altitude_max_angles 25.000
set kurs_roll_to_pitch_koef 1.000
set take_kurs_roll_max_angles 30.000
set mag_real_heading_delta 0.250
set koef_omega_roll 0.100
set koef_omega_pitch 0.100
set koef_omega_yaw 0.100
set roll_sensitivity 1.200
set pitch_sensitivity 1.200
set yaw_sensitivity 1.200
set roll_position_danger 55.000
set pitch_position_danger 55.000
set roll_position_stick_max 45.000
set pitch_position_stick_max 45.000
set yaw_position_stick_max 45.000
set flight_logs_allowed 0
set nav_critical_altitude_low_border 20.000
set nav_critical_altitude_upper_border 40.000
set target_reached_radius 30.000
set target_altitude_corridor 10.000
set soft_kurs_keeping_border 5.000
set nav_test_mode 0
set test_alt 45
set test_bearing 0
set test_alt_spd 0.000
set test_lat 53.023010
set test_lon 51.705711
set test_aileron 0
set test_elevator 0
set test_ruder 0
set current_autopilot_mode 1
set auto_trim_max_values 10
set adaptive_roll_brake_period 2.000
set low_critical_speed 30
set upper_critical_speed 90
set module_ppm_input_mode 2
set receiver_mode 2
set max_allowed_flight_distance 0
set turn_damp_amplifier 0.800
set mixers_allowed 1
set mainbattery_warning_type 3
set mainbattery_warning_level 9.60
set altitude_warning_level 30
set speed_warning_type 0
set speed_warning_level_min 10
set speed_warning_level_max 110
##### END STAB #####

Микшеры.
##### BEGIN CONTROL MIXERS #####
set mix 6 1 0
set mix 6 2 100
set mix 6 3 0
set mix 6 4 100
set mix 6 5 0
set mix 7 1 0
set mix 7 2 0
set mix 7 3 100
set mix 7 4 -100
set mix 7 5 0
set mix 8 1 0
set mix 8 2 0
set mix 8 3 0
set mix 8 4 0
set mix 8 5 0
set mix 9 1 0
set mix 9 2 0
set mix 9 3 0
set mix 9 4 0
set mix 9 5 0
set mix 10 1 0
set mix 10 2 0
set mix 10 3 0
set mix 10 4 0
set mix 10 5 0
set mix 11 1 0
set mix 11 2 0
set mix 11 3 0
set mix 11 4 0
set mix 11 5 0
set mix 12 1 0
set mix 12 2 0
set mix 12 3 0
set mix 12 4 0
set mix 12 5 0
set mix 13 1 0
set mix 13 2 0
set mix 13 3 0
set mix 13 4 0
set mix 13 5 0

AlexSneg

Значит так. Ошибка первая

Должно быть именно так.
Board_ReversePitch = -1
Board_ReverseRoll = 1
Board_ReverseYaw = -1

Ты поставил Board_ReverseRoll и перевернул программно плату задом на перед, гы 😃
Выставь эти три переменные как я выше обозначил. И не трогай их. Они именно для виртуальной смены направления осей IMU. Но я еще пока сам до конца не отработал смену ориентации, поэтому не надо экспериментов с этими тремя реверсами.

Далее.

set stick_reverse_roll 1
set stick_reverse_pitch 1
set stick_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

Вот их надо использовать чтобы настроить реверсы стиков и наклонов.
Теперь, рассуждаем так. У нас есть 3 уровня, который воздействуют на рули:

    1. Ручной (просто двигаем стика
    1. Наклон платы (в стабе)
    1. Дергаем ручки в стабе, при этом самолет в горизонте

Вот все эти три режима нам надо засинхронизировать. Соответственно
группа stick_reverse_ влияет на то как уровень 3 влияет на рули на входе в стаб
группа servo_reverse_ меняет выход стаба, то есть выход уровня 2
А уровень 1 зависит чисто от реверсов на самом передатчике. У меня где-то была инструкция. Ща найду, в догонку выложу здесь.

вот это тоже не правильно

set accel_compens_yl_k_0_5 -nan
set accel_compens_yl_k_5_10 -nan
set accel_compens_yl_k_10_15 -nan
set accel_compens_yl_k_15_100 -nan

Поставь их все по 0.5 хотя бы

И эти вот так установи
set ekf_proc_variance 0.0100
set ekf_accel_variance 4000
set ekf_mag_variance 100.0000
set ekf_accel_gravity_cut_off 0.15
set ekf_gyro_use_fir 1
set ekf_accel_use_fir 1
set ekf_mag_use_fir 1
set ekf_gyro_freq_fir 100.0
set ekf_accel_freq_fir 2.0
set ekf_mag_freq_fir 25.0

PAF:

set home_point_alt 50.000 ---------- Что означает?

Высота точки ДОМ в метрах. Будет снижаться до нее, либо подниматься до нее, если ниже

И вот эти значения сомнительны. Компас возможно, не туда будет показывать. Хотя с учетом более южной местности, может и верны.
set mag_ref_y 0.250
set mag_ref_z -0.395

PAF

Спасибо! Добился правильного реагирования. 😃 Но у глю еще есть резервы. 😦 Алексей, save ref с пульта не получается! Пару раз обнуление получилось и всё! Из КП сброс происходит, с пульта никак. Сын подметил, вроде после реверса пропало. И удачные попытки были получены переводом стиков в левые положения. Максимум ППМ у меня в левом нижнем. Сейчас стоит реверс Stick_Reverse_Roll=-1

hav22
PAF:

Спасибо! Добился правильного реагирования. Но у глю еще есть резервы. Алексей, save ref с пульта не получается! Пару раз обнуление получилось и всё! Из КП сброс происходит, с пульта никак. Сын подметил, вроде после реверса пропало. И удачные попытки были получены переводом стиков в левые положения. Максимум ППМ у меня в левом нижнем. Сейчас стоит реверс Stick_Reverse_Roll=-1

Недавно наткнулся на абсолютно такую же ситуацию. Алексей подтвердил, что теперь это не используется/не работает и надо настраивать референс положение заранее, как описано в комментариях для прошивки АП под номером 253 на сайте мозголета.

AlexSneg
PAF:

save ref с пульта не получается!

Этот режим упразднен. Нет его больше. Нужно правильно настроить аксель и компас. тогда горизонт будет горизонтом. Если плата чуть под наклоном крепится, или имеет некоторый тангаж при горизонтальном полете, то корректируется триммерами - это отдельные настройки в диалоге IMU. И та кнопка, что в КП, именно триммера устанавливает в зависимости от текущего положения платы. Но можно и ручками эти значения поправить.

Уровень земли считывается автоматом перед стартом, как только включается режим “ЖДУ ВЗЛЕТА”. Ничего больше стиками устанавливать не надо перед стартом. Только двиг разблокировать - газ вверх - пауза - газ вниз - пауза.

PAF
hav22:

надо настраивать референс положение заранее,

Допустим, ну, а высоту?

AlexSneg
PAF:

Допустим, ну, а высоту?

см. текст выше, добавил по этому пункту.

PAF
AlexSneg:

Этот режим упразднен. Нет его больше.

Погодите… А как же это получалось?! Прошивка последняя. И высота у меня не сбрасывается по питанию.
Движок форума или браузер или я… но кто-то тупит! 😃
Так, ок! Пробуем…
Сразу после активации - В воздухе. И высота 128…

AlexSneg
PAF:

И высота у меня не сбрасывается по питанию.

Она не по питанию сбрасывается, а по активации режима ожидания взлета. ГАЗ вверх - пауза - газ вниз, после этого ground level обнулится и двигатель разблокирован. Далее газ на полную и в воздух…

Точка дома по ГПС тоже именно в этот момент сохраняется. Поэтому без ГПС лететь нельзя. А если взлетишь, то двиг на режиме АВТОВОЗВРАТ работать не будет. Самолет чисто на стабе планирует на землю в этом случае.

AlexSneg
PAF:

Перепрошить?

Мне кажется GPS_fix событие не наступает на модуле. 3 спутника мало, надо хотя бы 4.

PAF
AlexSneg:

GPS_fix событие не наступает

Это когда крестик на значке изменится на стрелку? Наверно необходимо еще и потаскать его?

AlexSneg

Погоди, я подумаю. Кажется я понял в чем нюанс твоей ситуации.

265
Скачай по ссылке эту тестовую прошивку. Попробуй еще раз разблокировать двигатель. посмотрим, что здесь с высотой покажет после разблокировки. Не вздумай летать с ней. Я просто хочу посмотреть, что высотомер показывает до разблокировки двига, а что после нее

PAF

Нет изменений. Дистанция до базы плавает от 6 до 26м

telion

Снял со своего ская шасси, убрал все торчащие детали и стал другой самолет. Садиться он теперь отказывается в принципе, стала очень большая посадочная скорость, я так не привык. Теперь очень хочу закрылки. ) Пытался настроить через АП, ну не выходит каменный цветок… Алекс, подскажи, пожалуйста, это вообще сейчас возможно через АП сделать, чтоб закрылки работали в режиме стабилизации тоже.
Еще решил заняться тестом “миссий” задал точку на удалении 16 км. и высоте 1000м. Включаю миссию и АП начинает быстро набирать высоту до целевой. Я думаю, это не есть гуд, все же лучше будет, если АП высоту плавно наберет. Предлагаю подумать над этим вопросом…
Сейчас это так происходит

youtu.be/g_lkrxaOs_o

Ещё, при потере и возобновлении связи, АП переключается на следующую миссию, на мой взгляд, это усложняет понимание происходящего (чегойто он сам решает куда ему лететь), я предлагаю продолжать прерванную миссию. А переключение между миссий реализовать, например отдельным тумблером, например тем который сброс миссии, щелкая им переключаться между миссиями по кругу. Я вот вообще не понимаю, зачем ее сбрасывать, если ее можно отключить или переключить на другую!? А при потере связи все равно принудительно автовозврат включается! Понимаю, что так наверно было проще реализовать. Но нужно с этим что-то делать, может, у кого будут более неинтересные идеи… А вообще, миссию хотелось бы видеть с возможностью выполнения каких-либо еще заданий. Например: прилетели на точку ->> 6 кругов в право на высоте 100м. ->> 12 кругов в лево на высоте 10м. ->> моргнули светодиодами ->> покрутили камерой ->> полетели на следующую точку или домой. Это конечно фантазии, пока! 😃 Но подумать на эту тему стоит.

Кстати, спектрум мой накрылся, выдает “backup error” буду использовать его в качестве донора для РУ. А пока дабы не пропустить сезон, взял футабу и подключил все через s.bus. Круто! 17 каналов и все по одному проводу 😃 А с АП и сбасовские сервы получается не нужны и rssi сразу выдает!!! В общем вот, полетатл на ней. Как обычно ветер, облачно, воздушная скорость кстати так и не заработала. Ну то есть видимо датчик умер после того как я в него подул (хотя вроде не сильно). В общем ноль уплывает почти на 1в. в течении 15 -30 мин.
видео техничка.

youtu.be/icpHsGYTpuA

и вот, в облаках полетал )

youtu.be/hlUSTLUF2oQ

AlexSneg

Так, в пятницу ухожу в отпуск. 2 недели меня не будет.
Вот to-do список глюков и хотелок, который запланировал по приоритетам. Буду пытаться выполнить все пункты, но тут уж как получится.

  1. прокинуть сквозные каналы и для моего приемника и для СТДАПП (это решит проблему с выпуском закрылок от команды пульта) и прочие пан-тилты
  2. добавить режим круиз-контроля в трех вариантах: 1 - держать курс, держать высоту, газ (??? пока не решил, здесь жду советов делать ли автоконтроль, или ставить в круиз) стик тангажа и крена должен быть отпущен в нейтраль, а стик руддера возможно меняет заданный изначальный курс на новый; 2 - полет с заданным тангажом + контроль газа от нуля до максимума. Эти два режима будут активироваться отдельным тройником в режиме СТАБА. Три положения 0 - СТАБ, середина = режим 1, верх = режим 2. Как задавать нужный тангаж ? Брать текущий в момент активации режима и ограничить по максимуму и минимуму до 25 градусов например.
  3. Убрать переключение миссии на следующую точку при потери связи. Переключаться будет только при достижении точки. Сделать плавный штурм целевой высоты на миссиях.
  4. Запретить двигатель на взлете при отсутствии GPS_FIX состояния. Или сделать это в настройках?
  5. Добавить в КП менеджер контрольных точек
  6. Добавить в КП текстовую консоль
  7. добавить фильтр на вторую и третью батарею, чтобы показания не скакали.
  8. добавить режим автовзлета ??? На отдельный переключатель?

Вроде как-то так. Если чего забыл, напоминайте.

Петр, я тебе письмо вчера прислал. Жду mon on baro.

Просьба к Андрею Медведеву, если будет возможность, записать еще два звуковых сэмпла, которых сейчас не хватает:
“батарея разряжена” и “опасная скорость” либо “критическая скорость”. Все остальные, судя по Диминым полетам, слушаются хорошо 😃

hav22
telion:

Ну то есть видимо датчик умер после того как я в него подул (хотя вроде не сильно). В общем ноль уплывает почти на 1в. в течении 15 -30 мин.

Привет Дим. Есть у меня один лишний датчик. Если нужен - обращайся (правда это только сама микросхема, нужно будет запаять её на твою плату датчика).

telion
AlexSneg:
  1. прокинуть сквозные каналы и для моего приемника и для СТДАПП (это решит проблему с выпуском закрылок от команды пульта) и прочие пан-тилты

Извиняюсь, не корректно выразил мысль, я планировал сделать флапероны а не закрылки 😵 Тоесть опускать элероны на определенный угл(угл должен настраиваться) при посадке, а также если самолет тяжелый я использовал их и при взлете но с меньшим углом(было два режима закрылок). Раньше я активно пользовался этим, плюс при посадке у меня еще был настроен микс с рулем высоты, чтоб компенсировать набор высоты и задирание носа при выпуске флаперонов. Самолет практически сам садился и очень предсказуемо/точно! Хотелось бы чтоб при этом стаб работал )

AlexSneg:
  1. добавить режим круиз-контроля в трех вариантах: 1 - держать курс, держать высоту, газ (??? пока не решил, здесь жду советов делать ли автоконтроль, или ставить в круиз) стик тангажа и крена должен быть отпущен в нейтраль, а стик руддера возможно меняет заданный изначальный курс на новый; 2 - полет с заданным тангажом + контроль газа от нуля до максимума. Эти два режима будут активироваться отдельным тройником в режиме СТАБА. Три положения 0 - СТАБ, середина = режим 1, верх = режим 2. Как задавать нужный тангаж ? Брать текущий в момент активации режима и ограничить по максимуму и минимуму до 25 градусов например.

Это все будут автоматизированные режимы? Тоесть в любой момент можно вмешаться в управление как просто на стабе? Или можно будет вмешаться но не полностью, например только для корректировки курса ?
1 – режим, я думаю так, в момент активации режима также должна держаться и текущая скорость, это же круиз 😃 (конечно, могут быть нюансы, но скорей всего это будут частные случаи или сильный ветер). 2 –режим, тангаж брать тот который при включении, а вобще можно попробовать также как и с курсом корректировать в процессе… Что-то не понял а где третий режим, ты вроде написал три режима? )

AlexSneg:
  1. Запретить двигатель на взлете при отсутствии GPS_FIX состояния. Или сделать это в настройках?

Сделать в настройках

AlexSneg:
  1. Добавить в КП менеджер контрольных точек

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

AlexSneg:
  1. добавить режим автовзлета ??? На отдельный переключатель?

Автовзлет на отдельный переключатель. Предлагаю следующую схему: щелкнули переключатель активировался режим и включился двигатель на малых оборотах (чтоб не збыть что режим включен) через пять секунд обороты выходят на среднии а через две секунды полные/взлетные. Если кидать то на средних оборотах через 2 секунды как раз взлетные включаться, если с шасии то там не важно, как взлетит ). Далее выходит на заданную высоту и кружит над базой. Секунды и обороты предлагаю также настраивать в КП. Если будет более элегантное и надежное решение возражать не буду )

  1. Еще напоминаю – нужно доработать аварийную автопосадку, сейчас у меня дом установлен на 150 метрах и собственно он начинает с этой высоты планировать в произвольную сторону при активации автоплюха ) соответственно спланировать может далеко )
hav22:

Привет Дим. Есть у меня один лишний датчик. Если нужен - обращайся

Привет, Алексей! Спасибо за предложение, возможно воспользуюсь…