MultiWii
ну графики самого акселя по идее должны быть?
У меня графики не показывают
Либо внешние резисторы, либо внутри Ардуины программно включаются. Я думаю, что лучший вариант - отключить все внутренние пуллапы. И сделать нормальный LLC с гарантированными пуллапами по 3кОм с обоих сторон LLC.
Согласен, в идеале так правильно и лучше всего.
Но тут вопрос по упрощенной схеме как лучше:
- 5в со стабилизатора ардуины (pullups ON)
- 5в с 12-го пина ардуины (pullups ON)
- 3.3в со стабилизатора ардуины (pullups OFF)
В MultiWii additional FAQ’s написано что лучший 2-й вариант, т.к. защищает от зависания шины I2C, а также в WM+ есть стабилизатор встроенный. Но есть ли он в нунчаке?!
b. Question:What about the diodes, 3.3V voltage regulators & pin 12?
Answer:
The best solution until now is to just connect the WM+ & NK vcc to pin 12 from the Arduino. Pin 12 is supplying 5VDC to the WM+ & optionally the NK. This way the software can actually reset the WM+ if the I2C bus freezes. The freeze is detected & the WM+ is reset very fast (in the region of 33ms: link) . (see this post from Alex for more details).
Note that this option has saved already several quads & tricopters from hard crashes!
The WM+ has an on board voltage regulator on board and works perfectly with a 5VDC supply.
Alternatively, the WM+ can be powered from 5VDC or from 3.3VDC continuously. Note that the software cannot reset the WM+ if the I2C communication bus freezes.
The optional Barometer sensor or different ACC works only if powered with 3.3VDC. The 5VDC from pin 12 must thus be reduced to this 3.3VDC. This can be done by placing 2 diodes in series with the sensors (link) or by connecting an 3.3V voltage regulator (LM1117). Of course other options are possible. E.g. powering it from the 3.3V from the Arduino Nano.
c. Question:What about the pull-up resistors? Enable or disable them[/I]
Answer: (link)
The internal pull-up resistors in the arduino are disabled by default in v1.6 This is done by Alex to prevent damage to certain sensors which do not support 5V. Note that in version 1.7 the pull-ups are enabled again for the normal WM+ setup. Advanced 9DOF boards may need to have disabled pull-ups.They can be enabled in the software by this line: #define INTERNAL_I2C_PULLUPS
- If you use a WMP alone: enable it in the software.
- If you use a WMP + NK : enable it in the software.
- If you use a WMP + BMP020 (5V friendly thanks to its internal LLC): enable it in the software.
- If you use a WMP + (LLC + I2C devices): enable it in the software. (For an example see also diagram 6. Full MultiWii with ADXL345 & BMP085 - Option 2 )
- If you use a WMP + direct I2C bus connection I2C devices (not 5V friendly): disable it in soft and use external pull-ups on 3.3V. Note that most breakout boards have built-in pull-ups already.
Ну пипееец… До чего же глючная эта ардуина IDE!!!
Чтобы заработало управление и моторы, оказывается, нужно имя файла и путь к скетчу покороче сделать!!!
Просто слов нет.
Пробуйте еще раз, кто смелый… Развернуть желательно в корень диска
ftp://syberian.dyndns.org/arduino/MW1pt7_MARG12.zip
Пробёгся по теме поиском и по яндексу, но так и не понял а что такое это LLC?
И что подтягивают подтягивающие резисторы?
конвертор уровней логики
Нет, это не они делают, на rcgroups есть ветка, про то как кто-то украл идею Джусси и выкинул платки на ибей. По крайней мере никто не сознается, кто ее выпустил и продает 😃 Может кто-то втихоря от компании решил срубить чуток бабла.
Судя по транзакции на палке это наш парень из Прибалтики фамилия и имя у него интересное Aleksandrs Ivanovs.
- 3.3в со стабилизатора ардуины (pullups OFF)
В MultiWii additional FAQ’s написано что лучший 2-й вариант, т.к. защищает от зависания шины I2C, а также в WM+ есть стабилизатор встроенный. Но есть ли он в нунчаке?!
Лучше: 3.3в со стабилизатора ардуины, отключить внутренние подтягивающие резисторы, а сопротивление внешних около 3кОм. Либо питать от пин12, но через “стабилитрон+резистор” или диод. Именно со стабилитроном я летал.
—
Не все ВМП содержат стабилизатор, писали, что на синих платах его нет, поэтому лучше питать их 3.3В. Нунчак вроде от 2.8В питается от ВМП. Нунчак выдержит и 3.3В.
—
Зависаний ВМП не замечал, а сейчас выпилил из них чипы отдельно. Анти-фриз помогает только штатной ВМП, если навесить другие аксели - антифриз не работает, да и не нужен он особо.
—
Не понимаю Алекса и ребят. Молодцы, что придумали проект. Но подключение датчиков на форумах выглядит как шаманство. Синие\зеленые\в ркапинку, а если платку от Спаркфана ткнуть, а если резистор отпилить… На шину i2c есть четкие параметры линии и устройств. Датчики известны, схемы LLC известны. Конечно, проще наудачу воткнуть ВМП, только когда на нем не окажется стабилизатора, начнутся непонятные проблемы.
Судя по транзакции на палке это наш парень из Прибалтики фамилия и имя у него интересное Aleksandrs Ivanovs.
Ха,ха, это следовало ожидать 😃 Значит по русски шпрехает.
Вот, вроде бы, и все на этом этапе разработки. Версия 2.0 под MW1preter7
-реализован режим удержания курса (heading hold): если ручка YAW отпущена, удерживает азимут, в котором находился в момент отпускания. Никакими переворотами и пилотажем с курса его теперь не сбить.
-добавлен полный алгоритм MARG с магнетометром. Чтобы его включить, нужно раскомментировать один из магнетометров (и подключить его). Угол склонения магнитного поля компенсируется и значения не имеет.
-сила удержания курса регулируется в поле YAW P, при этом коррелирует с усилением гиры в обычном режиме
-удержание угла разрешается фишками MAG и может активироваться с пульта (независимо от наличия магнетометра, как такового)
-по наблюдениям, дрейф Вийской гиры при комнатной темп. около 2 град в минуту.
-код приведен в летабельную форму, все включается и управляется как следует.
Летать и проверять мне пока не на чем, т.к. коптер еще лежит в гипсе.
А поскольку буквально весь форум активно ломанулся тестить и проверять свои гироскопы на предмет угловой скорости, пришлось оставить только настройки под свой нунчак 😦
ftp://syberian.dyndns.org/arduino/MW1pt7_MARG20.zip
не совсем понял… без магнетометра работать будет или нет?
А поскольку буквально весь форум активно ломанулся тестить и проверять свои гироскопы на предмет угловой скорости, пришлось оставить только настройки под свой нунчак
А у меня батарейки все сели, как назло. ГУИ движения квада не отображает. Я все пытаюсь сделать опытным путем. Сначала снижал дельтатайм, дошел до 480, но он все-равно очень вялый и не удерживал позицию, при снижении дельтатайм ниже, квад стал ваще неуправляемым.
Щас буду увеличивать начинася с 670.
Кстати, значения ПИД и автолевел ПИ на что нибудь влияют?
Без отображения квадрика в ГУИ - сложно. Олег, может наколдуешь еще чего-нибудь?
Кстати, магнетометр в ГУИ всегда в нулевой позиции, в обычном 1.7preter он нормально отображается.
Поправлюсь:
дрейф Вийской гиры при комнатной темп. около 2 град в минуту.
без магнетометра работать будет или нет?
Будет. Работает.
Без отображения квадрика в ГУИ - сложно. Олег, может наколдуешь еще чего-нибудь?
Поставь последнюю мою прошиву, все там отображается и управляется. Стрелка YAW тоже реагирует.
Гуи в ней уже претер.
При вращении платы квад болтается как надо. При повороте YAW моторы меняются по диагонали: одна диагональ растет, другая падает. Ведь так должно быть?
Поставил квадХ, вот скриншот (заметь, MAG красным, т.к. его нет, а рядом с ним ACTIVE - значит heading hold включен. При отклонении YAW active становится красным)
Олег, у тебя изогражение квада двигается? у меня изображение квада не двигается, то же самое питч, ролл.
Также, при включенных моторах, когда я нагибаю квад руками я не чуствую противодействие лишь на мгновение, а потом квад сам усиливает отклонение в ту же сторону.
Я менял дельта тайм от 800 до 350, самая спокойная реакция при дельтатайм 450. при 450 квад похож на то, что мультивий на гирах, но только с очень низким Р, т.е. плавает, причем сильно плавает. Когда держу в руках также нет никакого противодействия.
У меня такое ощущение, что в ГУИ есть данные от акселя, а на деле в работу стабилизации они не вмешиваются.
Без магнетометра цикл - 3200, с Магнетометром - 3600
Квад двигается, в точности повторяя…
А почему у тебя все нули в конфиге? Чтобы моторы реагировали, надо LEVEL P поставить хотя бы на 6-8, и чтобы там где поле с точками, было натыкано белыми 3 линейки, как у меня.
взгляни на верхний рисунок, там не нули, но Р у меня там около 3
Также, поменял Р до 8, и ничего, никакой ракции моторов когда я нагибаю квад.
Попробуй вот эту, может, проканает?
ftp://syberian.dyndns.org/arduino/MW1pt7_MARG21.zip
Алил, такое ощущение что у тебя аксель относительно гиры неправильно стоит для новой прошивки , сравни знаки перед формулами акселя на твоей рабочей прошивке и от Олега. у меня подобная хрень была, пока не поменял знаки ( лень было аксель переворачивать, уж очень удобно он короткими проводами к плате WMP прирос))) . Эту прошивку с радостью потестил бы, но в 168-ю мегу она уже не лезет 😦, жду mega328…
пример для Чака :
accADC[ROLL] = ( (rawADC_WMP[3]<<2) + ((rawADC_WMP[5]>>4)&0x2) );
accADC[PITCH] = - ( (rawADC_WMP[2]<<2) + ((rawADC_WMP[5]>>3)&0x2) );
accADC[YAW] = - ( ((rawADC_WMP[4]&0xFE)<<2) + ((rawADC_WMP[5]>>5)&0x6) );
Евгений,
В гуи в любом случае должна быть реакция
Попробуй вот эту, может, проканает? ftp://syberian.dyndns.org/arduino/MW1pt7_MARG21.zip
щас все работает, сижу настраиваю дельтатайм
че то запарился, если делаю дельта тайм больше 850 то на рисунке квад просто на меньший угол двигается при питче 45градусов. Т.е. он не доходит до нужного. Если делаю меньше 850 то квад самопроизвольно поворачивается набок (роллит).
в нормальном состоянии, когда квад на ровном столе, питч не горизонтален, а наклонен градусов на 20 вниз.
При включении квада, он норовится перевернуться в руках, даже если газ сделать слегка выше чем минимум (направлением носом к верху).
Олег, покажи видео, так хочется посмотреть.
Кстати, после твоих изменений, как стал отображаться квад в ГУИ, цикл стал 4600
в нормальном состоянии, когда квад на ровном столе, питч не горизонтален, а наклонен градусов на 20 вниз.
в предыдущей прошивке то-же самой было. С начало не обратил внимание, думал у меня проблема.
цикл стал 4600
цикл нужно увеличить до 6000, меняя interleaving_delay
Когда питч врет, calibrate помогает?
Еще у тебя что-то с полярностью осей (или у меня, гыгы).
Сегодня вечером я сниму с графиков все отклонения, и сравним с твоими.
Как доберешься до коптера, сделай так.
Позаписывай, при отклонении коптера куда наклоняются первоначально и какие именно графики (аксели и гиры).
Пример:
Исходное положение - горизонталь.
(ACC_Z вверху, остальные по нулям)
-
наклон носом вперед
ACC_Z вниз
ACC_PITCH вверх
GYRO_PITCH вверх -
наклон вправо
ACC_Z вниз
ACC_ROLL вверх
GYRO_ROLL вверх
… -
вращение по часовой стрелке
GYRO_YAW вверх
Ян, сделай, пожалуйста, тоже, если не сложно?
Найти бы кого-то еще с arduino mega и нунчаками… О! Чувак из Калининграда!
===
Алекс ответил, одобрил, включает меня в список разработчиков Вия 😁