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

Drou

Доброго времени. Не могу откалибровать компас… брешет на 90 гр. Калибровал много раз… или что то в настройках не так стоит… Ибо вродь больше не жаловался никто…

telion
Drou:

брешет на 90 гр. Калибровал много раз

Денис, посмотрите описание к прошивке “FlyingBrain-0.1.0.255.zip”, начиная с нее ввели “магнитное склонение для вашей местности”. Посмотрите, возможно это ваш случай.

Drou

Нет:) оно выставлено нормально, и там ошибка до 10гр. максимум, игрался и этой настройкой тоже, не помогает…

AlexSneg

Для постановки диагноза давай сначала уточним вот что

Без относительно того, что север не в той стороне, куда показывает, если плату вращать вдоль горизонта, показания совпадают, не плывут? Например выбери какое-нибудь направление, засеки сколько YAW показывает в градусах, затем поверни плату, подожди секунд 30, затем верни в первое положение. Как в этом эксперименте ведет себя показания YAW (эти показания третий столбец в команде cat on stab). Есть ли плаванье или возвращается в изначальное (то, которое засек) значение? Если плывет, то как долго успокаивается.

Если плату положить и не трогать долго. YAW держится или уплывает?

Сделай дамп mon on magво время поворота платы в горизонте, кинь сюда, давай посмотрим. Значение X,Y должны меняться по закону синуса, Z должна быть константой (примерно).

Короче, компас это и есть YAW. Соответственно, заработает YAW, заработает и компас. И в принципе, не важно куда он показывает, главное, чтобы одинаково было и не плавал. Сделай cat imu, кинь сюда, давай посмотрим что там. заодно еще cat mag сделай.

Кстати, например, в машине у меня компас сходит с ума.

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

Drou
AlexSneg:

Сделай дамп

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

mon_damp.rarmon_on_stab.rar

AlexSneg

EKF_Accel_Variance=10000.0000 исправить на 3000
EKF_Accel_Gravity_Cut_Off=0.3000 исправить на 0.15
EKF_Gyro_Use_Fir=0 исправть на 1
EKF_Accel_Use_Fir=0 исправить на 1
EKF_Mag_Use_Fir=0 исправить на 1
EKF_Accel_Freq_Fir=100.0 исправить на 4
Trimmer_Roll=3.748 пока поставить 0
Trimmer_Pitch=-1.248 пока поставить 0

Эти значения по умолчанию?
Mag_ref_x=0.200
Mag_ref_y=0.000
Mag_ref_z=-0.600

Если на 180 градусов вращать ось X (первая колонка) становится ли положительной? у тебя в логах она исключительно отрицательная.

читаем внимательно комменты
mozgolet-navigator.narod.ru/index/0-30

от 30.05.2013 и 27.05.2013

Для магнитометра сперва (если еще не делали), откалибровать и вращая плату в горизонте по сырым данным компаса убедиться, что составляющая Z остается примерно постоянной и должна быть в районе минус 0,7-0,5 (56-ой градус с.ш.) в зависимости от широты места проживания. Если этого добились, то удерживая плату в горизонте (по показаниям акселерометра, вытащите на экран одновременно и данные акселя и данные компаса) запишите на бумаге значение Z магнитометра. Затем, вращая плату в горизонте, найдите положение магнитометра, при котором значение X будет близко к нулю и в этот момент снимите показания по Y

Во-первых; необходимо настроить компас. Для этого сначала настроить магнитометр, как это описано в предыдущей прошивке. Важно! чтобы по X был минимум(в идеале 0), по Y - максимум с положительным знаком +, по Z - то отрицательное значение, которое намерили. Далее в новой КП в настройках стабилизатора на первой закладке необходимо вбить свое магнитное склонение для вашей местности.

Еще добавлю, что если ось Х магнитометра не обращается в ноль на каком-то этаме поворота, то МАГ не очень качественно калиброван. Либо ты калибровал его до того, как железку приделал снизу. X и Y должны попеременно то до максимума доходить (~0.2) то близко к нулю приближаться, короче зависимость SIN и COS, а ось Z должна оставаться неизменной ~0.7 или 0.6 (при условии, что плата вращается строго в горизонтальной плоскости)

Drou

Может тогда кинь в личку или сюда свой файл конфигурации. я его загружу в плату и попробую?

AlexSneg

Да, мне не жалко дам я свой конфиг, но не в этом суть. У тебя не в конфиге проблема, а в том что REF значения компаса не так заданы. Прочитай те цитаты с сайта внимательно, особенно обрати внимание выделенное черным. X должен быть минимальным, а Y максимальным. А только потом уже магнитное склонение.

Еще вопрос, вот с теми значениями, что сейчас есть, если в КП вызвать параллелепипед крутящийся и разрешить YAW, плату просто положить и не трогать. YAW плывет со временем или держит угол? Если потом повернуть градусов на 90 и опять оставить, поплывет или нет? Если по YAW плывуна нет, то проблема только в том, что

Mag_ref_x=0.200
Mag_ref_y=0.000
Mag_ref_z=-0.600

не правильно заданы и возможно почётче компас откалибровать, чтобы четкие нули по X и Y при повороте появлялись, короче ближе к сфере, чтобы было. После этого будет компас нормально показывать потому что компас это и есть YAW только отодвинутый на величину магнитного склонения в сторону.

доберусь до железки, выгружу конфиг, выложу здесь.

AlexSneg

Вот мой конфиг, летал на нем в прошлое воскресенье. Смысла заливать все из него нет. Выбери только необходимое.

alex_sneg_30_08_13.zip

Drou

Спасибо за конфиг , похоже не зря… вот как у тебя:

set mag_ref_x 0.000
set mag_ref_y 0.210
set mag_ref_z -0.610

Далее нашел еще :
##### BEGIN MAG #####
set mag_chip 1
set mag_bias_x -125
set mag_bias_y -38
set mag_bias_z 31

У меня было … set mag_chip 2
итого полечилось 😃

AlexSneg
Drou:

set mag_chip 2

Уже самому интересно стало.
mag_chip=1 это LSM303DLH
mag_chip=2 это LSM303DLM

Оно должно автоматом распознать. Оно распознало 2, значит у тебя DLM. И вроде бы не должно прокатывать set mag_chip 1, оно read only.

А вылечилось у тебя из за
set mag_ref_x 0.000
set mag_ref_y 0.210
set mag_ref_z -0.610
set mag_bias_x -125
set mag_bias_y -38
set mag_bias_z 31

Первые три - это нормальное горизонтальное значение компаса, когда плата в горизонте. Я тебе говорил, у тебя знаки напутаны были.
Вторые три - это калибровка. Моя тебе не подойдет, надо бы свою провести.

вообще=то первые три, надо тоже уточнить. Они ведь для моей широты, а ты южнее. У тебя Z будет меньше, а Y больше. X должно около нуля остаться.

Новая плата c версией LSM303DLM есть у Димы (Telion). Он у себя компас как настроит, так отпишется удачно или нет. И какие параметры у него получились.

Как ОСД запустишь, отпишись. Если будут пропуски в пикселах белых, то надо навесить патч на плату в виде конденсатора на 0,1 или 1мкф на ножку питания MAX4090. Там все удобно, земля прям рядом с ножкой проходит. Фотку позже сделаю, выложу. Других косяков на новой плате вроде не обнаружено.

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

Drou
AlexSneg:

Я тебе говорил, у тебя знаки напутаны были.

Mag_ref_x=0.200
Mag_ref_y=0.000
Mag_ref_z=-0.600
Было так
а у тебя
set mag_ref_x 0.000
set mag_ref_y 0.210
set mag_ref_z -0.610

AlexSneg:

Моя тебе не подойдет, надо бы свою провести.

Калибровка моя , потом перекалибровал.

Про осд не понял кому… у меня робит. ГПС МТК.

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

про mag_chip=1 это LSM303DLH завтра посмотрю на микрухе но 90%, что та которая лучше:)

AlexSneg
Drou:

set mag_ref_x 0.000 set mag_ref_y 0.210

вот это и было проблемой

Drou:

Про осд не понял кому… у меня робит. ГПС МТК.

Тебе это было. Если се ОК, значит не парься

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

Drou:

Стаб толком не пашет, не могу понять почему, автовозврат ессно тоже.

Давай по конкретнее, что делаешь, как проверяешь. imu работает правильно? Крены и тангаж картинка в КП отслеживает правильно?

Drou:

но 90%, что та которая лучше

Для DLM тогда должно быть mag_chip=2

Drou
AlexSneg:

Для DLM тогда должно быть mag_chip=2

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

AlexSneg:

Крены и тангаж картинка в КП отслеживает правильно?

В картинке толком не понятно. Прочитал выше про расположение платы и настройки. Проверил как у тебя в конфиге, также стоят. Инвертированием серв поставлено правильное реагирование на наклоны самолета.
То есть на земле все поворачивается верно. Платка выставлена триммерами вертик\гориз, ну боле менее… В полете горизонт не дрожит не дергается. Но почемуто при включении стаба сваливает вниз и влево вродь…

AlexSneg

Значит так, при настройке перво наперво надо настроить выходные реверсы стабилизатора их 4 штуки. Для этого включаем режим стаба, стики ставим в нейтральные положения. Теперь наклоняем самолет и смотрим на элероны. Если неверно работают, значит включаем реверс соответствующего элерона(их два).
Теперь по тангажу наклоняем вверх, вниз. Настраиваем реверс тангажа. После этого включаем режим МАНУАЛ. Смотрим куда отклоняются рули от стиков. Настраиваем реверсы на СВОЕЙ аппаратуре, именно на своей. Последним пунктом, опять включаем стаб, но самолет держим в горизонте и дергаем стики. Если отклоняются неправильно рули, то используем реверсы на входе стабилизатора (другие настроенные реверсы не трогаем!). Реверсы _board_ не трогаем, они влияют только на ориентацию.

после этой процедуры должно все заработать.

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:

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

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