Форум Trainsim  

Вернуться   Форум Trainsim > Разное > Железнодорожный моделизм

Ответ
 
Опции темы Опции просмотра
Старый 09.01.2016, 01:04   #1
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,724
Вы сказали Спасибо: 2,119
Поблагодарили 2,425 раз(а) в 820 сообщениях
E69 хороший собеседник
По умолчанию ДЦ на макете

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

Внешне это выглядит пока не очень, для теста я не ставил цели скрыть монтаж.

Фото без обрезки:
Скрытый текст:


Зато систему интересно смотреть в динамике. В ролик встроены комментарии, немного поясняющие происходящее.
Поездной режим


Вот ещё ролик, здесь маневровые передвижения. Только при заказе светофоров немного промахнулся, поэтому вместо белого нижний огонь на выходном пока желтый :Х
Маневровый режим


Основным элементом управления является сеть из ардуинок. Но с точки зрения локомотива это аналоговая система - скорость задается напряжением на рельсах. Для точной остановки перед сигналами выделяется часть пути, где напряжение снижается. Структурная схема системы выглядит как-то так:


Мне было интересно реализовать управление от лица диспетчера, чтобы всё было завязано на один пульт, по возможности близкий реальному (в отличие от RocRail / TrainController). Это удалось, за исключением управления движением при маневрах - там пультик с командами составителя (хотя можно зажать кнопку "вперед", если не надо останавливаться посередине пути). В принципе, нет проблемы сделать физические пульт и табло, подключив их в ту же сеть контроллеров, но экранный вариант удобнее и гибче.

Пульт сделан на основе систем "Нева"/"Луч" (поскольку есть маневровые передвижения, то скорее второй). Программа написана с нуля, но источником вдохновения и части информации (наряду с ТУ-16) был, конечно, симулятор Zork'а, которому пользуясь случаем говорю большое спасибо (оттуда также позаимствована часть графики). Поскольку размер системы очень маленький, пульт и табло условно совмещены в одном окне.
Если кто-то хочет половить баги в пульте - могу скинуть, там можно "покататься" в отладочном режиме без реального макета. Скриншот пульта крупным планом:


(А вот как это выглядит при управлении реальным участком:
http://pultneva.ru/_ph/13/946131112.jpg
http://pultneva.ru/_ph/13/55999203.jpg
- фото с pultneva.ru)

Некоторые технические подробности, если кому-то интересно, описаны под спойлером.
Скрытый текст:
В принципе, ничего существенно оригинального в техническим плане система не содержит - просто сеть микроконтроллеров с релейной логикой, управляющих ключами.
Чуть более детально архитектуру можно нарисовать так:


Система разделена на три уровня: компьютер, контроллер-ретранслятор и исполнительные контролеры рельсовых цепей.

Компьютер, помимо реализации интерфейсов для человека и контроллеров, выполняет довольно сложные для ардуинок проверки условий безопасности и работает на высоком уровне абстракции - с маршрутами, примерно как и оборудование в диспетчерской плюс частично станционная МРЦ.
Исполнительные контроллеры решают задачу путевых устройств: на основе полученной по сети информации об открытии других сигналов, положении стрелок и приказов о направлении движения и открытии своего сигнала, они определяют, какое именно показание он будет иметь (Ж, З, Жм...) и какое напряжение выдавать на рельсы с учетом показаний сигналов и обеспечения плавности пуска.
Ретранслятор только передает приказы контроллерам и ответы компьютеру. У меня была идея агрегировать в нем информацию о занятости секций, но с точки зрения отладки программ оказалось проще передавать ответы/приказы по одиночке без изменений.

Монтаж контроллеров выполнен на типовых платах двух видов: одна управляет двумя станционными путями либо перегонными блок-участками, другая - парой стрелочных секций, тупиков и других коротких цепей. Таким образом, легко набрать модули на любое путевое. Программы же контроллеров, несмотря на аналогичность основной части кода, надо несколько модифицировать под своё положение индивидуально (как на каждой станции, видимо, монтируется свой набор перемычек на типовых стативах с реле).

Основных технических проблем, с которыми пришлось помучиться в процессе разработки, было три.

Главный вопрос - детекция занятости рельсовых цепей. Нужно было поймать доли миллиампера, если за красным сигналом остался вагон. В качестве измерительного шунта я поставил встречно включенные диоды, и даже 10кОм в цепи (а иногда и плотно прижатая к рельсам рука) приоткрывали один из них достаточно, чтобы создать на переходе легко измеримое падение напряжения около 0,5В. Для надежности в контроллеры заложен алгоритм, который выполняет несколько серий измерений и отбирает экстремальные значения измеренных напряжений (они оказались более информативны) перед принятием решения о занятости. В нечетном направлении система работает вполне уверенно, а вот при обратной полярности, увы, хуже (на видео заметны некоторые капризы стрелочных секций). Предположительно, проблема в утечках через входное сопротивление АЦП ардуинок. Можно ещё поточнее понастраивать пороговые напряжения и поискать серию диодов с более удачной ВАХ на малых напряжениях.
Может быть, у кого-то есть идеи или принципиально иные решения по теме - буду благодарен

Вторая проблема - замыкание соседних цепей локомотивом, проходящим изостык. Пришлось усложнить силовую часть и каждой секцией РЦ управлять двумя каналами ШИМ (для Ч и Н направлений), вставив туда по защитному диоду. Кстати, несмотря на ряд (непреднамеренных))) попыток, сжечь драйвер L298N ни 6, ни 12 вольтами так и не удалось

Третья, которую решал уже в январе - связь контроллеров между собой. Изначально в системе использовался протокол i2c, однако он оказался довольно капризен и, главное, контроллер-мастер регулярно зависал в определенных режимах работы. К собственному удивлению, проще и эффективнее оказалось написать свою логику связи, использовав по возможности имеющиеся линии. Заодно - вероятно, поскольку библиотеки i2c использовали внутренние таймеры контроллеров - улучшился ход локомотивов Кажется, в системе есть ещё большая доля потерь команд в COM между компом и ретранслятором, можно попытаться их поустранять, но поезда идут медленно и высокое быстродействие тут не требуется.

Что хочется сделать когда-нибудь (если вдруг дойдут руки)))?
- Забороть проблемы с определением занятости.
- Отрисовку ГИДа. Прибытия и отправления фиксируются автоматически, но программа пока не может присваивать номера поездов и логически связывать события отправления и прибытия в единые линии хода.
- Конечно, создать более сложную систему на несколько станций только очень уж громоздкий получится проект.
- Может быть, перевести управление на Сетунь. Может быть, сделать более реальное управление от лица машиниста. С другой стороны, очень хочется сохранить идеологию управления одним диспетчером и избежать развития шизофрении местного управления.
- Применить в исполнительной сети нормальный протокол связи. Может, поразбираться с CAN или чем-то промышленным. А может, найти способ увязать-таки имеющийся пульт с DCC.

Последний раз редактировалось E69; 09.01.2016 в 01:20.
E69 вне форума   Ответить с цитированием
Эти 14 пользователя(ей) сказали Спасибо E69 за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 


Старый 09.01.2016, 01:05   #2
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,724
Вы сказали Спасибо: 2,119
Поблагодарили 2,425 раз(а) в 820 сообщениях
E69 хороший собеседник
По умолчанию

[reserved post]
__________________
🚆🚆🚆

Последний раз редактировалось E69; 09.01.2016 в 01:19.
E69 вне форума   Ответить с цитированием
Старый 19.02.2016, 01:06   #3
Zork
Новичок
 
Аватар для Zork
 
Регистрация: 10.05.2007
Адрес: Сургут
Сообщений: 1
Вы сказали Спасибо: 1
Поблагодарили 1 раз в 1 сообщении
Zork стоит на развилке (репутация по умолчанию)
По умолчанию

Класс!

Я тоже ардуинками занялся, но максимум у меня руки может дойдут до макета табло на светодиодах. Уже закуплена горсть 595-х регистров. Ну и манипулятор в планах, только кнопок подходящих нет. Мечтаю, конечно, и о таком макете (есть пиковский стартовый набор), что не вредно.
Насчет управления - в журнале "Моделист-конструктор" за примерно 85 год видел аналоговую схему для управления стрелками и сигналами. Пороюсь, если интересно.
Zork вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Zork за это полезное сообщение:
Старый 05.10.2017, 07:22   #4
Федюнь
Опытный
 
Регистрация: 12.05.2007
Адрес: г.Ташкент
Сообщений: 208
Вы сказали Спасибо: 24
Поблагодарили 143 раз(а) в 54 сообщениях
Федюнь стоит на развилке (репутация по умолчанию)
По умолчанию

А независимый от компа пульт к этой системе будет? Что то не хочется покупать несколько компов на несколько станций,а гонять поезда хотят несколько а не один.
Федюнь вне форума   Ответить с цитированием
Старый 10.10.2017, 06:35   #5
Федюнь
Опытный
 
Регистрация: 12.05.2007
Адрес: г.Ташкент
Сообщений: 208
Вы сказали Спасибо: 24
Поблагодарили 143 раз(а) в 54 сообщениях
Федюнь стоит на развилке (репутация по умолчанию)
По умолчанию

А где есть схемы,прошивки и программа этого проекта? Очень интересно.
Федюнь вне форума   Ответить с цитированием
Старый 11.10.2017, 16:39   #6
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,724
Вы сказали Спасибо: 2,119
Поблагодарили 2,425 раз(а) в 820 сообщениях
E69 хороший собеседник
По умолчанию

Здесь сымитирован пульт ДНЦ, то есть он может быть один на все станции. Но программировать его придется по-новому на каждое путевое.
__________________
🚆🚆🚆

Последний раз редактировалось E69; 11.10.2017 в 16:44.
E69 вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо E69 за это полезное сообщение:
Старый 12.10.2017, 06:17   #7
Федюнь
Опытный
 
Регистрация: 12.05.2007
Адрес: г.Ташкент
Сообщений: 208
Вы сказали Спасибо: 24
Поблагодарили 143 раз(а) в 54 сообщениях
Федюнь стоит на развилке (репутация по умолчанию)
По умолчанию

Интересно как всё увязано в передаче команд.Как ардуина передаёт и принимает команды от пульта.Пульт писали в делфи?
Федюнь вне форума   Ответить с цитированием
Старый 15.10.2017, 21:59   #8
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,724
Вы сказали Спасибо: 2,119
Поблагодарили 2,425 раз(а) в 820 сообщениях
E69 хороший собеседник
По умолчанию

Передача команд по COM-порту, стандартным образом. Между отдельными контроллерами написал свой простенький протокол, чтобы не задействовать встроенные таймеры - они были нужны для ШИМ. Главный контроллер работает только как ретранслятор с одного протокола в другой. Для посылок хватило 3 байт - первый адрес, второй поездные команды (каждый бит - направление, приказ на открытие сигнала и т. п.), третий - маневровые. Обратно возвращается только пара бит с информацией о занятости управляемых участков, таким же образом.

Я могу скинуть образец прошивки, но в текущем виде это будет не готовое решение для тиражирования, а затравка для экспериментов.
__________________
🚆🚆🚆

Последний раз редактировалось E69; 15.10.2017 в 22:18.
E69 вне форума   Ответить с цитированием
Старый 16.10.2017, 06:43   #9
Федюнь
Опытный
 
Регистрация: 12.05.2007
Адрес: г.Ташкент
Сообщений: 208
Вы сказали Спасибо: 24
Поблагодарили 143 раз(а) в 54 сообщениях
Федюнь стоит на развилке (репутация по умолчанию)
По умолчанию

Конешно конешно скиньте,весьма интересное представление.Очень хотелось бы создать такую же вещь но я в программировании не очень силён.Очень интересно посмотреть и на сам исходник программы пульта.Думаю даже при создании другой программы пульта помогло бы с кнопками и другими элементами пульта.
Федюнь вне форума   Ответить с цитированием
Старый 17.10.2017, 09:48   #10
Федюнь
Опытный
 
Регистрация: 12.05.2007
Адрес: г.Ташкент
Сообщений: 208
Вы сказали Спасибо: 24
Поблагодарили 143 раз(а) в 54 сообщениях
Федюнь стоит на развилке (репутация по умолчанию)
По умолчанию

А можно фото блоков посмотреть?
Федюнь вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать растительность на макете? VTL Железнодорожный моделизм 20 27.10.2009 01:14


Текущее время: 11:33. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?