MultiWii

alexeykozin

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

=alex#
=alex#:

…Картинки вроде красивые в wiiConf получаются, а на реальном трикоптере совсем плохо…

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

SovGVD
=alex#:

Посмотрел в MultiWiiConf,

а время цикла стабильное? или туда/сюда прыгает? если прыгает или еще хуже - в минус уходит, то пилите wmp или долго и упорно придется играть с настройками частоты и interleaving - и то фигня будет, wmp периодически любит повисать намертво и только передергивание питания спасает (что в полете не очень приятно)

omegapraim

Во развел себе мини мультивий на датчике 2 В 1 который мне предоставил soliada, конечно есть еще косяки в разводке, но все работает, скоро облетаю аксель LIS3DH, гира L3G4200D



=alex#
SovGVD:

а время цикла стабильное? или туда/сюда прыгает?

Это Cycle Time? немного прыгает постоянно 3000-3020, а раз в 2 секунды примерно 3200 проскакивает. А если wmp порезать, то влияние вибраций уменьшится? или дело не в них, то что сигналы на моторах и серве при включенных двигателях начинают прыгать?

SovGVD
=alex#:

А если wmp порезать, то влияние вибраций уменьшится?

то можно будет добавить дополнительный режим фильтрации вибраций на самой гире и избавиться от повисаний и глюков
в любом случае, если wmp с itg3205 - лучше выпилить (там на самом деле надо всего пару дорожек перепелить, в соотвествующей теме всё есть) - новые wmp так себе работают

igor_v_t
alexeykozin:

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

Я тоже недавно видел коптер именно на вашей плате, но не помню где. Может быть то же что и Вы. А если винты одного направления и выкошены, то это тоже самое, что разные. Единственное может реверс Yaw понадобится, или винты местами поменять.

SovGVD

а какие у multiwii дефолтные пиды в стандартной прошивке?
хочется поэксперементировать сегодня =)

leprud

Что лень животворящая делает-то 😃

void checkFirstTime() {
uint8_t test_val; eeprom_read_block((void*)&test_val, (void*)(0), sizeof(test_val));
if (test_val == checkNewConf) return;
P8[ROLL] = 40; I8[ROLL] = 30; D8[ROLL] = 23;
P8[PITCH] = 40; I8[PITCH] = 30; D8[PITCH] = 23;
P8[YAW] = 85; I8[YAW] = 0; D8[YAW] = 0;
P8[PIDALT] = 47; I8[PIDALT] = 0; D8[PIDALT] = 30;
P8[PIDGPS] = 10; I8[PIDGPS] = 0; D8[PIDGPS] = 0;
P8[PIDVEL] = 0; I8[PIDVEL] = 0; D8[PIDVEL] = 0;
P8[PIDLEVEL] = 90; I8[PIDLEVEL] = 45; D8[PIDLEVEL] = 100;
P8[PIDMAG] = 40;
rcRate8 = 45; // = 0.9 in GUI
rcExpo8 = 65;
rollPitchRate = 0;
yawRate = 0;
dynThrPID = 0;
for(uint8_t i=0;i<CHECKBOXITEMS;i++) {activate1[i] = 0;activate2[i] = 0;}
accTrim[0] = 0; accTrim[1] = 0;
powerTrigger1 = 0;

SovGVD

пока ждал ответа, забил и подлетнул в большой комнате (до этого только в мелкой тестил - где чуть влево-вправо и коптер теряет винт)
летает шикарно, почти аркадное управление, то ли потому что аккум повесил легкий (2.2 против 8), то ли пресловутые потоки воздуха… главное что исчез косяк при взлете, когда коптер сам по себе в разные стороны брыкался
и с кривой газа на аппе кажется угадал
ну в общем не буду пиды трогать, а буду ждать умельцев из соседней ветки про althold

кстатии косяк один всетаки остался - медленно снижается, бряк об пол и на полметра подскакивает

omegapraim

Ниу кого небыло проблем с платами версии на 3,3V 8 мГц сделал под этой платой вий 2й все запускается отлично работает (в GUI) но как только включаешь, регули начинают выдавать ошибку

alexeykozin
igor_v_t:

Я тоже недавно видел коптер именно на вашей плате, но не помню где. Может быть то же что и Вы. А если винты одного направления и выкошены, то это тоже самое, что разные. Единственное может реверс Yaw понадобится, или винты местами поменять.

я имел ввиду вот эти решения
квадракоптер на ardupolot imu, и трикоптер

igor_v_t
alexeykozin:

я имел ввиду вот эти решения
квадракоптер на ardupolot imu, и трикоптер

Да именно это я видел. Просто когда свое делал то мне было проще чтение приемника и выход на моторы из МультиВия взять, а чтение датчиков уже с платой было. DCM матрицу из ArducopterNG взял. Так же и здесь можно довести, только разобраться со свободными выводами и куда датчики поцеплены. То есть схема нужна. Просто тот проект 2 года назад сделан был .

Dimm168pin
SovGVD:

то можно будет добавить дополнительный режим фильтрации вибраций на самой гире и избавиться от повисаний и глюков
в любом случае, если wmp с itg3205 - лучше выпилить (там на самом деле надо всего пару дорожек перепелить, в соотвествующей теме всё есть) - новые wmp так себе работают

именно новые wmp или 3205 испоганились?

SovGVD
Dimm168pin:

именно новые wmp или 3205 испоганились?

именно wmp, с itg из wmp всё ок, а вот юзать wmp не вижу смысла вообще, разве что лень в 3х местах дорожки перерезать
(во всяком случае у меня с wmp не получилось ничего толкового, а выпиленый itg работает отлично)

=alex#
SovGVD:

во всяком случае у меня с wmp не получилось ничего толкового, а выпиленый itg работает отлично

это обнадеживает, но прежде, чем резать, решил подключить нунчак, посмотреть что показывать будет. И не понял вот что: пока передатчик не подключен, (сигналов с приемника нет) MultiWiiConf показывает, что NunChuck / Acc Active, при этом правильно калибруется и показывает горизонт, но как только включаю передатчик, и приемник начинает выдавать сигналы, NunChuck / Acc становится OFF, при этом графики и горизонт продолжают правильно показывать, но видимо работа акселерометров не влияет на поведение моторов. Почему выключается? и что надо сделать чтобы подключился?

omegapraim
=alex#:

это обнадеживает, но прежде, чем резать, решил подключить нунчак, посмотреть что показывать будет. И не понял вот что: пока передатчик не подключен, (сигналов с приемника нет) MultiWiiConf показывает, что NunChuck / Acc Active, при этом правильно калибруется и показывает горизонт, но как только включаю передатчик, и приемник начинает выдавать сигналы, NunChuck / Acc становится OFF, при этом графики и горизонт продолжают правильно показывать, но видимо работа акселерометров не влияет на поведение моторов. Почему выключается? и что надо сделать чтобы подключился?

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

=alex#

после распиливания wmp и прямого подключения itg3205, удалось все таки заставить его летать. Но летает постоянно раскачиваясь. Иногда на полминуты затихает, и тогда ровненько держится, но потом снова начинает трепыхаться. Параметры, на рисунке, если куда-то немного в сторону, вообще не хочет лететь, почти стразу кувыркается. Куда надо крутить, чтобы более стабильно летал? Может быть слишком мелкий? Леталка трикоптер, 260гр, винты 8x4, расстояние от центра до двигателя 15 см. В скетче раскомментирован фильтр 20Hz.
И еще - что такое RATE на картинке?

omegapraim

фильтр меньше меньше 40 вообще трогать не стоит а чем вам стандартные пиды непонравились из прошивки 1.9 2а

P8[ROLL] = 60; I8[ROLL] = 30; D8[ROLL] = 40;
P8[PITCH] = 60; I8[PITCH] = 30; D8[PITCH] = 40;
P8[YAW] = 85; I8[YAW] = 45; D8[YAW] = 0;
P8[PIDALT] = 30; I8[PIDALT] = 10; D8[PIDALT] = 0;
P8[PIDVEL] = 55; I8[PIDVEL] = 0; D8[PIDVEL] = 45;
P8[PIDLEVEL] = 70; I8[PIDLEVEL] = 10;
P8[PIDMAG] = 40;
rcRate8 = 27; // = 0.54 in GUI
rcExpo8 = 65;
rollPitchRate = 0;
yawRate = 0;
dynThrPID = 0;
for(uint8_t i=0;i<8;i++) activate[i] = 0;
accTrim[0] = 0; accTrim[1] = 0;
powerTrigger1 = 0;
writeParams();

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

Так вот к сожалению регуляторы с кварцем на 16 мегагерц будут работать только с ардуиной на версии 5в 16 мГц
Кое как вкорячил кварц на 16 туже ардуину и все заработало, так что заказывая ардуину будьте внимательны.

=alex#
omegapraim:

фильтр меньше меньше 40 вообще трогать не стоит а чем вам стандартные пиды непонравились из прошивки 1.9 2а

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

omegapraim

искать проблему в железе, стандартные параметры на то и стандартные, что у вас за регули?