Вопрос по управлению роботом на сервомоторах.
- Войдите на сайт для отправки комментариев
Уважаемые форумчане, доброго всем дня.
Мой сын занимается в кружке робототехники, ну и я с ним заодно, куда ж без этого. В процессе нашего общего роботостроительного познания мы сделали шестилапого робота на базе Меги 2560 с сервошилдом и 12 сервомоторами SG90 (по 2 на ногу). Управление осуществляется с помощью ИК-пульта от "триколора". Есть 2 алгоритма движения, в общем, всё хорошо. Кстати, большое спасибо всем форумчанам, кто потратил своё время и знания на помощь в программировании.
Робот представляет, по сути, ходовой макет для отработки разных решений. И вот возникла потребность сделать следующий шаг, а именно перевести робота на более продвинутое управление.
Вот тут и появилась дилемма. Какой тип управления выбрать.
1. Радиоканал с модулем нрф24. Плюсы: модуль стоит копейки, дальность действия приемлемая, энергопотребление низкое. С минусами сложнее. Во-первых нужен джостик (к примеру от PS2, самому собирать джостик не хочется). Допустим джостик от PS2 есть, но как его привязать к меге с помощью нрф? Нужно же установить связь передатчик-приёмник. Если нрфки шьются соответствующими скетчами в которых им привязываются специальные коды, то как быть с джостиком? Во-вторых многие жалуются на то, что нрф24 плохо дружат с мегой 2560, ибо 3,3В на меге плохо стоит и нужно отдельно городить стабилизированное 3,3В, а на нрф нужно ещё кучу всякой требухи припаивать. Или это всё происки врагов?
2. Радиоканал по Блютуз. Плюсы: тоже недорогой, вроде как проще программить, есть специальные программные конструкторы для смартфонов, чтоб городить управление, не надо ничего допиливать. Минусы: энергопотребление выше, дальность действия низкая.
3. ВайФай управление. Плюсы: вроде как отличная дальность действия, вроде тоже есть конструкторы для создания управления, тоже ничего не надо паять. Минусы: самое большое энергопотребление. У меня сейчас робот ходит на 4-х пальчиковых батарейках, а если прикрутить вайфай, надо думать о другом питании.
4. Квантово-гравитационное управление. Плюсы: дальность дейстия - неограничена, энергопотребление -сверхнизкое, быстродействие - мгновенное. Минусы: нет, но такой системы не существует.
Вот, собственно, варианты. Посоветуйте, пожалуйста, какой вариант управления наиболее приемлемый, не обязательно из моего списка. Заранее спасибо.
Мы делали по радио-каналу - самое простое решение.
Джойстик покупается на ali за 40 рублей и подсоенидяется к меге или любой другой ардуине десятком строк кода. У него есть проблемы с центровкой, но Вам же не нужно все 1024 градации наклона? Мы ограничились 16 и все проблемы снялись - отлично работает.
А про "Квантово-гравитационное управление" подумайте - интересно.
вот такой интересный вариант
хотя с телефона можно конечно
вот такой интересный вариант
Симпатичный! Добавил в wish-list
Спасибо большое. В случае с ардуиноджостиком нужно исхитриться реализовать 2 алгоритма движения - "групповой шаг" и "последовательный". Нужны дополнительные кнопки, например, для переключения режимов движения, заснуть-проснуться и т.д. На ИК-пульте я просто привязал навигационную и цифровую клавиатуры к режимам. Блютуз-геймпад прикольная вещь, но мне кажется кнопок маловато. Наверное придётся городить ардуиноджосик под себя.
Спасибо большое. В случае с ардуиноджостиком нужно исхитриться реализовать 2 алгоритма движения - "групповой шаг" и "последовательный". Нужны дополнительные кнопки,
так это же джойстик, а не готовый пульт. Да, нужны кнопки. Мой внук ещё и энкодер зачем-то хочет присобачить - это он типа пульт делает :)
на джойстике от ps2 кнопок много
на джойстике от ps2 кнопок много
вот в том и вопрос, джойстик от ps2 нормально свяжется с ардуино с нрф или надо что-то ещё к нему допиливать?
да что допиливать? все работает. и там свой приемник
тут видео есть
http://arduino.ru/forum/proekty/tank-upravlyaemyi-dzhoistikom-ps-2#comment-36296
В передатчике и в приёмнике должны совпадать типа адреса
const uint64_t pipe = 0xE8E8F0F0E1LL в примере; джойстик от PS2 генерирует нужный адрес? Или его надо считать как-то? Вашу ветку про ПТСАУ я читал, жаль что скетч с яндексдиска улетел, я бы нарыл в нём что-нибудь полезное. Так как я не программёр, приходится своим скудным умишком доходить, а потом сыну рассказывать.
приемник идет в комплекте с беспроводным пультом от ps2. адреса уже прописаны. все что нужно это считать данные с приемника. библиотека есть, все просто достаточно. подключи правильно (в той теме уже давал как подключать), залей пример и все сразу понятно станет. ты далеко не первый человек что будет подключать. сам недавно код писал человеку для его игрушки. с пультом проблемм нет. код дать не могу
Большое спасибо. В основном, всё ясно. Буду работать в этом направлении.
приемник идет в комплекте с беспроводным пультом от ps2. адреса уже прописаны. все что нужно это считать данные с приемника. библиотека есть, все просто достаточно. подключи правильно (в той теме уже давал как подключать), залей пример и все сразу понятно станет. ты далеко не первый человек что будет подключать. сам недавно код писал человеку для его игрушки. с пультом проблемм нет. код дать не могу
jeka_tm, а с инициализацией джоя проблем не было? Сам сейчас ковыряю Exeq Gamehunter WR, так с дуней он никак не хочет работать. Джой ждет подключения, но ресивер поиск не ведет. От компьютера и первой соньки все работает. Библиотека Billa Portera.
а вообще рабочий? на приставке может проверял. приемник сам вроде коннектится, иногда пульт приходится выключать включать когда не могут соеденится. но скорее всего ты не тот канал выставил на пульте и джойстике. проверь сначала отдельно работу, а потом уже к ардуине
Джойстик рабочий. На соньке в играх работает, на компе в NES-эмуляторе тоже, опрос кнопок проходит. Похоже придется городит тест на SPI и мониторить USB порт, смотреть, есть ли еще какие коды.
PS дуня мега и нано.
подключал так?
и пример не работает с этой либой?
На оба вопроса да. В мониторе выдает такую картинку:
если все правильно сделал значит твой контроллер просто не поддерживается, с дешевыми китайскими таких проблемм не было
http://www.billporter.info/2011/03/27/arduino-playstation-2-controller-l...
попробуй с резисторами как на сайте
Подтяжку даты делал, с ограничительными резисторами нет (нету дома резиков, а сам в отпуске). Значения CTRL_CLK в библиотеке тоже менял, как включение-отключение программной подтяжки там же.
PS списался с работой, вечером подвезут - попробую.
значит твой просто не поддерживается
значит твой просто не поддерживается
Тоже уже к этому склонялся, буду пробовать на аппаратном SPI завести, хотя бы инициализацию прогнать. Есть подозрения на рассинхронизацию в Soft SPI.
С резисторами не прошло, будем думать над SPI.