OSD на ATmega1281
Да, это пульт управления. Тут такой мыслительный процесс шел:
Поначалу задумался, как освободиться шнурка от пульта до LRS. Он если длинный- путается под ногами, если короткий- боишься шевельнуться… Вообщем- не комфортно. Тут Денис подсказывает замечательные модули на 2.4, почти бесплатные. В LRS такой модуль поставить- не проблема, даже может проще получится, чем аналоговый PPM парсить. А вот в пульт с самокодером запихать не так просто. Да и функциональность для FPV у него явно избыточная, что порой даже вредит.
Так прихожу к выводу, что проще сделать специально под FPV простенький пульт. Задумывал в нем один 2-осевой джойстик, слайдер для газа, ну и переключалки режимов полета. Неожиданно столкнулся, что купить один джойстик, да еще задешево, не так просто. Нашел какой-то маленький на ebay, и тут Алексей подсказывает что в два раза дешевле подобные можно выдрать из вии нучака…
А нунчак, это же не только джойстик, но и красивый эргономичный корпус…
А буквально несколько часов назад обнаружил, что с контроллером нунчака (который хотел безжалостно выбросит) можно легко и просто общаться по TWI… Тут вспомнил про fmkit и уже захотел сделать нечто подобное…
Сейчас пытаюсь придумать логику управления, но что-то пока не очень нравится.
Понятно джойстик однозначно для крена, тангажа.
Нажатие и удержание одной из кнопок - переключение управление джойстиком камерой.
Для переключения режимов придется трехпозиционный тумблер воткнуть. Вторая кнопка расширение управления режимами (как и сейчас- двух и трех позиционный тумблеры).
А вот что с газом делать, как акселем накручивать газ?.. У fmkit не очень понравилась неоднозначность, но до конца и не понял…
Какие идеи будут?
Так газом при фпв вроде не сильно часто рулить приходится. Сколько проектов видел для газа народ делает следующее:
- Газ управляется акселем и Z кнопкой. (короткий клик - газ в 0, двойной клик - пропорциональный. Еще режим при нажатой кнопке - акселем газ установил, кнопку отпустил - положение газа зафиксировал). Это у fmkit
- Вешают на джой - вниз вверх для +/- газа. Значит тангаж - на аксель.
- Видел делают, например, кнопку C для увеличения газа, Z для уменьшения.
Как удобней - только практика и привычка покажет. По-моему, самое понятное и удобоваримое, как, вы, Сергей, предлагаете - поставить слайдер на газ.
upd.
В общем в 90% случаев газ на аксель вешают.
И тут человеку вроде такое управление нравится
И в этом проекте тоже. Давим Z и от_себя/на_себя нучаком регулируем газ.
Сейчас пытаюсь придумать логику управления, но что-то пока не очень нравится
Если надо, fmkit-овская ветка с описанием его логики управления есть здесь: www.rcgroups.com/forums/showthread.php?t=1590512
Он рулит пальцем (крен/тангаж), газ либо кнопками, либо подъемом руки, согнутой в локте (с акселя).
PS: Говорят после обычного пульта трудно переучиваться. Не всем удается.
Какие идеи будут?
Есть куча маленьких (легких и изящных) ИК/РУ пультиков от детских игрушек (все эти микровертолетики, машики и т.п.). И с 2-мя дойстиками и с 1.5 и кнопочек/тумблеров нетрудно засунуть. С контроллера можно взять ЧМ или ШИМ сигнал для ИК диодов на 4-6 каналов, или выкинуть родной контроллер и подключить резисторы джойстиков через АЦП.
Но ИМХО, чем дальше в лес…, если нужен комфорт и функционал, все равно придем к эргономике стандартного пульта РУ, да еще со всеми наворотами… 😃
Я как-то делал управление с нунчаком - грохнул с непривычки крылышко и успокоился. Общаться с ним по i2c - нет проблем. Проблема раз - у большинства китайских нунчаков активный ход маленький - чуть отклонил стик - уже максимум, рабочая зона маленькая. Проблема два - триммеров не хватает. Можно реализовать, но опять условные рефлексы не те. Проблема три - акселерометры - должны быть очень заученные махательные движения для управления. Я делал управление мотором - нажимаешь кнопку - газ устанавливается согласно наклону. Потом руку можно отпустить.
Нужно как следует забыть обычный пульт и полностью свои условные рефлексы перестраивать. Не понравилось.
Полностью согласен, что все эти нунчаки, джойстики (если это конечно не стационарный пункт управления) итп- баловство… И в мобильном варианте никогда они не заменят стандарный пульт и полноценное “двухрукое” управление.
Но иногда не грех и побаловаться… 😃
Проблема раз - у большинства китайских нунчаков активный ход маленький - чуть отклонил стик - уже максимум, рабочая зона маленькая.
Те. максимум наступает раньше механического ограничения?? Это грустная информация, тогда придется все-таки выкидывать встроенный контроллер…
Проблема два - триммеров не хватает.
Для моей задачи триммирование не актуально. В АП будет режим автотриммирования. Его все равно собирался сделать, благо imu работает достаточно надежно.
Проблема три - акселерометры - должны быть очень заученные махательные движения для управления.
Да, это меня больше всего смущает… И хотя активно управлять газом в FPV нет необходимости, но уж очень важный параметр управления… Тоже думаю, что изменение газа наклоном нунчака при нажатии кнопки и его удержание после отпускании кнопки- самый удобный вариант. Тут правда куча мелких вопросов появляется…
- Устанавливать газ пропорционально заранее откалиброванным углам? или в момент нажатия кнопки считать текущий угол соответствует текущему газу? (по логике управления имхо удобнее второе)
- Менять газ сразу или с определенной ограниченной скоростью?
- Может вообще угол отклонения должен определять скорость изменения газа а не собственно его значение?
Ну итд…
Может на ряд вопросов появятся ответы после симулятора… Жаль только что мои нунчаки, меги итп, появятся у меня не раньше февраля… 😦
Сергей как всегда гениален! Авто-тримирование это мне нравиться!
У меня пока с IMU нет продвижения. Холодно на работе, в той комнатке где я всё паяю. С окна дует. Сидеть не возможно…
Сергей как всегда гениален!
Ну что есть, то есть…😇 На самом деле логика простая- АП все равно надо знать нули на управляющих каналах для точной работы ПИДов. Поэтому сейчас требуется установить эти значения после ручного триммирования, войдя в режим TRM. Но теперь, когда можно верить угла от imu, очевидно что зайдя в режим TRM это можно делать автоматом…
Ребята, повторил IMU Сергея. Всё работает! Спасибо, Сергею!
Установил на Ская, теперь Горизонт работает да же в комнате! Чего не было с пиро…
Теперь у меня освободились пиродатчики от Смалтим. Кому надо?
Ребята, повторил IMU Сергея
Я тоже, но этого зверя нет 9DOF
Mr Seller морочит голову а время идет, кароче кидалово.
Вопрос Сергею, можно и в личку, интересует RFM22 на 400MHz достижения, обратный канал? поделиться софтом, PCB и прочей информацией.
Этот селлер один из крупнейших на торговой площадке e-bay. Брал у него раз двадцать - все отлично и быстро отпраляет. И IMU для этого проекта брал у него же. Однако доставка получилась 59 дней. Сам виноват - нефиг под новый год заказывать. Но никакие кейсы/диспуты не открывал ибо знаю работу почты. А давить на китайцев-продов - смысла нет - они все делают как нужно и довольно быстро. А вот китай-почта плюс наша-почта делают погоду. Но тут влияния на них никакого нет.
Так что только вчера забрал “зверя” на выходных запайка и проверка стабилизации. На столе пока что. На улице выпала месячная норма осадков - 40см снега лежит.
кейсы/диспуты не открывал
отколь информация:)
Я в этом не копенхавн.
А что у вас с радиоканалом.
Кейс переходящий в диспут это первое что пытается сделать покупатель, если не видит у себя в руках оплаченный товар на 45-й день. Это его законное право, которе и спасает его же кошелек. Так и следует делать, но, считаю, с одной поправкой - учитывать нужно сезон покупки. А так из-за почты/таможни можем остаться вообще “за забором”
Радиоканал пока самый обычный, не LRS вовсе. Будете смеяться, но это ВЧ часть от HobbyKing 2.4 первой версии с сателитом. Хочу налетаться недалеко от себя, в радиусе 1-1,5 км, а там может и дальше потянет, тогда буду думать. Пока на счету чуть больше 10 вылетов под закат сезона 2012 года. Еще не все нюансы понял, но затянуло.
Этот селлер один из крупнейших на торговой площадке e-bay. Брал у него раз двадцать - все отлично и быстро отпраляет.
Также несколько раз покупал у него - последнюю посылку не получил. Продавец в переписке долго клялся, что товар получу позже, но при угрозе “case’a” тут же вернул деньги. На Казусе многие писали про “кидки” данного продавца (обещает вернуть деньги на 50-55 день, но после 45 дня даже не отвечает на письма). IMHO, до 45-го дня выбивать с него refund (при отказе - открывать “case”), а если всё же повезёт и посылка придёт - делать “re-pay” через PayPal.
Итак, по-теме.
Уважаемые Сергеи! Спаял плату с IMU. Если подключить ее к питанию, то переморгнутся светодиоды и далее она молчит. Если же ее подключить к OSD, то около минуты-полторы мигает один из светодиодов (3-4Гц), после истечения этого времени он начинает мигать очень быстро (на глаз около 6-8Гц). На резкие движения платы реагирует второй светодиод своим вспыхиванием.
При движении платой на экране ничего не меняется, горизонт не показывает.
В конфигураторе OSD, опцию отвечающую за подключение IMU установил.
GPS со спутниками.
Приемник подключен. Пробовал в режиме MNL.
Плата IMU подключена к OSD четырехпроводным шлейфом длиной 15см. Подключение пин в пин к месту где должен быть установлен пиродатчик (Общий, +5, SCK, SDO).
Все ли правильно? Как еще можно проверить связку IMU+OSD?
Все работает! Медленное мигание говорит что настраивается коррекция дрейфа гироскопа (этап калибровки). В это время IMU должна оставаться в покое. Частое мигание- переход к нормальной работе. При этом вспышки второго диода означают что зарегистрирована перегрузка > ±0.5G (точно не помню…). Те. вопрос только с обменом с главной платой…
Первое что приходит на ум- догадались ли выпаять емкости с входов mega1281? Ведь для IMU там цифровая шина…
Ну и стоит убедиться в исправности и дополнительно подкалиброваться утилиткой TestIMU, зацепив комп по ком-порту к соответствующему порту IMU. Главную плату при этом можно не цеплять, только подать питание на IMU.
Вечером выложу обновления по IMU и распишу смысл коэффициентов, которые можно менять через TestIMU.
Если подключить ее к питанию, то переморгнутся светодиоды и далее она молчит.
Вот это странно… Должна и так работать… Ладно, для начала дождитесь обновления прошивок…
догадались ли выпаять емкости с входов mega1281?
Смотрел, смотрел на них. Но не выпаял. Спасибо!
Сергей, а утилиту TestIMU где можно взять?
Я думал что вложил ее в архиве с IMU… Ну будет вместе с обновлениями…
Крайнее обновление imu + test_imu.
Как показал опыт, реальные хар-ки сенсоров могут ощутимо отличаться от приведенных в datasheet.
Поэтому сделал возможность их ручной коррекции через test-imu.
Accel gravity- коэффициент для акселя. Значение по умолчание по datasheet в 17 строчке defined.h. Для подстройки надо смотреть на первую цифру в поле Quаlity. Эта цифра показывает отклонения от 1G по показанию акселя. 100 в этом поле, соответствует намерянному и насчитанному 1g. Отклонение ±0.5g покажет 0. Те. подбирая Accel gravity нужно добиться максимального значений при разных ориентациях платы без ускорений. Очень хорошо если получится 95-98.
(Кстати, второе число в этом поле- ошибка между векторами акселя и соответствующей строки DCМатрицы. 0-полное совпадение.)
Gyro gain -коэффициент для гиро. Значение по умолчание по datasheet в 19 строчке defined.h. Тут делаем такую проверку: плавно но быстро поворачивает имушку на 90 град скажем по крену. Смотрим как ведет себя 3d-моделька в Test_IMU. Возможно два варианта - модель недоповорачиват до положенного угла и видим медленное “доползание” за счет коррекции по акселю. В этом случае следует увеличить этот коэффициент. Во втором случае все наоборот: “переповорачивает”- уменьшаем.
В общем для нормальной работы системы стабилизации это все ловля блох…, и не так уж принципиально… Но если есть желание и время, можно поиграться…
KP_RollPitch Определяют скорость коррекции матрица акселем. Быстрая скорость есть шанс, что горизонт начнут кривить длительные линейные ускорения. Маленькая скорость - слишком долго выправляются накопленные ошибки.
KI_RollPitch Используется только на этапе калибровки IMU после каждого включения для устранения дрейфа от гироскопов по крену/тангажу .
Yaw damping Аналогично для курса. Только тут вместо “опоры”- акселя используется простое демпфирование.
Все детали можно подсмотреть в иходниках, ну и что не понятно, конечно постараюсь ответить.
Если подключить ее к питанию, то переморгнутся светодиоды и далее она молчит.
Возможно, так и есть. Подключите её к СОМ порту, через МАХ232, и запустите Test IMU, светодиоды замигают.
Мне IMU Сергей настроил. За что ему спасибо!
Сейчас думаю на Скае, как лучше расположить антенны.
Приёмник уже расположил в крыле, антенка съёмная.
Передатчик на задней балке, но антенна выносная на киле, над стабилизатором. Завтра буду думать как это всё красиво и надёжно закрепить.
Ну а потом, самое страшное - Трекер, и поворотное устройство…