MultiWii

alexmos
mahowik:

а вот тут может быть косяк… в оф. версии там ПИ-ПД регуль, где ПИ на медленных данных высоты, а ПД на быстрых данных скорости и это должно работать

попробую объяснить почему я откзалася от раздельных PI и PD. D в высоте - это производная ошибки, но данные о высоте у нас неточные и D от этих даных будет ещё хуже. Но производная ошибки - это и есть скорость (dErr = d(Hhold - H) = dHhold - dH = -dH), которую наш алгоритм худо-бедно выдает. То есть я просто обозвал P-составляющую скорости D-составляющей высоты, не изменив логики оригинальной версии, только PID высоты теперь стал классическим PID. А VelocityPID остался только D - производная скорости, что по сути является ускорением. А так ли нужен этот компонент? Посмотри на график ускорения при любом линейном перемещении - это выброс вверх и равнозначный выброс вниз. Т.е. компенсация а короткий перод времени даст +100 а потом -100 - такое моторы даже не успеют отработать, а есть ещё инерция коптера. Так что смысла от D-скорости ноль.

mahowik:

но не совсем ясно как bias можно складывать с ускорением если это не соразмерные величины

Конечно, размерности не совпадают, ведь все интегрирования добавляют время в размерность - но из-за того, что время цикла у нас меняетя мало, мы просто эти 3-4 мс закладываем в коэффициенты. Если быть очень дотошным, можно делить/умножать на время цикла, но в данном случае bias - !третий! интеграл и в нем время цикла отлично усредняется. А при вычислении скорости и высоты я учитываю время цикла в теукщей итерации.

Covax

Я помню сам выводил на крутилку level I, но черт потерял я ту прошивку ))
Но у меня было не красивое решение, скорее экспериментальное

alexmos
mahowik:

вчера на тестах использовал ACC_BARO_CMPF=500.0f… меньше шума в гуи и вроде без ущерба быстродействию

Быстродействие понятно что не страдает, его акселерометр отрабаывает, но из-за ослабения влияния барометра акселерометр может начать плавать сам по себе. И неизвестно какое из зол меньше. В этом кстати пока минус моего агоритма - требуется много времени на отладку связки этих датчиков, чтобы найти золотую середину. А это не всякому пользоватею может быть по силам. Вот если б он сам калибровался… 😃 Думаю тут надо смотреть в сторону Калмана, но я его пока не осилил.

Или если без калмана - есть алгоритмы автоматического PID-тюнинга. Его тоже в будущем можно встроить в multiwii в качестве отдельной “калибровочной” процедуры.

PS: решил перенести дальнейшее обсуждение в отдельную ветку: rcopen.com/forum/f123/topic265409, чтобы не сильно засорять эту.

Spin7ion

Здравствуйте!
Начал строить свой трикоптер на базе Wii, уже спаял пробный шилд на arduino. Встал вопрос о мотоустановке.
Ждать месяц заказ не хочется, потому присматриваюсь к вот такой паре:

Моторы: eflyone.ru/catalog/detail.php?ELEMENT_ID=57055&SEC…
Регуляторы: eflyone.ru/catalog/detail.php?ELEMENT_ID=57087&SEC…

Скажите подойдут ли они для постройки первого трикоптера.
Понимаю, что за весом уследить не очень смогу поначалу, но все же, на какой максимальный вес рамы ориентироваться.

Заранее спасибо.

Не нашел про эти моторы, может проглядел?

Covax

Пойдут, нормально. Нужна еще серва для трикоптера.

Spin7ion

Огромное спасибо. Серва металлическая уже есть.
А нет ли моторов на 12А, больно уж эти моторчики дорогие, да и регуляторов нету почти нигде.

Covax

На этих моторах можно сделать eflyone.ru/catalog/detail.php?ELEMENT_ID=16256&SEC…, на батарее 2200mah будет летать больше 15ти минут
На таких моторах пол форума на аиркам.ru летает.

А лучше не пороть горячку а заказать все в Китае, а пока пилить раму и делать поворотный узел если серва уже есть. И в симе летать. Месяц пролетит незаметно.

VitaliyRU

Если байан, сори - последнее время за темой не следил.
Калибровка и настройка регулей без соплей и лишних проводов.
заливаем вот это(для квадрика и promini)

int st = LOW;

void setup() {
  pinMode(3, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(2,INPUT);
}
void loop()
{
  st=digitalRead(2);

  digitalWrite(3,st);
  digitalWrite(9,st);
  digitalWrite(10,st);
  digitalWrite(11,st);
}

USB шнурок не отключаем.
Включаем передачик с поднятым газом.
Подключаем основной Акк(питание регулей), дальше по инструкции все четыре регуля c пульта разом калибруем настраиваем и т.д…

Covax

Интеллигентно 😃 А мы как то все четыре сигнальных провода от регулей проводком одним обвиваем, другой кончик цепляем на канал газа и калибруем без ардуин, скетчей, ноутбуков и ЮСБ, как деревня 😃

VitaliyRU
Covax:

А мы как то все четыре сигнальных провода от регулей проводком одним обвиваем,

да мне так без вариантов было 😃

omegapraim

Напишу свой способ калибровки))) Втыкаю батарею на 4,2В в приемник, все кроме регулей запускается, потом АРМ и ручку газа в самое верхнее положение, ну а дальше все как обычно)))) и не нужно ничего обвивать.

SovGVD
Covax:

А мы как то все четыре сигнальных провода от регулей проводком одним обвиваем

не, я себе спаял спецом штуковину, чтобы не проводчик обвивать, а культурно вставить 😉

VitaliyRU
omegapraim:

Напишу свой способ калибровки))) Втыкаю батарею на 4,2В в приемник, все кроме регулей запускается, потом АРМ и ручку газа в самое верхнее положение, ну а дальше все как обычно)))) и не нужно ничего обвивать.

Я думал так не проканает 😃 Из-за минфротл.
А это мысль сказали дети 😃). У меня приемник питается от ардуины, даже батарейка не нужна, достаточно USB 😃

omegapraim
VitaliyRU:

Я думал так не проканает 😃 Из-за минфротл.
А это мысль сказали дети 😃). У меня приемник питается от ардуины, даже батарейка не нужна, достаточно USB 😃

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

Covax
omegapraim:

все из-за того что приемник жрет больше чем способен отдать стаб ардуинки.

Если питать ардуину от БЕКа 5 вольт не на вход, а на выход +5V (тоесть уже за стабом) то все будет отлично. Обчень удобно, чтобы при выключенных моторах работала ардуина и приемник, и хоть обнастраивайся без опаски.

omegapraim
Covax:

Если питать ардуину от БЕКа 5 вольт не на вход, а на выход +5V (тоесть уже за стабом) то все будет отлично. Обчень удобно, чтобы при выключенных моторах работала ардуина и приемник, и хоть обнастраивайся без опаски.

Дак я так и питаю, воткнул любой источник питания и все)))) Я просто человека предупредил, а то если в цепь питания врубить приемник, а ардуина на 3,3В у меня сразу напруга до 1,8В просела, а как сделал приемник с общей шины питания 5В на шине 3,3В сразу все норм стало.

VitaliyRU
omegapraim:

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

Я коряво выразился. Ардуина (на vcc) и приемышь питаются параллельно (внутренний стаб не пользую). Они кормяца либо от ucb либо от dc-dc конвертора(у меня 1баночный акк).
Я правильно понимаю, что когда питаемся от юсб, на vcc +5 без стабилизатора, а usb шные?
в прочем просадок нет, не попалить бы.

omegapraim:

Дак я так и питаю, воткнул любой источник питания и все)))) Я просто человека предупредил, а то если в цепь питания врубить приемник, а ардуина на 3,3В у меня сразу напруга до 1,8В просела, а как сделал приемник с общей шины питания 5В на шине 3,3В сразу все норм стало.

у меня оказалось не так, но для тех кто умеет пользоваться поиском очень полезно будет, спасибо 😃

gensek

Компас откалибровал, кручу квадрик в руках - в GUI стрелка ведет себя как надо, но если стартануть движки то на неподвижном коптере в GUI стрелка прилично дергается ( градусов по 30 в каждую сторону), естественно в полете квадрик дергается по курсу как паралитик.
Под платой с датчиками и компасом находятся регуляторы и силовые провода, это может быть причиной?

SovGVD
gensek:

это может быть причиной?

это 100% причина

gensek
SovGVD:

это 100% причина

Шорт побери, убрать регуляторы в другое место не реально т.к. рама складная, может поднять повыше от регуляторов саму плату, поможет?

mx400mx400

Попробуйте уложить подругому силовые провода. Они обычно являються источником магнитных полей.