Стрелки и светофоры я уже освоил, но это ведь не все 😄 Хочется, чтобы, как и на настоящей железной дороге, можно было видеть, какие пути заняты, а какие - свободны.
Казалось бы, зачем? Можно же просто посмотреть. Беда в том, что макет у меня запланирован двухуровневый и нижний уровень будет не виден, так что аварии вполне возможны. К тому же, на основе информации о занятости путей можно строить дальнейшую автоматизацию, когда весь макет будет целиком управляться компьютером.
Впрочем, до этого далеко, а пока разбираемся с простейшей задачей. Мой ECoS умеет считывать информацию с датчиков по протоколу S88 и показывать ее на экране. Остаются сущие пустяки: сделать датчики и схему, которая их сигналы по этому самому протоколу будет передавать.
Датчики можно основывать на одном из нескольких принципов. Самый простой: инфракрасный диод и соответствующий приемник. Поезд, проезжая между ними, перекрывает свет и приемник подает сигнал. Преимущество: будет работать с любым объектом на путях, хоть локомотивом, хоть вагоном, хоть коровой (модельной, конечно же). Недостаток: надо как-то замаскировать передатчик и приемник. Еще недостаток: если поезд проехал за приемник, путь будет считаться свободным, а это может быть не так. Причем этот недостаток свойственен и ряду других вариантов, где датчик “снимает показания” в одной точке.
Поразмыслив, решил использовать датчик тока. Идея несложная: катушка, в середине которой проходит один из DCC проводов, подведенных к участку пути. Когда локомотив заезжает на участок, появляется ток, причем переменный. В полном соответствии с законами физики, этот ток возбуждает в катушке сигнал. Остается его усилить и подать на ножку Ардуино. Ножек у Ардуино много, так что одна плата сможет работать, скажем, с шестнадцатью участками. Недостатки тоже есть, как же без них. Если участок занят вагоном, ток, скорее всего, идти не будет, разве что в вагоне есть освещение. Впрочем, это решается модификацией вагонов.
Сказано - сделано. На тестах все получилось, а вот дальше я решил подойти “по взрослому”. Нарисовал печатную плату датчика и отослал заказ на изготовление тридцати штук в Китай. Надо признать - сделали быстро и хорошо. Осталось только запаять детали. Результат виден на этом снимке:
Можно было бы пойти по этому же пути и с платой, которая собирает сигнал с 16 датчиков и превращает его в S88, но таких плат мне нужно мало, так что дешевле (и интереснее) вытравить их самостоятельно. Не вдаваясь в подробности - они есть в Интернет - скажу, что я использовал лазерно-утюжный метод (ЛУТ) 😄, а травил раствором лимонной кислоты с перекисью водорода. Получилось вот так:
А вот обратная сторона уже запаянной платы
И лицевая сторона.
Как видно S88 будет передаваться по обычному Ethernet кабелю, причем платы можно подключать одна за другой (т.н. “daisy-chain”). Собственно датчики с первого фото подключаются к разъему в виде длинной гребенки.
По традиции, приведу видео испытаний еще с черновым макетом платы. Где-то на 16 секунде можно заметить, как загорается светодиод, указывая, что паровоз въехал на определенный участок пути. И гаснет, когда паровоз этот участок покидает.
Теперь, когда с электроникой разобрались, можно продолжить строительство 😄.