суббота, 23 июня 2012 г.

Больше, чем три мотора к одному NXT? Почему нет?!

Фотографии взяты из этой статьи.

Для многих, кто хочет делать продвинутые устройства из Lego Mindstorms NXT, возможность подключить только три мотора к NXT блоку является существенным ограничением.
Один из способов обойти это - сделать механические мультиплексор. Как это было показано здесь и здесь. У него, без условно, есть ограничения - нужно много шестерней и конструкция становиться очень большой.

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

Остается еще несколько способов, о которых поговорим ниже.

Дело в том, что в комплекте с базовым образовательным набором Lego Mindstorms (#9797 LEGO Education Base kit) идет кабель-переходник (#8528 NXT Converter cable), предназначение которого - предоставить возможность подключить RCX моторы и сенсоры к NXT блоку. Но у него обнаруживается и другое применение. Что если RJ-разъем каждого кабеля включить не в блок, а моторы, а свободные контактные элементы (в виде пластины 2x2 кнопки) соединить между собой.

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

Если сейчас подать напряжение на разъем, к которому подключены связка двигателей, то начнут двигаться и тот и другой. При этом, меняя расположение соединительных пластин, можно заставить двигаться моторы в разном направлении.

У данного подхода тоже есть ограничения:
  • Моторы нельзя заставить двигаться по отдельности
  • В программе больше нельзя использовать функции работы с енкодерами, т.е. нельзя больше сказать - "мотор сделай 2 оборота" или "мотор повернись на 90 градусов". Но остается все еще возможность управлять моторами по времени - "мотор двигайся в течение 5 секунд"
Но для многих, скорее всего, данные ограничения будут достойной платой за возможность подключения большего количества моторов.

Следующий способ непроверенный - его оригинал может быть найден на сайте mindstorms.lego.com. Способ заключается в том, чтобы подключить несколько RCX моторов к NXT блоку используя тоже кабель-переходник и ... входы для сенсоров.

Автор сего способа описывает при этом работу с такими моторами следующим образом:
  • Когда вы хотите включить мотор, используйте в NXT-G блок работы с сенсором расстояния (ultrasonic), настроенный на работу с портом, куда подключен мотор
  • Когда вы хотите выключить мотор, используйте блок сенсора касания, также настроенный на работу с этим портом
Когда программа встречает блок работы с сенсором расстояния, блок начинает подавать напряжение на порт и мотор начинает вращаться. Когда встречается блок работы с сенсором касания - напряжения на порт перестает подаваться.

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

Если есть у кого возможность - попробуйте этот способ и оставьте комментарий - работает он или нет.

1 комментарий:

  1. Перевод гугла одного из комментов на оригинальном сайте "На самом деле, я не уверен, я бы это сделать. в то время как датчик порты могут обеспечить достаточное напряжение для управления двигателем, есть очень жесткие ограничения на количество тока они могут поставлять - то двигатель * будет превышать *, легко, если под нагрузкой. Это может "затемнение" других датчиков. Или, наоборот, ЭДС от двигателя может привести к повреждению входных портов при некоторых условиях. IMS, ограничение тока из этих портов составляет около 15 мА, в то время как двигатели могут легко привлечь 500 мА."

    ОтветитьУдалить

Related Posts Plugin for WordPress, Blogger...