Уважаемые форумчане, ранее, в одной из тем опубликовал материалы по самодельному серводекодеру на Ардуино для шины Loconet.
Пришла очередь рассказать про самодельный модуль обратной связи (ОС), без которого компьютер не сможет "видеть", что же происходит в действительности на путях и, соотв., не сможет управлять макетом.
Модуль ОС также, как и серводекодер, сделан на Ардуине и предназначен для шины Loconet. Вообще, история началась на соседнем форуме. и при желании можно найти дополнительную информацию, перечитав все страницы темы ))) В этом же посте можно найти уже финальный вариант схемы и прошедшую альфа-тестирование программу (скетч).
Теория:
- про токовые датчики
- интерфейс Arduino-Loconet здесь
- скачать библиотеку Loconet или тут
Возможности:
- 16 каналов, т.е. 16 токовых участков
- возможность отдельного входа для 2-х или 4-х каналов (разворотная петля, например). Управляется джамперами JP1 и JP2
- дублированный разъем подключения внешнего питания 5В
- интерфейс Loconet (не берет питание из Loconet шины). Разъем дублирован.
- адреса датчиков начинаются с 40 (настройка CV0) и далее (41,42... 55);
- отправка сообщения "участок занят" дублируется через 500 милисекунд (настройка CV2, милисекунды);
- отправка сообщения "участок освободился" выполняется с задержкой в 1000 милисекунд (настройка CV1, милисекунды). при этом сообщение "участок занят" отправляется сразу, при срабатывании.
- при включении питания на рельсах отправляются сообщения о состоянии ВСЕХ датчиков
- программирование CV по сети Loconet
- реализация на Arduino Nano v3
Программирование CV через Loconet:
- например программа Z21_Maintenance_V1.09 для черной Z21. Закладка Loconet, артикул устройства 5002. Сначала считать любое CV, после чего устройство войдет в режим программирования CV, потом можно сохранять новые значения CV
- в режиме программирования ритмично моргает светодиод на плате Ардуино
- автовыход из режима программирования через 30 сек при отсутствии чтения/записи CV
Схема:
Вид готовой платы:
Что надо доделать:
- привести список CV в соотв. со стандартами (порядок CV, возврат к заводским настройкам)
- добавить на плату модуль питания, чтобы подключаться напрямую к питанию 15-21В
Скетч и схема во вложенном архиве.
Внимание: файл с платой содержит ошибку (не подведена "земля" к Ардуино). Лечится короткой перемычкой )))
Список CV:
CV0 - адрес устройства (10 по-умолчанию)
CV1 - задержка в мс перед переключением между ЗАНЯТО и СВОБОДНО (1000 по-умолчанию, т.е. 1 сек)
CV2 - задержка в мс между первой и повторной отправкой статуса (500 по-умолчанию, т.е. 0.5 сек), если 0, то посвторной отправки не будет
JP1-JP2:
JP1 - замкнут (фишка надета), JP2 - замкнут : входы 1 и 2 (X4 и X12) гальванически замкнуты и можно подавать входной сигнал от КС на любой из разъемов X4 и X12
JP1 - замкнут, JP2 разомкнут(фишка снята): входы 1 и 2 разъединены, вход 1 (X4) работает на каналы 0..3 (X3,X5), а вход 2 (X12) на все остальные каналы
JP1 - разомкнут, JP2 - замкнут:входы 1 и 2 разъединены, вход 1 (X4) работает на каналы 0..1 (X3), а вход 2 (X12) на все остальные каналы