Сервомашинки к полетному контроллеру?

Игорь_ХМ

Как подключить сервомашинки к полетному контроллеру?

Хочу собрать коптер по типу Stingray 500. Но на полетном контроллере, у которого есть (или можно подключить) датчики, для обеспечения стабильного полета и особенно - режима “висения”.
К сожалению, я не электронщик, поэтому в работе бортовой электроники разбираюсь “по аналогии”. В связи с чем и нужен совет от специалистов!

Собственно вопрос!

Можно ли “подружить” полетный контроллер с цифровой сервомашинкой?

Уже не один раз в описаниях полетных контроллеров мелькали “выход PWM”… Т.е. широтно-импульсная модуляция.

Так вот, и для управлением электромоторами (через регуляторы хода), и для управления сервоприводами используется “выход PWM” контроллера! И там и там используется сигнал частотой до 400Гц.

Кроме того, например в описании CC3D OpenPilot прямо указано “10 выходов PWM для сервоприводов или ESC либо для стабилизации камеры”!

Но ведь ESC - это и есть регулятор хода для электромотора!

Т.е. через выход PWM контроллеру все равно, чем управлять? Вопрос прошивки контроллера? Или настроек сервы? Цифровые сервомашинки же тоже программируются и настраиваются через программатор.

В описании Pixhawk 3DR упоминается в комплектации “…3-х проводной кабель для подключения серв”.

Кто может пояснить?

AlexBG
Игорь_ХМ:

Вопрос прошивки контроллера?

Так оно и есть. Посмотрите на трикоптеры - там к ПК подключаются три мотора (через ESC) и одна серва.

Игорь_ХМ

А на это способен любой ПК? Как определить?

Мне например очень нравится ПК от DJI Phantom 4. Там есть все необходимые датчики. И вроде без особых “глюков”, с хорошим качеством изготовления.
К нему можно подключить вместо ESC сервы?

Или только с “открытым кодом”?

Типа этого

schs
Игорь_ХМ:

Можно ли подключить сервомашинки к полетному контроллеру?

Если не секрет - зачем?

Игорь_ХМ

Я же в первом посте написал - зачем.

"…Хочу собрать коптер по типу Stingray 500. Но на полетном контроллере, у которого есть (или можно подключить) датчики, для обеспечения стабильного полета и особенно - режима “висения”…

schs
Игорь_ХМ:

Я же в первом посте написал - зачем.

Подключить то не сложно. Вряд ли что полётный контроллер рассчитанный на управление тягой непосредственно двигателей будет работать корректно управляя шагом.
По сути - частоту в 50Hz можно выставить в APM, из мне известных. Параметр RC_SPEED.
Или подбирать сервы, которые могут работать на 490Hz.
Или на микроконтроллере, arduino к примеру, написать транскодер 490->50Hz, тогда можно использовать любой стандартный контроллер и любую серву.

Игорь_ХМ
schs:

Подключить то не сложно

Под словом “подключить” я же имею в виду не просто “соединить”! Понятно, что несложно! Особенно ежели еще и поднажать - так и USB в HDMI впихнуть можно! 😃

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

schs:

Вряд ли что полётный контроллер рассчитанный на управление тягой непосредственно двигателей будет работать корректно управляя шагом

Вот в этом и вопрос - “а почему собственно”? (прям как у Жванецкого).

Контроллер-то интеллекта не имеет. Ему все равно, что там висит на выходе! Он - как петух из анекдота - его дело прокукарекать, а потом - пусть хоть не рассветает!

Шутка, конечно, но суть похожа!

Контроллер от датчиков (гиро- акселерометр и пр.) получает сигнал, что идет отклонение по оси.
На основании зашитого алгоритма он на соответствующий выход подает сигнал. Это сигнал с широтно-импульсной модуляцией. Верно? Частота - 50Гц. Но видимо какие-то регуляторы поддерживают до 400Гц? (по крайней мере в мануале к Naza-M V2 написано - Поддержка регуляторов хода: до 400 Гц).
Я, к сожалению, слабо разбираюсь в теории электроники, поэтому мне не совсем понятно - почему 490Гц? Регуляторы хода работают на 50Гц? 20мс - период импульсов, а их длительность - от 1 до 2 мс - определяет мощность двигателя.
Правильно?

Но не суть важно…

Так вот. Контроллер выдал управляющий сигнал и ждет от датчиков (гиро- акселерометр и пр.) сигнал об изменения положения к норме.

Думаю, я сильно упрощаю, но контроллеру все равно, что “приняло в работу” его команду (ШИМ-сигнал) - регулятор хода или цифровая сервомашинка. Главное - на этот сигнал должно последовать изменение сигналов с датчиков.

Так? Или я ошибаюсь?

Ведь получив от контроллера сигнал:

  • сервомашинка отработает, изменит шаг винта -> изменится тяга винта
  • регулятор хода отработает, изменит мощность двигателя -> изменится тяга винта

Я извиняюсь, если я в чем-то не прав! Повторюсь - я не имею практического опыта. Поэтому и обратился за советом на форум.

Источн arduino-ua.com/prod858-naza-m-v2

И еще…

schs:

частоту в 50Hz можно выставить в APM, из мне известных

Я посмотрел этот параметр. Там указано - от 50 до 490! “Range 50 - 490” с шагом 1Гц… Вроде так…

Зачем тогда транскодер, если этот параметр задается СРАЗУ для конкретного выхода в контроллере?

Поэтому - почему цифровая сервомашинка, работающая с частотой импульсов до 400Гц не должна работать с контроллером? Ей ведь тоже все равно, от чего пришел сигнал?

schs:

Или подбирать сервы, которые могут работать на 490Hz.

Я смотрел каталог Hitec, но там вообще не указана частота. Видимо сервомашинкам все равно - лишь бы контроллер смог ее выдать?

Covax

А как по вашему трикоптер функционирует?
Серва замечательно поворачивает задний мотор.
Другое дело необходим полетный контроллер с достаточным количесивом выводов и главное микропрограмма к нему. Если вы не программист, или не инвестор, то ничего у вас не получится.

schs
Игорь_ХМ:

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

Я не шутил. Как уже писал, если непосредственно подключить сервы, которые переварят 490Hz - они будут крутиться.
А вот корректность работы получить будет куда сложнее.

Игорь_ХМ:

Контроллер-то интеллекта не имеет. Ему все равно, что там висит на выходе!

То что на выходе ему действительно всё равно, но вот интеллект он имеет, для чего собственно он и ставиться.

Игорь_ХМ:

Контроллер от датчиков (гиро- акселерометр и пр.) получает сигнал, что идет отклонение по оси. На основании зашитого алгоритма он на соответствующий выход подает сигнал. Это сигнал с широтно-импульсной модуляцией. Верно?

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

Игорь_ХМ:

Частота - 50Гц.

Нет. В том то и дело что обычно не 50Hz.

Игорь_ХМ:

Я, к сожалению, слабо разбираюсь в теории электроники, поэтому мне не совсем понятно - почему 490Гц?

Меньший период, быстрее реакция на компенсацию воздействий.

Игорь_ХМ:

Так вот. Контроллер выдал управляющий сигнал и ждет от датчиков (гиро- акселерометр и пр.) сигнал об изменения положения к норме. Думаю, я сильно упрощаю, но контроллеру все равно, что “приняло в работу” его команду (ШИМ-сигнал) - регулятор хода или цифровая сервомашинка. Главное - на этот сигнал должно последовать изменение сигналов с датчиков. Так? Или я ошибаюсь?

Всё правильно. Но контроллёр выдаёт управляющий сигнал рассчитывая на определённые характеристики исполнительного устройства.

Игорь_ХМ:

Ведь получив от контроллера сигнал: - сервомашинка отработает, изменит шаг винта -> изменится тяга винта - регулятор хода отработает, изменит мощность двигателя -> изменится тяга винта

Это всё так. Но инерционность у этих механизмов разная. ESC куда быстрее изменить скорость вращения винта.

Игорь_ХМ:

Зачем тогда транскодер, если этот параметр задается СРАЗУ для конкретного выхода в контроллере?

Как я уже писал - транскодер позволит использовать _любой_ коптерный полётный контроллер, даже если он и не может выдать 50Hz.

Игорь_ХМ:

Поэтому - почему цифровая сервомашинка, работающая с частотой импульсов до 400Гц не должна работать с контроллером? Ей ведь тоже все равно, от чего пришел сигнал?

Она будет. Но серв, которые смогут работать на 490Hz не так и много.

Игорь_ХМ:

Я смотрел каталог Hitec, но там вообще не указана частота. Видимо сервомашинкам все равно - лишь бы контроллер смог ее выдать?

Увы, это не так. Серва - очень медленное устройство, т.к. содержит в себе понижающий редуктор, ей обычно 50Hz более чем достаточно.

P.S. Никаких принципиальных препятствий для реализации Вашей идеи нет, сделать так, как Вы хотите можно.
Далее будет борьба с PID, возможно и получиться на адекватную работу.

Covax:

Другое дело необходим полетный контроллер с достаточным количесивом выводов и главное микропрограмма к нему. Если вы не программист, или не инвестор, то ничего у вас не получится.

Почему? Если аппарат не совсем маленький, с нижним ЦТ то я уверен что на обычном ПК летать он будет, другое дело в качестве стабилизации.

Covax
schs:

Почему? Если аппарат не совсем маленький, с нижним ЦТ то я уверен что на обычном ПК летать он будет, другое дело в качестве стабилизации.

Что почему? и топор летает

schs
Covax:

Что почему?

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

Covax

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

Игорь_ХМ

Ну не нужно так нервно!!! Все мы понимаем!!! Тоже не первый год на белом свете живем! И компьютеры живьем видели! И словосочетание “микропрограмма для контроллера” тоже как-то попадалось!

Covax:

Мультикоптер это сначала прошивка микропрограмма, а потом уже все остальное.

Никто не оспаривает очевидное! Только вот речь здесь идет о возможности подключения к УЖЕ СУЩЕСТВУЮЩИМ контроллерам с УЖЕ НАПИСАННОЙ ПРОШИВКОЙ!

А что касается

Covax:

Если вы не программист, или не инвестор, то ничего у вас не получится.

то спасибо, конечно, на добром слове! Вот только что-то я сильно сомневаюсь, что я НАСТОЛЬКО тупой, чтоб пробивать любом стену! По крайней мере - своим!

Повторю - речь не идет о СОЗДАНИИ нового контроллера, или о НАПИСАНИИ новой прошивки.

Речь идет о возможности управления ШИМ сигналом с полетного контроллера не только регулятором хода, но и сервоприводом. Так как и тот и другой управляются одинаковыми сигналами, а ПК все равно, что у него висит на выходах!

Как мы выяснили - вопрос скорее в возможности откалибровать обратную связь в УЖЕ СУЩЕСТВУЮЩИХ контроллерах с уже НАПИСАННОЙ прошивкой.

Covax:

а потом уже все остальное.

Насколько я понимаю, 99,9999% всех пользователей коптеров все-таки решают возникающие проблемы (в том числе и по совместимости использованных узлов) как раз “всем остальным”! Т.е. настройкой.

-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------

schs:

А вот корректность работы получить будет куда сложнее.

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

schs:

В том то и дело что обычно не 50Hz

Я опирался на статью на этом же сайте - www.rcdesign.ru/articles/radio/esc_intro

Там было написано - “…Регулятор хода включается между аккумулятором и силовым электродвигателем. Управление регулятором осуществляет канальный импульс с приемника аппаратуры радиоуправления. Напомним его параметры: период - 20 мс, длительность изменяется от 1 до 2 мс.”

20мс как раз 50Гц…

Так что тут - за что купил…

schs:

Но контроллёр выдаёт управляющий сигнал рассчитывая на определённые характеристики исполнительного устройства.

Полностью с Вами согласен! Поэтому мне очень интересно, хватит ли диапазона калибровок, чтоб “подогнать” реакции аппарата с серво к таким же, у аппарата с обычными моторами. Но тут можно только гадать! А лучше - попробовать. Что я и собираюсь сделать. Поскольку в процессе обсуждения вырисовывается ответ скорее из серии “почему нет?”. Т.е. в принципе - вполне возможно, теоретических препятствий нет! А на практике - просто как повезет!

schs:

ESC куда быстрее изменить скорость вращения винта

Кто сказал?!?! Согласно тому же каталогу Hitec цифровые сервомашинки перекладывают качалку на 60 градусов за 0,07 секунды с моментом 20 кг/см! Т.е. от нуля подъемной силы на ВИШе до максимума - 0,07с! Мотор отреагирует быстрее?

schs:

транскодер позволит использовать _любой_ коптерный полётный контроллер, даже если он и не может выдать 50Hz

Как я написал в самом первом своем посте - я изначально рассматриваю применение только цифровых сервомашинок! А они будут работать на частоте, максимально возможной для контроллера.
Поэтому необходимости в транскодере не должно быть.

schs:

серв, которые смогут работать на 490Hz не так и много

Не совсем так. Просто цифровые сервы дороже, и их у нас реже используют, видимо…
Так как только тот же Hitec выпускает больше 30 разновидностей различных по мощности, размерам и исполнению…

schs:

Серва - очень медленное устройство

Я уже написал про 0,07с от упора до упора…

schs:

Далее будет борьба с PID, возможно и получиться на адекватную работу

Скорее всего Вы правы!!! Так и будет. Надеюсь - поборю! 😃

--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------

Теперь бы еще определиться - какой контроллер использовать?

Так как основные требования - стабильный полет и висение (маневренность - интересует постольку- поскольку…) - хотелось бы подобрать контроллер, который имеет как можно меньше глюков, и имеет возможность подключения датчиков обеспечивающих стабильность - баро, GPS, ультразвук, оптика…

Советовали Pixhawk 3DR…

У кого есть совет?

Covax

Никто не оспаривает очевидное! Только вот речь здесь идет о возможности подключения к УЖЕ СУЩЕСТВУЮЩИМ контроллерам с УЖЕ НАПИСАННОЙ ПРОШИВКОЙ!

Вы не оспариваете, вы просто не понимаете очевидного. Нет такого контроллера с уже существующей прошивкой, которая бы схему стингрей 500 поддерживала (управление тягой каждого из n моторов шагом пропеллера), в том числе ни для пиксхавка, ни для ардупилота, ни для прочих, кроме самого стингрея, прошивку от которого вы никуда не зальете. А вы тут возможность подключения серв к ПК обсуждаете, нет никаких проблем с подключением, хоть у аналоговых, хоть у цифровых серв.

schs
Игорь_ХМ:

Я опирался на статью на этом же сайте - www.rcdesign.ru/articles/radio/esc_intro Там было написано - “…Регулятор хода включается между аккумулятором и силовым электродвигателем. Управление регулятором осуществляет канальный импульс с приемника аппаратуры радиоуправления. Напомним его параметры: период - 20 мс, длительность изменяется от 1 до 2 мс.”

ESC то поддерживают 50Hz, но в современных контроллерах 50Hz уже не используется, т.к. можно с меньшим периодом управлять.
Вы можете очень просто проверить - возьмите осциллограф и посмотрите на реальных контроллерах.

Игорь_ХМ:

Цитата Сообщение от schs Посмотреть сообщение ESC куда быстрее изменить скорость вращения винта Кто сказал?!?! Согласно тому же каталогу Hitec цифровые сервомашинки перекладывают качалку на 60 градусов за 0,07 секунды с моментом 20 кг/см! Т.е. от нуля подъемной силы на ВИШе до максимума - 0,07с! Мотор отреагирует быстрее?

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

Игорь_ХМ:

Советовали Pixhawk 3DR…

Вам бы хотя бы стабильно держать аппарат в воздухе, даже это будет не тривиально. Пикс конечно лучше, но и APM для этой задачи скорее всего будет достаточен. Да и код его править проще.

Covax:

Вы не оспариваете, вы просто не понимаете очевидного. Нет такого контроллера с уже существующей прошивкой, которая бы схему стингрей 500 поддерживала

Что, на Ваш взгляд, помешает обычному контроллеру стабилизировать аппарат такой схемы? Если можно - хоть чуть чуть конкретики.
То что без специализированноего софта(прошивки) эффективность управления будет низкая я понимаю.

Игорь_ХМ
schs:

Вы можете очень просто проверить - возьмите осциллограф и посмотрите

Да у меня нет оснований спорить по этому вопросу! У Вас - практический опыт. А я опирался на статью. Поэтому, видимо она несколько устарела в этом утверждении.
Буду знать, спасибо!

schs:

Механика принципиально не может быть быстрее электроники.

А вот тут - КОРЕНЬ типичной ошибки!!! Само утверждение - безусловно верно! И спорить глупо. НО!!! После того, как откроется полевой транзистор - наступает время механики! Того же самого мотора! Да еще вращающего винт - т.е. обладающего тоже, хоть и не такой большой (в силу малой массы), но все же инерцией!
А мы ведь говорим о времени реакции не отдельных узлов или компонентов, а о времени реакции системы.
Поэтому тут можно только гадать, что быстрее. Скорее всего - на маленьком коптере быстрее будет все-таки традиционная схема. Но с ростом размеров (а следовательно - и массы (читай - инерции) винтов) - коптер с ВИШами может (И ДОЛЖЕН!!!) оказаться “шустрее”!

schs:

Пикс конечно лучше, но и APM для этой задачи скорее всего будет достаточен.

За совет - искреннее спасибо!

schs:

Да и код его править проще

ОЧЕНЬ прошу - уточните, почему? Т.к. для меня это ОЧЕНЬ ВАЖНО. Хотя я и не собираюсь (в силу неумения) ковыряться в прошивке. А там - Бог его знает… Но хотелось бы (очень надеюсь) обойтись настройками!

schs:

Вам бы хотя бы стабильно держать аппарат в воздухе

Вот это - для меня не ХОТЯ БЫ, а ЦЕЛЬ!!! Маневренность и т.д. - вторичны!!!

schs:

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

Согласен с замечанием! Проблемы чаще всего не в неспособности контроллера, а в куче ошибок при создании аппарата - недостаточная развязка от вибрации (т.е. контроллер просто НЕ МОЖЕТ корректно работать), недостаточная эффективность и ЧЕТКОСТЬ “исполнения” сигналов - ремни в приводах больших винтов (а там уже сильно начинает проявляться инерция), и т.д…

schs:

без специализированноего софта(прошивки) эффективность управления будет низкая

Это тоже правда! Однако основной вопрос - хватит ли этой низкой эффективности? Если все-таки хватит - ну и фиг с ней, что она не настолько “вылизана”… Лишь бы без глюков!

schs
Игорь_ХМ:

Цитата Сообщение от schs Посмотреть сообщение Да и код его править проще ОЧЕНЬ прошу - уточните, почему? Т.к. для меня это ОЧЕНЬ ВАЖНО. Хотя я и не собираюсь (в силу неумения) ковыряться в прошивке. А там - Бог его знает… Но хотелось бы (очень надеюсь) обойтись настройками!

Конкретно для меня - писал всякую мелочь под arduino, правил несложные программы на C. То есть затратив некоторое количество времени можно разобраться в коде и возможно поправить под себя. В коде PixHawk опять, же для меня, уже существенно сложнее, незнакомый процессор.

Игорь_ХМ:

Однако основной вопрос - хватит ли этой низкой эффективности?

Висеть и спокойно перемещаться скорее всего хватит.
Попробуйте, надеюсь у Вас получиться.

Covax
schs:

Что, на Ваш взгляд, помешает обычному контроллеру стабилизировать аппарат такой схемы? Если можно - хоть чуть чуть конкретики. То что без специализированноего софта(прошивки) эффективность управления будет низкая я понимаю.

Ну как это низкая? Это все равно, что квадрокоптер обычной схемы без полетного контроллера, у него какая будет эффективность стабилизации?
Да взлетит, и сразу его кудато поведет и он перевернется в итоге, это не вертолет. Без точного микса шаг-газ, которые надо определить и запрограммировать коптер не полетит, хоть обычный, хоть с ВИШ.

Почитайте темы, обратитесь к тем, кто уже делал подобное
rcopen.com/forum/f123/topic268221

SergejK

А мне вот что-то подсказывает, что подключив машинки виш в правильном направлении на соотвествующие каналы для моторов под обычную схему квадрокоптера и банально стабилизируя обороты винтов, хотябы как на вертолете, вполне возможно регулировкой пидов более менее добиться устойчивого полета и с обычной прошивкой под квадрокоптер. Думаю нет ничего проще, чем попробовать именно так. Ну а дальше по результату.

Игорь_ХМ:

Т.е. в принципе - вполне возможно, теоретических препятствий нет! А на практике - просто как повезет!

Лучше конечно за основу взять более гибкий в настройках проект прошивки полетника.