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

slavulek

Попробую предположть. В сервомашинке то же двигатель. По мощности силовой двигатель и в серво отличаются. Может в этом проблема? Поэтому наверно НАЗА и пищит, если ей требуется для управления силовой двигатель, а подсовывают более слабенький моторчик от серво ?

alekseii
vik500:

Да видимо это так. Регулятор двигателя на коптере к НАЗЕ подсоединен двумя проводами желтый и черный, питание подается отдельно. Значит контроль идет по желтому проводу управления, вопрос как? Если я отсоединяю от НАЗЫ провода управления двигателем НАЗА начинает пищать. Втыкаю в НАЗУ серво она пищит но серво работает. Если этот вопрос не решить то смысла в настройки тарелки нет, как и в летных испытаниях.

Виктор здравствуйте!
Вы не пробовали (честно говоря не хочется в своём коптере копаться) в начале подсоединить шесть (в настройках у Вас гекса) регуляторов моторов, затем один отсоединить - будет ли пищать ? Если будет, я бы посоветовал подсоединить в место отсоединённого (одного) регулятора резистор с сопротивлением около 3-4 кОм (любой мощности), его подсоединить между чёрным (землёй) и жёлтым (сигнальным). Подсоединять и отсоединять попробовать при отключённом питании.

robis

Да, Naza вполне может определять подключение регуляторов по нагрузочному сопротивлению на сигнальный провод (резистор на корпус) или по положительному потенциалу (резистор на +5V).
Виктор, это вполне безопасно, можно использовать 5-10 кОм.

Dim-on

Ребят, а просвятите вобще, а зачем нужно выставлять эти 6.5 градусов? для чего они?

robis

Это значение по циклическому шагу. Если оно будет слишком большим, то получим “срыв потока” на лопастях, если слишком малым, то верт будет “вялым”. Выбирается оптимальное значение исходя из ширины лопастей или для конкретного класса вертолета.

Dim-on
robis:

Это значение по циклическому шагу. Если оно будет слишком большим, то получим “срыв потока” на лопастях, если слишком малым, то верт будет “вялым”. Выбирается оптимальное значение исходя из ширины лопастей или для конкретного класса вертолета.

Олег, ну как вы считаете?.. допустимо ли эти 8.5 градусов для моей системы? верт600CF(изначально) установка потом вот такой головы (ampmodel.com/rcx-550600-flybarless-rotor-head-set-…)
лопасти - RJX Carbon 600мм ширина 55мм
вал 192мм (brrc.ru/…/val_osnovnogo_rotora_t_rex_600e_fl_600n_…)
все, вроде подошло хорошо. все сервы и пичкомпенсаторы теперь в 90градусов.
ситуация какая, не в програме сервы двигуются с очень хорошим запасом… но вот в програме Naza и в кладке Cyclic серва как буд-то двигается не доканца и поэтому выдает только положительного угла от 25 градусов до 8,5 градусов а ниже не хочет (это до 6,5 градусов)

robis

Дмитрий, Вы выполнили все настройки как советовал Сергей (пост #1034)?
Попробуем порассуждать.
У меня не возникало подобных сложностей с углами по циклику, всегда был запас в одну и другую сторону, с разными головами. Правда назу использую только в 450 классе.
Есть какая то странность в этом:

Dim-on:

не в програме сервы двигуются с очень хорошим запасом… но вот в програме Naza и в кладке Cyclic серва как буд-то двигается не доканца и поэтому выдает только положительного угла от 25 градусов до 8,5 градусов а ниже не хочет (это до 6,5 градусов)

Не совсем понятно - но что-то не так.
Может что с измерениями, и не помешает сравнить длинны линков серв и головы с элайновскими.
С другой стороны, в старой прошивке эти углы по циклику значились как рекомендуемые. Если предположить, что вертолет не для жесткого 3D (Naza-H), то это отклонение вряд ли будет фатальным.

vik500

И так спасибо всем кто принимает участие в обсуждение темы NAZA-M на вертолете.

НАЗА стоит на вертолете, сервы подключены теперь надо отрегулировать углы отклонения лопастей. Механически отрегулировать не получается, при изменении газа от нуля до максимума сервы поворачиваются почти на 180 градусов. Программно тоже не получится, если конечно не найти программиста который бы переписал программу и прошивку. На мой взгляд остается электронный способ, то есть собрать схемку которая могла бы регулировать конечные точки. Что то вроде этого

alekseii

Нет, таким (как я понял “аналоговым” способом подрегулировать рабочий диапазоне удастся). Все сигналы на назе цифровые (меняется длительность, скважность сигнала).
С назы выходят сигналы частотой 400 Гц и скважностью от ~30% (мин) до ~70% (мах), а на сервы вертолёта нужно (в зависимости от марки серв, у разных производителей частоты и длительности разные), но в среднем - частота ~50 Гц и скважность от 4,5% до 6,5% (вообще надо использовать определение не скважность а длительность, но для этого их нужно переводить из одного в другое 😃 )
Что было понятно, подключаем серву например футабу к приёмнику, она при однихи тех же расходах будет “отклонятся” на разные углы по сравнению например если подсоединить в замен серву JR (например).

vik500
alekseii:

Нет, таким (как я понял “аналоговым” способом подрегулировать рабочий диапазоне удастся). Все сигналы на назе цифровые (меняется длительность, скважность сигнала).
С назы выходят сигналы частотой 400 Гц и скважностью от ~30% (мин) до ~70% (мах), а на сервы вертолёта нужно (в зависимости от марки серв, у разных производителей частоты и длительности разные), но в среднем - частота ~50 Гц и скважность от 4,5% до 6,5% (вообще надо использовать определение не скважность а длительность, но для этого их нужно переводить из одного в другое 😃 )
Что было понятно, подключаем серву например футабу к приёмнику, она при однихи тех же расходах будет “отклонятся” на разные углы по сравнению например если подсоединить в замен серву JR (например).

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

btr1209
vik500:

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

Нет ребята это подсылу программисту в железе это будет не дорого а вот программно наверно зависит от программиста задача проста
1 ограничить частоту для аналоговой сервы до 50Гц и цыфры скажем до 200Гц
2 так же сделать регулируемое ограничение скважности сигнала
3 при этом перещитать дискретность сигнала чтоб не было провалов
4 научится высислять когда наза поворачивает роторами преобразовывать этот сигнал и пускать на рудер а также блокировать и не подавать на сервы АП

где-то так

vik500
btr1209:

Нет ребята это подсылу программисту в железе это будет не дорого а вот программно наверно зависит от программиста задача проста
1 ограничить частоту для аналоговой сервы до 50Гц и цыфры скажем до 200Гц
2 так же сделать регулируемое ограничение скважности сигнала
3 при этом перещитать дискретность сигнала чтоб не было провалов
4 научится высислять когда наза поворачивает роторами преобразовывать этот сигнал и пускать на рудер а также блокировать и не подавать на сервы АП

где-то так

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

Давайте вместе решать.

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 и летать блинчиком.