MultiWii
Коллеги, встречал на форуме информацию, о том, как чел на пятый канал вешал несколько АUXов, распределяя их по “амлитуде”. Сечас не могу найти, может кто помнит ссыку? И мнения удобно ли?
ну вот… походу кто то рискнул портануть вий на stm32f4
code.google.com/p/multiwii/source/detail?r=1288
Вот еще порт на STM32F4 www.quadroufo.com
Переход на более мощные контроллеры неизбежен.
Вот еще порт на STM32F4 www.quadroufo.com
Переход на более мощные контроллеры неизбежен.
непонятно, зачем использовать F4 с его производительностью да ешё с MPU6050 - по I2C да ещё без прерываний готовности, а если ещё MultiWii в него вкорячить, FPU не удел, да и сам проц 98% времени простаивать будет, ааа догадался - в свободную флеш запихивать конфеденциальную инфу и вместе с коптером доставить до места назначения 😃 о блин, у самого ж F4 надо уже думать в какую религию обращять 😃
непонятно, зачем использовать F4 с его производительностью
Ну, например, OSD в том де чипе вкорячить. Красивое. Быстрое. Запись маршрута там, не знаю. Всякую фигню, на которую щас “времени проца не хватает”. Плюс, Александр mahowik говорил, что напрягают пляски с бубном с целочисленными вычислениями, когда надо с плавающей точкой. Ну то есть - тема-то перейти есть, только кто этим заниматься будет…
Да хотя бы отладка в STM32 просто в разы удобнее - поставил точку останова и все, она сработала. И отладочная плата 600р всего со всей периферией. Среда разработки CoIDE кстати бесплатная, и на базе Eclipse, т.е. функциональность на уровне.
А под AVR что-то отладить, либо танцы с бубном, либо отладочные комплекты от 100 евро.
напрягают пляски с бубном с целочисленными вычислениями, когда надо с плавающей точкой
Еще можно отказаться от ассемблерных вставок, оптимизированных алгоритмов быстрого вычисления корня и тригонометрии, таблиц заранее вычисленных значений. В итоге, код легко читается, баги проще вылавливать и допиливать за предыдущим программистом.
оптимизированных алгоритмов быстрого вычисления корня и тригонометрии, таблиц заранее вычисленных значений.
Это при уловии что компилятор работает с FPU, плюс я акцентировал внимание на I2C, надо, по возможности, избежать данной шины, вобщем надо очень многое переделать, и, это будет далеко не MultiWii…
решение проблемы OLED экранчика с rctimer (чеб не потерялось):
rcopen.com/forum/f123/topic258132/2387
rcopen.com/forum/f123/topic258132/2390
Подскажите, какими должны быть правильными реакции на гироскоп и акселерометр???
Наклоняю квадрокоптер вперед, то передние моторы должны на немного времени прибавить обороты, чтобы попытаться стабилизировать отклонение? Это без акселерометра.
А с акселерометром должны вращаться на всем протяжении времени, пока не верну наклон в “нулевое” положение?
Наклоняю квадрокоптер вперед, то передние моторы должны на немного времени прибавить обороты, чтобы попытаться стабилизировать отклонение? Это без акселерометра.
А с акселерометром должны вращаться на всем протяжении времени, пока не верну наклон в “нулевое” положение?
Ага. Типа того.
Полетел 😃 Только сначала по оси закружило. Инвертировал Z (Yaw) у гироскопа и стало нормально.
Поигрался с PID пока наугад и уже латает не хуже Кука. Только бывает рвется вверх.
С акселерометром по Z угадал сразу.
Если кому интересно расположение:
Выпиленный гироскоп ITG3205 (плата у меня такая rcopen.com/files/4d58ca36997073007701affb) поставил левой стороной платы с картинки - вперед.
Плака с акселерометром (buyincoins.com/…/mma7361-angle-sensor-inclination-…) - смотрит X вперед, Y влево.
- Как теперь добиться стабилизации по акселерометру? Несет в сторону, но выровнять пытается. Начинаю изучать теорию PID.
- Как победить, чтобы вверх сильно не улетал?
Забыл сразу что-то добавить. Код для данного расположения этих датчиков.
#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;}
- Как победить, чтобы вверх сильно не улетал?
Настройте экспоненту газа. Будет проще держать высоту.
Собрал квадрокоптер:
Плата CRIUS ALL IN ONE PRO v1.1
регули Turnigy TY-P1 25Amp
передатчик Turingy 9x
Залил MultiWii_2_1
Проверил в GUI стики норм все двигается туда куда надо и в допустимых диапазонах.
Подключаю акум, мигают диоды, затем горят только 2 посередине платы, а диоды А В С не горят.
Зажимаю стик газа вправо вниз на запуск, загораются диоды А и С. Двигаю стик газа и ничего не происходит, что делать?
решение проблемы OLED экранчика с rctimer (чеб не потерялось):
rcopen.com/forum/f123/topic258132/2387
rcopen.com/forum/f123/topic258132/2390
Все-таки установка резисторов и диодов в общую цепь питания OLED экранчика не совсем хорошо, так как там step-up конвертер который поднимает до 10В напругу и как раз изменение тока потребления от выведенного рисунка на экран происходит по этой линии питания. Для питания логики там стоит отдельный стабилизатор на 3.3В, вот его и надо развязать резистором, 82-100 Ом (для этого необходимо разрезать дорожку на плате). Также желательно поставить резистор 10 кОм в нагрузку по этой линии питания, так как если выключить питание и сразу включить, память OLED не обнуляется и в результате, на экране сохраняются старые данные, которые были на нём при выключении, при этом графическая заставка может не отображается.
Думаю на этом “танцы с бубном” вокруг экранчика можно закончить.
Круто, но уж проще диод/резистор в питание, чем в такую мелочь smd впаивать 😃
Подскажите, что не так
Если в скетче config.h ничего не меняли, то показалось странным, что в шапке Arduino IDE у вас не видна ее версия. Т.е. отображается ${version}, вместо к примеру 1.0.3, если у вас такая… Соот-но проблема в самой Arduino IDE скорее всего…
Ваш пользователь имеет тип “Администратор” в системе? Есть подозрение что Arduino IDE не видит свои настройки (нет доступа), которые хранятся в c:\Documents and Settings\<USERNAME>\Application Data\Arduino\preferences.txt
Сегодня попробовал настроить BMP 180 на RC1 пободался минут 40, сломал одну лапу на квадрике потом плюнул, все мид поинты настроил пиды тоже менял, после активации альт холда просто проваливается и все. В общем проще нупить на мелкого нормальный баро, чем пилить старое железо.
а eeprom чистил? если да то пиды на баро будут 3.0-0.010-25
пиды с чищенным еепромом даже такие ставил, и стандартные из 2.1 нифига не помогает проваливается и все тут и кстати даже если менять пиды поведение не меняется. но кстати у меня аксель и гира от ST возможно еще и это влияет я честно говоря не знаю, но мне эти датчики честно говоря нравятся больше. там настроек по даташиту, всяких фильтров и пр больше чем у мпу.
но кстати у меня аксель и гира от ST возможно еще и это влияет
100%
вообще провалы, это значит скорость не правильно считается из-за вибраций… если можно, выставь на свой аксель внутренний НЧ филтр на 5-10гц…
- попробуй врубить дефайн KILL_VIBRO