Phantom's Brick Архив

Главная -> LEGO® Форум -> LEGO® Город

Создание новой электроники для поездов Lego от MikeK

MikeK, 2015-08-18 19:59:57 +00:00

Добрый день.

Столкнувшись с недостатками или нехваткой нужного функционала электроники Lego, используемой для моторизации поездов, задумались над созданием собственной электроники, исключающей данные недостатки. Хотел бы тут поделиться своими мыслями и получившимися результатами и спросить совета у форумчан.

I. Постановка проблемы. Недостатки стандартной электроники Lego.

1. Большое потребление тока в режиме ожидания. Стандартный ИК-приемник (Power functions receiver unit) в режиме ожидания потребляет 18 mA, что при стандартной емкости батареек типа ААА в 1000 mAh позволяет ему непрерывно работать не более 55 часов, т.е. чуть более 2 дней. А если поезд будет не просто стоять, а еще и ездить, то время активной работы сильно сократиться, что неудобно.

2. Необходимость вручную управлять движением поезда. Т.е. включать и выключать его. Что неудобно при интенсивном использовании поезда.

3. Малая емкость батареек или аккумуляторов ААА, что приводит к необходимости частой их смены.

II. Требования к разрабатываемой системе.

В результате мы сформулировали требования к электронике, которая может исправить приведённые проблемы и расширить функционал для управления поездами:

1. Низкое потребление в режиме ожидания работы. Желательно менее 1 mA. В результате время работы в режиме ожидания для батареек ААА должно увеличиться до 500-1000 часов, а при более емком аккумуляторе – еще в 2-4 раза.

2. Наличие кнопки для полного отключения устройства.

3. Большая емкость элемента питания. Желательно увеличение емкости в 2-3 раза по сравнению со стандартным батарейным блоком.

4. Возможность управления поездом стандартным пультом Lego (Power functions ir speed remote control) c ИК-передатчиком, по стандартному протоколу PF v.1.2. Предусмотреть возможность выбора ИК-канала на поезде (1-4).

5. Работа в 2 режимах: ручном (управление поездом с пульта) и автоматическом (поезд ездит по заранее выбранной программе). В автоматическом режиме добавить возможность выбора нескольких программ (больше 5).

6. Размер системы должен позволять монтировать ее в стандартный отсек поезда Lego.

7. На поезде должен быть установлен цифровой индикатор, который будет показывать устанавливаемую скорость и программу.

8. Поведение в ситуации разрядки. Когда аккумулятор разрядится (заряд менее 5%) индикатор на поезде должен начать мигать. Желательно, чтобы при разряде поезд автоматически ехал до конкретного места, в котором он должен заряжаться (останов по сигналу от датчика).

9. Зарядка аккумулятора. «По умолчанию» должна быть проводная зарядка. Также предусмотреть зарядку поезда закрытом городе («за защитой»), либо контактным способом («рожки» на поезде, на которые опускается платформа с контактными пластинками) или бесконтактным (Wireless).

III. Прототип No1

В результате мы разработали первый прототип нашего устройства. В данный момент это Arduino Pro Mini с кучей проводов и дополнительных элементов (ИК-приемник, цифровой индикатор, драйвер двигателя). В качестве питания используется аккумулятор Turnigy 2200mAh 3S 25C Li-Po, что теоретически позволит поезду ездить от 8 до 11 часов (вместо 3-4). Пункты 1-8 мы выполнили. Остался частично пункт No9. Сейчас используется проводная зарядка, проводим изыскания в области беспроводных зарядных устройств. Плюс есть желание сделать данное решение красивым, эстетически завершенным, и, разумеется, пригодным для использования другими потенциальными потребителями. Для этого мы разрабатываем (пока ещё) контроллер поезда на одной печатной плате размером 16 х 100 мм, на ней расположен ИК-приемник, цифровой индикатор (7-сегментный светодиодный одиночный), кнопка включения/выключения устройства и элемент для переключения ИК-каналов (DIP-переключатель). Для него хотим напечатать корпус на 3Д-принтере.

Теперь вопрос. Какой ещё функционал можно было бы реализовать в подобном устройстве? Наверняка многие из Вас задумывались, что бы хотелось иметь в поездах Lego. Подскажите нам что.

Nemo, 2015-08-18 20:35:41 +00:00

1.. Возможность управления дополнительными функциями в поезде:

включение/выключение света, изменение его интенсивности,

возможность управления дистанционно с одного пульта дополнительными механизмами, находящимися в поезде (например, для расцепки)

2. Возможность управления стрелками и шлагбаумами переезда с одного пульта как в ручном, так и в автоматическом режиме)

3. Возможность в автоматическом режиме менять направления движения согласно выбранной программе.

4. Автоматическая синхронизация движения нескольких поездов на предмет отсутствия столкновения и катастроф.

5. Возможность самостоятельной автоматической подзарядки по мере необходимости (поезд возвращается к розетке).

6. Предусмотреть голосовые команды для управления поездом.

7. Возможность отслеживания движения поезда через систему навигации.

8. Возможность передачи сигналов в виде легкой музыки.

9. Противоугонная система.

Пока все, вроде. Лично мне будет достаточно первого пункта моих пожеланий.

Изменено 18 августа 2015 пользователем Nemo57

Лабазник, 2015-08-18 20:36:10 +00:00

А фоты мона?

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

Свет(фары) реализован?

Видел народ ардуины побольше самостоятельно клепает. Микруха на али заказывается, плата травится плюс рассыпуха плюс паяло. Не знаю как реализуемо для данной версии ардуино, но если возможно, то экономия хорошая будет.

П.с. у мну есть доступ к 3d принтеру, топик в кастомизации болтается плюс на фоикре пара фото.

Если есть вопросы - лс.

MikeK, 2015-08-18 20:56:17 +00:00

1.. Возможность управления дополнительными функциями в поезде:

включение/выключение света, изменение его интенсивности,

возможность управления дистанционно с одного пульта дополнительными механизмами, находящимися в поезде (например, для расцепки)

2. Возможность управления стрелками и шлагбаумами переезда с одного пульта как в ручном, так и в автоматическом режиме)

3. Возможность в автоматическом режиме менять направления движения согласно выбранной программе.

4. Автоматическая синхронизация движения нескольких поездов на предмет отсутствия столкновения и катастроф.

5. Возможность самостоятельной автоматической подзарядки по мере необходимости (поезд возвращается к розетке).

6. Предусмотреть голосовые команды для управления поездом.

7. Возможность отслеживания движения поезда через систему навигации.

8. Возможность передачи сигналов в виде легкой музыки.

9. Противоугонная система.

Пока все, вроде. Лично мне будет достаточно первого пункта моих пожеланий.

Спасибо. Запишем в блокнотик и будем думать. Освещение должно быть леговским или любым другим?

Про пункт No5, он у нас так и делает (пункт No8 в моих требованиях).

А фоты мона?

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

Свет(фары) реализован?

Видел народ ардуины побольше самостоятельно клепает. Микруха на али заказывается, плата травится плюс рассыпуха плюс паяло. Не знаю как реализуемо для данной версии ардуино, но если возможно, то экономия хорошая будет.

П.с. у мну есть доступ к 3d принтеру, топик в кастомизации болтается плюс на фоикре пара фото.

Если есть вопросы - лс.

Фото могу сделать, но сейчас это выглядит как две маленькие платы с кучей проводов :)

Постараюсь на выходных сфотографировать и выложить.

Свет не реализован. Были такие мысли, но в разделе "Не обязательные функции". Добавить будет не сложно.

Ардуино мы использовали потому, что это был самый дешевый способ найти платку с нужным нам контроллером. Сейчас заканчиваем разрабатывать свою плату, хотим заказать печатки в Китае (до 3 недель делают) и самим напаять все что нужно. По расчетам это поможет снизить стоимость устройства.

Спасибо за предложения по принтеру. Как плата будет готова - помучаю вопросами на эту тему.

Nemo, 2015-08-18 21:09:21 +00:00

1.. Возможность управления дополнительными функциями в поезде:

включение/выключение света, изменение его интенсивности,

возможность управления дистанционно с одного пульта дополнительными механизмами, находящимися в поезде (например, для расцепки)

2. Возможность управления стрелками и шлагбаумами переезда с одного пульта как в ручном, так и в автоматическом режиме)

3. Возможность в автоматическом режиме менять направления движения согласно выбранной программе.

4. Автоматическая синхронизация движения нескольких поездов на предмет отсутствия столкновения и катастроф.

5. Возможность самостоятельной автоматической подзарядки по мере необходимости (поезд возвращается к розетке).

6. Предусмотреть голосовые команды для управления поездом.

7. Возможность отслеживания движения поезда через систему навигации.

8. Возможность передачи сигналов в виде легкой музыки.

9. Противоугонная система.

Пока все, вроде. Лично мне будет достаточно первого пункта моих пожеланий.

Спасибо. Запишем в блокнотик и будем думать. Освещение должно быть леговским или любым другим?

Либо леговским, либо любым, которое можно установить в леговские стандартные детали.

Поясню на примере. Вот фото с ЕВ (ссылка на пост автора - http://www.eurobricks.com/forum/index.php?showtopic=102906) . Вот, чтобы эту штуковину и другие моторы и устройства можно было подключать к источнику энергии и управлять дистанционно.

Лабазник, 2015-08-18 21:12:31 +00:00

Лады, с удовольствием поделюсь наблюдениями.

Про свет.

Должны быть светодиоды одинаковые по диаметру с дыркой в леговском техник брике. Таким образом можно решить вопрос круглых фар. Делать сразу в детали мне видиьься не правильным, т.к. могут возникнуть несоответствия с цветовой гаммой модели, а делать ассортимент цвета - нерентабельно.

ZeeK, 2015-08-18 21:39:10 +00:00

А можно вопрос: учитывая, что есть такая штука, как "масштабные модели жд", где уже реализовано едва ли не всё перечисленное, а также тот факт, что стоимость сложных моделей поездов из лего сравнима с таковой для масштабных моделей (хотя могу ошибаться), насколько это оправдано, учитывая узость рынка (игрушки для больших и небедных "мальчиков")?

MikeK, 2015-08-19 18:28:05 +00:00

Лады, с удовольствием поделюсь наблюдениями.

Про свет.

Должны быть светодиоды одинаковые по диаметру с дыркой в леговском техник брике. Таким образом можно решить вопрос круглых фар. Делать сразу в детали мне видиьься не правильным, т.к. могут возникнуть несоответствия с цветовой гаммой модели, а делать ассортимент цвета - нерентабельно.

Свет можно сделать. Можно и леговский, и альтернативный. Попробуем оба варианта.

А можно вопрос: учитывая, что есть такая штука, как "масштабные модели жд", где уже реализовано едва ли не всё перечисленное, а также тот факт, что стоимость сложных моделей поездов из лего сравнима с таковой для масштабных моделей (хотя могу ошибаться), насколько это оправдано, учитывая узость рынка (игрушки для больших и небедных "мальчиков")?

Разумный вопрос. Мы вначале его тоже себе задавали. Тут целых три мотива, я бы условно назвал бы их так:

1. Цена. "Масштабные модели" стоит не мало денег, те что нравятся стоят все же побольше лего (больше всего понравились локомотивы по 600-800 евро, а вагончики по 200 евро.). Если бы начинать с нуля можно было бы подобрать более-менее бюджетные варианты. Но у нас уже есть набор поездов, на которые уже потрачены деньги и начинать сначала просто так не получится.

2. Принципы коллекционирования. Мы большие фанаты лего и хотелось бы сделать улучшения по минимуму меняя конструктив лего. Если брать другой поезд, то будут другие рельсы (уж если брать не-лего, то конечно на рельсах с 9 В). А их на пластины лего не получится стыковать и т.д. А в нашей системе мы меняем только батарейный блок и ИК-приемник, практически все кубики остаются на месте.

3. Желание реализовать все наши желания. Покупая закрытую систему приходится соглашаться на имеющийся функционал. А создавая свою систему мы может закладывать в нее почти все что хотим. И самое главное можем это развивать.

Про рынок мы думали. Как массовый продукт мы наше решение не рассматриваем. Но нам кажется,что некоторым взрослым фанатам лего, вроде нас, подобное решение может быть интересно. По сравнению с покупкой железных рельс Лего это будет существенно дешевле, при практически схожем функционале.

NCD, 2015-08-22 12:59:25 +00:00

Мне интересно очень.

MikeK, 2015-08-22 20:44:26 +00:00

Обещанные фото. Делалось все в полевых условиях, поэтому качество и фоны как есть :) Прошу прощения.

Как я говорил, пока это ардуинка, с наборами дополнительных микросхем и кучей проводов. Вариант рабочий, на платке все будет красиво и без лишних проводов.

Прототип No1. В первой версии был обычный батарейный блок и старый цифровой индикатор.

Прототип No2. В нем уже LiPo-аккумулятор на 2.2 А, новый цифровой индикатор, автоматическая коробка передач при езде по программе (при разрядке аккумулятора скорость автоматически увеличивается, когда поезд начинает застревать в поворотах). Большую часть внутреннего пространства занял аккумулятор, ардуинку пришлось пока разместить вместо машиниста. Собственно она и выполняет его функции :)

Разработанная плату будет тонкой и должна помещаться в пространстве между аккумулятором и крышей.

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

И такое размышление еще. Посмотрели, что свет добавить не трудно, однако возникает вопрос, как им управлять? На стандартном леговском пульте кончились уже кнопки (там собственно всего две крутилки и 2 кнопки). Как вариант можно сделать базовое управление на стандартном пульте Lego, а все дополнительные вкусности (вроде света и т.д.) уже на более функциональном пульте (на телевизионном или от Sony PlayStation). Крепко задумались.


Мне интересно очень.

Спасибо. Как будет готов законченный красивый вариант, мы обязательно все покажет и расскажем.

Нам самим нужно около 10 таких устройств, если Вам будет интересно, сможем и для Вас собрать экземпляр. Тут еще важно будет удешевить итоговый вариант до приемлемого уровня :)

Если есть идеи, что хотелось бы, чего не хватает - пишите. Может мы что-то важное пропустили.

Изменено 23 августа 2015 пользователем MikeK

Лабазник, 2015-08-23 03:08:04 +00:00

Как вариант- управление со смартфона. Но появляется вопрос в написании проги для этого дела...

Я бы еще поискал липольку размером меньше, если такие конечно есть с требуемыми характеристиками.

По идее акб вес дает, как поезде, точее весь состав ведет себя на поворотах на разных скоростях?

Lego Animator, 2015-08-23 09:48:15 +00:00

Хорошая у вас идейка! Буду следить за развитием.

MikeK, 2015-08-23 18:37:54 +00:00

Как вариант- управление со смартфона. Но появляется вопрос в написании проги для этого дела...

Я бы еще поискал липольку размером меньше, если такие конечно есть с требуемыми характеристиками.

По идее акб вес дает, как поезде, точее весь состав ведет себя на поворотах на разных скоростях?

Мы достаточно долго искали, данный вариант (Turnigy 2200mAh 3S 25C). Он пока, что видится нам оптимальным вариантом. Мы имеем:

3 банки, 11.1 В.

Емкость 2200 мAч

Масса батареи: 188 г

Размеры: 105 x 33 x 24 мм

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

В поезде есть "коробка-автомат". Контроль мгновенного потребляемого двигателем тока и корректировка скорости поезда в зависимости от него. Для каждой скорости поезда (с первой по седьмую) и для всего диапазона рабочих напряжений аккумулятора (от 10 до 12 вольт) в программе есть таблица (получена экспериментальным путём) пороговых значений потребляемых токов. Если для заданной скорости и данного напряжения питания ток двигателя выше порога - включается следующая скорость. Если следующая скорость "кончилась" - перегрузка, переходим в режим ожидания (защита). При движении по прямому участку дороги потребляемый ток меньше, при проходе поворотов - возрастает нагрузка, уменьшается скорость движения, и потребляемый ток увеличивается. Если ток больше установленного порога - включится следующая скорость. Здесь нужно сказать, что "наши" скорости не соответствуют штатным. Они немного адаптированы. Если запускать "наш" локомотив с несколькими вагонами на первой скорости, то он еле трогается и практически не едет, спустя несколько секунд включается 2-я скорость, потом 3-я. На ней поезд уже вполне может ехать, не быстро, но уверенно. Как то так... :))

Изменено 23 августа 2015 пользователем MikeK

NCD, 2015-08-23 18:48:40 +00:00

Очень круто.

MikeK, 2015-08-23 20:22:21 +00:00

Хорошая у вас идейка! Буду следить за развитием.

Очень круто.

Спасибо. Будем работать!

Собственно, что нам осталось. Сейчас хотим поэкспериментировать с бесконтактной зарядкой. Идея очень заманчивая, т.к. поезд можно было бы заряжать не вынимая его из-за защиты города. Но те решения, которые есть в продаже еще слишком примитивны :( Обычно это 3-5 мм от источника до приемника (некоторые пишут до 7 мм, но судя по отзывам это больше реклама, чем реальность). Это еще приемлемо в ситуации смартфонов, когда кладешь одну гладкую поверхность на другую. А с поездом сложно, нужно все точно выставить. Как вариант, подогнать поезд к нужному месту и потом M-моторами приблизить пластинки из Лего с присоединенным передатчиком к бокам поезда. Т.е. все не просто. А еще есть проблема с несколькими банками. Мы пока нашли системы, которые заряжают только одну банку, а у нас их три. Т.е. либо нужно 3 приемника и передатчика для каждой банки, что очень громоздко и в целом не дешево. Плюс надежность будет падать. Либо делать последовательную зарядку банок. Но одна банка заряжается около 4-5 часов, три банки получается часов 12-15 часов (т.е. будет больше рабочего дня в 9-10 часов, ведь заряжать лучше под присмотром, мало ли чего). В общем хотим проработать этот вариант, если не получится, то как запасной вариант можно делать контактную зарядку - 3 иголки на крыше и на них в месте зарядки можно спускать панельку с элементами для зарядки. Чуть менее красивое решение, но тоже выход из ситуации. Судя по публикациям в бесконтактной зарядке может в ближайший 1-2 года произойти прорыв и устройства станут заряжаться на расстоянии 2-3 см (некоторые пишут даже на 3 метра :). Но пока это чудное время не настало и приходится работать с тем, что есть.

Из желаемого еще попробовать добавить блютус приемник, для возможности использовать пульты от приставок для управления поездом в расширенном режиме. А также проверить работу фар (пока работаем со стандартными леговскими фарами). И еще параллельно хотим погонять оба наших прототипа в различных режимах и ситуациях, хотя бы 3-4 недели. Чтобы вычистить возможные ошибки. Как это все сделаем, то будем переходить к следующей фазе, если нам на форуме новых идей не подбросят (на что надеемся).

Nemo, 2015-08-25 18:52:59 +00:00

Может, вот эта информация на ЕВ поможет еще http://www.eurobricks.com/forum/index.php?showtopic=110202&do=findComment&comment=2232018 . Я совершенно ничего не понимаю в технике, да и не собираюсь обременять себя излишними знаниями. Мне важно иметь функции на поезде. Если подключается к блоку питания стандартная моторная тележка, почему нельзя подключать еще дополнительные моторы и управлять ими?

MikeK, 2015-08-26 09:49:54 +00:00

Может, вот эта информация на ЕВ поможет еще http://www.eurobricks.com/forum/index.php?showtopic=110202&do=findComment&comment=2232018 . Я совершенно ничего не понимаю в технике, да и не собираюсь обременять себя излишними знаниями. Мне важно иметь функции на поезде. Если подключается к блоку питания стандартная моторная тележка, почему нельзя подключать еще дополнительные моторы и управлять ими?

Спасибо.

Дополнительные моторы можно подключить. В этом случае мы упремся в:

1. Ресурс аккумулятора будет расходоваться быстрее и поезд будет ездить меньше.

2. Для этого нужен специфический поезд, в котором нужно выгораживать место под эти моторы и дополнительные функции.

И надо знать для чего эти моторы использовать. Как вариант, из того, что Вы предлагали - для сцепки. Идея интересная, но сцепку мы пока решили отложить. Хотим сделать вначале базовые функции, которые могут быть использованы на всех поездах, а потом заняться специфическими функциями.

Подумаем про моторы.

Nemo, 2015-08-26 10:30:24 +00:00

Дело не в моторах, а в том чтобы было место откуда их запитать со стандартным разъемом.