Форум myROBOT.ru » Лаборатория » Электронная мастерская » электронный аналог дифференциала для колёсного робота

Страниц (1): [1]
 

1. ibliz - 15 Августа, 2016 - 08:25:07 - перейти к сообщению
День добрый!
Подскажите, существуют реализация электронного аналога дифференциала для ровера (колёсного робота)? Для той ситуации, когда каждое колесо имеет свой движок и их необходимо синхронизировать между собой.

Поясню, почему спрашиваю об этом. Как мне представляется, для ровера с 4 и более колёсами желательна синхронизация двигателей по тяге. По нескольким причинам (как минимум):
1. Уменьшение нагрузки на редукторы двигателей за счёт синхронизации "силы кручения".
2. Меньше расход энергии.
3. Езда ровера будет в заданном направлении не только по ровной поверхности, но и по неровной (когда колёса проходят разную длину пути).

Традиционный механический дифференциал предназначен для деления мощности двигателя так, чтобы на каждом колесе был одинаковый крутящий момент. И это позволяет решить задачу прямолинейной езды на неровной поверхности, а также синхронизации поворачивающихся колёс (в обоих ситуациях колёса проходят разную длину пути). У механического дифференциала есть и недостаток: если одно из двух колёс на одной оси не имеет сопротивления с дорогой (например, вывешено на неровной дороге, или попало на скользкую поверхность), то это колесо будет быстро вращаться, а второе колесо на этой же оси - стоять на месте. Для решения этой проблемы применяют электронную блокировку дифференциала, но это усложняет конструкцию, конечно же.

В общем, ищу реализацию электронного аналога дифференциала для ровера, у которого 4 и более колеса и к каждому подключён свой двигатель. Пока сколько не искал - ничего толкового не нашёл...

Да, как я понимаю, в роверах часто для синхронизации двигателей используют энкодеры (датчики Холла), чтобы видеть скорость вращения каждого движка. Но - согласитесь - этого ведь недостаточно! Если, например, мы имеем ситуацию, когда все колёса двигающегося ровера цепляются за ровную поверхность и не прокручиваются, то они и будут в любом случае вращаться с одинаковой скоростью, даже если на движках будет разная тяга. Просто нагрузка на одни движки будет больше, чем на другие, и они, соответственно, будут в большей степени участвовать в "толкании" ровера вперёд.

То есть помимо энкодера (который, вероятно, тоже нужен), необходим датчик текущего крутящего момента на каждом колесе. Такие датчики используются в автомобилестроении, но они достаточно громоздки и дороги. Возможно кто-то знает недорогие и небольшие альтернативы? Или другие пути решения, помимо использования таких датчиков?
2. Predator - 16 Августа, 2016 - 10:51:23 - перейти к сообщению
у электрических двигателей мощность довольно стабильная величина - при отсутствии нагрузки вырастают обороты (в определенных пределах) и если (допустим) левые колёса пробуксовывают, то у них вырастут обороты->контроллер сбросит мощность (даст на них меньше электричества)->правыми колёсами ровер выгребет до того места, где левые колёса уже не буксуют->контроллер даст электричества сколько надо. Естественно при всех этих приключениях ровер повернется налево но при пробуксе одной стороны сложно представить, как можно сделать иначе (не вешать-же гироскоп, чтобы повороты отслеживать).
3. ibliz - 16 Августа, 2016 - 23:45:41 - перейти к сообщению
Predator пишет:
у электрических двигателей мощность довольно стабильная величина - при отсутствии нагрузки вырастают обороты (в определенных пределах) и если (допустим) левые колёса пробуксовывают, то у них вырастут обороты->контроллер сбросит мощность (даст на них меньше электричества)->правыми колёсами ровер выгребет до того места, где левые колёса уже не буксуют->контроллер даст электричества сколько надо. Естественно при всех этих приключениях ровер повернется налево но при пробуксе одной стороны сложно представить, как можно сделать иначе (не вешать-же гироскоп, чтобы повороты отслеживать).

Вы имеете ввиду контроллер, который управляет движками? Так его же ещё сделать надо Улыбка
Вот вопрос и стоит в том, как сделать такой контроллер: какую он должен получать обратную связь, чтобы принимать решение о регулировке скорости двигателей...
4. Predator - 18 Августа, 2016 - 10:28:50 - перейти к сообщению
да, я имею ввиду именно контроллер, который управляет движками.
сделать его надо из любого микроконтроллера (тут уже от фантазии зависит).
входы в микроконтроллер (обратная связь) от энкодеров (любых)
выходы из микроконтроллера - ну обычно сигнал ШИМ, если драйвер двигателя навороченый - то под этот драйвер.
5. ibliz - 18 Августа, 2016 - 11:11:28 - перейти к сообщению
Допустим, что я сам делаю контроллер, управляющий движками. Да, на выходе нужен ШИМ, чтобы регулировать скорость оборотов каждого двигателя. Так вот вопрос: достаточно ли обратной связи только от энкодеров (которые всего лишь получают инфу о скорости вращения колёс) для полноценного управления ровером? Ведь далеко не всегда просто кручение колёс с одинаковой скоростью даёт эффект прямолинейного движения.
Пример: если ровер едет по неровной поверхности одной стороной (ямка или кочка), то колёса на этой стороне будут проходить путь длиннее, чем другая сторона (колёса которой едут по прямой), и если всё колёса крутятся с одинаковой скоростью, то получается, что ровер будет поворачивать, а не двигаться прямо.

И ещё есть проблема неравномерной нагрузки на редукторы двигателей, из-за чего они могут быстрее изнашиваться, если мы получаем данные только от энкодеров.
Пример: имеем 6-колёсный ровер, каждое колесо которого имеет хорошее сцепление с дорогой и ровер двигается прямо по ровной поверхности. Допустим, мы получаем данные от энкодеров на каждом колесе и каждое колесо является ведущим (т.е. формула 6х6). Подавая одинаковое напряжение на все движки, мы не получим одинаковый крутящий момент на каждом из них в силу того, что каждый экземпляр движка немного отличается от другого и имеет разное внутреннее сопротивление, разный КПД. Но при этом, если все колёса ровера имеют хорошее сцепление с дорогой и не проскальзывают, они будут в большей или меньшей степени участвовать в его движении вперёд. Вопрос в том, что нагрузка на каждый движок в итоге будет разной! Но энкодеры будут показывать одинаковую скорость на каждом движке, т.к. колёса не пробуксовывают.
6. Predator - 22 Августа, 2016 - 10:06:29 - перейти к сообщению
ну в чистом виде энкодер показывает угол поворота, астатизм системы на 1 выше, чем у тахометра.
Тем не менее для уверенности в линейном движении этого явно не достаточно(проскальзывание никто не отменял), можно подумать на тему датчиков тока на каждом из двигателей - они покажут нагрузку на вал (в том числе в динамике), но пределы колебаний уж очень небольшие по сравнению с собственными отклонениями двигателей (хотя может калибровка поможет).
Ну и МЕМСы всякие, которые в комплекте имеют магнитометры, акселерометры и гироскопы тоже может что-нибудь покажут...
7. ibliz - 22 Августа, 2016 - 23:48:42 - перейти к сообщению
Predator пишет:
Тем не менее для уверенности в линейном движении этого явно не достаточно

Согласен! Проскальзывание колёс плюс разный путь, который колёса будут проходить на ямках и кочках, из-за чего движение может быть не прямолинейным.

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

Думал тоже насчёт датчиков тока, однако движки все разные и потребление тока у них будет разное даже при одинаковых оборотах (хотя бы из-за разного внутреннего сопротивления). Возможно, калибровка движков перед началом движения и помогла бы, но это будет всё равно полумера: во-первых, под нагрузкой они могут везти себя по-другому, а во-вторых, в процессе езды могут меняться их свойства (хотя бы из-за нагрева, например). Короче говоря, не совсем грамотный путь...

Predator пишет:
Ну и МЕМСы всякие, которые в комплекте имеют магнитометры, акселерометры и гироскопы тоже может что-нибудь покажут...

Да, тоже полезные вещи, если использовать их как дополнение к остальным датчикам.

Упирается многое в снятие именно крутящего момента на каждом колесе. Как я понимаю, существуют такие датчики. Например:
http://www.kwt.ru/catalog/datchi...nta-t4a-t4wa-s3/

На практике кто-то использовал их, интересно?