Вопрос к знатокам Ардуино
Vatato, Вахтанг!
Тут могу сказать уже не как теоретик, хотя до знатока всегда далеко.
Отвечая на вопрос:
A. Можно запрограммировать аналоговое управление локомотивом и стрелками.
B. Можно запрограммировать цифровое управление локомотивом и стрелками.
B. мне видится сложнее из-за того, что во-первых я этого не делал, а во вторых потому, что кроме непосредственно управления ПС и аксессуарами, нужно предварительно это настроить, адреса, как минимум и это всё может затянуться и будет трудно понять что где работает, а что не работает.
A. мне видится совсем лёгким т.к. я это себе сделал и оно работает. Оно работает как в реале так и в «виртуальной среде» tinkercad.com
1.Суть метода сводится к тому, что мы мы крутим потенциометр и он меняет потенциал на ножке Ардуино.
2. Ардуино видит изменение потенциала на аналоговом входе и оцифровывает как 0 если потенциометр в крайнем левом положении и как 255 если потенциометр в крайнем правом.
3. Программа написана и её можно взять с tinkercad.com (ссылку дам позже, сейчас не у компа). Программа очень простая. Она управляет 2-мя цифровыми выводами Ардуино (условно PWM вывод и DIR - вывод) это ШИМ и направление.
4. Если потенциометр находится в левой части (0-110, то на вывод PWM подаются импульсы чем ближе к 110 тем короче) на DIR подаётся 0.
5. Если потенциометр находится в правой части (145-255, то на вывод PWM подаются импульсы зеркально чем ближе к 145 тем короче) на DIR подаётся 1.
6. Если-же потенциометр примерно посередине (111-144, то на выход PWM подаётся 0 и не важно что будет на DIR, правда тут иногда уместно использовать ещё один вывод BREAK.
7. Таким образом, представим старый кирпичёвский регулятор. Посередине - лок стоит. Крутим влево - чем ближе к краю тем быстрее едет лок и крутим вправо, понятно.
8. Шилд содержит микросхему 298. Там нужно найти распайку по документации на шилд чтобы запрограммировать правильные выводы Ардуино, правильные входы шилд и правильные выводы шилд на клеммнике под винтик.
9. Микросхема на определённые 3 ножки должна получить PWM, DIR и BREAK.
10. Получая правильную комбинацию сигналов она будет менять ПОЛЯРНОСТЬ и «ФОРМУ» тока на двух своих выводах. Напряжение там будет всегда 12 вольт.
11. «Форма» это лучше посмотреть на статьи про PWM.
12. Если это ток подать на рельсы то можно управлять аналоговым локом.
Условия:
1. Нужен потенциометр на 100 кОм.
2. Нужен блок питания на =12 В для питания шилд.
3. Нужен блок питания ОТДЕЛЬНЫЙ на 5 вольт чтобы питать Ардуино.
Как записать программу.
1. Скачать и установить Arduino IDE.
2. Взять мою программу (скопировать в IDE 2 страницы текста).
3. В программе подправить номера ножек под шилд (там понятно всё).
4. Одним нажатием по USB записать её в Arduino.
Вместо лока можно подключить к шилд моторчик на 12 вольт и добиться работы в целом.
После того как локомотив побежит. Можно будет подумать про DCC.
Суть DCC сводится к тому, что в импульсы подмешиваются команды управления. Контроллер лока устроен таким образом, что его программа распознаёт эти команды и контроллер фактически содержит описанную ранее всю схему только в миниатюре.
Т.е. на малюсенькой плате контроллера присутствуют:
1. Схема питания
2. Схема управления
3. Драйвер двигателя
Именно поэтому контроллер DCC для лока стоит $40?
Командная станция DCC - это готовый отлаженный законченный продукт, разработанный фирмой для людей за деньги.
Командная станция на Ардуино это описанный ранее комплекс электроники только с самодельной программой, разработанной «сообществом» As Is.
По опыту применения программ, разработанных сообществом, считаю, что если Вы не готовы становиться частью сообщества РАЗРАБОТЧИКОВ программы, то её лучше не использовать))))
Конечно есть очень вылизанные программы от сообществ но это программы которые давно и интенсивно используются.
Спасибо, если дочитали. Пишите. Завтра найду ссылку на tinkercad аккаунт. Кстати классный сервис для написания программ Ардуино и отладки. Там легко.
Вот ссылка:
https://www.tinkercad.com/things/44D6UVY6iuX