Попробовав переключать стрелки с сервоприводом, я быстро понял, что этот вариант мне не подходит - сервопривод слишком большой и мощный, плюс он двигается по кругу, а не линейно.
Спустя продолжительное время после упражнений с сервоприводами под стрелкой, рядом со стрелкой, и т.д., приехали моторчики, потенциальные кандидаты в будущие приводы. Вот так они выглядят рядом со стрелками:
Моторчики эти существуют в двух вариантах: с полукольцом (на фото) и с ушком за которое можно закрепить что-то винтом.
Для проверки сделал тягу из проволоки 0.5 мм., которая прекрасно держится за выступ с полукольцом, собрал схему с ардуино, стабилизатором питания AMS1117 и драйвером MX1508, взял элементарный скетч для шагового двигателя, настроил движение на 450 шагов + ресет на 500, и результат оказался очень хорошим:
У меня стрелки Peco с достаточно мощной пружиной, которая обеспечивает нужное прижимание остряка, демонтировать пружину не требуется. Мотор запитан от стабилизатора 3.3 В, чтоб преодолевать сопротивление пружины, а при встрече с препятствием пропускать шаги не повреждая ничего вокруг. Тяга из проволоки сама тоже немного пружинит, а так же пружинит в местах крепления к стрелке и редуктору. Плюс есть небольшой люфт в крепеже тяги к стрелке и редуктору, что дополнительно защищает стрелку от повреждения при переключении, т.е. финальные доли миллиметра остряк проходит под действием родной пружины в стрелке, а тяга его догоняет.
Подбирать ход тяги для каждого экземпляра не требуется, мотор делает всегда одинаковое количество шагов, один раз подобранное для оптимального переключения стрелки, На случай непредвиденной потери питания предусмотрен "ресет", который сдвигает редуктор в крайнее положение без риска повреждения стрелки т.к. это положение ограничено корпусом редуктора. В целом конструкция получилась очень удачной.
На фото выше первая сборка прототипа декодера для управления шаговым двигателем привода стрелки. Схема управления шаговым двигателем крайне простая. Схема для чтения DCC-пактов сложнее, но тоже ничего сверхъестественного. Схемы и программы для ардуино легко гуглятся, а сложности и вопросы решаются на форумах. Ноу-хау только в том, чтоб совместить все в одном и научить правильно работать.
Изначально планировался всего один вариант исполнения привода, но на практике их получилось несколько для разных вариантов размещения.
Для проектирования 3D-моделей приводов я освоил FreeCAD, который не лишен недостатков, но для моих целей оказался гораздо удобнее браузерного Tinkercad. Разработка каждого варианта заняла много времени как на проектирование, так и на тестирование результата, и породила много пластикового брака. Описывать тонкости процесса нет смысла, в целом все сводилось к измерениям, проектированию, печати, проверке; и так много раз. В результате появилось несколько жизнеспособных вариантов приводов. Так же в процессе разработки проволочная тяга была заменена пластиковой, которую легче воспроизвести и выглядит она лучше, а сам редуктор на вариант с ушком вместо полукольца для возможности использования винтов в креплении тяги.
Размещается непосредственно рядом со стрелкой на поверхности макета. Максимально нагляден и удобен в обслуживании, но занимает достаточно много места.
Разместить такой между путями, расходящимися из стрелки не получится. Если расположить такой привод сразу после спуска, то некоторые локомотивы и вагоны с сильно выступающими частями могут его цеплять при переходе со спуска на ровную стрелку. Для снижения этих рисков у привода предусмотрено несколько вариантов крышки: обычная, компактная и сверх-компактная.
Так же есть дополнительная компоновка, где мотор утоплен ниже уровня "земли", чтоб габарит привода был не выше рельса.
И еще один вариант компоновки с мотором ниже уровня "земли", но развернутым зеркально. Такой вариант используется в тех местах, где нет возможности разместить привод на противоположной стороне стрелки.
Поскольку одна из стрелок у меня расположена в туннеле, то отсутствует возможность визуального контроля ее состояния и возможных проблем с переключением. Для того, чтоб быть уверенным в ее состоянии, в накладной привод был добавлен оптический датчик и модернизирована тяга.
На тяге "гребенка" с шагом 1 мм, на перевод стрелки приходится 4 срабатывания датчика, это вполне достаточно для контроля положения. Красный пластик "прозрачный" для датчика, поэтому окрашен в черный цвет.
Не всегда можно расположить накладной привод в нужном месте. Например, когда две стрелки установлены подряд, не получится разместить привод между путей выходящих из соседней стрелки. Для таких ситуаций была сделана компоновка, в которой мотор вынесен от стрелки на некоторое расстояние, а усилие передается тягой, идущей в туннеле в основании макета. Такая конструкция требует бОльших усилий для перевода стрелки, поэтому расстояние, на которое можно вынести мотор, ограничено.
Позднее сделал еще одну компоновку для туннельного привода, где мотор расположен ниже уровня земли и закрыт сверху плоской крышкой.
Эта компоновка была разработана для минимизации видимой части привода. Редуктор мотора расположен перпендикулярно плоскости стрелки, на съемной кассете. Большая часть расположена ниже уровня макета, видимой остается лишь тяга и плоскость основания.
Эта конструкция является развитием кассетного привода. Подстрелочное расположение механизма давно снискало народную любовь, поскольку имеет минимум видимых частей. Для использования такого привода требуется относительно тонкий подмакетник и возможность свободного доступа снизу.
Очевидным недостатком такой компоновки является сложность обслуживания, невозможность размещения в толстых подмакетниках (например из ЭППС как у меня) и невозможность размещения в районе ребер жесткости, которые заблокируют возможность доступа к приводу снизу.
Мне требовалось устройство, на котором можно было бы отладить схему и ПО декодера, а так же использовать для перевода приводов, пока не готовы печатные платы. Использовать сборку в стиле "кишки наружу" на макетной плате (фото выше) было крайне неудобно, поэтому был сделан шилд для ардуино уно.
Шилд разделен на 2 платы: приемник DCC-сигнала и плата управления двигателем. На приемнике предусмотрена кнопка ручного управления, а на плате управления двигателем предусмотрен переключатель выбора питания драйвера от стабилизатора 3.3В или от 5В.
В качестве промышленной реализации было решено использовать ардуино про-мини за ее малый размер. Количество её ножек вполне позволяет управлять двумя драйверами моторов одновременно. Исходя из этого будет два вида декодеров: для одного привода и двух сразу. Одиночные будут размещаться там, где одинокие стрелки вдали от других, а двойные, наоборот, найдут применение где сосредоточено много стрелок.
Декодер может быть использован не только для перевода стрелок, но и везде, где можно использовать шаговый мотор. У декодера предусмотрены гибкие настройки, позволяющие адаптировать функционал под любые цели.
На основе разработанной схемы я создал печатные платы для двух видов декодеров в EasyEDA. Платы и нужные комплектующие были заказаны на известных китайских сайтах.
Для сборки декодера требуются минимальные навыки владения паяльником.Для включения режима программирования (записи CV) предусмотрен отдельный переключатель, это позволяет программировать нужный декодер не снимая с макета.
Программное обеспечение декодера (прошивка) создана на основе открытых библиотек для ардуино и, конечно же, моего "ноу-хау", чтоб все слаженно работало вместе.
Подробное описание разработанного декодера и его настроек можно посмотреть здесь.
Данные декодеры я планирую продавать в виде КИТов для сборки вместе с приводом стрелки. Если вы заинтересованы в приобретении, пишите!
Для сборки экспериментального накладного привода понадобилось купить:
Комплект из 10 моторов для приводов 1000 руб.
Всякие электронные компоненты для создания прототипа шилда для ардуино еще примерно 1000 руб.
Комплект 10 драйверов и разной электроники для плат 1000 руб.
Комплект из 10 ардуино про-мини 3000 руб.
3D принтер и пластик 17000 руб. (конечно он нужен не только для макета, но тем не менее)
Комплект из 10 плат для декодеров 1000 руб.
Комплект из 10 плат для двойных декодеров 1000 руб.
Еще комплект из 10 ардуино и 20 драйверов 2500 руб.