Система стабилизации DJI для вертолетов классической схемы и не только!

robis
vik500:

Программно тоже не получится, если конечно не найти программиста который бы переписал программу и прошивку.

Это вывод вызывает улыбку 😃 А может проще внимательно перечитать пост #1026? Другими словами, Вы предлагаете фактически создать контроллер заново!
Чтобы браться за подобные задачи надо больше разбираться в методах программирования, постановке задачи и принципах работы отдельных радиоэлектронных компонентов.Чтобы создать на программном уровне контроллер типа Naza-M, но для вертолета, работы программиста, пусть даже самого квалифицированного недостаточно. Для начала, должна быть постановка задачи на уровне алгоритмов, а учитывая все “фишки” назы и особенности вертолета, их перечень будет внушительным. Но и это не означает, что вертолет вот так сразу возьмет и полетит. Потребуются летные испытания, устранение многочисленных ошибок в программном коде и новые версии. Другими словами - это приличная работа команды узких специалистов в течени энного промежутка времени. Поэтому, просто так, прихоти ради - это не реально. Дешевле и быстрее будет купить готовый “Ace One” и сразу полететь 😉

vik500:

На мой взгляд остается электронный способ, то есть собрать схемку которая могла бы регулировать конечные точки. Что то вроде этого

vik500:

Это непринципиальная схема, Вы правильно всё пишите она не будет работать но нам нужно разработать рабочий вариант. Я думаю что это возможно для электронщика и больших затрат не составит.

Исходя из этого, я делаю вывод, что Вы просто не представляете, какого размера и веса будет эта схема и аналоговая схемотехника здесь совсем не причем, сервы управляются длительностью импульса, а не аналоговым уровнем.
Вот на вскидку, перечень того, что должно быть реализовано, как минимум:

  • Если на регуляторы идет 400Гц, то необходимо преобразование в 333Гц (1,5мс центральное положение) для стандартных серво.
  • Регулировка конечных точек серво, реверс и триммеры центральных значений по трем серво, триммер ОШ, ограничение хода серво (cyclic ring)
  • Рудер и управление по циклику:
    т.к. на шесть каналов гексы, замешан канал рудера, то надо “вернуть все на родину”, а именно выделить из шести каналов, канал рудера и три “чистых” канала циклика. Это чисто логическая задача.
    Раз уж мы забрались так далеко в разсуждениях, то пару мыслей как можно практически решить эту задачу.
    На дискретных цифровых элементах это возможно, но не имеет никакого смысла, по причине размеров, веса и сложности. Это можно сделать только при использование микроконтроллера, построения алгоритмов и написание программы. Такой подход позволит сохранить полный функционал Naza-M, применительно к вертолетам, но вот только какой ценой и кто будет этим заниматься?
vik500
robis:

Это можно сделать только

Вы сами признаете что можно сделать, а купить чего проще поставь и лети. Но интересно сделать самому. Когда я строил свой первый самолет с меня тоже смеялись но прошло несколько лет и они приезжали на аэродром чтобы полетать со мной. Я бывший телемастер и об электроники представление имею, и я уверен что это можно сделать без программистов, размер и вес будет не больше самой назы. Сейчас я раскопал в сарае свой осциллограф посмотрю что выдает наза и тогда решу что делать дальше.

Dim-on

Ну ребят, вот и настроили назу на 600)) почему не мог настроить эти 6,5 градусов, т.к я их мерял когда лопасть с стороны носа вертолета. а в програме ужно с стороны хвоста. перевернул и все сошлось

Большая благодарность Андрею pilot000779 за его помощь по скайпу

robis
vik500:

Когда я строил свой первый самолет с меня тоже смеялись но прошло несколько лет и они приезжали на аэродром чтобы полетать со мной

vik500:

уверен что это можно сделать без программистов, размер и вес будет не больше самой назы

Виктор, и в мыслях не было насмехаться, скорее наоборот, Ваша целеустремленность и настойчивость вызывает уважение. Просто некоторые вещи которые сам уже “проходил” и которые встречаются несколько в ином качестве, вызывают невольную улыбку. Еще, - любая идея в электронике, должна для начала “заработать на бумаге”, чтобы потом заработать в реальности.
Касательно назы - задача интересна в прикладном плане.
Тут немного поразмыслил. Самое плохое в этом деле - это 400Гц. Сервы это явно “не поймут”, им надо именно 333Гц.Там случайно нельзя выбирать частоту в настройках как в вертолетной версии назы для рудерной сервы?
Если нет, то потребуется построить четыре генератора импульсов на 333Гц с изменяемой скважностью импульсов (на циклик и рудер), и выделить управляющий сигнал по изменению длительности импульса исходного сигнала моторов (400Гц). Конечные точки - как Вы и предложили, строить на RC цепочках, пока ничего другого не придумал.
Посмотрел на моторы гексы - три верхних вращаются в одну сторону, три нижних в другую. Вращение гексы получается при разности оборотов верхнего и нижнего двигателя. Если это так, то для выделения сигнала рудера, достаточно сигналов только двух моторов - верхнего и нижнего. Получить разностный сигнал несложно. Это и будет сигнал рудера автопилота.
Что не нравится: слишком много дискретных элементов, RC цепочки, температурный дрейф (Добро пожаловать в 80-е 😃 ). Для сравнения - на микроконтроллере все существенно проще, частоты кварцованы и легко подстраиваются (конечные точки и т.д.)

alekseii

{ Вращение гексы получается при разности оборотов верхнего и нижнего двигателя. Если это так, то для выделения сигнала рудера, достаточно сигналов только двух моторов - верхнего и нижнего. Получить разностный сигнал несложно. Это и будет сигнал рудера автопилота.
Что не нравится: слишком много дискретных элементов, RC цепочки, температурный дрейф (Добро пожаловать в 80-е 😃 ). Для сравнения - на микроконтроллере все существенно проще, частоты кварцованы и легко подстраиваются (конечные точки и т.д.) }(интернет медленный…)

Да, попытался считать сигналы с назы (пока считал только из 4-х каналов, другие 2-ва идут в противофазе, почти). Думал, полка наза лежит на ровном столе “всё” будет “просто и понятно”, но не тут то было. Все сигналы, на каждый мотор он свой (по длительности), с рудером тоже не так просто, плюс понадобится компенсация на серву элеватора с канала элерона… И ещё надо же “дописать” функцию CCPM, управления тарелкой автомата перекоса… 😃 Наверное это возможно, но скорее всего работники фирмы DJI могут “спать спокойно” 😃
Про дискретные элементы в таких вещах действительно можно забыть, “техника” ушла очень далеко, сейчас даже любитель может собрать устройство (тот же тахометр с цифровой индикацией) в “размере” спичечного коробка, а если собирать его же на микросхемах 155 серии (например) это уже будет “Серьёзное Изделие” и это не говоря о настоящих профи.

robis
alekseii:

Да, попытался считать сигналы с назы (пока считал только из 4-х каналов, другие 2-ва идут в противофазе, почти). Думал, полка наза лежит на ровном столе “всё” будет “просто и понятно”, но не тут то было. Все сигналы, на каждый мотор он свой (по длительности)

По идее, в воздухе, в режиме “висения” все должно более-менее “успокоиться” или уравняться.

alekseii:

плюс понадобится компенсация на серву элеватора с канала элерона…

Зачем?

alekseii:

И ещё надо же “дописать” функцию CCPM, управления тарелкой автомата перекоса…

Дело в том, что в трикоптере уже присутствует некоторое программное подобие CCPM, только без конечных точек.
Но, Вы навели на мысль - вспомнил про замечательный девайс, который уже использовал на одном из вертолетов при построении автопилота.
Он называется “CSM CL1 Cyclock CCPM mixer”. Это маленький цифровой контроллер в корпусе, размером с пол спичечного коробка, но он умеет абсолютно все, что необходимо для настройки и управления автоматом перекоса.
На вход подается сигнал элеватора, елеронов, ОШ - на выходе имеем три сервы настроенного автомата перекоса.
Если решить обратную задачу из CCPM выделить Aileron и Elevator, подать их на этот микшер, то полностью отпадут все вопросы с тарелкой и головой (конечные точки, центральное положение серв, cyclic ring).

alekseii

{плюс понадобится компенсация на серву элеватора с канала элерона…
Зачем?}
Провожу эксперимент с назой-2, режим Y-гексакоптер. Если “крутим” элероны, то наза выдаёт некий “средний” результат (между крайними моторами, с лева и справа) на “мотор” который стоит впереди. В принципе, в полёте, возможно наза будет это значение компенсировать, но всё таки хочется чтобы, из начально на “столе” всё работало как нужно. Если добавляем по элерону, элеватор не должен отробатывать. Про программное подобие CCPM, да оно присутствует.
А вот “про замечательный девайс” - это хорошая идея 😃
Пока не могу решить с оцифровкой входных сигналов, как говорил, 4-е сигнала (все три верхние моторы и один нижний). По большому счёту этого достаточно (имеем и сигналы всех 3-х серв для вертолёта и разностный сигнал рудера), но встаёт вопрос когда начинаешь управлять самим каналом рудера, присходит изменение сигналов на все три сервы, то есть тарелка (автомата перекоса) начнёт ходить в разные стороны (будет жуткое раскачивание). Как его компенсировать я не знаю (законы “совсем” не линейные). Но, обнаружил такую картину,да, при управлении каналом рудера, изменения происходят на “всех” (нужным нам) сервах, но при повороте в лево (или в право) изменения происходят только на трёх верхних моторах (гексы), а при повороте в противоположную сторону изменения есть на трёх теперь уже нижних моторах (гексы). То есть, если будут (оцифрованы) все 6-ть сигналов (идущие на моторы гексы), обрабатывая выделенный сигнал рудера (в зависимости, положительный он или отрицательный) будем использовать только “верхнии” или только “нижнии” сигналы для управления автоматом перекоса (с самим сигналом рудера, его получения, нет). Правда, при добавлении шагов, на эти “не изменяемые” каналы шаги не “реагируют”, но это можно будет “вручную”, програмно, подредактировать.
Проблема с оцифровкой заключается в их малой длительности и то что они идут с назы “сдвинутыми” по фазе, использую 8-ми битный контроллер. Есть множество способов (как программных так и аппаратных и совместно) как решить эту задачу, но вот пока у меня не получается 😃

robis
alekseii:

В принципе, в полёте, возможно наза будет это значение компенсировать, но всё таки хочется чтобы, из начально на “столе” всё работало как нужно.

Да, в полете это значение будет компенсироваться, а вот на столе она не сможет заработать “как нужно”, если только Вы не найдете способ отключить программно контур стабилизации (гироскопы, акселерометры, магнетометр, бародатчик). Например, в ассинте вертолетной назы есть такой режим. В общем, есть два варианта для правильных измерений: 1) в воздухе. 2) на столе, но без гироскопов и прочего. Лёжа на столе в “мозгах” у назы полный бардак, этакий ступор или полная дестабилизация из-за безуспешных попыток выравняться 😃 (мозг понимает, а “ноги” отказали, но желание есть).

alekseii:

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

Да, Алексей - это закономерно, я уже говорил об этой проблеме Виктору еще в начале обсуждения, - тарелка при разворотах будет непредсказуемо “прыгать” и это есть главная причина, почему идея с гексой - это “плохая идея”. Самый безпроблемный или “рабочий” вариант - это классический трикоптер.

vik500
robis:

Да, Алексей - это закономерно, я уже говорил об этой проблеме Виктору еще в начале обсуждения, - тарелка при разворотах будет непредсказуемо “прыгать” и это есть главная причина, почему идея с гексой - это “плохая идея”. Самый безпроблемный или “рабочий” вариант - это классический трикоптер.

Я эту проблему решил!!!

Олег, Алексей и все остальные здравствуйте.

Спасибо что принимаете участие в теме NAZA-M на вертолете, вы дали мне много подсказок и в результате мой вертолет на 90% готов к полету. Завтра я поеду в Ростов, прикуплю недостающее и 5-6 числа выложу видео. Конечно проблемы не все решены но после будим доводить. Моя задача научить вертолет с назой-м висеть в режиме GPS и летать блинчиком.

alekseii

Вот я “Вася”, немного ввёл в заблуждение, по поводу - {То есть, если будут (оцифрованы) все 6-ть сигналов (идущие на моторы гексы), обрабатывая выделенный сигнал рудера (в зависимости, положительный он или отрицательный) будем использовать только “верхнии” или только “нижнии” сигналы для управления автоматом перекоса (с самим сигналом рудера, его получения, нет). - и кое чего ещё}
Всё время запитывал назу от 2S аккумулятора, сегодня он сел (наконец то 😃 ), поставил 4S и на выходе получил немного другую картину, так что некоторые пункты (мною описаны) - “считать не действительными”, извиняюсь 😃
Виктор - будем (скажу за всех) ждать результатов !

pilot000779

Виктор класс!!! Первый “акт” исполнен. Всё больше и больше кажется что это реально, поздравлять пока конечно рано, но это уже не плохо! С интересом слежу за Вашими действиями. Меньше рассуждений, больше дела, это мне нравится!

vik500
pilot000779:

это уже не плохо!

Завтра буду в Ростове а пятого летные испытания.

robis
vik500:

NAZA-M на вертолете.

Виктор мои поздравления! Зачетное видео! 😃
Проделанная работа просто впечатляет!
Правда появилось такое чувство, что Вы что-то не договариваете или может “раскусили” этот “крепкий орешек” ранее?
От идеи до реализации за несколько дней - это быстро 😊.
Можно больше подробностей? А то рука уже невольно потянулась покупать Назу 😒😃

alekseii

Как ? Действительно, очень и очень интересно 😃
Мои поздравления !
(как удалось разобраться с рудером ? )

alekseii

Виктор, всё таки не удержался, спрошу: когда Вы вертолёт “крутите” в разные стороны на плоскости стола, ручка “шаг-газ” не в минимуме стоит 😃 ? (на записи плохо видно)

vik500
robis:

А то рука уже невольно потянулась покупать Назу

Я думаю покупать пока ещё рановато. Ещё не все проблемы решены, если летные испытания
пройдут удачно тогда продолжим доводку.

alekseii:

как удалось разобраться с рудером ?

А на хвост я поставил гироскоп, это конечно урезает возможности автопилота, возврата в точку взлета при потере сигнала не будет а посадка я думаю возможна.

alekseii:

ручка “шаг-газ”

Ручка газа по центру.

robis
vik500:

А на хвост я поставил гироскоп, это конечно урезает возможности автопилота

Упс… тогда понятно… тем самым Вы его (автопилот) просто выключили. А мы тут с горяча подумали о другом… 😉
Тем не менее, тарелка на видео управляется правильно, влияния рудера не видно, а как с конечными точками и сервами (400Гц)?
Насчет посадки. Она видимо возможна, но зачем? Вы представляете себе неконтролируемую посадку на вертолете в случайном месте? Это не квадрик, но даже с ним все зависит от веса.
Все эти переделки имеют смысл только в одном случае - поддержка RTH на вертолете. Можно ведь выбрать любой другой контроллер для вертолета с этой функцией, но в назе есть то, чего нет у других.
Это заводская, встроенная и удачно реализованная виброразвязка. При этом акселерометры, на борту с вибрациями, чувствуют себя вполне комфортно. А это дает ни много ни мало - стабильность полета.
Далее, цена (Naza-M) и бюджетная, адаптированная телеметрия.

pilot000779

Олег на мой взгляд Виктор всё правильно делает, т. е поэтапно! Он не говорил что всё готово и полетит. Как я и говорил шаг за шагом, сначала надо понять как будет работать система, потом смотреть дальше. Без этой очерёдности результата не добиться. А Верт сможет сесть и так. Если конечно с тарелкой всё будет одекватно. Вот посмотрим что покажет тестовый полёт и если всё нормально, тогда будем думать про хвост.

Единственное Виктор, думаю разумно будет раскрутить Верт в руках и попробовать отработку тарелки при наклонах верта и работу тарелки от стиков. Ну разумеется делать не одному что бы Верт не вырвался из рук, это конечно вопреки технике безопастности, но и эксперимент у на не совсем стандартный.

alekseii

К назе подвес H3-D3 (и любой из серии) можно подключить 😃
Авто возврат есть на наза-м, это конечно очень нужно, для любителей полетать и по снимать.
На видео ролике Виктора, мне совсем не понятно, почему тарелка при “кручении” на столе не “отрабатывает”. Многое можно “объяснить”, но вот “этот” момент мне совершенно не понятен (шаги не “задушены”).
По поводу CCPM, да, на видео полная её “реализация”, “её” не нужно придумывать.

robis
alekseii:

На видео ролике Виктора, мне совсем не понятно, почему тарелка при “кручении” на столе не “отрабатывает”. Многое можно “объяснить”, но вот “этот” момент мне совершенно не понятен (шаги не “задушены”).

Он же ответил:

vik500:

Я эту проблему решил!!!

Правда, без комментариев 😃

pilot000779:

А Верт сможет сесть и так.

Да, сможет. Я о другом. Если верт самостоятельно совершает посадку не на открытой, ровной площадке, а там, где есть деревья, машины, строения, люди или просто неровная поверхность, то он представляет серьезную опасность как для себя, так и для окружающих. В оличие от квадрика. Поэтому не вижу смысла в ней, другое дело, если посадка в точке взлета. Когда нет RTH, то при потере связи безопасней просто зависнуть в гео. точке и подождать восстановления связи. У меня так настроен файл-сэйв на Naza-H и уже спасал дорогой вертолет не однократно.

vik500
pilot000779:

Олег на мой взгляд Виктор всё правильно делает, т. е поэтапно! Он не говорил что всё готово и полетит. Как я и говорил шаг за шагом, сначала надо понять как будет работать система, потом смотреть дальше. Без этой очерёдности результата не добиться. А Верт сможет сесть и так. Если конечно с тарелкой всё будет одекватно. Вот посмотрим что покажет тестовый полёт и если всё нормально, тогда будем думать про хвост.

Андрей ответил за меня.

alekseii

{Я эту проблему решил!!!
Правда, без комментариев 😃}

Всё понятно 😃
Пока всё думаю над своим “решением” с внешним контроллером, в принципе результаты обнадёживающие 😃. До “ролика” далеко конечно, но тем не менее пока “на бумаге” решены вопросы с хвостом (думаю, что внешний гироскоп не понадобится, надеюсь). Появился новый вопрос - нужны ли, должны ли быть, отрицательные углы на основном роторе ? На коптере их нет, а на вертолёте их можно “задушить”, а можно и не трогать. Наза и так должна будет правильно отреагировать, наверно.
Жду тестового полёта Виктора, а то эта “простота” превращения коптерного контроллера в вертолётный меня сильно настораживает. Я понимая, что верт не всем нравится, немногие на нём летает. Думаю это из-за сложностей с его управлением. А так, если верт будет управляться как коптер то - … то возможно будут большие проблемы у большинства моделистов. Почему, предполагаю, может возрасти количество несчастных случаев из-за увеличения “этих самых” вертолётчиков… (так мысли в слух, хотя рано говорить “гоп” пока… - пока не было хотя бы первого полёта).

vik500
alekseii:

эта “простота” превращения коптерного контроллера в вертолётный меня сильно настораживает.

Я сам слегка был удивлен “простотой” превращения.

Что он полетит у меня сомнений нет! Но задача состоит в большем, на видео показана работа в ручном режиме а как он поведет себя в GPS режиме, будет ли он взлетать, висеть и садится как коптер а лучше сохранить ему возвращение в точку взлета. Вопросов пока больше чем ответов.

alekseii

Как сказал Андрей - всё надо делать поэтапно, так сказать решать задачи по мере их поступления 😃