ArduCopter Mega: порт на обычную Arduino (тестим)
покоментил работу с i2c, график заработал:
буду настраивать дальше, пока что ROLL PITCH YAW фигню показывают и возвращаются к нулям, как было при неверном расположении датчиков в mutiwii =)
А чо графики такие порепанные? зайди в консоль, набери test ввод profiling
цифра в конце абракадабры должна быть не более 6000 - это тайминг основного цикла, как в мультивие
upd: аксель подобрал, по Z при спокойстивии -1000, переворачиваю +1000 (±5)… ща гиру помучаю
Тайминг ОК, сказывается отсутствие барометра. Дикие показания гиры, в драйвере значения от гиры подели, ориентируясь на YAW: повернул машинку на 90 град - стрелка тоже должна на 90 град, а не крутиться, как пропеллер. Для затравки: при повороте ок 90 град/сек показания на графике примерно 200-400.
По полярности датчиков.
Смотри в полетном режиме на вкладке флай дата:
При наклоне вперед accel X и gyro Y в минус.
При наклоне вправо accel Y падает, gyro X растет
При повороте по часовой - стрелка на стрелочном yaw во второй вкладке ползет тоже по часовой
Еще один совет. В акселерометре делитель выставь (одинаковый для осей) такой, чтобы в консоли test - ADC 7-й параметр был равен 416, затем откалибруй, нажав level или в консоли exit - setup - level
436 7 параметр (±2), сейчас еще поиграюсь с делителем, полярность поменял, всего один минус лишний надо было поставить =) там в момент инициализации/калибровки тоже делители надо наставить и полярность расставить (для гиры)?
стрелочки почти адекватно отклоняются, но ошибка в градусах есть пока что… это нормально что на графике меняется быстро всё, а стрелочки ползут медленно к своим значениям (доходят и стоят)?
Все действия с кодом - только в библиотеке!
Калибровку гиры прога делает сама каждый запуск, если дописывал - убери.
Калибровка акселя - по команде LEVEL.
Стрелки обновляются с частотой 3Гц, график - 20. Фишка настройки в том, чтобы при отклонении стрелка довольно резко вставала в нужный угол. Если она встает “не туда”, а потом медленно подползает куда нужно (недолет-перелет) - надо регулить гиру. Если перелет - делить на большее число, и наоборот.
Аксель должен быть 416, на худой конец 410.
аксель настроил, теперь 416 (±1)
по поводу стрелок, чето YAW себя совсем не адекватно ведет:
наклоняю платку влево/вправо (или вправо/влево) на 90* затем ставлю обратно на ровную поверхность (от которой калибровал)
Стрелки ведут себя так, как будто гира задушена насмерть, работают только на акселях. Вот как вначале у тебя переворот был, пока датчики ползли, оно уже перестроилось бы. Уменьшай делитель гиро, чтоб добиться, как я описывал. Чем видео записать с экрана?
Чем видео записать с экрана?
hypercam вроде в винде есть (я то записываю в убунте XVidCap окошко в VirtualBox =)))
Для затравки: при повороте ок 90 град/сек показания на графике примерно 200-400.
гиру к этим значениям старался привести… или это для акселя было? =)
сейчас в 10 раз уменьшил делитель… стал чуток (градусов 5-6) перелетать и потом возвращается к нужной отметке
значение методом тыка подбирать? или есть какие то более лучшие методы?
UPD: в общем получается пока такая штука:
если резко далеко (более 40 градусов примерно) крутануть, то доезжает (в начале крутанул на 90*, потом резко в обратку на 180 (90 в другу сторону от нуля)), если немного, то вполне нормально или переезжает или недоезжает - идеальности нет
UPD: еще горизонт - если платку вверх тармашками и потом обратно, то горизонт доплывает, если не сильно мучить, то встает в нули адекватно
Полная постоянность будет при добавлении компаса 😉 Теперь, насколько могу судить по видео, IMU более-менее настроен. Теперь можно попробовать стартовать в руке. Раскладка моторов по идее такая же, как в Мультиви. На пульте поставь экспоненты под 60% везде, кроме газа. На первый раз хотя бы.
Активируются моторы так же. Учти, при газе в 0 моторы отключаются.
Когда будешь настраивать ПИДы, начни со Stabalize damp, уменьшая его постепенно, пока не перестанет дергаться (если вообще дергаться будет). Потом уже ROLL PITCH P.
Я сейчас с ITG3200 засел, изучаю ее фильтрацию, скоро обновлю архивчик.
у меня 4х каналка, без шнурка для настроек (кабель только-только приземлился) =) надо теперь умудриться переделать переключение режимов, в каком месте там отрабатываются подобные команды?
в ArduPirates есть всякие калибрации/триммирование хитрыми движениями стиков как в multiwii?
Полетные режимы переключаются каналом 5. Если там просто свич, будет 2 режима, если 3-позиционный - 3. Если крутилка, то заменой ее на галетный переключатель с резюками можно получить все 6 режимов: акро, стаб, удержание высоты, удержание положения, полет по точкам, возврат домой.
На каждое доступное положение можно выбрать любой режим, по умолчанию - стаб.
а точно multiwii стиль подключения моторов? в GUI моторы ползут как надо, а в реале даже крутиться не начинают (газ в любом положении - всеравно не крутятся)
2 - перед левый
3 - задний правый
5 - передний правый
6 - задний левый
D2,3,5,6 - моторы для квадра/трехи, проверенно работает.
Прерывания собственные не добавлял?
При включении слышен писк, что “ноль” пойман?
Регули обычный РРМ понимают или перешиты на скоростной? Попробуй серву подцепить…
Прерывания собственные не добавлял?
нет, только закоментил барометр и переписал код (инициализация и получение данных) под свои датчики
на всякий случай еще проводки прозвонил - нормально всё
UPD: едиснтвенный момент - код работы с датчиками от прошлой версии, там вроде чето с интераптами есть для дальномера… не оно? =)
те никому не мешают, дальномер работает прекрасно, без него - тоже.
Главный показатель работы - моторы в правом столбце. Если там чото есть, значит, РРМ тоже прет. У меня же работает!
Серву подключи 😃
Серву подключи
подключил, когда в проге сижу - работает, когда на коптере ставлю - не работает - там ничего хитрого еще не надо делать? питается через Vin 5 вольтами с ESC (так же питалось на мултивие, но 328р)
если просто запитать от USB (без проги) - тоже серва не работает
Нужно дождаться, чтобы лампочка загорелась на постоянку, а потом еще 15 сек, а потом активировать моторы, чтобы лампочка мигать стала - в курсе? 😉
запустил, но как то странно:
- подаем питание
- резетим
- ждем секунд 10-15
- запускаем
и там в консольке после инициализации барометра долго пишет G!G!G!G!G!..
как то долго всё это =)
лампоска какая? d13? а то я не подключал ничего + платка так стоит что и 13 светодиода не видно =)
вот после GGG будет Ready to fly MSG, тогда и можно лететь. Диод на 13.
Я щас долетался. Запустил, вроде стабильно висеть начал… посадил на кровать, и тут меня чото отвлекло. ремень передастика соскользнул и врубил газ на полную 😃 Эта махина на тяге в 3 раза больше веса РОВНО (стабилизатор настроен, ага) пролетела в сантиметре от носа и впилилась в потолок 😦
В минусе поворотный механизьм 😦
в общем куда питание не пихаю - с первого раза не начинает мигать (просто светится), несколько раз reset тыкать приходится и ждать - мыргает в начале или светится - может где задержка при инициализации требуется?
вроде стабильно висеть начал
лучше чем multiwii? =)
пролетела в сантиметре от носа
повезло, что так =) снимал?