MultiWii

Covax

А графическую информацию как ардуинка, осилит? Чтобы как у Олега горизонт был.

SovGVD

ну это я так… мечтаю, графику можно осилить (там в коде цифры битовыми масками идут), но гемора много и не факт что еще одно ядро не надо будет впиливать… но хотя бы циферки какие нибудь или как в старых добрых играх:

|                _ |
|           _  -   |
|       _ o        |
|  _  -            |
Syberian
Syberian:

косяк в режиме автоуровня

Вот Алекс жулик! при подаче мин. газа он принудительно дает мин. газ на регули, а ПИДы продолжают работать и неумолимо накручивают “усилие” на моторы, чтобы скомпенсировать перекос. Как бы натягивают тетиву лука.
В итоге, при включении газа из ждущего в рабочий, коптер “выстреливает” одной стороной. А я голову ломаю, чего на видео столько переворотов прямо с места!
Сейчас это можно обойти, взлетая в режиме гир и включая стабилизацию только в полете. Но не для того я чаку покупал111 😁
Буду думать дальше.
Зловредный участок кода привожу:

if ((rcData[THROTTLE]) < MINCHECK)
#ifndef MOTOR_STOP
motor[i] = MINTHROTTLE;
#else
motor[i] = MINCOMMAND;
#endif

gena_g
Syberian:

Вот Алекс жулик! при подаче мин. газа он принудительно дает мин. газ на регули, а ПИДы продолжают работать и неумолимо накручивают “усилие” на моторы

Это в версии 1.7

Musgravehill
Syberian:

при подаче мин. газа он принудительно дает мин. газ на регули, а ПИДы продолжают работать

if ((rcData[THROTTLE]) < MINCHECK)
#ifndef MOTOR_STOP
motor[i] = MINTHROTTLE;
MINCOMMAND = 0; // ??
#else
motor[i] = MINCOMMAND;
#endif

Syberian

не тут, все гораздо хуже.
MINCOMMAND это дефайн 😃

=== added

Вот, нашел решение, работает отлично :

delta = gyroData[axis] - lastGyro[axis];
DTerm = (delta1[axis]+delta2[axis]+delta+1)*dynD8[axis]/3;
delta2[axis] = delta1[axis];
delta1[axis] = delta;
lastGyro[axis] = gyroData[axis];

if ((rcData[THROTTLE]) < MINCHECK) errorAngleI[axis]=0; // prevents side jump during the transition from idle when in autolevel mode

axisPID[axis] = PTerm + ITerm - DTerm;

Переход к выравниванию стал очень плавный.

YAN=
V8Max:

Может кто подскажет что за мозги?

Видно-же (1:06), что 2 ардуинки стоят.

Syberian

Вернулся с облета в зале. Это что-то. В первый раз управлял чем-то подобным.
Да, оно стабильное, оно висит и держит положение. Но оно скользит и вращается! А не совсем умный афтар поста совершенно не умеет управлять аппаратами вертолетного типа. Какой ручкой куда тыркать? Рефлекисов нет 😃
С другой стороны, сколько я его сегодня бил обо все что можно, с вертолетом можно было бы попрощаться. А тут на середине второго пака у сервомашинки шестерню срезало (у меня ремкомплектов кучка на такое дело).
Словом, впечатления противоречивые. С черной завистью кошусь на Warthox’а 😦

Covax

Олег, поздравляю 😃

  1. Крутится он так не должен, надо триммировать.
  2. Я бы резко убавил расходы на первое время на аппе (вертолетный режим, половинчатые расходы, кривая газа наша всё).
  3. Подлететь надо минимум на метр, ты просто не узнаешь коптер.
    А вообще, за давно забытый гул dtшек спасибо. Так я и не доделаю видимо свой на эти праздники… женщины и дети это святое 😃
Musgravehill
YAN=:

Ну вот, что с ЭТИМ делать?

  1. Сверхчувствительность гироскопа - пару страниц назад уже решили проблему
  2. ПИД-коэффициенты слишком большие, на мой взгляд, для такого размера коптера. У меня длина лучей 43 см - с П=4 его колбасило как г. в проруби. Уменьшал до П=2. С и и Д буду экспериментировать, когда сделаю качельки.
Covax:

надо триммировать

причем, программно, вроде, нужно?? Пульт не трогать! “How to trim” на рц-групс писали.

Covax:

Я бы резко убавил расходы на первое время на аппе (вертолетный режим, половинчатые расходы, кривая газа наша всё).

А я на Акро летаю, в конфиге поставил RC_rate= 0.5 RC_expo= 0.8 Pitch\roll\yaw_rate=0, коптер стал плюшевый и туповатый.

----

Вчера крутило в режиме ауто_левел, оказалось, что виноваты вибрации от пропеллеров. Балансировать нужно не только моторы и пропы отдельно, но и готовую сборку, отметив положение винта относительно ротора. Кусочек скотча на пропе резко изменил ситуацию - коптер висит в воздухе, медленно уплывая в стороны. Особенно плохо было, когда вибрировал задний мотор - он него серва сходила с ума и начинала сама дрожать, винт менял угол - в итоге, все шло вразнос.

Covax
Musgravehill:

причем, программно, вроде, нужно?? Пульт не трогать! “How to trim” на рц-групс писали.

Я лучше про трикоптеры помолчу со своими советами 😃 Я квадрик именно пультом оттриммировал.

Musgravehill:

А я на Акро летаю, в конфиге поставил RC_rate= 0.5 RC_expo= 0.8 Pitch\roll\yaw_rate=0, коптер стал плюшевый и туповатый.

Или так, мне просто половинные расходы нужны для режима видеосьемки и с пульта удобнее.

YAN=
Musgravehill:
  1. Сверхчувствительность гироскопа - пару страниц назад уже решили проблему

Ткните носом, где это?
Нашел вот это. Но куда его вставлять?

gyroADC[PITCH] = - ( ((rawADC_WMP[4]>>2)<<8) + rawADC_WMP[1] )/3;
gyroADC[ROLL] = - ( ((rawADC_WMP[5]>>2)<<8) + rawADC_WMP[2] )/3;
gyroADC[YAW] = - ( ((rawADC_WMP[3]>>2)<<8) + rawADC_WMP[0] )/3;

Musgravehill:
  1. ПИД-коэффициенты слишком большие, на мой взгляд, для такого размера коптера. У меня длина лучей 43 см

Так у меня каждый луч, где-то 40-42.

Musgravehill
YAN=:

куда его вставлять?

В среде разработки жмете ctrl+F, поиск “gyroADC[PITCH]” - так найдете нужные 3 строки. Коэффициент 2…6, сейчас у меня полетело с “6”.

Попробуйте уменьшить ПИД

Musgravehill

Даю газ около 1500 - винты бешено крутятся (трикоптер летит вверх), при резком дергании стиков или резком наклоне коптера глохнет мотор, который должен был увеличить обороты. В режиме стабилизации трикоптер стабильно клонится “Roll” на одну сторону пропорционально изменению Throttle.

Регули HK SS 18-20 не программируемые, выставлены на ЛиПо без тормоза. ПИД настроен так, что коптер не раскачивается, а почти без перерегулирования возвращается в положение.

Пфф…забыл: Freeduino 2009 = Duelmilanove. Прошивка 1.6 WMP + BMA020, моторы Turnigy 2830 1050kV, пропы 9*3.8, длина лучей 43 см.

Covax

Это у вас у обоих на seeeduino mega и прошивке 1.7pre?
Попробуйте на 1.5 - 1.6 полетать.

Covax

Регули инициализировать только напрямую, не надо их через multiwii инициализировать.

Multiwii обрастает своими разработками OSD
Подписался на www.rcgroups.com/forums/showthread.php?t=1393857 посмотрим что к чему 😃

virtex

а вы на вход подаёте PPM summ ?.. тоеть эквивалент сигнала выходящего с передатчика на вч модуль где все импульсы вместе ? …

в 1,6 прошивке есть строки указывающие на последовательность импульсов для futaba/spectrum

установил свои значения = каналы перепутаны на некоторые изменения вообще нереагирует

P.S. fuse bits LOW для mega328 должны стоять как 1 1 1 1 для такта > 8mhz ? там явно чтото напутано шил через LPT/uniproff и непонятно какие включенны какие выключенны

насколько я знаю у atmel включенный фьюз = 0 … или нифига нетак ? …

всплыла ещё 1 проблема … в 1,6 небыло обьявленно MINTHROTTLE

при компиляции duino жаловался я тупо вначале обьявил строку MINTHROTTLE в 1000 регули 20-25A SS им для старта нужен газ в нуль или старта небудет кажеться что эта 1000 несоответствует 0 точнее соответствует но не для всех регуляторов … (из одной партии 6 регуляторов)

P.S. как гиры и аксели через PORTA подключить ?

Syberian
Musgravehill:

непрограммируемые HK SS 18-20 при включении с макс. газом входят в режим программирования

эээ… а как тогда в них throttle range настраивать? 😃 Без этого ведь никак!
Описал, как на своих 25-30 делал, тоже вразнобой глохли. Но они с карточки видятся.

Covax:

Multiwii обрастает

Чо-т меня прям тошнит от такого “горизонта” 😛 Люди давно графику освоили, линии-полосочки-шарики всякие, а тут опять на микросхеме MAX какой-то чисто текстовый оверлей замастрячили…
Или это я самолетами разбалован? Зато тут “специялно для арду мультивиии” 😃