Изготовление макета с компьютерным управлением

MIKH

Вокзал примерно (Д;Ш;В) 1635х435х240. Материал: ПВХ 2мм; 3мм; 4мм; 5мм; 10мм, Оргстекло прозрачное 1мм. Материала ушло несколько квадратов. Точно сказать не могу, но довольно много. Больше всего ушло пластика: 2мм (на стенки), 10мм (из него фрезерованы все столбы и несущие элементы).
Вокзала такого не существует. Давно задумывал сделать проект 2-х уровневого вокзала, где на оба уровня будут приходить поезда, с автостоянкой и рестораном на верхнем уровне.
За счёт большого количества стёкол, подвижной состав хорошо просматриваться.

27 days later
AndyE

Михаил, как успехи с данным проектом?

MIKH

Делаю ландшафт.
На днях выложу фотки. Все заезды в тоннели резал вручную. Надоели покупные. На всех макетах одни и те же элементы.
К сожалению, много времени уходит на электронику. Сделали мы блоки занятости блок-участков с поддержкой функции автоматического определения адреса локомотива. Представьте как удобно: Вы ставите на рельсы локомотив, а программа тут же определяет его адрес и место положения. Сейчас делаем командную станцию, поддерживающую эту функцию. Проблема в том, что присоединить оборудование к программе управления макетом TrainController просто не получается. Протоколы, поддерживающие функцию автоматического определения адреса локомотива являются закрытыми (их всего 3. У ESU, Lenz, Digitrax). А те, которые в открытом доступе не поддерживают данную функцию.
Зато если не брать в расчёт проблемы с автоматическим определением адреса, система управления получилась. И сейчас мы её доводим…

Probelzaelo
MIKH:

Сейчас делаем командную станцию, поддерживающую эту функцию. Проблема в том, что присоединить оборудование к программе управления макетом TrainController просто не получается. Протоколы, поддерживающие функцию автоматического определения адреса локомотива являются закрытыми (их всего 3. У ESU, Lenz, Digitrax). А те, которые в открытом доступе не поддерживают данную функцию.

Очень интересная фича, а каким образом, происходит определение адреса? Сам принцип действия любопытен… И что более конкретно имеется ввиду под адресом локомотива? это координаты в пределах макетного поля или какие то еще привязки?

MIKH:

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

Что такое блоки занятости? разделители участков полотен или что то более интересное?

AndyE
Probelzaelo:

И что более конкретно имеется ввиду под адресом локомотива?

Я так понимаю это уникальный адрес (номер) локомотива, для адресации команд.

Probelzaelo
AndyE:

Я так понимаю это уникальный адрес (номер) локомотива, для адресации команд.

Вот отсюда и вопрос. Адрес может быть логический - имя/номер, а может очень даже физический 😉 координата местоположения, тогда и вопрос…
как “общаться” с оборудованным локомотивом вроде более менее документированно, а как на автомате проконтроллировать его место на макете? не вычислять же из “пробега” и заданной скорости… при ручных манипуляциях составами, вроде все более менее ясно…

AndyE

я думаю управление идет по принципу адрес локомотива / номер блок участка. Что в итоге позволяет точно определять координаты и параметры.

MIKH

На макете, на рельсах (по одной стороне) устанавливаются изоляторы, делящие макет на блок - участки. Основное требование к блок - участкам, чтобы длина состава была меньше длины блок-участков. (Хотя иногда можно использовать более короткие блок - участки). Стрелки обычно в блок-участки не входят (но при желании их можно привязать к нужному блок-участку) (См. фото). Питание к каждому блок - участку подаётся своё, через датчик занятости путей. Это блок, который реагирует на нагрузку, возникающую на определённом блок-участке, и в случае её возникновения (например: наличие на путях локомотива или вагона с установленным на колёсах сопротивлением подаёт сигнал на командную станцию, а она в свою очередь на компьютер. Блок передаёт информацию о номере блок - участка, на котором появилась нагрузка. Чтобы всё заработало, на датчик занятости надо подать сигнал управления локомотивом (он же является и питанием локомотива) с командной станции. В нашем случае это сигнал в формате DCC. А с датчика необходимо снять информацию о занятых блок - участках по шине обмена данных.
Сам блок-участок может быть разделён изоляторами на 2 или 3 отрезка (в зависимости от организации движения в одну или 2 стороны). При этом средний отрезок длинный, а крайние отрезки короткие (примерно по 15 см (в масштабе НО). Срабатывание блока занятости по крайним датчикам приводит в действие команду остановки поезда. Но такая схема не является единственной. В качестве тормозных датчиков можно использовать герконы, механические контакты, оптические датчики и т.д. У каждого решения есть свои преимущества и недостатки. Можно вообще обойтись без тормозных датчиков на блок - участках. Так работает классическая схема обратной связи на макетах железных дорог.
В моём случае я использую на локомотивах декодеры с функцией Rail Com (например, декодеры ESU, версии V4). Декодер с функцией Rail Com передаёт информацию о адресе локомотива. Блок занятости кроме информации о имеющейся нагрузки на конкретном блок-участке получает информацию о адресе (номере) локомотива находящемся на этом блок-участке и передаёт информацию на командную станцию по шине передачи данных. Командная станция обрабатывает эту информацию и передаёт её на компьютер с установленной программой управления макетом. После того, как адрес локомотива и его место положение автоматически определены программой она показывает его изображение на панели управления программой. Это нужно для того, чтобы программа при сбоях в работе не теряла локомотив. Кроме того, если Вы устанавливаете локомотив на макет, его не нужно прописывать. Всё за Вас сделает программа. Она тут же высветит его рисунок в том блок - участке, где он установлен.
Второй вопрос, который мы смогли решить это вопрос питания. В среднем командная станция может выдать ток 3-5 ампер. Этого хватит, чтобы использовать 3-7 локомотивов. А если надо больше, то приходится устанавливать бустеры. Чем больше локомотивов, тем больше бустеров. Можно поставить мощный, например ампер на 8. Но появятся проблемы с отработкой защиты, по короткому замыканию, особенно при длинных проводах. Кроме того в локомотивах довольно тонкие провода и большой ток может вызвать повреждение изоляции. Вывод: надо устанавливать больше бустеров, рассчитанных на меньший ток. Вот и получается нагромождение оборудования. Куча блоков занятости, куча бустеров.
Мы объединили датчики занятости с бустерами в одно устройство. В результате мы получили блок занятости, рассчитанный на 16 блок - участков с двумя бустерами по 3 ампера (каждый бустер отвечает за свои 8 блок-участков). Из них 7 блок - участков с функцией автоматического определения адреса локомотива.
Третий вопрос, который мы смогли решить: Мы создали свою шину обмена информации. Назовём её LN20. В результате мы смогли добиться увеличения скорости обмена данными и стабильности работы, при большом количестве блоков занятости и исполнительных механизмов.

AndyE
MIKH:

Мы создали свою шину обмена информации.

Ну вы, блин даете… Я так чувствую итогом этого макета станет целый программно-аппаратный комплекс… В серию пускать не планируете? 😃

AndyE
MIKH:

Планируем.

Не удивительно после такого объема работ)))

MIKH

Я думаю, что любой, кто будет делать большой и довольно сложный макет рано или поздно столкнётся с проблемой подбора оборудования. А мы имеем готовое решение.

Probelzaelo
MIKH:

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

С этой проблемой можно побороться установкой электронных(самовосстанавливающихся) предохранителей прямо в локомотивах, размер и вес у них не большой, включаются в разрыв питания, при превышении тока разрывают цепь, после снятия напряжения восстанавливаются и снова работают пример micronica.ru/docs/safetyfuse/special.shtml

А вообще, конечно все обалдеть как здорово у вас!

MIKH:

Срабатывание блока занятости по крайним датчикам приводит в действие команду остановки поезда. Но такая схема не является единственной.

Вчера видел док. на конструкцию в которой колеса локомотива снабжаются датчиками, для оценки скорости движения и перемещения, но там немного другая задача решалась вроде совсем не позиция состава …

MIKH

Обычно датчики на колёса устанавливаются для синхронизации звука и дыма с движением локомотива. Но идея имеет право на существование. А вообще любую задачу можно решить десятком способов.
Есть ещё одна проблемка. При эксплуатации макета, когда поезд должен остановиться на определённом блок - участке, и уже с компьютера прошла команда стоп, в этот момент из-за помехи (не будем углубляться в причину помехи) команда не воспринимается локомотивом, и он продолжает движение, или снижает скорость, но всё равно продолжает движение (такое бывает). Есть идея дублировать команду “Стоп” но не с компьютера, а какими то отдельными устройствами. Скорее всего, это должно быть завязано с блоками занятости блок - участков. Над этим стоит подумать…

AndyE

А если посылать команду “стоп” и в месте с ней отключать через какое-то время питание на блок участке?

Probelzaelo
MIKH:

сть ещё одна проблемка. При эксплуатации макета, когда поезд должен остановиться на определённом блок - участке, и уже с компьютера прошла команда стоп, в этот момент из-за помехи (не будем углубляться в причину помехи) команда не воспринимается локомотивом, и он продолжает движение, или снижает скорость, но всё равно продолжает движение (такое бывает). Есть идея дублировать команду “Стоп” но не с компьютера, а какими то отдельными устройствами. Скорее всего, это должно быть завязано с блоками занятости блок - участков. Над этим стоит подумать…

Если я что то понимаю, то самая главная проблема кроется даже не в том как обеспечить связь, а в том что импортнячий софт должен знать про эту связь и своевременно использовать ее в автоматическом режиме работы? Если делать совсем много собственной электроники то придется писать такое количество драйверов к софту что проще уже свой софт делать… кстати, а ведь достаточно много различных SCADA систем - применяемых какраз для подобных задач для визуализации в управлении процессами, есть и дорогие и не очень и совсем бесплатные … они не задочены под какую либо единственную задачу, но подобная реализация диспетчерского контроля на реальной ЖД есть и ей уже далеко не один год…

AndyE
Probelzaelo:

кстати, а ведь достаточно много различных SCADA систем

Большинство, насколько я сталкивался с ними (весьма поверхностно). Работают с DDE драйверами.

Probelzaelo:

подобная реализация диспетчерского контроля на реальной ЖД есть и ей уже далеко не один год…

Подобным образом реализована диспетчеризация сортировки багажа в аэропортах

Probelzaelo
AndyE:

Подобным образом реализована диспетчеризация сортировки багажа в аэропортах

Что только не реализовано подобным же образом…

DoubleHead
MIKH:

Есть идея дублировать команду “Стоп” но не с компьютера, а какими то отдельными устройствами. Скорее всего, это должно быть завязано с блоками занятости блок - участков. Над этим стоит подумать…

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

  2. Большинство DCC декодеров умеют работать в двух режимах, собственно DCC и аналог. И практически все, кроме совсем уж убогих имеют настройку что делать в случае появления вместо сигнала DCC обычного DC. Я обычно настраиваю поведение следующим образом - при наличии DC - встать. На микромакете у меня это используется для предотвращения сноса тупиковых упоров и схода ПС. Хвост перед тупиковым упором несколько больший длины самого длинного лока запитывается от DC. В случае неостановки лока он попадает на участок с постоянкой и практически гарантированно встает.

MIKH
AndyE:

А если посылать команду “стоп” и в месте с ней отключать через какое-то время питание на блок участке?

Если отключить питание на блок - участке, выключится освещение в вагонах, звук и т.д.
Есть смысл сделать устройство, передающее в DCC формате сигнал остановки на блок - участок, где должен был остановиться поезд. Это легко реализовать на тупиковых участках. Например, установить дополнительный датчик. При его срабатывании будет передаваться сигнал аварийной остановки. Сложнее с проходящими (сквозными) блок - участками.
Сбои при торможении это не проблема моей электроники. Это проблема всех цифровых систем управления макетами ЖД.

DoubleHead

А в сторону ABC не смотрели? Скоммутировать диод на конкретный блок большого труда не составит.
www.tonystrains.com/technews/lenz-asy-abc.htm

MIKH:

Например, установить дополнительный датчик. При его срабатывании будет передаваться сигнал аварийной остановки. Сложнее с проходящими (сквозными) блок - участками. Сбои при торможении это не проблема моей электроники. Это проблема всех цифровых систем управления макетами ЖД.

Вот я же говорил там где-то что датчиков нужно больше 😃 Крайний на блоке используется как краш-стоп датчик, что до выключения освещения, согласитесь, данная ситуация (неостановка лока по команде) вообще говоря аварийная и такая мелочь как погасшее освещение по сравнению с возможностью аварии ничто.