Электроника на макете железной дороги
Тема электроники и автоматизации на макете практически безграничная, поэтому для начала нужно определиться с минимумом того, что нужно и что хочется. У меня получился вот такой список:
- Командная станция
- DCC сигнал для управления поездами
- Декодеры для управления стрелками и другими аксессуарами
- Модули обратной связи для понимания состояния
- Разворотная петля
- Освещение строений
- Компьютерное управление
- Видео наблюдение
- Светофоры
Теперь обо всем по порядку.
Командная станция
Часто в понятие "командная станция" вкладывают комплект для управления поездами на макете, состоящий из пульта управления, самой командной станции, бустера и источника питания. Производители часто совмещают в одном корпусе пульт управления и станцию (тогда бустер идет в отдельном корпусе) или станцию и бустер (пульт в отдельном корпусе).
Есть масса вариантов от разных производителей. Цены тоже имеют очень большой разброс. Я выбрал один из самых простых вариантов — проводной комплект Roco MultiMaus, состоящий из пульта-станции Roco 10810, бустера Roco 10764 и источника питания Roco 10725. Выбрал его не только потому, что он уже давно у меня был, а потому, что его возможностей (один пульт управления и не более 80 датчиков обратной связи) мне вполне хватает. Так же мне не нужно ни чтение CV, ни запись CV с адресами более 255. Мне будет вполне достаточно подключения к компьютеру через COM-порт, а не по ЛВС или wi-fi.
Ближайший конкурент Roco z21 start сильно дороже, больше размером, да еще и требует платной разблокировки для работы всех интересных функций, ради которых он сделан. Проводного пульта мне вполне достаточно чтоб порулить самому, а всю автоматику обеспечит компьютер. Возможности поуправлять с телефончика мне тоже не нравится, для тактильных ощущений есть специально для этого созданный пульт, а всякий широкий функционал гораздо удобнее использовать с ноутбука, чем с экрана телефона.
DCC для управления поездами
Изначально благая идея DCC, заключающаяся в управлении несколькими поездами на одних рельсах, терпит полный крах, когда требуется понимать положение поезда и делить макет на участки для автоматизации движения. Вместо того, чтоб приткнуть DCC в одной точке к рельсам, его приходится подключать к каждому участку, а опытные моделисты рекомендуют припаиваться вообще к каждому рельсу, поскольку надеяться на качественный контакт стыков между рельсами не приходится.
Опираясь на написанное выше, под макетом придется пустить DCC-шину, примерно повторяющую форму рельсовой схемы, и организовать отводы от нее к каждому рельсу и стрелке. Существует много мнений о том, какие провода и какого сечения использовать для этого. Я для себя взял за основу материал из DCCWiki.
Так же будет полезна Таблица перевода сечений кабеля из стандарта AWG в систему СИ. Покопавшись в проводах дома, нашел монтажный провод сечением примерно 0.5 мм 2 , который как раз подошел под среднее значение выше. Длинна проводов должна быть такая, чтоб хватило для подключения к блокам обратной связи и шине, в моем случае это примерно пол глубины макета (около 40 см.).
Для организации отводов от шины можно просто припаяться к проводам, или купить специальное устройство с клеммной колодкой, или собрать такое устройство самому из монтажной платы, колодок с винтами и куска провода. Из-за неоправданно высокой цены на готовое, мой выбор был сделать самому, выходит несравнимо дешевле, но нужно немного уметь пользоваться паяльником.


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

Эти платы так же можно использовать для разведения шины питания аксессуаров и освещения.
Декодеры для управления стрелками
Поскольку я изначально загорелся идеей сделать привод стрелки по-своему, то пришлось самому делать и декодеры. Устройства получились компактные, их легко можно разместить в непосредственной близости от стрелки и DCC-шины. Но поскольку декодер использует внешнее питание, чтоб не использовать энергию из DCC и не ставить дополнительные бустеры, придется так же проложить шину питания рядом с DCC-шиной.
Модули обратной связи
Как я писал выше, автоматическое управление макетом сводит на нет многие преимущества DCC. Если упростить, то управление макетом сводится к пониманию того, какой поезд где находится и какая стрелка в каком положении. Анализируя это состояние программа управления принимает решения, какие команды послать поездам и стрелкам.
Для определения положения поездов макет делится на изолированные участки, каждый из которых подключается через токовый датчик к DCC. Для понимания положения стрелок используются те же самые датчики, только тут мой декодер будет давать сигнал на нужный датчик в зависимости от выполненной команды или данных со своего собственного оптического датчика. Соответственно стрелка занимает аж 3 датчика (2 для положения и 1 для занятости), а обычный участок пути всего 1.
На своем макете я буду использовать аппаратуру Modelldepo, которая сочетает в себе хорошее качество за умеренную цену и очень обширный функционал. Для обратной связи используются модули FB2 или RocoBus2, который помимо обратной связи так же является шлюзом для подключения к компьютеру.

Модуль разворотной петли
Диагональный путь, идущий посередине макета, по сути, является разворотной петлей, когда правый рельс становится левым, а левый — правым, вызывая короткое замыкание. Часть этого пути, идущая по среднему модулю, будет подключена через модуль Super Revercer тоже от Modelldepo. Длинны этого отрезка пути должно хватить, что туда поместился самый длинный состав на макете.
Освещение на макете
Для освещения буду использовать желтые светодиоды. Светодиоды будут закреплены в зданиях, провода от них будут спущены в подмакетное пространство, где через сопротивления на специальных распределительных платах будут подключены к питанию.
Поскольку освещение включается все и разом, то оно будет выведено на отдельную линию питания с коммутацией в районе пульта управления макетом. Эта линия питания будет проходить под местами расположения строений. Для подключения освещения к строениям я разработал специальную плату, которая позволяет организовать отводы от шины к диодам через сопротивления.

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

В качестве компьютера был выбран Raspberry pi за свой малый размер и возможность размещения в подмакетном пространстве. Для него был так же приобретен радиатор пассивного охлаждения и сделан специальный крепеж на фото выше.
Управляющая программа — Rocrail, она бесплатная и имеет клиент-серверную архитектуру. Это позволяет держать сервер на raspberry под макетом в непосредственно близости от того, чем он управляет, а клиент может быть где угодно в сети. Более подробно можно прочитать в посте про компьютерное управление и автоматизацию макета.
Видео наблюдение
На первых парах оно будет сделано на основе одной камеры, позже может быть расширено до 4-х. Камера располагается в дальнем от зрителя углу, чтоб можно было посмотреть на макет с другой стороны. Камера подключается к компьютеру, который вещает картинку в сеть. Более подробно можно прочитать в посте про видео наблюдение на макете.
Светофоры
Пока это следующий этап развития, отложим его на потом.
Расчет электропитания
Понимая список того, что будет на макете, нужно придумать и рассчитать то, как это все будет запитано.
Мне понадобится 34 токовых датчика для понимания занятости участков, и еще 24 датчика для положения 10 стрелок и 2 расцепителей. Итого нужно 58 входов FB2, это 8 модулей FB2, точнее 7 FB2 + 1 RocoBus. Для того, чтоб не тащить проводку от датчика к модулю обратной связи через стык модулей, придется добавить еще один FB2. Согласно документации их общее энергопотребление 450мА (50х9). Плюс Модуль разворотной петли Super Revercer, потребление которого не указано, считаем пренебрежимо мало.
На макете планируется одновременное движение не более 3 поездов (а в реальности обычно это будет 1), исходя из характеристик декодера LGR1120 Standart в пике может быть 3.6А (1.2х3). Плюс освещение локомотивов в среднем 2 светодиода по 20 мА, полученные 120мА считаем пренебрежимо малыми. Освещение вагонов пока не планируется, его тоже не учитываем.
Итого пиковое потребление DCC составит около 4А. При условии, что не все поезда будут потреблять те самые 1.2А, то родного бустера ROCO 10764 с трансформатором ROCO 10725 (выход которого обеспечивает 16В и 50ВА или 3,2А с бустера) должно хватить.
Для удобства монтажа трансформатор 10725 можно заменить импульсным блоком питания постоянного тока, например, адаптером от ноутбука или вот таким с напряжением 18В и током 3-4А (мощность 60-70Вт).
Освещение макета будет отдельной линией. Исходя из 4 диодов на каждое из 12 строений плюс неизвестно сколько фонарей, в очень грубом приближении получаем почти 2А (100 диодов по 20мА). Тут блока питания 2А должно хватить.
Другая линия приводы стрелок и расцепителей (10+2) принимаем за 200мА (измеренное значение во время перевода стрелки), и хотя декодер может обеспечить до 800мА, одновременно такой нагрузки не будет, поскольку даже ресет разнесен по времени, плюс часть приводов будет на двойных декодерах где ресет последовательный. Получаем 2.4А.
Питание декодера считаем исходя из этого не более 100мА с периферией. Для расчета берем "плохой" вариант когда будет 10 декодеров (на самом деле меньше тк будут двойные) и получаем дополнительно 1А. Итого 3.5А.
На ту же линию хочется повесить малину с рокрейлом (2,5А) и юсб камерой (не более 500мА исходя из спецификации USB), получаем еще 3А.
Вместе с приводами и декодерами получаем 6.5А. Сюда стоит ставить блок питания 10А, с запасом и учитывая, что цена от 6А не катастрофически отличается.
С точки зрения правильной организации, стоит разнести линии питания приводов стрелок и малины с камерами на отдельные блоки питания для уменьшения их мощности и улучшения безопасности.
Вот такая получилась выкладка: штатное питание из набора рокомыши для DCC (или блок питания 18В/4А), блок питания 5В/2А и блок питания 5В/10А с али.
Подмакетное хозяйство
Вся электроника у меня располагается под макетом и делится на несколько систем, про каждую отдельный пост:
Стоимость
Комплект командной станции 3.500 руб. когда покупал или 7.000 руб. на момент написания этого поста.
Платы и колодки для отводов от DCC-шины 1.000 руб.
Модули обратной связи и разворотной петли 22.000 руб.
Кабели и разъемы RJ-12 для шины ОС 500 руб.
Raspberry pi, охлаждение и карточка 4.500 руб.
Удлиннитель с разъемом RJ-45 500 руб.
Камера для видео наблюдения 2.000 руб.
Блоки питания 2.000 руб.
Всякие разные клеммы, разъемы, разветвители и прочее для организации кабельного хозяйства 5.000 руб.
Силовые кабели 1.000 руб.
Обжималки для клемм и трубочек 2.000 руб. (это, конечно, инструмент не только для макета, но пришлось купить для удобства постройки)
Платы для подключения освещения 1.500 руб.
Диоды, резисторы и прочая мелочевка для освещения 1.500 руб.
10 микросхем ATtiny13 для контроллера освещения 1.000 руб.
Комплект из 10 плат контроллера освещения 1.000 руб.
На всякий случай, для программирования уже припаянных чипов, заказал еще "прищепку" и программатор, плюс всякой мелочевки на 500 руб.
Платы для организации подключения к шине и платы для контроллера освещения с регулируемой яркостью 1.500 руб.
Еще всякая мелочевка, которая потребовалась в процессе монтажа электроники 2.000 руб.
Введение в железнодорожное моделирование. Часть 1. С чего начать.
Поскольку возник вопрос, с какого конца подойти к моему хобби, постараюсь рассказать то, что знаю я.
Сразу предупреждаю, я далеко не профессионал и все, что я буду писать — исключительно мой опыт и мое мнение. Соглашаться со мной вовсе не обязательно.
Первый вопрос, который возникает у всех: с чего начать?
За частую, мы бежим в ближайший магазин и покупаем самый дешевый стартовый набор, про себя думая «возьму на пробу, понравиться или нет«. Это не правильный подход. Утрируя, можно провести такую параллель: я хочу понять, хочу ли я кататься на велосипеде? Пойду куплю самый дешевый и попробую.

А потом приходит разочарование. Велосипед тяжелый, педали крутятся с усилием, седло трет пятую точку. И мы забрасываем велосипед. Возможно, попытаемся продать его, но зачастую безуспешно, так как на «хлам» спроса нет.
И как же быть в этой ситуации? Для начала, нужно понять, действительно ли вы хотите заниматься железнодорожным моделированием. Без твердого «Да, хочу«, лучше не стоит начинать. В любом случае я не советую начинать с самого дешевого стартового набора. Лучше взять подороже, более качественный, от именитого производителя. Если вдруг вам наскучит, его гораздо проще продать.
Но начинать нужно не с покупки подвижного состава с путевым материалом, а определиться со страной и эпохой, которую вы бы хотели собирать.
Согласитесь, американский дизель будет нелепо смотреться на фоне австрийских шале,

также как и немецкий состав на фоне американских небоскребов.

Немаловажным фактором при выборе страны является доступность для вас подвижного состава и строений этой страны. Т.е. сможете ли вы купить нужные вам локомотивы, вагоны, строения. И если строения можно сделать и самому, из подручных материалов,

то самостоятельное изготовление подвижного состава — это очень сложная задача.
В настоящее время наибольшее распространение получили европейские и североамериканские модели подвижного состава. Также, весьма широко представлена японская тема. К сожалению, российская тема представлена в очень ограниченном ассортименте, как правило, производиться мелкосерийно.
И так, со страной определились. А что такое «эпоха»?
Эпоха — это условное временное деление эволюции подвижного состава. С общеевропейской точки зрения принято деление на 6 эпох.
Эпоха I: Начало строительства и развития железных дорог. Появление множества частных железных дорог с собственным уникальным подвижным составом. Начало паровозостроения.
Эпоха II: Завершение национализации основных европейских железных дорог. Стандартизация подвижного состава. Начало общеевропейской стандартизации правил и норм эксплуатации железных дорог. Начало внедрения электрической тяги.
Эпоха III: Послевоенное восстановление железных дорог. Начало разработки и ввода в эксплуатацию тепловозной тяги. Расширение сети электрифицированных линий.
Эпоха IV: Время наибольшего прорыва в усовершенствовании локомотивного и вагонного парка. Значительное увеличение скоростей движения и грузоподъемности. Внедрение международной маркировки подвижного состава.
Эпоха V: Активный ввод в эксплуатацию скоростных линий пассажирского сообщения. Начало преобразования государственных железных дорог в Акционерные общества. Разделение Пассажирской и Грузовой деятельности железных дорог.
Эпоха VI: В дополнение к традиционным железнодорожным компаниям, появление множества побочных, занимающихся перевозкой грузов или пассажиров без собственной инфраструктуры. Значительный рост скоростных линий, в том числе и международных. Закрытие местных и коротких узкоколейных линий.
По годам, эпохи могут отличаться в разных странах, но в небольших пределах.
Например для Германии эпохи делятся следующим образом
Эпоха I: 1835 — 1925 гг
Эпоха II: 1920-1945 гг
Эпоха III: 1949-1970 гг
Эпоха IV: 1965-1990 гг
Эпоха V: 1990-2006 гг
Эпоха VI: с 2007 по н.в.
Эпоха I: 1834 — 1917 гг
Эпоха II: 1918-1945 гг
Эпоха III: 1945-1965 гг
Эпоха IV: 1965-1985 гг
Эпоха V: 1985-2005 гг
Эпоха VI: с 2005 по н.в.
Америка не была бы Америкой, если бы не «придумала» что то свое. Эпох по американской системе всего три
I Эпоха Пара: от покорения Дикого Запада (1870) до Второй мировой войны (1940), это времена безраздельного владычества Его Величества Паровоза.
II Переходная эпоха: 1940-е — 1950-е года, когда появились тепловозы и работали они вместе с паровозами. Очень интересно иметь на одном макете лучшие паровозы и тепловозы.
III Современная эпоха: с 1960-х по н.в. Время современных дизельных локомотивов и электропоездов. Сверхскоростные обтекаемые пассажирские и могучие грузовые составы в десятки вагонов.
Справедливости ради, количество электропоездов в Северной Америке не так велико, так как длина электрофицированных участков очень мала, но об этом как-нибуть позже.
После того, как вы определились со страной и эпохой — нужно определиться с масштабом. О масштабах я расскажу в следующий раз.
А в завершении, пара интересных фактов о ЖД:
Самый длинный поезд в мире, появился в Австралии в 2001 году. Состав имел ровно 682 вагона, их тащили восемь тепловозов, а его длина составляла 7 километров 350 метров.
Предыдущий рекордсмен по длине был родом из Кузбасса. В 1986 году провели товарный состав с углем. Поезд состоял из 439 вагонов и длину 6 километров 500 метров.
Дельно написано. От себя добавлю, прежде всего нужно выбрать способ управления — аналог или цифра?
Вот одно меня давно и безутешно интересует.. Что же было в германии 3 года между второй и третьей эпохой?
Пили пост про свою коллекцию!
Автор прям вот «ванга», только сегодня на комсомолке слюни пускал на это дело дорогущее от 10к+ рублей за локомотив, так тут еще масло в огонь подливают. Жду инфо как начать от автора и какие ошибки допускают новички (ну например в Итальянской сети ЖД ставят немецкие поезда и т.п.)
Атмосфера Малой Октябрьской железной дороги
Воскресный фотопост от SsVMedia





Нападение гигантских кошек

Игрушечная железная дорога в Сеуле
Гуляли по Сеулу, увидели интересное кафе-здоровая модель железной дороги и маленькие игрушечные, словно спичечный коробок, поезда. По сути-можно самому принести свои и запустить их на железной дороге.
Попутно можно приобрести новые модельки и попить кофе.
Интереснее всего, что рядом тусили ребята под 30 лет и умилительно наблюдали за поездами.
Обзор на строящуюся модель, подготовка паровой машины к работе
Продолжение саги о постройке модельки с рабочей паровой машиной.
В одном из комментариев к предыдущим постам было замечание, мол, «катать мы и сами умеем, покажите процесс». Поэтому выкладываю короткий обзор на недостроенную модель и процесс подготовки паровой машины к работе.
Видео длинное, поэтому извините за ссылку на ютюб.
PS чукча снимать особо не умеет, к тому же по русски говорит с ошибками.

КОТОстрофа!

Электровоз ВЛ-60к и тепловоз ЧМЭЗ

Электровоз ВЛ-60к и тепловоз ЧМЭЗ из "журналки" "Наши поезда" от Модимио. Масштаб 1/87 от же "H0".
Доехали до меня два первых выпуска новой "журналки" и хочу поделиться впечатлениями.
Слухи о данной "журналке" ходили очень давно и данная тема меня очень заинтересовала, все таки железнодорожный университет закончил)). И вот она вышла в свет.
Немного о моём отношении к железнодорожному моделизму. В детстве мне подарили детскую железную дорогу, от которой я был в огромном восторге. Она была далека от взрослого моделизма, но интерес к данному направлению уже начал зарождаться.Далее, в нашем ДКЖ, я увидел первый, взрослый ЖД макет. По размерам примерно 1 метр на 2 метра, с тоннелями, с рабочим подвижным составом и т.д. Я прибывал в диком восторге, меня кое как "отлепили" от макета)). Достать ЖД модели тогда было сложно (как и информацию о стоимости и местах продажи. "Интернетов" ещё толком не было), и это дело благополучно подзабылось. А потом я узнал. Узнал стоимость данного хобби. И моя мечта разбилась о ценник)).
Кстати, в моём университете образовался кружок ЖД моделизма и я, хоть чуть-чуть, но прикоснулся к прекрасному. Правда, особо заниматься этим, на тот момент, было некогда. Так же нужно упомянуть такое шикарное место, как "Гранд Макет Россия", бывал там дважды — эмоциональное местечко. И вот "журналка".
За демократичный ценник, 1500 и 2000 рублей, можно прикупить первые локомотивы. Модели статичные, без электрики. Рабочий подвижной состав для динамичного ЖД моделизма стоит 15000-20000 рублей и выше. Лично мне, как любителю стендового моделизма, вся электронная начинка ни к чему и на ней можно сэкономить. Качество журнальных моделей на 3 с минусом, очень много огрехов: облоя, кривого покраса и т.д. Особенно, когда сам собираешь модели, то все это сразу бросается в глаза. Издержки массового производства.
Но не взирая на всё — модели узнаваемые и некоторые выпуски будут мной приобретены (ЧС-4 и ВЛ-22 точно прикуплю). Так же обещают и вагоны. Придется выделять дополнительную полку под новую тематику).
И немного философии в конце поста. Для меня данная "журналка", как некий предвестник нового направления в стендовом моделизме. ЖД моделизм стал более доступен коллекционерам. Кто знает, может быть появятся сборные модели, может быть эти сборные модели выйдут из "железнодорожных масштабов" в 72-й, 43-й и 35-й (да, размеры будут значительно больше). Поживём увидим.
Серия статей для начинающих железнодорожных моделистов. (системы управления.)
Итак, определившись с масштабом и с темой, не спешите отправляться в магазин. Ведь еще предстоит решить, какое управление Вашей миниатюрной железной дорогой выбрать. В своих дальнейших статьях я буду предполагать, что Вы выбрали тему отечественных или евпропейских железных дорог, т.к. «Америка» у нас мало распространена и для новичков ее приобретение будет проблематичным.
Выбор системы управления модельной железной дорогой.
Существует два вида управление – аналоговое и цифровое. Разберем подробнее, что это такое. Модельная железная дорога состоит из рельсового пути с металлическими рельсами, по которым течет ток. Этот ток заставляет моторчик внутри локомотива приводить в движение колеса, зажигать фонари в вагонах. В случае с аналоговым управлением на рельсах присутствует напряжение величиной 0-12В. Напряжение Вы регулируете пультом управления, чем больше напряжение подали на рельсы, тем быстрее побежал поезд. Т.е. аналоговая система управления позволяет управлять поездом вперед-назад. Аналоговое управление бывает двух видов: с подачей на рельсы постоянного тока величиной от 0 до 12 В. На один рельс подается «ПЛЮС», на другой – «МИНУС». Это так называемая стандартная двухрельсовая система питания. А существует более экзотичная трехрельсовая система питания производства фирмы Maerklin. В этом случае на рельсы подается _переменный_ ток. Сам рельсовый путь представляет из себя две нитки рельсов и «пеньки» на шпалах под лыжу, расположенную на локомотивах. Эта система питания пришла из середины XX века и только фирма Maerklin остается ее приверженцем. Здесь рельсы имеют одинаковый заряд(например «ПЛЮС»), а на «пеньки» подается «МИНУС». В нашей стране получила распространение классическая система питания – двухрельсовая. Советую обратить на это внимание при покупке. Для управления стрелками, светофорами, расцепителями служит блок питания, выдающий 16В переменного тока, который в ряде случаев приобретается отдельно. Для управления стрелками и другими принадлежностями так же приобретается клавишный пульт. После чего все подключается согласно схемам. Для управления несколькими локомотивами на одной дороге применяются рельсовые разрывы и тупики. Таким образом, поставив один локомотив в тупик и отключив путь, можно управлять другим. Стартовый набор с аналоговым управлением можно найти по цене от 3000р. В зависимости от масштаба.
Цифровое управление позволяет управлять не только движением локомотива вперед-назад, но так же и эффетками, например включать/выключать свет, звук, дымовые эффекты. Локомотив может плавно разгоняться и останавливаться, чего не удается достичь при аналоговом управлении. Кроме того, при цифровом управлении Вы можете управлять одновременно несколькими локомотивами, стрелками, расцепителями и прочей переферией прямо с одного пульта без кучи проводов. Вам не нужно больше делать ни рельсовых разрывов, ни тянуть километры проводов. Все сигналы передаются прямо по рельсам. У нас в стране наибольшее распространение получили системы цифрового управления фирмы Roco и Piko. Обе работают в одинаковыом стандарте DCC, выбор конкретного производителя должен уже зависеть от Вас. Смотря, что больше понравится. Следует отметить, что все достоинства цифрового управления снижаются одним недостатком – стоимостью. Если для аналоговой дороги достаточно пульта управления локомотивом, то для цифровой кроме пульта, требуется еще цифровой декодер. Декодер ставится в локомотив в цепь между рельсами и двигателем. Он считывает информацию, передаваемую по рельсам, и передает ее локомотиву. Тот в свою очередь, может включить фары, начать движение или издать какой-либо звук. Кроме того, на все стрелки, расцепители и прочее также требуется собой собственный декодер – аксессуарный. Стоимость владения цифровой железной дорогой такова: стартовый набор – от 6000р., локомотивный декодер от 1500р., аксессуарный декодер – от 1000р.
Таким образом имеем следующее:
Аналоговое управление:
Плюсы: Доступность, простота использования в случае с одним локомотивом.
Минусы: Сложность подключения, большое количество проводов.
Цифровое управление:
Плюсы: Все управление Вашей дорогой сводится к использованию одного пульта, дополнительные эффекты у локомотивов и вагонов, отсутствие пучка проводов.
Минусы: Цена.
Из всего вышеизложенного можно сделать следующий вывод. Если у Вас ограничены финансовые возможности, берите аналоговый комплект железной дороги. Впоследствии, если Вы решите перейти на цифровую систему, локомотив можно будет дооснастить декодером и успешно эксплуатировать со всеми остальными цифровыми локомотивами. Если же средства позволяют, лучше сразу взять комплект с цифровым управлением. Плавность хода, дополнительные функции локомотива Вас приятно удивят.
В следующих статьях мы поговорим о том, стоит ли брать сразу комплект железной дороги, или лучше покупать все вразнобой. А затем разберемся с подключением как аналоговой дороги, так и цифровой.
Как усовершенствовать аналоговую железную дорогу моделизм
Управление макетом железной дороги. Диспетчерский пульт на основе DCC.
Автор: Engineer_Keen
Опубликовано 11.09.2014
Создано при помощи КотоРед.
Участник Конкурса «Поздравь Кота по-человечески 2014»
Управление макетом железной дороги. Диспетчерский пульт на основе DCC.
С Днем Рождения Кот! Если ты любишь подолгу наблюдать за движением поездов на макете так же как за пробежками ничего не подозревающих мышей на кухне, то эта статья для тебя!
Представленный в статье диспетчерский пульт позволяет автоматизировать управление такими устройствами на макете железной дороги как светофоры и стрелки, а также отображать состояние занятости путей и положение стрелок. Для передачи команд управления на стрелки и светофоры используется хорошо известный в ЖД-моделизме протокол DCC (Digital Command Control). Преимуществом этого протокола является то, что для питания и управления всеми устройствами используется всего 2 провода. Итак, что же умеет этот пульт:
- Управлять 32-мя устройствами по протоколу DCC. Это может быть 32 светофора или 128 стрелок (32 стрелочных декодера на 4 стрелки) или 256 любых устройств с функцией вкл-выкл или любые комбинации этих устройств
- Считывать данные с 64 датчиков. Это могут быть датчики занятости пути, датчики положения стрелок или любые другие датчики
- Опрашивать 64 кнопки и управлять работой 64 групп индикаторов на пульте управления
- Возможна работа как в автономном режиме (после настройки через программу-конфигуратор), так и с подключением к компьютеру через COM порт или USB
- Отключение нагрузки при возникновении КЗ
- Управлять локомотивами
- Настраиваться без компьютера
Описание работы пульта
Устройство по сути представляет собой ПЛК (программируемый логический контроллер). В процессе работы контроллер опрашивает датчики обратной связи (ОС) и кнопки пульта, вычисляет значение всех функций, в которых они участвуют, и на основе значений этих функций управляет индикацией на пульте или посылает команды на шину DCC. Так же в процессе работы возможно подключение компьютера, в этом случае в свободные промежутки времени контроллер занимается и обработкой команд, поданных с компьютера (ручное управление индикацией и устройствами DCC, запись конфигурационной информации).
Теперь рассмотрим типовую схему макета и укажем на ней положение нашего пульта.
На схеме приведена минимальная конфигурация, которая позволяет нормально управлять макетом. В нее всходит:
- сам пульт
- светофорный декодер, который управляет работой одного или нескольких светофоров
- стрелочный декодер, управляющий работой стрелок
- два типа модулей обратной связи, с токовыми входами для определения занятости пути и с обычными входами для определения положения стрелок
- компьютер, нужен как минимум 1 раз, для настройки пульта
- дополнительный блок питания для декодеров, если мощности драйвера встроенного в пульт недостаточно.
Схемотехника
Схема пульта состоит из двух модулей, модуля управления (в ЖД-моделизме он обычно называется командной станцией) и модуля ввода-вывода, соединенных между собой шлейфом.
Рассмотрим для начала модуль ввода-вывода.
В качестве управляющего устройства используется контроллер Tiny2313, он имеет 2 SPI порта, один из которых полностью программный и используется для связи с модулем управления. Второй порт, на основе USI, служит для сканирования матриц кнопок и индикаторов. К этому порту подключены 2 регистра 74HC595, один из которых отвечает за коммутацию строк индикаторов, а второй за коммутацию столбцов индикаторов и кнопок. Считывание строк кнопок осуществляется оставшимся 8-битным портом контроллера. Для индикации процесса опроса контроллера модулем управления предусмотрен светодиод.
В модуле присутствуют 2 макетных поля с контактами по 8 строк и 8 столбцов для подключения кнопок и индикаторов. Таким образом возможно подключить 64 кнопки и 64 индикатора).
Индикаторы подключены через ключи (через PNP транзисторы на +5В и через сборку ULN2003+1 NPN транзистор на землю), поэтому количество и тип индикаторов в каждой из 64 групп полностью зависят от допустимых токов этих ключей. Модуль не имеет своего источника питания, оно осуществляется через 7 контактный разъем от модуля управления, поэтому суммарный потребляемый индикаторами ток зависит от мощности стабилизатора в модуле управления.
Переходим к самому главному – модулю управления.
Модуль управления, или как было написано выше — командная станция, состоит из управляющего контроллера и драйвера. Помимо этого, для связи с компьютером используется микросхема преобразователь USB-UART FT232RL, а для связи с модулями ОС – MAX487. Если компьютер имеет настоящий COM-порт, то вместо микросхемы FT232 можно использовать более дешевую и распространенную MAX232 или ее аналоги с соответствующей обвязкой.
В модуле управления используется контроллер ATMega8 с кварцевым резонатором на 16МГц.
Для опроса модулей обратной связи используется интерфейс RS485. Все модули подключаются в параллель к 4 проводной линии (RS-A,RS-B, +V, GND). Каждый обмен данными между контроллером и модулями ОС сопровождается индикацией на плате. Можно подключить 8 модулей, опрос происходит по очереди с интервалом примерно пол секунды (для 8 адресов, адрес опрашивается каждые 50мс).
Кратко об обратной связи.
Обратная связь на макете как и на реальной железной дороге, используется для того, чтобы знать свободен ли участок пути. При этом существуют разные методы определения занятости. Самый простой — это контакт на рельсе или геркон, который при проезде замыкается колесной парой (в случае геркона – от магнита под дном вагона). Этот сигнал можно использовать для переключения светофора, но у него есть существенный недостаток – невозможно достоверно установить свободен ли участок изначально, т.к. в начальный момент времени вагон или локомотив находятся в произвольном месте. Этого недостатка лишены схемы на основе датчиков тока, ведь ток будет идти через рельсы участка независимо от того, в каком его месте находится локомотив или вагон, который этот ток потребляет. Причем для того, чтобы датчик срабатывал на обычный вагон без света или иных потребителей – достаточно подключить между колес небольшой резистор на несколько десятков килоом.
Отдельный модуль для опроса кнопок и индикации разработан с целью разгрузить основной контроллер и сэкономить его выводы. Входы Reset контроллеров объединены через межплатный разъем, это сделано для того, чтобы контроллер модуля индикации не мешал программированию основного контроллера.
Контроллер формирует сигналы для управления шиной DCC. Это противофазные сигналы DCC и nDCC и сигнал включения драйвера DCC_EN. Они поступают на драйвер L298, который и формирует на выходе сигнал DCC.
Кратко о протоколе DCC.
Протокол DCC разработан в Национальной Ассоциации Моделей Железных Дорог (NMRA). При использовании этого протокола на рельсы подается двухполярный сигнал, информация кодируется длительностью импульсов, а питание для управляемых устройств получается простейшим выпрямлением этого сигнала диодным мостом. Пример кодовой посылки приведен ниже.

Адрес конкретного устройства содержится внутри пакета, поэтому всего по двум проводам можно управлять независимой работой множества устройств. Скорость передачи данных не велика, всего около 5кбит/с, но ее легко хватает для управления всеми устройствами макета.
Драйвер имеет 4 выхода, что позволяет использовать либо 2 отдельных шины DCC, либо одну, но с бОльшим током, для чего предусмотрены 2 джампера (J1-J2), которые запараллеливают выходы драйвера.
Драйвер L298 позволяет подключать токоизмерительные резисторы, эта возможность была использована для измерения тока и детектирования короткого замыкания. Сигнал с токоизмерительных резисторов поступает на вход компаратора и сравнивается с заданным (переменным резистором R4). При превышении тока, компаратор срабатывает и контроллер отключает драйвер. При этом зажигается индикатор ошибки на плате (работоспособность можно восстановить перезапуском пульта вручную или с ПК).
Для связи с компьютером используется преобразователь интерфейса FT232RL, так как UART контроллера задействован для опроса модулей обратной связи, то связь с компьютером происходит во время простоя UART по запросу от компьютера. Запрос и разрешение на обмен информацией происходят по линиям DTR и DSR, для развязки линий RXD от MAX487 и FT232 используется буфер на микросхеме 74HC1G125. Это микросхема содержит всего один элемент в корпусе. Можно использовать и обычную 74HC125 с несколькими элементами в ДИП или СОИК корпусе, хотя это увеличит габариты платы.
На плате присутствуют 4 светодиода. Светодиод PWR отображает наличие питания 5В. Светодиод USB_LED светится во время обмена информацией между ПК и пультом. RS485_LED светится во время опроса модулей ОС. Светодиод ERR горит при возникновении какой-либо программной или аппаратной ошибки, например КЗ.
Питается устройство от 14-18В через стабилизатор 7805. Мощность блока питания следует выбирать с учетом подключаемой по шине DCC нагрузки. Сам же драйвер L298 выдает до 2А на канал. Если нагрузка превышает это значение, то следует использовать дополнительный блок питания, а в платах декодера убрать соответствующие перемычки и сделать гальваническую развязку шины DCC от этого БП (см. описание декодеров ниже).
Напряжение питания снизу ограничивается напряжением срабатывания стрелочных приводов макета. Часть напряжения (от 2 до 5В, в зависимости от нагрузки) падает на драйвере L298, и еще 0,5-1В на диодных мостах декодеров. Если же для питания декодеров используется отдельный блок питания, то напряжение питания пульта можно снизить до 10-12В.
Теперь опишем устройства, которые располагаются непосредственно на макете (а точнее под ним).
Модуль обратной связи
Модуль обратной связи служит для определения занятости блок участков или положения стрелочных переводов.
В схеме модуля используется контроллер ATtiny2313, микросхема интерфейса MAX487, стабилизатор 7805, и пары диодных мостов с опторазвязкой на каждом входе (опционально). Всего у модуля 8 пронумерованных входов. Вход модуля может быть обычным контактным, например для определения положения стрелки, или же токовым датчиком – для определения занятости пути. Во втором случае датчик подключается в разрыв между контролируемым участком рельса и одним из питающих рельс проводов. Используемые в токовом датчике оптопары позволяют детектировать только одну полярность напряжения на рельсах, поэтому в случае аналогового управления, нужно использовать другие (с двойным, включенным встречно-параллельно светодиодом), либо две отдельные оптопары. Детекция тока происходит следующим образом: когда на рельсах появляется локомотив или вагон со встроенным в колесную пару резистором, в цепи рельс появляется ток, который создает падение напряжения на диодном мосту. Диоды моста подключены таким образом, что падение напряжения создается на 2х последовательно включенных диодах, этого достаточно для срабатывания подключенной параллельно мосту оптопаре. Схема и плата разработана одновременно для обоих вариантов входов. В случае использования токового датчика не устанавливаются пары резисторов R15-R30, при этом блок-участки получаются гальванически развязаны между собой и модулем. В случае использования входа как контактного датчика, не устанавливаются оптопары D1-D8, мосты BR1-BR8 и резисторы R3-R10 между ними. При этом резисторы R23-R30 представляют собой перемычки 0Ом, соединяющие первые входы датчиков между собой и землей. В качестве резисторов R15-R22 также используются перемычки, но в целях зашиты входов контроллера можно использовать резисторы 1к.
Для идентификации модуля в системе служит микропереключатель адреса. Адреса задаются двоичным кодом (0-выкл, 1-вкл) в диапазоне 0-31. Модуль отвечает только на запрос, в котором присутствует его адрес. Два модуля с одинаковыми адресами будут мешать друг-другу. Корректная работа модуля при опросе сопровождается миганием светодиода на его плате. Резистор R1 служит для согласования линии RS485 и ставится на последнем модуле на шине. Для соединения можно использовать витую пару, две жилы из которой использовать для RS485, а остальные распределить между сигналами DCC и линиями «+питания» и «земля».
Светофорный декодер
Это одно из тех устройств, которое наравне с поездами позволяет “оживить” макет. Такие устройства, работающие по протоколу DCC выпускают многие фирмы и макетостроители знакомые с разработкой микроконтроллерных устройств. Обычно для настройки таких декодеров используют разные варианты прошивок или программируют внутренние переменные с помощью командной станции. Особенность этой схемы декодера в возможности запомнить адрес и конфигурацию светофора замыканием всего пары джамперов на плате декодера. Т.е. чтобы запомнить адрес достаточно замкнуть адресную перемычку AD (Address Detect) и послать с командной станции любую команду на этот адрес (в случае диспетчерского пульта это можно сделать из программы конфигуратора). К декодеру можно подключать несколько светофоров, например 3 пятизначных, 4 4х-значных, 5 3х-значных или 6 двузначных. Каждому из них будет автоматически присвоен свой адрес (по порядку). Для определения типа светофора нужно перед включением замкнуть перемычку SD (Signal Type Detect), при удачном определении светофор по очереди включит все цвета первого в группе светофора. Это можно сделать сразу после прошивки контроллера, если заранее известно какими светофорами будет управлять данный декодер.
Основой декодера является контроллер ATTiny24. Узел питания содержит перемычки выбора источника, диодный мост и стабилизатор типа 7805. Плата спроектирована таким образом, чтобы питать декодер можно было либо от самой шины DCC либо от отдельного источника. Во втором случае сигнал DCC будет развязан оптопарой, а само питание будет браться с разъемов AC1 или AC2, резистор R12 устанавливать не нужно. При питании от шины DCC необходимо установить перемычки выбора питания, оптопара и элементы R11-VD2 не устанавливаются.
Для корректной работы светофоры подключаются к декодеру в определенной последовательности. К первому выходу в параллель подключаются верхние сигналы светофоров, потом нижние и т.д. Затем по одному подключаются общие выводы светофоров (подразумевается использование светодиодных светофоров с общим катодом или анодом) см. рисунок. Перемычки или параллельные им резисторы на выходах декодера ставятся в зависимости от схемы светофора и параметров используемых в нем светодиодов, с учетом того, что используется динамическая индикация.
Стрелочный декодер
Это то устройство, которое определяет, куда поедет поезд на развилке. Как и в случае со светофорным декодером, такие устройства можно найти у многих производителей, и как и в случае со светофорным декодером, адрес можно настроить просто замкнув джампер (AD) и подав команду на переключение. Данный вариант предназначен для управления стрелками с электромагнитами (соленойдами), поэтому при подаче команды декодер выдает на соленойд импульс длительностью 500 мс. Как правило, для перевода стрелки нужен довольно мощный импульс, поэтому чтобы не перегружать шину питания (или шину DCC, если питание берется от нее), используется электролитический конденсатор. На плате предусмотрен разъем для подключения внешнего конденсатора. Причем контроллер (который как и в светофорном декодере – ATTiny24) проверяет заряд конденсатора и не выдаст импульс на привод стрелки, пока зарядка не закончится (выходы, которые нужно переключить, контроллер при этом будет помнить). Это сделано для большей гарантии переключения стрелки. Всего у декодера 8 выходов, это значит, что к нему можно подключить от одной до четырех стрелок. Входная часть практически идентична светофорному декодеру, за исключением использования LM1117 в качестве стабилизатора (это сделано для удобства разводки).
Сборка
Разработка плат была проведена в САПР Proteus, файлы проекта размещены в конце статьи. Вместо дорожек с обратной стороны можно использовать перемычки. В некоторых местах использованы SMD-перемычки типоразмеров 0805 и 1206. Платы практически полностью собраны на SMD элементах с одной стороны, при этом выводные детали (индикаторы, разъемы, кварцы) находятся с другой стороны. Самым сложным может быть пайка микросхем преобразователя USB-UART в корпусе SSOP28 и главного контроллера пульта в корпусе TQFP32. Практически все детали можно найти в большинстве магазинов, за исключением разве что микросхемы 74HC1G125, вместо нее можно применить полноразмерную 74HC125, с соответствующей переразводкой платы. Все резисторы и керамические конденсаторы размера 0805, танталовые конденсаторы в цепях 5В – тип А, в цепях +14В – тип С. Большинство соединений осуществляется клеммами.
Платы пульта имеют размер 55х85мм.
Для подключения кнопок и индикаторов служит макетное поле на плате индикации (см. рисунок платы). Конкретную позицию для подключения можно узнать в программе-конфигураторе (меню проект-схема подключения кнопок/индикаторов). Соединение плат пульта между собой 7 жильным шлейфом следует вести с учетом имен линий (см. схемы и сборочные чертежи выше)! Линии DI-DO должны быть соединены крест-накрест, остальные линии соединяются напрямую.

Платы модулей ОС и декодеры размером 60х60мм.
Для декодеров и модулей ОС корпуса не подразумеваются, т.к. они обычно крепятся внутри макета. Корпус самого пульта зависит от размеров передней панели, в случае маленькой путевой схемы можно использовать корпуса от старой оргтехники (как это сделал я) или найти в продаже новый. Все схемы и чертежи плат в формате пакета Proteus и прошивки модулей находятся в конце статьи. Конфигурации фьюз-битов в модулях ОС и на модуле ввода-вывода можно оставить заводскими, в декодерах – рекомендуется включить BOD на 4.3В. В главном контроллере – включить BOD на 2.7В, установить источником тактирования внешний ВЧ-кварц и задать размер boot секции в 128 слов (фьюз биты в аннотации Atmel: 0x2F 0xD7).
В случае более серьезного макета, скорее всего придется делать самодельный корпус из дерева или другого доступного материала, чего я к сожалению не сделал, т.к. сам макет пока не готов, а для испытаний системы этого хватает.
А вот как он выглядит внутри (платы отличаются т.к. это опытный образец):
А этот бардак представлял собой тестовый макет (слева можно наблюдать стрелочный декодер с батареей конденсаторов, по середине 2 модуля обратной связи, а справа светофорный декодер):
Настройка
По сути, кроме джамперов для запараллеливания каналов в модуле управления существует только один орган настройки, это настройка ограничения тока КЗ. Для того, чтобы его отрегулировать, нужно подключить все декодеры и начать вращать переменный резистор (влево или вправо, уточнить!), пока не произойдет отключение и не загорится индикатор ERR, после этого следует немного открутить резистор в противоположную сторону, выключить и включить питание пульта.
И так, все собрано, и соединено, кроме индикаторов и кнопок самого пульта, что делать дальше?
Для того, чтобы настроить и запустить всю эту систему, я написал специальную программу.
Вот как она выглядит:
Интерфейс незамысловатый, вся программа в основном состоит из окон со списками разнообразных объектов из которых состоит проект.
Рассмотрим основные этапы работы.
1) Для начала (даже до сборки пульта, т.к. этот пункт позволяет определить возможность использования этой системы) нужно нарисовать на листе бумаги схему путей и вид панели пульта. На схеме нужно пронумеровать все светофоры и стрелки и дать им имена. Номера (адреса) должны быть больше 128 (это особенности протокола DCC). У каждого светофора должен быть свой адрес. У стрелок может быть один адрес на 4 штуки и номер выхода декодера, (например: стрелка1 – адрес 129, выход1 – отклонение, выход2 – прямо; стрелка2 – адрес 129, выход3 – отклонение, выход4 – прямо; стрелка10 – адрес 140, выход7 — прямо, выход8 — отклонение и т.д.). Стрелки и светофоры имеет смысл группировать с целью уменьшения длинны соединительных проводов.
Если у вас количество адресов не превысило 32, значит все в порядке, в противном случае у этой системы не хватит адресного пространства и схему придется разбивать на 2 или использовать другой пульт.
Следующим шагом разбиваем макет на блок-участки, подписываем названия всех блок-участков и выходы переключателей положения стрелок. Каждый блок-участок и выход положения стрелки тоже нужно пронумеровать. Номера состоят из адреса (0-31) и бита, это как раз те адреса, и номера входов модулей ОС. Как и декодеры, линии ОС можно группировать по адресам или типам датчика (стрелка или токовый датчик). Если общее количество линий ОС не превысило 64, то можно работать дальше.
Когда все устройства на макете именованы и адресованы, можно переходить к самому пульту. На нем точно также нужно нарисовать все нужные индикаторы кнопки и подписать их имена (чтобы не путать со светофорами и линиями ОС, можно использовать префиксы, например И_ для индикаторов и К_ для кнопок). Адресация тут уже не нужна, так как этим в автоматическом режиме займется программа. Но общее количество кнопок и индикаторов должно быть не более чем по 64 шт.
2) Проверяем связь с пультом. Запустите программу, соедините пульт с компьютером и включите его. В случае подключения по USB, возможно потребуется установка драйверов FTDI. После этого у вас появится новый COM-порт, запомните его.
В программе зайдите в меню настройки – настройки связи и выберите там этот порт, если все в порядке, появится сообщение «открываю порт COMх. готово». Теперь проверим связь с контроллером пульта. Нажмите «подключить» в том же окне. Если все в порядке, появится что-то вроде «Dispatcher Command Station V1.0».
Теперь можно задать адреса декодерам. В окне настройки соединения нужно поставить галку «прямое управление», ввести адрес, установить перемычку на соответствующем декодере и нажать любую кнопку F0-F7, при этом пульт передаст команду с этим адресом в шину DCC, а декодер с замкнутой перемычкой запомнит адрес как свой. Переставьте перемычку на следующий декодер и программируйте следующий адрес.
3) Теперь можно приступить непосредственно к проекту. Пульт на этом этапе можно отключить. Выберите в меню файл – новый, и введите имя проекта. Теперь приступим к добавлению устройств.
Первым в меню «объекты» идет список устройств DCC – это те самые светофорные и стрелочные декодеры. Добавьте в список новое устройство, при этом будет предложен выбор что добавлять, светофор или стрелочный декодер.
Если выбран светофорный декодер, то появляется окно свойств светофорного декодера, где можно ввести имя светофора, адрес и тип, а так же задать логику работы, но об этом позже.
Имя светофора это то самое имя, которое мы дали ему на чертеже путевой схемы, адрес это адрес на шине DCC, ну а тип определяется его функциональным назначением. Под окном выбора типа светофора располагается таблица функций. В зависимости от типа, каждая из 8 функций декодера может иметь разное имя или вообще его не иметь. Функции как бы соответствуют цветам светофора, но каждая из них может быть ответственна за горение или мигание одновременно нескольких цветов. Такие функции называют Аспектами. Например для маневрового светофора существует 2 аспекта: синий и белый, а для проходного могут быть красный, желтый, зеленый и желтый+зеленый.
При добавлении стрелочного декодера окно свойств имеет немного другой вид, например там нет выбора типа и можно написать любые названия функций. Так как стрелочный декодер может управлять 8ю выходами, каждую из функций можно назвать тем, чем она и управляет на макете, т.е. таким именем, какое ей дано на чертеже.
Допустим, что все декодеры мы добавили, теперь можно пока этот список закрыть. Не забываем сохранить то, что сделали. Сам проект сохраняется с расширением .dcs (особо любознательные могут открыть его любым текстовым редактором, структура очень простая, но редактировать его не советую, можно все испортить и придется начинать сначала).
Переходим к следующему списку – обратные связи.
Тут можно добавить все линии обратной связи, которые есть на чертеже. В свойствах нужно ввести имя линии, адрес модуля и бит. Бит это тот самый номер входа в модуле ОС, к которому подключается линия обратной связи, а адрес это адрес модуля на шине RS485.
Следующий список – список кнопок. Это кнопки, которые находятся на пульте и управляют переключением стрелок, открытием или закрытием светофоров ну или какими-либо другими событиями. При добавлении или редактировании кнопки можно изменять только ее имя, а ID назначается автоматически. Добавьте в список столько кнопок, сколько вам нужно на пульте (до 64 штук).
Далее идет список индикаторов. Это все те светодиоды на пульте, которые отображают значения светофоров, занятость пути и положения стрелок. Все индикаторы делятся на 2 группы. Одиночные – это индикаторы которые работают независимо от других и горят только тогда, когда отвечающая за них функция принимает значение «1», например это индикаторы занятости пути и индикаторы положения стрелки. Как только поезд покидает блок-участок, или стрелка переводится в другое положение, на это реагирует модуль обратной связи. Контроллер опрашивает модуль, вычисляет функцию для индикатора и в соответствии с ее значением зажигает или гасит индикатор.
Групповые индикаторы работают по другому принципу. Дело в том, что светофоры переключают цвет (точнее, как мы говорили выше – аспект) по команде. А команда для определенного аспекта формируется как только соответствующая функция переключается в «1». Если она переключится обратно в «0», то никакая команда сформирована не будет и светофор продолжит гореть теми же цветами. Для одиночных индикаторов такой подход не годится. Групповые индикаторы как и светофорные декодеры работают по принципу переключателя. Если для какого-либо индикатора функция примет значение «1», то он загорится сам, и при этом отключатся все остальные индикаторы его группы.
Группировать можно от 2 до 8 индикаторов. Всего на пульте можно разместить максимум 64 индикатора, однако на реальной панели пульта можно использовать различные варианты параллельного и последовательного включения нескольких светодиодов для одной контактной пары.
Последний список служит лишь для информационной цели, в нем содержится краткая информация обо всех задействованных в проекте функциях. Даже в пустом проекте могут быть заданы некоторые функции, например это встроенные в прошивку пульта сигналы для мигания индикаторов (меандр низкой частоты). Простое логическое умножение функции на такой сигнал заставит соответствующий индикатор мигать.
Если все составные части макета и пульта описаны, можно приступать к самой важной части.
3) Программирование функций.
Что же такое функция в данной программе? Дело в том, что пульт ничего не знает о том, как расположены светофоры, стрелки и датчики обратной связи, он (пока еще) не знает какими кнопками управляются стрелки, он ничего не знает о правилах светофорной сигнализации (тем более он не знает в какой стране находится, а ведь правила в разных странах отличаются). А может это и не макет вовсе? Но ему этого знать и не нужно! Все что ему нужно знать – это как реагировать на определенные сочетания входных сигналов (от линий ОС и кнопок). Вот для этого и нужны функции. В процессе работы контроллер пульта по очереди вычисляет каждую функцию, и если это одна из 256 функций, которые касаются декодеров (т.е 32 декодера, по 8 функций на каждый = 256 шт.), то в случае, когда она становится «1», пульт посылает в шину DCC команду на включение этой функции, а если это одна из 64 функций индикаторов – включает или выключает индикатор.
Теперь о том, как задавать эти самые функции. Сначала для DCC декодеров. Вернемся к их списку. Открываем (2жды щелкнув в списке) свойства декодера. Напротив названия каждой функции (аспекта если это светофор или выхода если это стрелочный декодер) находится кнопочка Set… и далее несколько прочерков, это значит что данная функция не задана. Чтобы ее задать, жмем кнопку Set… Появляется окно задания функции.
Сверху отображается ее внутреннее имя, которое состоит из имени декодера и имени конкретной функции. Ниже находится надпись Fx и столбец с кнопками и именами слагаемых. Если функция не задана, то кнопок всего 2 – «=» и «END». Кнопки задают операцию со слагаемыми, находящимися справа от них. Операции бывают следующие: NOT — логическое отрицание, только для первого слагаемого, AND – логическое умножение, OR – логическое сложение, AND NOT – умножение с инвертированным слагаемым и OR NOT – сложение с инвертированным слагаемым. Переключаются они циклически, через еще одно значение – «END», которое означает, что больше слагаемых не нужно. Сами слагаемые задаются нажатием на их название справа от кнопки (если слагаемое еще не задано, то там будет надпись «Set…». При этом появляется окно выбора слагаемого в одном из 3х списков. Это либо одна из линий обратной связи, либо кнопка, либо уже определенные (встроенные) функции.
Функция выбирается либо щелчком и нажатием на ОК, либо двойным щелчком, после чего это окно исчезает, а новое слагаемое появляется на своем месте рядом с кнопкой операции. Если функция не нужна, ее можно совсем удалить кнопкой «Очистить», если функция готова, можно нажать внизу кнопку «Задать» — окно исчезнет, а напротив функции появится ее внутреннее имя.
Рассмотрим пример задания функции для простого 3х-значного светофора.
Допустим у нас есть светофор (светофор1, адрес 129), и 2 датчика занятости (ДЗ_1, адрес1 бит0; ДЗ_2, адрес1, бит1), подключенные к блок-участкам за этим светофором (ДЗ_1 –ближний из двух). Логика такого светофора следующая:
— если занят следующий за светофором блок-участок, то горит красный;
— если следующий свободен, а за ним занят, то горит желтый;
— если свободны оба блок-участка, то горит зеленый.
Как теперь это задать? Добавляем в список ОС два наших участка и даем им имена (как есть). Добавляем в список DCC светофорный декодер, даем ему имя, адрес и выбираем тип – проходной. У него появляются 4 аспекта. «Желтый+зеленый» рассматривать не будем для упрощения. Напротив красного жмем Set и задаем простую функцию: Fx=ДЗ_1, т.е жмем Set напротив кнопки «=» и выбираем из списка ОС наш датчик. Жмем задать, и переходим к «желтому», там уже нужно во-первых задать первый оператор «=NOT», т.к. первый блок участок должен быть свободен и выбираем опять же ДЗ_1, далее переключаем второй оператор на «AND» («END» переместится на следующую строку), и выбираем второй датчик. Теперь задаем для зеленого: Fx=NOT ДЗ_1 AND NOT ДЗ_2. Вот и все, алгоритм работы этого светофора запрограммирован.
Теперь что касается заранее заданных функций. Они нужны для упрощения программирования и снижения нагрузки на контроллер. Например, если мы хотим на пульте продублировать показания нашего светофора, мы можем опять задать функции через датчики и контроллер их конечно опять просчитает, но можно просто использовать сами готовые функции (светофор1#красный, светофор1#желтый, светофор1#зеленый), да и контроллер не будет их считать, а просто возьмет готовые значения. Кстати, обратное сделать нельзя, т.к. функции индикаторов из-за ограничений программы контроллера использовать в других функциях невозможно, так что сначала нужно всегда задавать функции для декодеров!
Теперь переходим к редактору панели пульта. Она находится в самом низу меню «Проект». Тут можно разместить все необходимые органы управления и индикаторы, а так же задать им соответствия с проектными. Чтобы задать соответствия, нужно щелкнуть по объекту правой кнопкой, при этом для индикатора можно будет выбрать имя индикатора из ранее созданного списка, а для кнопки соответственно имя кнопки. Различных индикаторов можно поставить 256 штук и любому назначить любое из 64 заданных имен. Кнопок же должно быть столько, сколько задано в проекте (максимум 64).
Информация о внешнем виде пульта, сохраняется в том же самом файле dcs.
Когда все расставлено в программе, то и на реальной панели нужно все объекты соединить. Сделать это можно при помощи меню «Схема подключения кнопок и индикаторов» того же меню «Проект». В окне отображается контактная матрица, расположенная на модуле индикации. Кнопки подключаются к контактам KX-KY, светодиоды к контактам IX-IY. При подключении светодиодов необходимо соблюдать полярность и ставить токоограничительные резисторы, впрочем, это будет отображено на схеме.
Теперь остается только привести данные проекта в понятный для контроллера вид, и залить в него. Для начала нужно скомпилировать проект («Проект – компилировать), если все настроено верно, ошибок нет и количество объектов не превышает возможности контроллера, то появится зеленая надпись «Compilation Complete» и будет создан файл с именем проекта и расширением bin. Его можно использовать как для прошивки программатором, так и из этой программы, по интерфейсу USB/COM через меню «Загрузить». При загрузке имя файла выбирать не нужно, в контроллер будет загружен текущий проект. Загрузка занимает некоторое время (около 30 сек), при этом на плате должен мигать светодиод USB, а на экране будет отображаться прогресс загрузки.
В программе есть еще один полезный пункт меню – просмотр памяти контроллера. Он позволяет проконтролировать работоспособность датчиков ОС, кнопок и индикаторов пульта в реальном времени. Для чтения памяти нужно нажать кнопку «Обновить» или поставить галку в пункте «автообновление». При этом в ячейках памяти, ответственных за хранение данных о линиях ОС (FB_ADR) или кнопках (KBRD_ADR) будет отображаться их текущее состояние. А щелчок по ячейкам DISPL_ADR будет переключать индикаторы пульта.
Программа не требует установки, для запуска достаточно скопировать в любую папку все файлы программы и запустить исполняемый файл. Настройки программы (активный ком-порт и язык интерфейса) сохраняются в той же папке. При запуске возможно появление ошибки открытия ком-порта, это значит что в списке портов произошли изменения (например не подключен пульт или на него не подано питание), чтобы подключить пульт в этом случае нужно устранить неисправность (включить питание пульта) и перезапустить программу. Тестовый проект приложен отдельным архивом. А вот как он работает:
Более подробное описание займет наверно слишком много места и выйдет за рамки одной статьи, поэтому все вопросы касательно данной системы можно задать в соответствующей теме форума.
Ну вот вроде и все. Желаю удачи в сборке и настройке!
PS: Просьба настоящих желедорожников-профессионалов сильно не ругаться, если я что-то напутал в терминологии или принципах работы ЖД, для меня это всего лишь хобби.
