MultiWii
Наклоняю квадрокоптер вперед, то передние моторы должны на немного времени прибавить обороты, чтобы попытаться стабилизировать отклонение? Это без акселерометра.
А с акселерометром должны вращаться на всем протяжении времени, пока не верну наклон в “нулевое” положение?
Ага. Типа того.
Полетел 😃 Только сначала по оси закружило. Инвертировал 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
Да у меня аксель и гира внутренними фильтрами настроены, все что надо затянуто, я потом еще гляну как там ось Z у меня в полете реагирует.
можно 10, можно 25, кстати какое лучше G ставить, у меня сейчас 2 стоит.
кстати у меня дебаги вообще неактивны все 0
я потом еще гляну как там ось Z у меня в полете реагирует
на debug3 (debug[2] в коде) скорость вертикальная сидит… вруби в руках АХ и посмотри, что с ней… уверен, что там будет просадка на 50…150 единиц в минус…
кстати какое лучше G ставить, у меня сейчас 2 стоит.
это плохо!!! 😉 от тут расписал подробно …
не, поставил фильтр 10 герц у меня аксель поплыл при 400 ГЦ норм работает.
#define VARIO_ALT_CHANGE
#define VARIO_P 20
#define VARIO_I 15
#define VARIO_D 10
это надо менять? или нет)
не, поставил фильтр 10 герц у меня аксель поплыл при 400 ГЦ норм работает.
фиговый значит аксель 😃 технически долго писать почему…
это надо менять? или нет)
нет, не надо!
ты читал по ссылке выше?! выставь диапазон 8g иначе нихера не будет!
- не забудь про acc_1G, т.к. во многих акселях разрешение падает при увеличении диапазона…
Значит технически хреновый аксель)))))) спорить с тобой не буду а разбираться лень, буду летать на одном акселе и гире, этож мелколет, выставил 8г я еще утром вашу беседу почитал.
фиговый значит аксель 😃 технически долго писать почему…
нет, не надо!
ты читал по ссылке выше?! выставь диапазон 8g иначе нихера не будет!
- не забудь про acc_1G, т.к. во многих акселях разрешение падает при увеличении диапазона…
Какраз собираюсь делать новую платку для мелкого может посоветуешь чего то кроме мпу?
после установки 8г и калибровли акселя значения acc Z в гуи симметричные, когда коптер в покое и вверх ногами? разброс не более +/-10%
если нет значит acc_1G не правильный…
может посоветуешь чего то кроме мпу?
из того что я пробовал, этот лучший…
нет если перевернуть коптер то будет 1000 вместо 512
делитель вроде по даташиту. но у меня датчик из первых пробных партий. может еще поэтому.
мляааааа… ну пипец 😃 кроче должно быть так, если acc_1G = 512, то:
- коптер на ногах: в гуи acc Z = 512 (+/-10%)
- вверх ногами: acc Z = -512 (+/-10%)
А то, не летит грит чета 😃 Нахер вообще этот секос?! Контроллеры стоят копейки сейчас!
Саш Когда я этот контроллер паял это был топовый датчик 2 в 1 от ст и ты еще на ось Z не покушался))))) кто ж знал что у меня неправильный делитель стоит))))) В те далекие времена (той зимой) были тока ITG и BMA, в общем просто железка тогда была круче всего что на тот момент было, потому как висит мелкий на нем офигенно без всяких дерганий на стандартных пидах. Выпишу себе мпу значит. Купить под мелкого конечно можно но проще сделать самому))))