MultiWii

Urdigor
penkerton:

Все крутится как надо, отзывы на повороты модели и движение стиков есть, но одна проблема:
скорости моторов разные и заводятся они с разного положения стика газа. Как их все синхронизировать, где копать?

надо откалибровать контроллеры моторов. По крайней мере у меня подобная фигня была пока все моторчики одинаково не откалибровал.

penkerton
Urdigor:

надо откалибровать контроллеры моторов. По крайней мере у меня подобная фигня была пока все моторчики одинаково не откалибровал.

Это была первая мысль, но если “откалибровать”, подразумевает подключение отдельно каждую связку мотор/контроллер напрямую к приемнику (каналу газа) и с пульта показать минимум и максимум, то я это проделывал. К сожалению не прошло. (Может, конечно, стоит еще раз проделать эту процедуру).
И на счет статуса Armed и поведения моторов тоже жду ответ )

Спасибо за оперативность!

Urdigor
penkerton:

Это была первая мысль, но если “откалибровать”, подразумевает подключение отдельно каждую связку мотор/контроллер напрямую к приемнику (каналу газа) и с пульта показать минимум и максимум, то я это проделывал. К сожалению не прошло. (Может, конечно, стоит еще раз проделать эту процедуру).
И на счет статуса Armed и поведения моторов тоже жду ответ )

насчёт статуса Armed и поведения моторов ничего говорить не буду… Не знаю как должно быть… Собственно, я такой же новичок как и вы, поэтому вряд ли вам чем-нибудь смогу помочь ) Но у меня моторы не начинают куриться сразу после входа в armed. Если чуть дернуть газ и опустить назад то они включаются и уже не останавливаются…

Если ваши регуляторы программируются, попробуйте их все перепрограммировать одинаково. У меня двигатели начали включаться одновременно и более-менее логично менять скорость только после калибровки и перепрограммирования всех с одними и теми же параметрами… И хотя теперь я могу даже подлетать, всё-равно есть уже не так явно заметная проблема со скоростью моторов (всё равно по разному крутятся), но это уже явно не регули. Вы, кстати тоже это проверьте! Посмотрите внимательно в GUI когда коптер стоит горизонтально и вы прибавляете газ, ровно ли он у вас добавляется на все двигатели. У меня вот почему-то не ровно:

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

penkerton
Urdigor:

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

А можно подробности о других проблемах (может это все же меньшее зло))
и ссылку на прошивку (описание и разговор о ней)?

Urdigor
penkerton:

А можно подробности о других проблемах (может это все же меньшее зло))
и ссылку на прошивку (описание и разговор о ней)?

Да нет… я бы не сказал что меньшее… При малейшем отклонении от горизонта он входит в ужасную болтанку… его мотает туда-сюда, пока он не упадет… Хотя сегодня вроде как эту проблему начал потихоньку побеждать, благодаря советам опытных коптероводов с этого сайта ) уменьшил P в настройках коптера, и заодно и I и D тоже поуменьшал. Вроде теперь его хоть не колбасит… Дома толком не понять… завтра на улице посмотрю что будет.
Прошивку можно скачать в дневнике товарища mahowikrcopen.com/blogs/83206
там есть как 1.9 так и 2 версия… будтьте осторожны во второй версии зачем-то изменили оси датчиков (или только одного датчика, не знаю точно, но после установки 2 версии квадрик у меня стал неадекватно реагировать на повороты по осям в GUI). Нужно будет подобрать параметры осей самому вот в этих строчках:

//if you want to change to orientation of individual sensor
//#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -Y; accADC[PITCH] = X; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] = X; gyroADC[YAW] = -Z;}
//#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}

nemo61
penkerton:

Это была первая мысль, но если “откалибровать”, подразумевает подключение отдельно каждую связку мотор/контроллер напрямую к приемнику (каналу газа) и с пульта показать минимум и максимум, то я это проделывал. К сожалению не прошло. (Может, конечно, стоит еще раз проделать эту процедуру).

Калибровать стоит все контроллеры разом. Соедините управляющие выводы контроллеров в одну точку и подключите к каналу газа приемника. Для питания приемника использовать только один бек. При Armed моторы начинают вращаться сразу.

penkerton
nemo61:

Калибровать стоит все контроллеры разом. Соедините управляющие выводы контроллеров в одну точку и подключите к каналу газа приемника. Для питания приемника использовать только один бек. При Armed моторы начинают вращаться сразу.

Спасибо! Дельный совет. Буду дома, попробую сначала ваш вариант. “бек” -контроллер, как я понял?

nemo61
penkerton:

“бек” -контроллер, как я понял?

5V питание с одного контроллера.

matrus3

Всем доброго дня !
Купил себе платку IMU 10DOF - MPU6050 gyro & accelerometer + HMC5883L magnetometer + MS5611 altimete. drotek.fr/…/62-imu-10dof-mpu6050-hmc5883-ms5611.ht… ( Не реклама )
Покупалась для Arduino Mega 2560 ( Multiwii 2 ). Подключил, все работает кроме компаса. Думал дефект, ради эксперемента подключил на Crius Lite с той же прошивкой что и на меге,
и все прекрасно заработало.
Подскажите кто знает в чем проблема. Как исправить ?

DVE

А можете рассказать подробнее, как такую плату к Crius подключить?

RA4ASN

Облетал сейчас 2_0_a0. Ну, по сравнению с “обычной” - небо и земля 😃 На 2.0 пиды мне подобрать так и не удалось, а здесь прямо с ходу. Спасибо Александру за труды 😃

matrus3
DVE:

А можете рассказать подробнее, как такую плату к Crius подключить?

Ну на Crius Lite там даже пины scl и sda предусмотрены. Ну а на Crius SE подпаиваться нужно.

soliada
matrus3:

Подскажите кто знает в чем проблема. Как исправить ?

Вообще очень странно.По идее различий в коде для 2560АТмеги и 328АТмеги нет, все должно работать одинаково.
Может вы при прошивке в 2560 что-то в коде не раскомментировали-закоментировали? В конфиг части прошивки что выбирали?

matrus3
soliada:

Может вы при прошивке в 2560 что-то в коде не раскомментировали-закоментировали?

В том то и дело что один в один залил, окно было открыто, поменял только тип платы.

soliada

А какая версия прошивки? Вроде начиная с 1.9 тип платы, типа Нано,Уно,Мега и пр, выбирать не надо,все автоматом определяется.
Вам по идее надо было только выбрать тот тип датчиков что на вашей плате. Какой тип платы Вы поменяли?

mahowik
omegapraim:

airm.ru/articles/2 человек для вас старается пишет сайт, добавляет знания а поискать и почитать тему лень… ищите на данном сайте про ПИД самое нужное там русским языком понятно расписано, если болтается уменьшите П для начала

так так так… бегло прошелся очередной раз… а гдеж там статья про ПИДы над которой так старались?!

matrus3
soliada:

А какая версия прошивки? Вроде начиная с 1.9 тип платы, типа Нано,Уно,Мега и пр, выбирать не надо,все автоматом определяется. Вам по идее надо было только выбрать тот тип датчиков что на вашей плате. Какой тип платы Вы поменяли?

Тип платы в IDE выбирал при заливке. Верся прошивки 2.0

DVE

Чудес не бывает… Может тактовая частота проца другая? Может там в фьюзах какой-нибудь DIV8 стоит.

soliada

Понятно.По идее кроме выбора типа платы в Ардуино ИДЕ надо еще выбрать необходимый тип датчиков в самом коде в разделе
конфиг.
Там Вы что выбирали?

matrus3
soliada:

Там Вы что выбирали?

config.h
#define DROTEK_IMU10DOF

def.h прописал, так как у продовца написано
#if defined(DROTEK_IMU10DOF)
#define MPU6050
#define HMC5883
#define MS561101BA
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = -X; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = -Z;}
#define MPU6050_ADDRESS 0xD2
#define MPU6050_EN_I2C_BYPASS // MAG connected to the AUX I2C bus of MPU6050#
#undef INTERNAL_I2C_PULLUPS
#endif