Светофорная сигнализация на Arduino

Рубрика «Мастерим сами» (показываем наработки, делимся опытом, обсуждаем, ищем оптимальные решения)

Доброго здоровья всем адептам дачжелдора, энтузиастам, сочувствующим и на огонек заходящим!)))

Тема светофорного регулирования дачных железнодорожных перевозок, начатая нами в прошлом году плавно перетекает в новый, обрастая новыми участниками и новыми взглядами на эту проблему. И вот сегодня целое исследование на эту тему выносит на суд общественности Анатолий из Москвы. Постоянные читатели знают его по комментариям, которые он публикует у нас под ником Accelero.

Честно скажу, что мы – Сергей (nashpoezd) и Ваш покорный слуга – немного проконсультировали автора относительно потребностей дачжелдора, по тому опыту, который мы с Сергеем имеем в плане эксплуатации дорог, и по тем замыслам, которые у нас есть относительно дальнейшего их развития.

Слово автору:

Здравствуйте, уважаемые дачжелдоровцы!

Сам пока только приобщаюсь к данному движению и своя железная дорога ещё в планах, но тем не менее решил начать с того, что могу осуществить, не дожидаясь весны. Выбор пал на светофорную автоматику. Поскольку являюсь радиолюбителем и последнее время конструирую разные приборчики на достаточно широко известных модулях arduino, то за основу были взяты именно они. Выбор пал на arduino nano, так как он наиболее подходит для наших целей, удобен в монтаже и имеет на борту адаптер USB-TTL (я в основном использую arduino pro mini, но там адаптер отсутствует, что не очень удобно, зато цена ниже на треть).

Состояние занятости путей моя система определяет последовательным замыканием двух контактов, которые могут быть и в виде концевых выключателей, и в виде герконов, а могут быть просто контактными штырями, которые замыкаются корпусом вагонетки. На макете у меня просто контакты из скрепок. К моменту написания статьи уже испытал вариант с герконами — работает все отлично. Суть использования именно двух контактных групп в определении направления движения подвижного состава (далее ПС), т. е. Вне зависимости от того, сколько раз ПС проедет в одном направлении (допустим сцепка и каждый вагон замыкает контакты) светофор будет показывать нужный сигнал. Главное достоинство именно такой системы в том, что установить её можно практически на любую ЖД — от игрушечной до промышленной, в отличие от классической системы с замыканием рельс колесными парами, что накладывает целый ряд ограничений.

Перед тем как продолжить настоятельно рекомендую желающим собрать себе нечто подобное почитать про ардуино и/или посмотреть видео о том, что это такое, с чем его едят, как подключить к компьютеру, как прошивать, как пользоваться средой разработки Arduino IDE и т. д.

Поскольку в текстовом варианте материал будет слишком объемным, я разбил свои наработки на видеоролики. Все ссылки на программы (скетчи), необходимые детали и прочее в описаниях под видео.

Итак, в первом видео речь пойдет о простейшем варианте — одном двухцветном светофоре. Понятно, что настолько примитивную схему можно было бы реализовать на одном реле, но нужно это для понимания логики работы программы, чтобы в дальнейшем Вы могли дополнить её под свои конкретные нужды. Я не являюсь программистом, поэтому уж сильно не пинайте — объясняю как могу=))

Простой двухцветный светофор

Надеюсь логику работы я донести сумел)) Дальнейшие «усложнения» всего лишь надстройки над первой программой, поэтому разобравшись с ней Вы сможете адаптировать её работу под свою ЖД. А теперь перейдём к следующему варианту. В нем присутствуют уже два светофора, которые имеют ещё и желтый сигнал, т. е. первый по ходу движения светофор показывает занятость второго светофора.

Два трёхцветных светофора

Как видите программа уже порядком усложнена, но это может показаться на первый взгляд — когда редактируешь самостоятельно все намного проще. Ну и третий вариант «развития событий» — стрелочный перевод и светофоры. Тут все уже повеселее, т. к. путь разделяется на два и надо увязать логику работы для них обоих. Три дня я ломал голову над тем, как заставить это хозяйство хоть сколь-нибудь приемлемо работать и в итоге придумал! Не без шероховатостей, но всё же!

Светофоры и стрелочный перевод

Как видите, пришлось первый светофор программно разделить на два (хотя надо бы и физически это сделать), но, тем не менее, схема рабочая.

 

Как я упомянул в первом видеоролике — для коммутации чего-то более мощного чем маленький светодиод нам нужны внешние модули/детали, такие как реле и транзисторы. Лучше всего использовать релейные модули, которые уже рассчитаны на работу с уровнями данного контроллера. В случае с arduino nano, да и практически со всей линейкой — это 5 вольт. В моих программах для управления используется высокий уровень (т. е. на выходах появляется напряжение), поэтому модули необходимо использовать с положительным управлением, но даже если под руками модуль, который работает по отрицательному уровню (логический ноль, на выходе — масса/минус), то тоже не беда — надо немного подредактировать программу. Релейные модули продаются в разных исполнениях — по одному реле, по два, четыре, восемь, десять, шестнадцать, даже 32 есть. Для управления двухцветным светофором достаточно одного реле. В случае с трёхцветным светофором лучше использовать три реле чтобы можно было реализовать мигание, но можно обойтись и двумя, т. к. реле имеют три контакта — центральный и два выходных, один из которых нормально замкнут с центральным, другой — нормально разомкнут и это можно использовать для экономии выводов контроллера, опять же с модернизацией программы.

Для ардуино существуют великое множество так называемых шильдов (плат расширения) с различными наборами датчиков, модулей, под пайку и под разъемы — на любой вкус и цвет. Можно паяться напрямую (что предпочтительнее, т. к. штырьевые контакты со временем начинают «капризничать»), а можно просто соединить модули и контроллер шлейфом. Автоматизация ограничивается лишь фантазией и умением программировать (к сожалению для меня последнее даётся с трудом) — можно сделать и шлагбаумы и барьеры, даже заставить вагонетки ездить самим и соблюдать сигналы светофоров, но как говориться «это уже совсем другая история!»

 

Надеюсь, данный материал будет полезен. Как появится что-то новое — тему буду дополнять. Всем удачи в реализации своих, даже самых безумных (в рамках закона=)) идей!

12 комментариев

Add a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *