А давайте обсудим Arducopter - APM

ctakah

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

lion13ch

Подскажите что нынче получше будет VR Brain или Pixhawk ?

delfin000
alexeykozin:

тогда нужно пару моторов ставить таким образом

На соосном варианте лучше передний и задний луч оставить по одному мотору , а вот остальные оставить соосными в паре (к рисунке вверху). Получается Х10:). Тогда с микшированием не нужно заморачиваться, работать будет. Проба такого варианта была давненько. В противном случае под Х12 соосный микширование перераспределять. Как это обустроить есть в инете много примеров и пояснений, но нет столько выходов у самого контроллера в алгоритметме. Посему будет проблема.
Ну или переход на МК , в нем есть такое.
или переходить на 80-е моторы с 26-ми пропами Х8 соосный - по стоимости не шибко дороже, чем Х12:) но проводов меньше будет

А-50:

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

В отношении управления yaw

vjick

Подскажите, пожалуйста, где взять шнурок что бы прошить гпс? Родной резать не хочется, а то что есть разъем не подходит.

delfin000
vjick:

Подскажите, пожалуйста, где взять шнурок что бы прошить гпс? Родной резать не хочется, а то что есть разъем не подходит.

тогда подпаяться, быстрее выйдет и нет ничего сложного

vjick

Не хотелось сопли вешать. Видать придется.
А поблизости ни у кого нет взаймы?

alexeykozin
А-50:

разделить по управлению. Поскольку в контроллере пред формированием PWM, по сути, стоят микшеры каналов крена, тангажа и курса. И если крен и тангаж в каждой соосной паре идут с одинаковым знаком, то курс с противоположными

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

SergDoc

тут как бы надо библиотеку создавать: AP_MotorsHexaCoax.cpp

void AP_MotorsHexaCoax::setup_motors()
{
    // call parent
    AP_MotorsMatrix::setup_motors();

    // hard coded config for supported frames
    if( _flags.frame_orientation == AP_MOTORS_PLUS_FRAME ) {
        // plus frame set-up
        add_motor(AP_MOTORS_MOT_1, 0, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 1);
        add_motor(AP_MOTORS_MOT_2, 0, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 7);
        add_motor(AP_MOTORS_MOT_3, 180, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 4);
        add_motor(AP_MOTORS_MOT_4, 180, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 8);
        add_motor(AP_MOTORS_MOT_5,-120, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 5);
        add_motor(AP_MOTORS_MOT_6,-120, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 9);
        add_motor(AP_MOTORS_MOT_7, 60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 2);
        add_motor(AP_MOTORS_MOT_8, 60, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 10);
        add_motor(AP_MOTORS_MOT_9, -60, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 6);
        add_motor(AP_MOTORS_MOT_10, -60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 11);
        add_motor(AP_MOTORS_MOT_11, 120, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 3);
        add_motor(AP_MOTORS_MOT_12, 120, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 12);
    }else{
        // X frame set-up
        add_motor(AP_MOTORS_MOT_1, 90, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 2);
        add_motor(AP_MOTORS_MOT_2, 90, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 7);
        add_motor(AP_MOTORS_MOT_3, -90, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 5);
        add_motor(AP_MOTORS_MOT_4, -90, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 8);
        add_motor(AP_MOTORS_MOT_5, -30, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 6);
        add_motor(AP_MOTORS_MOT_6, -30, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 9);
        add_motor(AP_MOTORS_MOT_7, 150, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 3);
        add_motor(AP_MOTORS_MOT_8, 150, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 10);
        add_motor(AP_MOTORS_MOT_9, 30, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 1);
        add_motor(AP_MOTORS_MOT_10, 30, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 11);
        add_motor(AP_MOTORS_MOT_11,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 4);
        add_motor(AP_MOTORS_MOT_12,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 12);
    }

ну со всеми вытекающими…

HATUUL
vjick:

Подскажите, пожалуйста, где взять шнурок что бы прошить гпс? Родной резать не хочется, а то что есть разъем не подходит.

А почему не подключить через АРМ,и через него прошить?

vjick

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

HATUUL
raefa:

yadi.sk/i/wdC5NZwcUazzL
От 17.09.2013.

Он отличается от теперешнего.
ardupilot.com/downloads/?did=53

Кажетьса,я догадываюсь,почему жпсы глюкают.
Походу в новом конфиге ,как-то полностью убрали инерцию,может не правильно выразился,ну это когда точка бегает по сторонам,а он выдает общую между ними. В новом конвиге,как есть так и выводит координату,без всяких усреднений.
А в АРМ добавили новый параметр GPSGLITCH_RADIUS-200,т.е если точка неожиданно ушла на расстояние больше 2 метров,происходит жпс_ошибка,и АРМ на какое то время Прекращает слушать жпс.А т.к. точность любого жпса до 2.5метров то вполне возможна такая ситуация,что проскочит точка от предыдущей на более 2 метров,даже при 10 спутниках и низким хдопе.
Имхо правильно будет прописать GPSGLITCH_RADIUS на 250-300.
На каком то из иностранных форумах именно так и лечили жпс ошибки.

raefa
HATUUL:

Он отличается от теперешнего.

Может поэтому участились падения?

5yoda5
ctakah:

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

Вы продолжаете упорствовать… Но вашу мысль я понял. Расставляю точки над Ё:
Соосные системы делаются обычно контрвращательные. Из-за этого, при данной схеме установки при вращении по руддеру при увеличении угловой скорости верхних движков (на отдельно взятых лучах) - будут увеличиваться угловые скорости нижних движков, которые находятся в противовращении. И вращательный момент погасится.
Расставил, расшаркался.
Теперь раскрепощайте сознание, включайте воображение.

  1. Берем за основу схему не гекса - а октокоптер - восемь лучей. На каждом луче висит движок сверху и в противовращении к нему движок снизу.
  2. Берем листочек бумаги, рисуем 8 точек по окружности - оси вращения движков. МЕЖДУ НИМИ пунктиром рисуем “виртуальные лучи”
  3. Движки соединяем в параллель на соседних с виртуальными лучами крест-накрест. То есть Регуль верхнего движка одного реального луча соединяем в параллель с регулем нижнего движка на соседнем луче.
    При этом у нас контроллер продолжает управлять “восемью” движками а на каждом из этих движков висит по два (только на соседних лучах с “виртуальным” лучем).
    Получаем - стабильная система, по руддеру - рулится, 16 движков. Монстр-мутант.
    Только с гексой этот вариант не прокатит.

Тут говорили, типа для чего каждому мотору отдельный регуль… Ха-ха. А вы пробовали с одного регуля управлять двумя моторами??? мне кажется - это точно провальная идея, учитывая динамические нагрузки на каждый отдельно взятый движок. Одно дело - запараллелить управляющие сигналы, и совсем другое - силовую нагрузку. Тут не то что срыв синхры, тут вообще неизвестно что будет (пара движков будут пытаться работать как сельсин)))))

Парируйте.

delfin000
5yoda5:
  1. Движки соединяем в параллель на соседних с виртуальными лучами крест-накрест. То есть Регуль верхнего движка одного реального луча соединяем в параллель с регулем нижнего движка на соседнем луче.

Коллапс начнется на ролле и тангаже. Микшер рулит, как захочется и пожелается-проверено и устаканено давно. Основы микширования раньше прилагались ко всем аппаратам. Теперь это правило забыто.

ctakah

У меня гекса на арде от тарота.Нужна грузоподъемность,есть лишние движки (4215) Стоят от ХА мотормаунты,что позволяет легко поставить снизу движки,поэтому озадачился,самый понятный для меня вариант подсказал Александр (Дельфин) по одному оставить на двух лучах(буду оставлять на правом и левом,так как летаю в х - схеме) на остальных в конрвращении по два движка.Думаю насчет более мощных одиночных.Давайте тут не оффтопить,вопрос решен,идет сборка десятикоптера)))

5yoda5
raefa:

Может поэтому участились падения?

Сегодня НОЧЕРОМ делал автотриммирование (чуть-чуть неудачно сделал) и автотюнинг ПИДов. Фееричное зрелище - полеты ночью (полоски светиков наличествуют) Почему ночью? Потому что после дождя было почти абсолютное безветрие, что в последнее время вообще не встречается.
Прошивка 3.1.5 релиз. Коптер летал себе летал тюнил-тюнил. Потом кааак полетел вниз метров на 5-7. Кувыркаясь, как обычно падают коптеры без оборотов… АААА я даже за стики в тот момент не держался (комары-с*ки-заразы атаковали). Сделать ничего не успел - только кирпичей начал откладывать 😁 А он в трех метрах от земли выровнялся и набрал высоту слегка. УФФФ.
Это обычная процедура для автотюна? (делал первый раз - всё как-то на стоковых ПИДах леталось).

raefa

Да блин, так и падают на автотюне… Моторы какие?

5yoda5
raefa:

Моторы какие?

Моторы с РЦТаймера на 530 KV, вот эти, винты 15х5,5 карбоновые. Моя догадка - так как мотор с достаточно низким KV (да ещё с большими пропами - момент инерции большой), коптер не успевает отработать кратковременное снижение и последующий набор оборотов. То есть наверное в процедуре автотюна заложено измерение реакции коптера на резкое уменьшение/увеличение газа, чтобы поставить вычисленный ПИД в троттл P. Только блин - хорошо, что я взлетел на 10-12 метров - а то бы коптеру не хватило высоты для выравнивания! Внешне это выглядело как будто резко обороты ушли в ноль, коптер начал падать, и после метра падения (то есть не сразу бросил-добавил оборотов) был опять включен газ. Там ещё пару метров падения пока раскрутятся движки. Потом ещё метра два-три пока коптер выровняется в горизонт. И ещё полметра-метр пока обороты достигнут газа висения. После этого коптер поднимается на 2-3 метра (но не на ту высоту, с которой “упал”).
Я подтянул коптер повыше стиком газа и продолжил автотюн. Больше он таких кувырков не исполнял. Процедура вроде закончилась, коптер повис неподвижно - я его захотел испытать подталкиванием. Подошел и снизу его толкнул вверх. А он… упал. Кончилась батарея (на одной банке из 4 просело вообще ниже 2 вольт - мне не везет на пищалки, летаю без них в итоге). Перед этим немного (секунд 20-30) полетал на новых ПИДах - коптер стал ГОРАЗДО отзывчивее на газ (может и потому было “недопадение” в автотюне), реакция по остальным осям изменилась, но как-будто стала даже менее острой. Ничего критичного - привыкну к такому коптеру, изменения не кардинальные.
Итог: автотюн сделан, комары накормлены, батарея вроде живая, адреналин получен. Очень продуктивное начало нового дня (был первый час ночи).

P.S. Во все инструкции по автотюну добавить строчку, что нужно иметь метров 10-15 запаса по высоте. Я где-то встречал упоминание про запас высоты (без конкретных цифр), поэтому интуитивно поднял коптер выше, чем во всех виденных мною роликах по автотюну.

alexeykozin

странно мне повальное увлечение автотюном несмотря на его глюки проблемы.
подобрать то надо всего 2 параметра.
с маленьким шагом, в 10%, обычно 5-10 тестов и аппарат настроен идеально.
если в первый раз тюнингуешь, ну пусть 1 час потратить

jekmv

а автотюн D составляющую настраивает? сколько раз его не делал - всегда дефолтное значение