Сервомашинки к полетному контроллеру?
Как подключить сервомашинки к полетному контроллеру?
Хочу собрать коптер по типу Stingray 500. Но на полетном контроллере, у которого есть (или можно подключить) датчики, для обеспечения стабильного полета и особенно - режима “висения”.
К сожалению, я не электронщик, поэтому в работе бортовой электроники разбираюсь “по аналогии”. В связи с чем и нужен совет от специалистов!
Собственно вопрос!
Можно ли “подружить” полетный контроллер с цифровой сервомашинкой?
Уже не один раз в описаниях полетных контроллеров мелькали “выход PWM”… Т.е. широтно-импульсная модуляция.
Так вот, и для управлением электромоторами (через регуляторы хода), и для управления сервоприводами используется “выход PWM” контроллера! И там и там используется сигнал частотой до 400Гц.
Кроме того, например в описании CC3D OpenPilot прямо указано “10 выходов PWM для сервоприводов или ESC либо для стабилизации камеры”!
Но ведь ESC - это и есть регулятор хода для электромотора!
Т.е. через выход PWM контроллеру все равно, чем управлять? Вопрос прошивки контроллера? Или настроек сервы? Цифровые сервомашинки же тоже программируются и настраиваются через программатор.
В описании Pixhawk 3DR упоминается в комплектации “…3-х проводной кабель для подключения серв”.
Кто может пояснить?
Вопрос прошивки контроллера?
Так оно и есть. Посмотрите на трикоптеры - там к ПК подключаются три мотора (через ESC) и одна серва.
А на это способен любой ПК? Как определить?
Мне например очень нравится ПК от DJI Phantom 4. Там есть все необходимые датчики. И вроде без особых “глюков”, с хорошим качеством изготовления.
К нему можно подключить вместо ESC сервы?
Или только с “открытым кодом”?
Типа этого
Можно ли подключить сервомашинки к полетному контроллеру?
Если не секрет - зачем?
Я же в первом посте написал - зачем.
"…Хочу собрать коптер по типу Stingray 500. Но на полетном контроллере, у которого есть (или можно подключить) датчики, для обеспечения стабильного полета и особенно - режима “висения”…
Я же в первом посте написал - зачем.
Подключить то не сложно. Вряд ли что полётный контроллер рассчитанный на управление тягой непосредственно двигателей будет работать корректно управляя шагом.
По сути - частоту в 50Hz можно выставить в APM, из мне известных. Параметр RC_SPEED.
Или подбирать сервы, которые могут работать на 490Hz.
Или на микроконтроллере, arduino к примеру, написать транскодер 490->50Hz, тогда можно использовать любой стандартный контроллер и любую серву.
Подключить то не сложно
Под словом “подключить” я же имею в виду не просто “соединить”! Понятно, что несложно! Особенно ежели еще и поднажать - так и USB в HDMI впихнуть можно! 😃
Вы же прекрасно понимаете, что речь идет о возможности получить корректно работающую систему.
Вряд ли что полётный контроллер рассчитанный на управление тягой непосредственно двигателей будет работать корректно управляя шагом
Вот в этом и вопрос - “а почему собственно”? (прям как у Жванецкого).
Контроллер-то интеллекта не имеет. Ему все равно, что там висит на выходе! Он - как петух из анекдота - его дело прокукарекать, а потом - пусть хоть не рассветает!
Шутка, конечно, но суть похожа!
Контроллер от датчиков (гиро- акселерометр и пр.) получает сигнал, что идет отклонение по оси.
На основании зашитого алгоритма он на соответствующий выход подает сигнал. Это сигнал с широтно-импульсной модуляцией. Верно? Частота - 50Гц. Но видимо какие-то регуляторы поддерживают до 400Гц? (по крайней мере в мануале к Naza-M V2 написано - Поддержка регуляторов хода: до 400 Гц).
Я, к сожалению, слабо разбираюсь в теории электроники, поэтому мне не совсем понятно - почему 490Гц? Регуляторы хода работают на 50Гц? 20мс - период импульсов, а их длительность - от 1 до 2 мс - определяет мощность двигателя.
Правильно?
Но не суть важно…
Так вот. Контроллер выдал управляющий сигнал и ждет от датчиков (гиро- акселерометр и пр.) сигнал об изменения положения к норме.
Думаю, я сильно упрощаю, но контроллеру все равно, что “приняло в работу” его команду (ШИМ-сигнал) - регулятор хода или цифровая сервомашинка. Главное - на этот сигнал должно последовать изменение сигналов с датчиков.
Так? Или я ошибаюсь?
Ведь получив от контроллера сигнал:
- сервомашинка отработает, изменит шаг винта -> изменится тяга винта
- регулятор хода отработает, изменит мощность двигателя -> изменится тяга винта
Я извиняюсь, если я в чем-то не прав! Повторюсь - я не имею практического опыта. Поэтому и обратился за советом на форум.
Источн arduino-ua.com/prod858-naza-m-v2
И еще…
частоту в 50Hz можно выставить в APM, из мне известных
Я посмотрел этот параметр. Там указано - от 50 до 490! “Range 50 - 490” с шагом 1Гц… Вроде так…
Зачем тогда транскодер, если этот параметр задается СРАЗУ для конкретного выхода в контроллере?
Поэтому - почему цифровая сервомашинка, работающая с частотой импульсов до 400Гц не должна работать с контроллером? Ей ведь тоже все равно, от чего пришел сигнал?
Или подбирать сервы, которые могут работать на 490Hz.
Я смотрел каталог Hitec, но там вообще не указана частота. Видимо сервомашинкам все равно - лишь бы контроллер смог ее выдать?
А как по вашему трикоптер функционирует?
Серва замечательно поворачивает задний мотор.
Другое дело необходим полетный контроллер с достаточным количесивом выводов и главное микропрограмма к нему. Если вы не программист, или не инвестор, то ничего у вас не получится.
Вы же прекрасно понимаете, что речь идет о возможности получить корректно работающую систему.
Я не шутил. Как уже писал, если непосредственно подключить сервы, которые переварят 490Hz - они будут крутиться.
А вот корректность работы получить будет куда сложнее.
Контроллер-то интеллекта не имеет. Ему все равно, что там висит на выходе!
То что на выходе ему действительно всё равно, но вот интеллект он имеет, для чего собственно он и ставиться.
Контроллер от датчиков (гиро- акселерометр и пр.) получает сигнал, что идет отклонение по оси. На основании зашитого алгоритма он на соответствующий выход подает сигнал. Это сигнал с широтно-импульсной модуляцией. Верно?
Да. Алгоритм рассчитан на вполне определённое поведение модели. Она должна иметь возможность, в пределах допустимого для этого алгоритма, компенсировать внешние воздействия и корректно управлять наклонами аппарата для выполнения команд оператора.
Частота - 50Гц.
Нет. В том то и дело что обычно не 50Hz.
Я, к сожалению, слабо разбираюсь в теории электроники, поэтому мне не совсем понятно - почему 490Гц?
Меньший период, быстрее реакция на компенсацию воздействий.
Так вот. Контроллер выдал управляющий сигнал и ждет от датчиков (гиро- акселерометр и пр.) сигнал об изменения положения к норме. Думаю, я сильно упрощаю, но контроллеру все равно, что “приняло в работу” его команду (ШИМ-сигнал) - регулятор хода или цифровая сервомашинка. Главное - на этот сигнал должно последовать изменение сигналов с датчиков. Так? Или я ошибаюсь?
Всё правильно. Но контроллёр выдаёт управляющий сигнал рассчитывая на определённые характеристики исполнительного устройства.
Ведь получив от контроллера сигнал: - сервомашинка отработает, изменит шаг винта -> изменится тяга винта - регулятор хода отработает, изменит мощность двигателя -> изменится тяга винта
Это всё так. Но инерционность у этих механизмов разная. ESC куда быстрее изменить скорость вращения винта.
Зачем тогда транскодер, если этот параметр задается СРАЗУ для конкретного выхода в контроллере?
Как я уже писал - транскодер позволит использовать _любой_ коптерный полётный контроллер, даже если он и не может выдать 50Hz.
Поэтому - почему цифровая сервомашинка, работающая с частотой импульсов до 400Гц не должна работать с контроллером? Ей ведь тоже все равно, от чего пришел сигнал?
Она будет. Но серв, которые смогут работать на 490Hz не так и много.
Я смотрел каталог Hitec, но там вообще не указана частота. Видимо сервомашинкам все равно - лишь бы контроллер смог ее выдать?
Увы, это не так. Серва - очень медленное устройство, т.к. содержит в себе понижающий редуктор, ей обычно 50Hz более чем достаточно.
P.S. Никаких принципиальных препятствий для реализации Вашей идеи нет, сделать так, как Вы хотите можно.
Далее будет борьба с PID, возможно и получиться на адекватную работу.
Другое дело необходим полетный контроллер с достаточным количесивом выводов и главное микропрограмма к нему. Если вы не программист, или не инвестор, то ничего у вас не получится.
Почему? Если аппарат не совсем маленький, с нижним ЦТ то я уверен что на обычном ПК летать он будет, другое дело в качестве стабилизации.
Почему? Если аппарат не совсем маленький, с нижним ЦТ то я уверен что на обычном ПК летать он будет, другое дело в качестве стабилизации.
Что почему? и топор летает
Что почему?
Почему “необходим полетный контроллер с достаточным количесивом выводов и главное микропрограмма к нему”?
Нужно минимум 4 выхода, которые есть на всех коптерных контроллерах.
При минимизации необходимых воздействий со стороны ПК Вы считаете что полёт на коптере с регулировкой тяги изменением шага полностью невозможен?
Вы смысл словосочетания “микропрограмма для контроллера” не понимаете чтоли? Я еще раз говорю, если вы не программист или не можете нанять программиста, чтобы он написал программу для контроллера, то ничего у вас толком не полетит. Мультикоптер это сначала прошивка микропрограмма, а потом уже все остальное.
Ну не нужно так нервно!!! Все мы понимаем!!! Тоже не первый год на белом свете живем! И компьютеры живьем видели! И словосочетание “микропрограмма для контроллера” тоже как-то попадалось!
Мультикоптер это сначала прошивка микропрограмма, а потом уже все остальное.
Никто не оспаривает очевидное! Только вот речь здесь идет о возможности подключения к УЖЕ СУЩЕСТВУЮЩИМ контроллерам с УЖЕ НАПИСАННОЙ ПРОШИВКОЙ!
А что касается
Если вы не программист, или не инвестор, то ничего у вас не получится.
то спасибо, конечно, на добром слове! Вот только что-то я сильно сомневаюсь, что я НАСТОЛЬКО тупой, чтоб пробивать любом стену! По крайней мере - своим!
Повторю - речь не идет о СОЗДАНИИ нового контроллера, или о НАПИСАНИИ новой прошивки.
Речь идет о возможности управления ШИМ сигналом с полетного контроллера не только регулятором хода, но и сервоприводом. Так как и тот и другой управляются одинаковыми сигналами, а ПК все равно, что у него висит на выходах!
Как мы выяснили - вопрос скорее в возможности откалибровать обратную связь в УЖЕ СУЩЕСТВУЮЩИХ контроллерах с уже НАПИСАННОЙ прошивкой.
а потом уже все остальное.
Насколько я понимаю, 99,9999% всех пользователей коптеров все-таки решают возникающие проблемы (в том числе и по совместимости использованных узлов) как раз “всем остальным”! Т.е. настройкой.
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
А вот корректность работы получить будет куда сложнее.
С этим - согласен! Поэтому и задаю вопросы здесь. Думаю, подобные идеи посещают не только меня. Скорее всего - кто-то сталкивался. Но радует, что “сложнее”, а не “невозможно”!
В том то и дело что обычно не 50Hz
Я опирался на статью на этом же сайте - www.rcdesign.ru/articles/radio/esc_intro
Там было написано - “…Регулятор хода включается между аккумулятором и силовым электродвигателем. Управление регулятором осуществляет канальный импульс с приемника аппаратуры радиоуправления. Напомним его параметры: период - 20 мс, длительность изменяется от 1 до 2 мс.”
20мс как раз 50Гц…
Так что тут - за что купил…
Но контроллёр выдаёт управляющий сигнал рассчитывая на определённые характеристики исполнительного устройства.
Полностью с Вами согласен! Поэтому мне очень интересно, хватит ли диапазона калибровок, чтоб “подогнать” реакции аппарата с серво к таким же, у аппарата с обычными моторами. Но тут можно только гадать! А лучше - попробовать. Что я и собираюсь сделать. Поскольку в процессе обсуждения вырисовывается ответ скорее из серии “почему нет?”. Т.е. в принципе - вполне возможно, теоретических препятствий нет! А на практике - просто как повезет!
ESC куда быстрее изменить скорость вращения винта
Кто сказал?!?! Согласно тому же каталогу Hitec цифровые сервомашинки перекладывают качалку на 60 градусов за 0,07 секунды с моментом 20 кг/см! Т.е. от нуля подъемной силы на ВИШе до максимума - 0,07с! Мотор отреагирует быстрее?
транскодер позволит использовать _любой_ коптерный полётный контроллер, даже если он и не может выдать 50Hz
Как я написал в самом первом своем посте - я изначально рассматриваю применение только цифровых сервомашинок! А они будут работать на частоте, максимально возможной для контроллера.
Поэтому необходимости в транскодере не должно быть.
серв, которые смогут работать на 490Hz не так и много
Не совсем так. Просто цифровые сервы дороже, и их у нас реже используют, видимо…
Так как только тот же Hitec выпускает больше 30 разновидностей различных по мощности, размерам и исполнению…
Серва - очень медленное устройство
Я уже написал про 0,07с от упора до упора…
Далее будет борьба с PID, возможно и получиться на адекватную работу
Скорее всего Вы правы!!! Так и будет. Надеюсь - поборю! 😃
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
Теперь бы еще определиться - какой контроллер использовать?
Так как основные требования - стабильный полет и висение (маневренность - интересует постольку- поскольку…) - хотелось бы подобрать контроллер, который имеет как можно меньше глюков, и имеет возможность подключения датчиков обеспечивающих стабильность - баро, GPS, ультразвук, оптика…
Советовали Pixhawk 3DR…
У кого есть совет?
Никто не оспаривает очевидное! Только вот речь здесь идет о возможности подключения к УЖЕ СУЩЕСТВУЮЩИМ контроллерам с УЖЕ НАПИСАННОЙ ПРОШИВКОЙ!
Вы не оспариваете, вы просто не понимаете очевидного. Нет такого контроллера с уже существующей прошивкой, которая бы схему стингрей 500 поддерживала (управление тягой каждого из n моторов шагом пропеллера), в том числе ни для пиксхавка, ни для ардупилота, ни для прочих, кроме самого стингрея, прошивку от которого вы никуда не зальете. А вы тут возможность подключения серв к ПК обсуждаете, нет никаких проблем с подключением, хоть у аналоговых, хоть у цифровых серв.
Я опирался на статью на этом же сайте - 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 для этой задачи скорее всего будет достаточен. Да и код его править проще.
Вы не оспариваете, вы просто не понимаете очевидного. Нет такого контроллера с уже существующей прошивкой, которая бы схему стингрей 500 поддерживала
Что, на Ваш взгляд, помешает обычному контроллеру стабилизировать аппарат такой схемы? Если можно - хоть чуть чуть конкретики.
То что без специализированноего софта(прошивки) эффективность управления будет низкая я понимаю.
Вы можете очень просто проверить - возьмите осциллограф и посмотрите
Да у меня нет оснований спорить по этому вопросу! У Вас - практический опыт. А я опирался на статью. Поэтому, видимо она несколько устарела в этом утверждении.
Буду знать, спасибо!
Механика принципиально не может быть быстрее электроники.
А вот тут - КОРЕНЬ типичной ошибки!!! Само утверждение - безусловно верно! И спорить глупо. НО!!! После того, как откроется полевой транзистор - наступает время механики! Того же самого мотора! Да еще вращающего винт - т.е. обладающего тоже, хоть и не такой большой (в силу малой массы), но все же инерцией!
А мы ведь говорим о времени реакции не отдельных узлов или компонентов, а о времени реакции системы.
Поэтому тут можно только гадать, что быстрее. Скорее всего - на маленьком коптере быстрее будет все-таки традиционная схема. Но с ростом размеров (а следовательно - и массы (читай - инерции) винтов) - коптер с ВИШами может (И ДОЛЖЕН!!!) оказаться “шустрее”!
Пикс конечно лучше, но и APM для этой задачи скорее всего будет достаточен.
За совет - искреннее спасибо!
Да и код его править проще
ОЧЕНЬ прошу - уточните, почему? Т.к. для меня это ОЧЕНЬ ВАЖНО. Хотя я и не собираюсь (в силу неумения) ковыряться в прошивке. А там - Бог его знает… Но хотелось бы (очень надеюсь) обойтись настройками!
Вам бы хотя бы стабильно держать аппарат в воздухе
Вот это - для меня не ХОТЯ БЫ, а ЦЕЛЬ!!! Маневренность и т.д. - вторичны!!!
Что, на Ваш взгляд, помешает обычному контроллеру стабилизировать аппарат такой схемы?
Согласен с замечанием! Проблемы чаще всего не в неспособности контроллера, а в куче ошибок при создании аппарата - недостаточная развязка от вибрации (т.е. контроллер просто НЕ МОЖЕТ корректно работать), недостаточная эффективность и ЧЕТКОСТЬ “исполнения” сигналов - ремни в приводах больших винтов (а там уже сильно начинает проявляться инерция), и т.д…
без специализированноего софта(прошивки) эффективность управления будет низкая
Это тоже правда! Однако основной вопрос - хватит ли этой низкой эффективности? Если все-таки хватит - ну и фиг с ней, что она не настолько “вылизана”… Лишь бы без глюков!
Цитата Сообщение от schs Посмотреть сообщение Да и код его править проще ОЧЕНЬ прошу - уточните, почему? Т.к. для меня это ОЧЕНЬ ВАЖНО. Хотя я и не собираюсь (в силу неумения) ковыряться в прошивке. А там - Бог его знает… Но хотелось бы (очень надеюсь) обойтись настройками!
Конкретно для меня - писал всякую мелочь под arduino, правил несложные программы на C. То есть затратив некоторое количество времени можно разобраться в коде и возможно поправить под себя. В коде PixHawk опять, же для меня, уже существенно сложнее, незнакомый процессор.
Однако основной вопрос - хватит ли этой низкой эффективности?
Висеть и спокойно перемещаться скорее всего хватит.
Попробуйте, надеюсь у Вас получиться.