Разработка самодельных пультов Power Functions (PF)

Раздел для обсуждения наборов серии Technic, разных механизмов и конструкций. А также роботов на основе Mindstorms.

Модераторы: Snake, SteelGhost, AmbiDexter

Автор
Сообщение
dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Разработка самодельных пультов Power Functions (PF)

#1 Сообщение dadigor » Ср фев 04, 2009 11:40 pm

Купил себе 8275 с учетом того, что кроме получения удовольствия от набора, хотелось бы поэкспериментировать с системой команд RC PF - основываясь на вышеупоминавшемся документе http://www.philohome.com/pf/LEGO_Power_Functions_RC.pdf.
Для экспериментов пришлось сделать что-то вроде эмулятора пульта, основываясь на том железе, которое у меня уже было сделано для других целей. Не буду описывать как, но теперь есть возможность проверить воздействие передаваемых по ИК-каналу команд на имеющиеся в наборе приемники.
Исходил из того, что, как говорится, "по уму" приемники http://www.peeron.com/inv/parts/58123cx1 должны выполнять весь описанный в документе спектр команд, в отличии от пульта http://www.peeron.com/inv/parts/58122cx1, который явно не рассчитан на выдачу таких команд, как команды управления в режиме PWM. Таким образом LEGO оставило бы для себя (и нас) возможность изменить управление имеющимися устройствами PF с помощью имеющихся у нас приемников и ожидаемых к выпуску новых пультов PF с пропорциональным управлением.
Для себя я обозначил ряд вопросов, на которые надо ответить с помощью экспериментов.

Первая задача, которую себе ставил - управление моторами в режиме Combo PWM.
Этот режим, судя по описанию, должен позволять устанавливать/менять скорость и направление движения двух моторов одновременно по одному каналу с помощью одной команды.
Это получилось, результат - команды управления моторами в режиме PWM вышеуказанные приемники принимают и обрабатывают правильно.
Моторы крутятся и в том и в другом направлении вращения, по 7 ступеней скоростей в каждую сторону. Step 1 означает минимальную скорость вращения, сответственно step 7 - максимальную.
Менять направление движения и скорость у двух моторов можно одновременно и в любом порядке.
Несколько нелогичной (для меня - ИМХО) показалось система изменения кодов команд, принятая для изменения скорости и направления , тем не менее она полностью соответствуют описанию.
При наращивании кода от 0000 до 1111, неработающий мотор (0000) постепенно набирает обороты вращения по часовой стрелке (смотреть со стороны паза для осей) до максимума (0111), потом тормозит (1000), затем врубается на полные обороты против часовой стрелки (1001) и потом уменьшает обороты вращения в ту же сторону до минимума (1111).

PS
Если есть вопросы по этому режиму - любые, задавайте прямо сейчас.
Если есть вопросы по другим режимам, а также по работе с разными каналами и т.д. и т.п., могу публиковать такого рода отчеты по мере изучения, что сильно зависит от моего свободного времени.
Если это не интересно - напишите прямо, я не обижусь, ковыряюсь в общем-то для себя, естественно. А писАть дальше зазря будет несколько обидно )))
Последний раз редактировалось dadigor Чт фев 05, 2009 4:58 pm, всего редактировалось 1 раз.
dadigor
О технике чего спорить-то. Давайте попробуем!

Hor
Основатель
Аватара пользователя
Сообщения: 10106
Награды: 1
Контактная информация:

Амбассадор

Re: LEGO Power Functions (PF) FAQ (пока in english)

#2 Сообщение Hor » Ср фев 04, 2009 11:43 pm

Можно про железо поподробнее? Больше всего меня интересует - если к компьютеру (ноутбуку) прицепить IR передатчик, реально наладить через него управление PF? В смысле "железо" - тоже самое, с программный управлением, положим, проблем не будет.
Подпись

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#3 Сообщение dadigor » Чт фев 05, 2009 12:05 am

Честно говоря к писюку не пробовал цеплять, для имитации пульта надо рожать на каком-то выходе логические последовательности с таймированием на 1/(38 х 2) = 13 мксек, не знаю, позволит ли это делать операционка. Такое таймирование, да еще на каком выходе? Мне казалось, что это не просто, хотя наверное какой нибудь TxD от RS-232 попробовать можно... Врать не буду, в писюковых возможностях не силен.

У меня есть программируемое мною )) железо, пишется что надо на С или СРР, в железе есть логические выходы, на один я и прицепил ключик с ИК-светодиодом. Управляется железо с помощью рисуемых мною )) кнопок на цветном сенсорном экранчике. Давишь на экран - рожаешь команду RC PF или последовательность из нескольких команд. Для пульта сенсорный экран будет неудобен, но для эмуляции пульта мне этого хватает на 100%.
Это немножко оффтопик, наверное о моем железе достаточно.
dadigor
О технике чего спорить-то. Давайте попробуем!

SteelGhost
Модератор
Аватара пользователя
Сообщения: 1888
Награды: 6

За 1 место в конкурсе Помощь в фестивале DoubleBrick Участник Фестиваля DoubleBrick Участник НТС
Участник Truck Trial

Re: LEGO Power Functions (PF) FAQ - немножко, но по-русски

#4 Сообщение SteelGhost » Чт фев 05, 2009 12:22 am

dadigor писал(а):
Если это не интересно - напишите прямо, я не обижусь, ковыряюсь в общем-то для себя, естественно.
Это безумно интересно! Т.к. от лего мы очень не скоро дождемся порядочный пульт, а управлять по человечески моделями хочется уже сейчас :)
Изображение
"Неважно, скольких людей я убил.
Важно, что я думаю о еще живых!"

ZED
Аватара пользователя
Сообщения: 3360
Награды: 8
Контактная информация:

За 1 место в конкурсе За 2 место в конкурсе Участник Фестиваля DoubleBrick Участник НТС

Re: LEGO Power Functions (PF) FAQ (пока in english)

#5 Сообщение ZED » Чт фев 05, 2009 2:57 am

dadigor
Интересное совпадение, я с напарником как раз начали разработку пульта для ПФ с полным функционалом.

Собрали программатор для ЛПТ-порта, но столкнулись с необходимостью тактового генератора. Тот что в схеме - никакой, подскажи, стоит вешать внешний "кварц" или есть другие способы?

Еще вопрос по поводу аналогового управления частотой оборотов. Менять скорость кнопками жутко неудобно, как лучше подружить пульт со стиками (как в плейстейшинах)? Нужно ли подключать внешний АЦП или есть схемы со встроенными?

И еще очень интересно подробнее узнать про твой хард, управление тачскрином - это вообще из области фантастики!

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#6 Сообщение dadigor » Чт фев 05, 2009 11:44 am

Напиши по подробней насчет программатора, что, как схема и т.п. - я помогу. Хотя мне уже тоже стало интересно электронику для пультика полновесного сгородить. А вот с механикой мне труднее, нет базы для этого.
Джойстики надо конечно ставить аналоговые, а процессор со встроенным АЦП, сейчас их полно.
Точности АЦП 8 бит за глаза хватит - у нас всего 15 градаций - середина (тормоз) и по 7 ступеней мощности в обе стороны.
Кварц лучше поставить, чтоб все это кино не плавало во времени. Хотя я попробовал покачать временные характеристики сигналов - приемник относится к ним вполне лояльно.
dadigor
О технике чего спорить-то. Давайте попробуем!

Vidocq
Аватара пользователя
Сообщения: 5827
Контактная информация:

Re: LEGO Power Functions (PF) FAQ - немножко, но по-русски

#7 Сообщение Vidocq » Чт фев 05, 2009 11:56 am

dadigor писал(а):Если это не интересно - напишите прямо, я не обижусь, ковыряюсь в общем-то для себя, естественно.
Как оказалось, здесь есть народ, которому это интересно. Не ожидал.

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#8 Сообщение dadigor » Чт фев 05, 2009 1:20 pm

А я как раз надеялся и верил...

Но для начала надо определиться с составом пульта. Я рассчитываю сделать 4 канала одновроеменно в одном пульте.
То есть что к ним подключать, имея в виду, что на канал приходится по 2 управляемых устройства.
Кроме пропорционалки, надо еще наверное управлять элементами освещения или т.п. другими, работающими в режиме Вкл/Выкл.
В общем, структуру пульта надо обсудить.
И хорошо бы, чтобы кто-то мне с механикой помог.
dadigor
О технике чего спорить-то. Давайте попробуем!

Hor
Основатель
Аватара пользователя
Сообщения: 10106
Награды: 1
Контактная информация:

Амбассадор

Re: LEGO Power Functions (PF) FAQ (пока in english)

#9 Сообщение Hor » Чт фев 05, 2009 1:35 pm

Что-то вы слишком глубоко копать стали. Мне кажется, что какого-нибудь примитивного IrDa адаптера в USB порт должно хватить. Именно в USB - про COMM не уверен, но возможно и он сгодится, но USB сейчас гораздо распространённее. Тогда джостик можно брать какой-нибудь обычный.

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

P.S. Сигналы типа вкл/выкл можно будет вешать на кнопки, которых в дожйстиках обычно дофигища много.

P.P.S. А если вместо джойстика взять руль, вместо IrDa Bluetooth, вместо IR приёмника NXT, то можно реально колёсами управлять "как надо" - в зависимости от угла поворота руля. Но этим мы займёмся чуть попозже.
Подпись

Dan
Основатель
Аватара пользователя
Сообщения: 9877
Контактная информация:

Re: LEGO Power Functions (PF) FAQ (пока in english)

#10 Сообщение Dan » Чт фев 05, 2009 1:54 pm

dadigor, это безумно всем нам интересно! Описывайте, пожалуйста, все как можно подробнее, эта информация нам всем очень интересна и будет крайне полезна!

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#11 Сообщение dadigor » Чт фев 05, 2009 11:45 pm

George писал(а): 8293, 8297 - ББ, М-мотор, лампочки и Ресивер.
Я сначала возрадовался, но Ресивер оказался Реверсером: http://www.peeron.com/inv/parts/61929c01 Увы.
dadigor
О технике чего спорить-то. Давайте попробуем!

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#12 Сообщение dadigor » Чт фев 05, 2009 11:50 pm

Перешел к задаче номер два - управление по нескольким каналам с одного пульта.
Времени было мало, но попробовал управлять четырьмя моторами по двум каналам с одного пульта в режиме Combo PWM.
Результат - получилось. Т.е. два пропорциональных канала на двух приемниках с одного пульта работают нормально. Про остальные режимы - думаю, что все будет работать.
Конечно попробую разные режимы обязательно.
Больше приемников у меня нет, пробовать четыре канала с одного пульта не получается, хотя потенциально - могу. Надо как-то добыть еще пару приемников с 4-мя моторами.
Кто может что присоветовать - буду рад.
Нужны также шлейфики для подключения исполнительных элементов к приемникам, или штатные нагрузки типа лампочек (светодиодов) для PF.

И спасибо всем, кто меня поддержал морально. ))
dadigor
О технике чего спорить-то. Давайте попробуем!

ZED
Аватара пользователя
Сообщения: 3360
Награды: 8
Контактная информация:

За 1 место в конкурсе За 2 место в конкурсе Участник Фестиваля DoubleBrick Участник НТС

Re: LEGO Power Functions (PF) FAQ (пока in english)

#13 Сообщение ZED » Пт фев 06, 2009 12:16 am

dadigor писал(а):Напиши по подробней насчет программатора, что, как схема и т.п. - я помогу
Программатор для ЛПТ порта простой до неприличия. По сути это просто разъем с кучей проводов, которые паяются к ногам микрухи. Софт качается под конкретную микросхему. Микруха пока для эксперементов взята элементарная, на 10 ног, без АЦП.
dadigor писал(а):А вот с механикой мне труднее, нет базы для этого.
Я думал вживить это добро в какой-то хороший геймпад, с парой стиков (читай: с двумя аналоговыми осями) и кучей кнопок. Чтоб можно было управлять сразу всеми четырьмя каналами. В такую конструкцию можно установить несколько мощных ИК-светодиодов и тогда снимается проблема небольшого радиуса действия стандартного пульта.
Hor писал(а):Итого, вся консрукция выглядит следующим образом - человек в руках держит джойстик, подключённый к ноутбуку, в джойстику скотчем примотан IrDa адаптер - чтобы его можно было направлять, сам адаптер через удлинитель также подключается к компьютеру, который висит в рюкзаке за спиной. На компьютере крутится несложная программа, которая опрашивает джойстик и выдаёт сигналы.
Какой ужас! :shock: Я уже представляю себе наших пилотов с такими "рюкзачками" :mrgreen: . Вот это уж точно тупиковый вариант. Вся суть в том, чтоб пульт был удобным и недорогим, тем более что все возможности для этого есть.
dadigor писал(а): Т.е. два пропорциональных канала на двух приемниках с одного пульта работают нормально. Про остальные режимы - думаю, что все будет работать.
У тебя физически это работает через один ИК-светодиод?

dadigor
Аватара пользователя
Сообщения: 291
Награды: 1

Участник Фестиваля DoubleBrick

Re: LEGO Power Functions (PF) FAQ (пока in english)

#14 Сообщение dadigor » Пт фев 06, 2009 12:25 am

ZED писал(а):У тебя физически это работает через один ИК-светодиод?
Естественно, собственно в этом-то и была моя задача номер два. Иначе это было бы просто два пульта...
И четыре канала тоже пойдут через один ИК-светодиод, ну или несколько светодиодов для умощнения, но на одном ключе.
Теоретически это было ясно и до опытов, из "Основополагающего Документа От ЛЕГО" )) , просто эксперименты доказали, что несложное железо и несложный софт это делают.
dadigor
О технике чего спорить-то. Давайте попробуем!

Hor
Основатель
Аватара пользователя
Сообщения: 10106
Награды: 1
Контактная информация:

Амбассадор

Re: LEGO Power Functions (PF) FAQ (пока in english)

#15 Сообщение Hor » Пт фев 06, 2009 3:16 am

ZED писал(а):Какой ужас! :shock: Я уже представляю себе наших пилотов с такими "рюкзачками" :mrgreen: . Вот это уж точно тупиковый вариант. Вся суть в том, чтоб пульт был удобным и недорогим, тем более что все возможности для этого есть.
А теперь представь типичного человека, у которого нет ни то что микросхемы, даже паяльника. Что для него проще - купить N готовых, промышленно производимых и легко доступных элементов, соединить их между собой или искать того, кто спаяет ему малюсенькую схемку? Да будь она в 100 раз дешевле, необходимость квалифицированных монтажных работ и комплектации (микросхему тоже нужно купить, в специальном магазине) резко ограничивают доступность пульта.
Подпись

Ответить

Вернуться в «Технодром»