MultiWii
попробуйте откалибруйте каждый регулятор подключив к приемнику на прямую
зы о, уже ответили )
Да.Но причем тут регули если в самой проге до регуляторов такая беда.
вы описали проблему, предоставив как вам кажется верные данные в виде видео фрагмента
делайте то, что вам говорят 😃
попробуйте откалибруйте каждый регулятор подключив к приемнику на прямую
зы о, уже ответили )
вы описали проблему, предоставив как вам кажется верные данные в виде видео фрагмента
делайте то, что вам говорят 😃
Откалибровал регуляторы подключяя по отдельности к приемнику.Газ на всю,включаю питание регуля ,пили-пили,ручку вниз,пили-пили. Яж говорю трижды откалибровал,причем тут регули и то что выдает прога непонятно.Проблема в том что в проге газ не синхронный при условии того что коптер стоит на полу с отключенными регуляторами но включенными мозгами и соответственно неподвижно.
Проблема в том что в проге газ не синхронный при условии того что коптер стоит на полу с отключенными регуляторами но включенными мозгами и соответственно неподвижно.
Без обратной связи(т.е. коптер не летит) в столбиках газа в проге может быть что угодно. Могу посмотреть что на моем, в таких условиях, показывает.
Чудес то не бывает.
#ifdef QUADX
motor[0] = rcCommand[THROTTLE] - axisPID[ROLL] + axisPID[PITCH] - YAW_DIRECTION * axisPID[YAW]; //REAR_R
motor[1] = rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH] + YAW_DIRECTION * axisPID[YAW]; //FRONT_R
motor[2] = rcCommand[THROTTLE] + axisPID[ROLL] + axisPID[PITCH] + YAW_DIRECTION * axisPID[YAW]; //REAR_L
motor[3] = rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH] - YAW_DIRECTION * axisPID[YAW]; //FRONT_L
Вот это идет на моторы и передается в прогу, если коптер не подвижен и гирик не дрейфует, 3 кранийх слагаемых будут равны нулю.
Откалибровал регуляторы подключяя по отдельности к приемнику
Я перед первым полетом, запараллелил все регули и подключил напрямую к приемнику. Убедившись в полной синхронности работы всех регулей и моторов(ну и главное включил в настройках “торомоз” на всех регулях) спокойно стал взлетать.
достаточно ли для проверки адруины и платы с датчиками? соединил их по схеме, прошил ардуину, в консоли тишина. утилита для настройки ниче не показывает, просто серый квадрат. моторы и пульт пока не подключаю. или надо?
достаточно ли для проверки адруины и платы с датчиками?
да.
выбираем ком порт. Зеленеют комп порт и кнопки Старт и Стоп
Ждем 5 сек и жмем “Старт”
Могу посмотреть что на моем, в таких условиях, показывает.
Если не трудно с отключенной стабилизацией только гиры.Квадр ровненько на полу.
Вот это идет на моторы и передается в прогу, если коптер не подвижен и гирик не дрейфует, 3 кранийх слагаемых будут равны нулю.
Гирик судя по проге даже не шевелится стоит как вкопанный по нулям все три оськи.
Я перед первым полетом, запараллелил все регули и подключил напрямую к приемнику. Убедившись в полной синхронности работы всех регулей и моторов(ну и главное включил в настройках “торомоз” на всех регулях) спокойно стал взлетать.
Попробую я так сделать.Свои я по очереди настраивал.Но кажется мне это не причем.Если ардуина на выходе дает несинхрон то хоть запрограмируся с этими регулями…
выбираем ком порт. Зеленеют комп порт и кнопки Старт и Стоп Ждем 5 сек и жмем “Старт”
у меня нет старт или стоп. окно = просто серый прямоугольник 😃 буду переставлять джаву. спасибо.
Ставлю коптера на пол. Акум не подключен. Только Ардуина от УСБ и приемник.
Гиры по нолям. Но если АСС не ноли то столбики движков будут подниматься не равномерно
после CALIB_ACC столбики поднимаются равномерно
Если ардуина на выходе дает несинхрон то хоть запрограмируся с этими регулями…
Если гирик дает нули, должно быть синхронно. Достаточно чуть качнуть на полу квадрик(ну за шнур там дернуть), будет не синхронно, до новой калибровки гирика. Сегодня еще раз проверю как по факту, но на память так. А Throttle PID attenuation точно 0? с ним мой не кувыркался, но раскачивался если убавлять и добавлять газ. Если я правильно выкурил исходники… Это как бы множитель который увеличивает коэффициенты PID пропорциональна газу.
Хотя у меня все же вертолетный опыт есть, может я его “руками” ловил.
И Вы когда взлетаете правую ручку не дергаете? Если дергать - исправный и настроенный кувыркнется.
И Вы когда взлетаете правую ручку не дергаете?
Не это точно не трогаю за исключением когда пытаюсь компенсировать провал левого заднего двигателя но так летать не реально.
Если гирик дает нули, должно быть синхронно
В том то и дело что в проге стоят нули и никаких движений пока коптера не тронешь
до новой калибровки гирика.
Вот тут я наверно чет я пропустил.Аксель калибровал с этим разобрася все понятно,а вот гирик я так понял он автоматом после включения илиже гиру тоже нужно калибровать??
буду переставлять джаву. спасибо.
переустановка джавы не помогла.
если отключить ардуину, то конфигуратор думает секунд 20 и показывает свое окно. ком порта выбрать не дает разумеется.
если подключить ардуину, то конфигуратор так же думает секунд 20, потом на долю секунды прорисовывает свое окно а потом появляется серый прямоугольник.
кто-нибудь пользуется сабжем на ардуине mega 2560 uno? проблем нет? или например на 328 uno?
upd отключение аппаратного ускорения видеокарты помогло
Аксель калибровал с этим разобрася все понятно,а вот гирик я так понял он автоматом после включения илиже гиру тоже нужно калибровать??
Автоматом после включения, но квадрик можно не успеть ровно поставить.
www.multiwii.com/#Gyroscopes_calibration
Автоматом после включения, но квадрик можно не успеть ровно поставить.
www.multiwii.com/#Gyroscopes_calibration
С инглишом туговато а переводчик бред какойто несет,по нашему как это будет 😃 :
Gyroscopes calibration
To calibrate the neutral of gyroscope sensors, you must tilt the yaw stick left, tilt the pitch stick back while having the throttle stick in minimal position.
The multicopter should not move during this stage. However its inclination has no influence.
The status LED will blink to confirm this step.
Accelerometers trim
With the help of your roll and pitch stick you could now trim the ACC mode.
You must first put the throttle stick in maximal position. (obviously with motors disarmed)
full PITCH forward/backward and full ROLL left/right (2 axis possibilities) will trim the level mode according to the neutral angle you want to change.
The status LED will blink to confirm each ticks.
Может кто сможет пояснить про компас что в комплекте платки алл-ин-оне (HMC5883L Triple Axis Magnetometer) ???
Залил в Ардуинку версию 1.9.
Выбрад #define ALLINONE
ориентация в блоке #if defined(ALLINONE) такая:
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = Z;}
Но все равно в конфе полная фигня. Компас поворачивается совсем не так как я кручу по часовой и против коптер на полу.
Поставил коптер ровно. на рисунке стрелка в N, HEAD около 0.
Поворачиваю коптер на 90гр по часовой стрелке, стрелка развернулась на 180 гр и показывает S, HEAD уже -174
поворачиваю коптер еще на 90 гр по часовой, стрелка между W и S. HEAD показывает -128
поворачиваю коптер еще на 90 гр по часовой, стрелка зашла за W, HEAD показывает -74
доворачиваю коптер до 1 оборота. Стрелка в N, Head около 0.
так у всех ?
С инглишом туговато а переводчик бред какойто несет,по нашему как это будет :
Пока гирик калибруется, на ардуимнке моргает светодиод.
в мультиви “Д” параметр другой… вот пожалуй 2 луШШых ссылки:
www.rcgroups.com/forums/showthread.php?t=1375728
www.rcgroups.com/forums/showp...postcount=7460
Вот кто бы адекватный перевел бы это на русский применительно к мультивии…
Не подскажите где в новой версии 1.9 указывать тип платы? А то на mini работает как то неуверенно, а на arduino mega1280 запускается но не видит датчиков =( Может пины другие? Цепляю в меге пин13 питание WMP, земля на GND, пульт 6,5,4,2, ну и SDA SCL
nsk-racer, кусочек кода из def.h
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
#define PROMINI
#endif
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)
#define MEGA
#endif
если все правильно понимаю, то тип платы определяется исходя из установленного контроллера. Эмм, подозреваю, что тип контроллера передается IDE.
В самой Ардуине задается в Tools -> Board.
думаю, что ничего страшного не будет, если самостоятельно зададите тип Вашей платы. У меня самопальная promini, все работает ок )
что до датчиков, тут ничего не могу подсказать. Про себя - чтоб корректно работало, собрал преобразователь уровней 5В (ардуина) -> 3.3В (датчики). Проблем с определением не возникало.
А теперь мои вопросы.
исходные данные. Плата promini на Atmega 328p. Конфугурация пепелаца - трикоптер. Радио - 6 канальное ХоббиКинг. Датчики - ITG3205 и bma180 по i2c.
Моторы dt750, регули Mystery 20A blue series (brake - off, timign setup - (22-30)deg, soft start-up - start acceleration, switch freq - 16kHz)
прошивка 1.9
вопросы:
1) не могу заставить работать 6-й канал. 5 задействованы, пашут правильно.
физически 6-й подключен к D12 (до этого была свободна). Правки в коде
/* possibility to use PIN8 or PIN12 as the AUX2 RC input
it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8)
раскомментировал #define RCAUXPIN12
- в def.h поправил с
#define AUX2PIN 0 // optional PIN 8 or PIN 12
на
#define AUX2PIN 12 // optional PIN 8 or PIN 12
вроде все. Однако в гуи значение на AUX2 = 900 и не меняется. Пробовал на 12 пин подавать данные с других каналов приемника. Никакой реакции. И обратно - 6й канал вместо, к примеру, 5го. 6й физически работает
2). по поводу использования опции trust acc_z. Эмм, смотрю тут на форуме народ чувствительность акселя в данном направлении меняет и полосу пропускания фильтра. И это все для bma020. Никто ничего не пробовал подобного делать с bma180? Просто пока не вникал какие флаги и в какие значения надо выставлять. Надеюсь, можт кто подскажет, если же нет, будем сами курить. И вообще, насколько сильно сказывается включение использования acc_z на поведение коптера? Оно того стоит? 😃
3 со включенным стабмод коптер плывет назад и вправо. До сих пор не могу понять почему. Чтобы избежать дальнейших вопросов:
- регуляторы на максимальный газ откалиброваны;
- аксель и гиро откалиброваны;
- включение питания на максимально возможной горизонтальной поверхности. Задержка калибровки гиры - 2 сек;
- значения стиков Pitch и Roll совсем рядом с 1500. Прыгают немного, но это аппа виновата;
- триммирование акселя сильно не помогает, хотя делаю по 15-20 “щелчков” для каждого направления завала
- вибрации на датчиках в режиме 2/3 от полного газа заметны, но не фатальны;
- расположение датчиков правильное. Отклонения кривых совпадают, изображение виртуальной модельки повторяет перемещения реальной. Ничего никуда не плывет со временем.
нипонятна почему так. на 1.7 подобного не замечал. Вечером скрин ПИДов выложу )
upd: ах да, тут кто-то еще serial LCDшками интересовался. Глянул на спаркфане - дороговато будет и ждать надо. У меня уже была LCDшка. Стало быть надо платку было сваять serial -> parallel. Если глянуть в ардуиновскую IDE, то там в примерах (Examples -> LiquidCrystal -> SerialDisplay фактически уже есть код для этого преобразователя. Облом в том, что он отображает только одну строчку. Прямо сейчас не могу вспомнить, но дописал буквально пару строчек кода, чтобы LCDшка заработал корректно. Если интересно, попытаюсь найти. Собсно сам код занимает 3кбайта + загрузчик. Так ш на atmega8 пойдет только так, если, конечно, вы не считаете, что для таких нужд использовать мегу8ю вообще транжирство. Зато все можно собрать чуть меньше, чем за вечер. Проверял, работает 😃
Цитата Сообщение от mahowik Посмотреть сообщение в мультиви “Д” параметр другой… вот пожалуй 2 луШШых ссылки: www.rcgroups.com/forums/showthread.php?t=1375728 www.rcgroups.com/forums/showp...postcount=7460 Вот кто бы адекватный перевел бы это на русский применительно к мультивии…
Перевести не переведу, но покурив код… Обычный там “Д”. Отрицательный был в бородатых версиях типа 1.3 и т.п.
Еще одна особенность. В вии при расчете дифференциальной составляющей(а эта составляющая размерности углового ускорения)учитывается ускорение не за один шаг цикла а усредненное за 3 шага. КМК это сделано по 2 причинам… Хотя зачем на самом деле, я естественно без понятия 😃)
что бы не было деления на переменную(увесистая вещь для проца, да и получится черти что, все расчеты то целочисленные), а усердняя за несколько шагов длительность шага цикла(Cycle time в GUI) можно принять const = деление не нужно. Это будет тоже ускорение, но в безразмерной величине.
И что бы тряска коптера так не влияла, как известно “Д” капризное к вибрациям.
В общем, на мой взгляд, код там как в классическом PID регуляторе, только чуть оптимизированный под конкретную задачу.
Бросил пока затею с мегой, теперь новая проблема, Регули пищат моторы дрыгаются на месте, на KK контроллере всё нормально работает, в чём дело?
с пульта отдельно через приёмник калибруется и работает
Опытным путём было выяснено что проблема в регулях, регули Turnigy Trust 45A. Подцепил ради интереса контроллеры турниги плюш 18А, с ними всё нормально работает, а с траст писк и дёрганье, при том что пищит чаще если газ на всю, если минимум реже. В чём дело?