MultiWii

gorbln
leprud:

Как много всего проходит мимо этого форума…

А чего ж барометр-то опять такое УГ??? Походу таймкоп их закупил 3 палеты и теперь впаривает всем =))) А что такое на второй пикче - вообще не понял…

DVE

А смысл в экономии пары грамм для самолета? Пинов мало, значит опять с PPM-SUM изголяться.

Тогда уж лучше Naze32 за 26$ взять для любителей поковыряться с STM.
abusemark.com/store/index.php?main_page=product_in…

Магент

Коллеги, встречал на форуме информацию, о том, как чел на пятый канал вешал несколько АUXов, распределяя их по “амлитуде”. Сечас не могу найти, может кто помнит ссыку? И мнения удобно ли?

SergDoc
Alexey_1811:

Вот еще порт на STM32F4 www.quadroufo.com
Переход на более мощные контроллеры неизбежен.

непонятно, зачем использовать F4 с его производительностью да ешё с MPU6050 - по I2C да ещё без прерываний готовности, а если ещё MultiWii в него вкорячить, FPU не удел, да и сам проц 98% времени простаивать будет, ааа догадался - в свободную флеш запихивать конфеденциальную инфу и вместе с коптером доставить до места назначения 😃 о блин, у самого ж F4 надо уже думать в какую религию обращять 😃

gorbln
SergDoc:

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

Ну, например, OSD в том де чипе вкорячить. Красивое. Быстрое. Запись маршрута там, не знаю. Всякую фигню, на которую щас “времени проца не хватает”. Плюс, Александр mahowik говорил, что напрягают пляски с бубном с целочисленными вычислениями, когда надо с плавающей точкой. Ну то есть - тема-то перейти есть, только кто этим заниматься будет…

DVE

Да хотя бы отладка в STM32 просто в разы удобнее - поставил точку останова и все, она сработала. И отладочная плата 600р всего со всей периферией. Среда разработки CoIDE кстати бесплатная, и на базе Eclipse, т.е. функциональность на уровне.
А под AVR что-то отладить, либо танцы с бубном, либо отладочные комплекты от 100 евро.

Musgravehill
gorbln:

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

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

SergDoc
Musgravehill:

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

Это при уловии что компилятор работает с FPU, плюс я акцентировал внимание на I2C, надо, по возможности, избежать данной шины, вобщем надо очень многое переделать, и, это будет далеко не MultiWii…

raefa

Подскажите, какими должны быть правильными реакции на гироскоп и акселерометр???
Наклоняю квадрокоптер вперед, то передние моторы должны на немного времени прибавить обороты, чтобы попытаться стабилизировать отклонение? Это без акселерометра.
А с акселерометром должны вращаться на всем протяжении времени, пока не верну наклон в “нулевое” положение?

gorbln
raefa:

Наклоняю квадрокоптер вперед, то передние моторы должны на немного времени прибавить обороты, чтобы попытаться стабилизировать отклонение? Это без акселерометра.
А с акселерометром должны вращаться на всем протяжении времени, пока не верну наклон в “нулевое” положение?

Ага. Типа того.

raefa

Полетел 😃 Только сначала по оси закружило. Инвертировал Z (Yaw) у гироскопа и стало нормально.
Поигрался с PID пока наугад и уже латает не хуже Кука. Только бывает рвется вверх.
С акселерометром по Z угадал сразу.

Если кому интересно расположение:
Выпиленный гироскоп ITG3205 (плата у меня такая rcopen.com/files/4d58ca36997073007701affb) поставил левой стороной платы с картинки - вперед.
Плака с акселерометром (buyincoins.com/…/mma7361-angle-sensor-inclination-…) - смотрит X вперед, Y влево.

  1. Как теперь добиться стабилизации по акселерометру? Несет в сторону, но выровнять пытается. Начинаю изучать теорию PID.
  2. Как победить, чтобы вверх сильно не улетал?
raefa

Забыл сразу что-то добавить. Код для данного расположения этих датчиков.

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = -Z;}
#define GYRO_ORIENTATION(Y, X, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  -X; gyroADC[YAW] = -Z;}
Taatarenkoff
raefa:
  1. Как победить, чтобы вверх сильно не улетал?

Настройте экспоненту газа. Будет проще держать высоту.

SkyAK

Собрал квадрокоптер:
Плата CRIUS ALL IN ONE PRO v1.1
регули Turnigy TY-P1 25Amp
передатчик Turingy 9x

Залил MultiWii_2_1

Проверил в GUI стики норм все двигается туда куда надо и в допустимых диапазонах.

Подключаю акум, мигают диоды, затем горят только 2 посередине платы, а диоды А В С не горят.
Зажимаю стик газа вправо вниз на запуск, загораются диоды А и С. Двигаю стик газа и ничего не происходит, что делать?

AvxMx
mahowik:

решение проблемы OLED экранчика с rctimer (чеб не потерялось):
rcopen.com/forum/f123/topic258132/2387
rcopen.com/forum/f123/topic258132/2390

Все-таки установка резисторов и диодов в общую цепь питания OLED экранчика не совсем хорошо, так как там step-up конвертер который поднимает до 10В напругу и как раз изменение тока потребления от выведенного рисунка на экран происходит по этой линии питания. Для питания логики там стоит отдельный стабилизатор на 3.3В, вот его и надо развязать резистором, 82-100 Ом (для этого необходимо разрезать дорожку на плате). Также желательно поставить резистор 10 кОм в нагрузку по этой линии питания, так как если выключить питание и сразу включить, память OLED не обнуляется и в результате, на экране сохраняются старые данные, которые были на нём при выключении, при этом графическая заставка может не отображается.

Думаю на этом “танцы с бубном” вокруг экранчика можно закончить.

DVE

Круто, но уж проще диод/резистор в питание, чем в такую мелочь smd впаивать 😃

mahowik
c4Faraon:

Подскажите, что не так

Если в скетче config.h ничего не меняли, то показалось странным, что в шапке Arduino IDE у вас не видна ее версия. Т.е. отображается ${version}, вместо к примеру 1.0.3, если у вас такая… Соот-но проблема в самой Arduino IDE скорее всего…
Ваш пользователь имеет тип “Администратор” в системе? Есть подозрение что Arduino IDE не видит свои настройки (нет доступа), которые хранятся в c:\Documents and Settings\<USERNAME>\Application Data\Arduino\preferences.txt