Автопилот Arduplane - открытое ПО

west_25_x
Yden:

миним OSD как то не айс

другие не совместимы. 😦
на рцтаймере можно найти и датчик тока и все остальное, только ГПС там не фонтан.

Alex-13
west_25_x:

только ГПС там не фонтан.

В таком случае дайте линк на более лучший GPS совместимый с APM

west_25_x

Я использовал этот с XK подпаяв 4-тый провод RX, потом свой сделал на модуле MTK3339.
Если с пояльником не дружите, то использовать или от Еглов или родной, или уж с РЦ таймера (но его нужно или прошить или ноги замкнуть, а то он по умолчанию на 9600 а нам нужно 38400)

vjick
west_25_x:

или уж с РЦ таймера (но его нужно или прошить или ноги замкнуть, а то он по умолчанию на 9600 а нам нужно 38400)

можно поподробнее?

west_25_x

У меня был GPS первой ревизии без памяти, что-бы его переключить на 38400 нужно 14 ногу к земле. (по умолчанию она к полюсу подтянута и получаем 14 нога НОЛЬ 15-я ЕДИНИЦА)
Сейчас с памятью, значит можно прошить, как и чем не в курсе, не разбирался. Вроде есть родная утилита.
Вот ДШ Вам в помощь.
Обязательно проверить распиновку проводов, цвета не совпадают. (у меня)

Alex-13

Я использую вот такой
Без перепрограмирования подключил к АПМ. Работает неплохо
Как то не вижу большой разницы в работе. Может я и не прав …
www.rctimer.com/product_763.html

DChernov
Alex-13:

Я использую вот такой
Без перепрограмирования подключил к АПМ. Работает неплохо
Как то не вижу большой разницы в работе. Может я и не прав …
www.rctimer.com/product_763.html

Умненький АПМ соглашается работать с этим модулем даже “прямо с почты”. Но при этом частота обновления 1 Гц и скорость обмена 9600 интерфейс NMEA0183. В общем-то ничего страшного, летает. Но воспользовавшись рекомендациями по перепрошивке с plane.ardupilot.com/wiki/common-ublox-gps/ Вы получите ощутимо более точное управление.

alex195822
DChernov:

Вы получите ощутимо более точное управление.

Проверено - полностью поддерживаю.

jfm06

А у меня NEO-6 uBlox не завелся с 9600! (программа показывает спутники, а APM не видит ни одного). Штатный 3DR-ский файл с настройками не заливался из-за ошибок. Решение нашёл тут diydrones.com/xn/detail/705844:Comment:1222612

Не нашёл как кнопку сброса миссии из MissionPlanner завести на радио? У меня ardupilot. Спасибо

jfm06

Уважаемые форумчане у кого Ardupilot 2.74,
я правильно понимаю, что кнопка калибровки Level теперь следом запускает и калибровку акселей? И что теперь аксели при включении не будут калиброваться каждый раз?
Имеет ли эта калибровка отношение к калибровке компаса. Или его всё так же нужно калибровать.

Пока в документации идёт мешанина старых прошивок и новой и нет информации. Спасибо!

alexeykozin
jfm06:

я правильно понимаю, что кнопка калибровки Level теперь следом запускает и калибровку акселей?

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

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

kaveg
alexeykozin:

вижений пока он не “отдергает” сигнал готовности рулем высоты

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

alexeykozin
kaveg:

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

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

static void demo_servos(uint8_t i) {

while(i > 0) {
gcs_send_text_P(SEVERITY_LOW,PSTR(“Demo Servos!”));
demoing_servos = true;
servo_write(1, 1400);
mavlink_delay(400);
servo_write(1, 1600);
mavlink_delay(200);
servo_write(1, 1500);
demoing_servos = false;
mavlink_delay(400);
i–;
}
}

если поменять минимальный и максимальный пвм до 1000 и 2000 то будет дергать сильно

static void demo_servos(uint8_t i) {

while(i > 0) {
gcs_send_text_P(SEVERITY_LOW,PSTR(“Demo Servos!”));
demoing_servos = true;
servo_write(1, 1000);
mavlink_delay(400);
servo_write(1, 2000);
mavlink_delay(200);
servo_write(1, 1500);
demoing_servos = false;
mavlink_delay(400);
i–;
}
}

незабываем что
// Makes the servos wiggle - 3 times signals ready to fly
// Makes the servos wiggle twice - about to begin INS calibration - HOLD LEVEL AND STILL!!

функция находится в файле attitude.pde

kaveg
alexeykozin:

функция находится в файле attitude.pde

в коде то понятно что можно всё подпилить… я думал может параметр какой имеется чтоб без пересборки обойтись

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

west_25_x
alexeykozin:

единственное что нужно понимать что большинство самолетов прямо летят при угле аттаки крыла 3-4 градуса, в плоскости установки стабилизатора, по этому устанавливая левел ориентироваться следует не на крыло а на плоскость стабилизатора

Алексей.
Не могу понять.

  1. выставил самолет (крыло) с углом 3-4градуса вверх.
  2. поставил его на левый бок 90 градусов
  3. на правый 90 гр.
    4 вниз мордой.
    5 Перевернуть… Вот тут вопрос.
    в первом пункте я выставил угол вверх 3-4 градуса. А в пятом пункте нужно эти 3-4 градуса тоже учитывать ( наклонить на 3-4 градуса вниз т.к. самолет перевернут) или ровно держать?
Andrey3167
west_25_x:

Вот тут вопрос.

Вы его калибруете как компас? по всем осям??? С акселями так не надо, вы же выставляете положение модели в горизонтальном полете. Просто выставляете по уровню: фюзеляж +3-4 градуса на кабрирование, крылья по уровню по горизонту и жмете кнопочку Calibrate Accel (ArduPlane Level)
А при калибровке компаса можно и повертеть в разные стороны, только имхо это лишнее, поставил галочку Auto Dec- и пусть сам калибруется

Shuricus
Andrey3167:

С акселями так не надо,

Мишнпланер просит крутить акселя как описано. Как же просто жать кнопочку?

Andrey3167
Shuricus:

Мишнпланер просит крутить акселя как описано

Ткните пальцем, где? Что-то не встречал.
Опа- это в свежем мишен планере такая калибровка? раньше такого не было
Так калибровалось по моему в ардукоптере. Я на видео видел такую калибровку акселей ( в ардукоптере), так чел просто голую плату так крутил без всяких выставлений по уровню и 3-4 градусов, просто на столе: горизонтально, влево, вправо, вниз, вверх и перевернуто.
Как он горизонтальный полет выдерживать будет- непонятно, это ж не мультикоптер

Shuricus

Там где вы и сказали - Calibrate Accel button, как минимум в случае если через модем или блютус это делается.

Andrey3167
Shuricus:

Там где вы и сказали

Да, уже попробовал.😃 Через кабель тоже самое

kaveg
Andrey3167:

так чел просто голую плату так крутил без всяких выставлений по уровню и 3-4 градусов, просто на столе: горизонтально, влево, вправо, вниз, вверх и перевернуто. Как он горизонтальный полет выдерживать будет- непонятно, это ж не мультикоптер

по хорошему аксель так и калибруется чтобы он узнал где у него минимум максимум по всем осям. далее апм ставится в самолёт в одной плоскости со стабилизатором. а 3-4 градуса это угол установки крыла. вариант номер два (на случай если углы установки стабилизатора тоже не нулевые должны быть у модели) выставляем самолёт так как он должен лететь, а апм внутрь самолёта ставим по уровню. если аксель откалибровать с заведомо сбитым уровнем гаризонта это значит фигово откалибровать, объясню почему - поворачиваете самолёт на 90 градусов и эти 3-4ре градуса будут уже не вверх-низ а совершенно не там.

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

это теория. а как калибровка реализована в прошивке даже не вкурсе вроде…

и ещё немного теории почему аксели и компас необходимо валибровать и те и другие с точки зрения компаса.
Изза того что имеется магнитное наклонение компас показывает не направление на магнитный север, а направление под сильным углом в землю, но плоскость образованная вектором силы тяжести и магнитного поля проходит точно через магнитный север. чтобы точно определить направление на север необходимо спроецировать вектор магнитного поля на горизонтальную плоскость и если эта горизонтальная плоскость будет наклонена ввиду кривой калибровки акселей то и показания компаса будут искажены, причем искажены не на постоянное значение(как у акселей), а на значение которое зависит от положения комппаса в пространстве. что будет сильно мешать алгоритму AHRS автопилота и раскачивать его, так как небольшие ошибки он умеет компенсировать, но если ошибка не постоянна то эти попытки компенсации в определённых условиях приведут к автоколебаниям, а если эти актоколебания войдут в резонанс то алгоритм и вовсе перестанет работать выдавая всякую ерунду, проще говоря автопилот в горизонтальном прямом полёте будет думать что планер вертится вокруг какойто одной или нескольких осей.