Показано с 1 по 10 из 37

Тема: Самодельный Loconet серво декодер на Arduino Nano

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Самодельный Loconet серво декодер на Arduino Nano

    Итак, самодельный серво декодер с интерфейсом Loconet. Сердцем является Arduino Nano v3 с интерфейсом mini-USB.
    Все четыре изготовленных (ЛУТ) устройства успешно работают вместе с Z21. Прошу прощения, для фотосессии пришлось взять "модель" уже в рабочей обстановке )))
    Нажмите на изображение для увеличения. 

Название:	2015-09-16 19.25.34.jpg 
Просмотров:	145 
Размер:	821.5 Кб 
ID:	16221

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

    Требования:
    - Для работы декодера и серв необходим источник питания 5В.
    - Наличие подключения к сети Loconet.

    Описание:
    Схема интерфейса Arduino-Loconet взята отсюда.
    Поскольку деталей совсем немного и схема совершенно банальна, то номиналы деталей можно увидеть в схеме для sprint layout (см. вложение)
    SMD резисторы формата 1206.
    Все компоненты, включая сервы, заказывал на ebay.com по критериям: Free shipping, Buy it now и выбирал продавца с "медалькой", т.е. понадежнее.

    Внимание:
    - RJ11 разъемы должны называться как то так: RJ11 6 Pin 6P6C Right Angle PCB socket
    - выбирайте ардуину с пометкой "with bootloader". Иначе вам потребуется другая рабочая ардуина для программирования "окирпиченной", если вы купите ардуину без загрузчика (bootloader-а)

    Как использовать:
    1. Скачать и установить IDE для Arduino
    2. Запустить установленную программу Arduino (Run as Administrattor). Затем скачать и установить библотеку Loconet для Arduino
    3. Подключить Arduino Nano v3 кабелем к компьютеру (кабель обычый mini-USB).
    4. Выбрать правильный тип Arduino в меню Tools - Board (Arduino Nano), а также правильный COM-порт в меню Tools - Port (как правило он там один)
    5. Открыть файл .ino из архива во вложении скомпилировать скетч для ардуины загрузить на плату (кнопка Upload, выглядит как стрелка вправо)
    6. Через CV в Loconet настроить корректные углы поворота для серв. Для Z21 использую прогу Z21_Maintenance

    Программирование CV:
    Для начала программирования достаточно считать один из CV. Далее можно записывать в CV необходимые значения.
    В один момент времени можно программировать только одно такое устройство, поэтому после завершения программирования CV нажмите кнопку Reset на Arduino Nano(кнопка там одна, перепутать невозможно)

    CV общие:
    CV0 - адрес устройства (после смены нажать Reset на Arduino). Адреса стрелок, соответственно, идут по нарастанию, начиная с адреса СV0. Например, CV0=20. Адрес первой стрелки 20, адрес второй - 21, третьей -22, четвертой - 23. (по умолчанию CV0=10)
    CV1 - 1...10. Скорость повотота сервы. (по умолчанию 1)
    CV2 - 0 или 1. Режим сервы. 0-отключать серву после перевода стредки, 1-не отключать (возможно появления жужжания на серве, т.к. она будет поддерживать нужный угол поворота, даже при внешнем воздействии). (по умолчанию 0)
    CV3 - 0 или 1. Выдавать или нет отладочную информацию с Arduino. (по умолчанию 1)

    CV для серв:

    CV4 - Стрелка 1. Прямо
    CV5 - Стрелка 1. В сторону

    CV6 - Стрелка 2. Прямо
    CV7 - Стрелка 2. В сторону

    CV8 - Стрелка 3. Прямо
    CV9 - Стрелка 3. В сторону

    CV10 - Стрелка 3. Прямо
    CV11 - Стрелка 3. В сторону

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

    Внимание 2: если изменить в файле .ino номер версии прошивки (EEPROM_VERSION), то при следующем запуске во все CV вернутся значения по умолчанию. Поэтому рекомендую сразу после настройки углов серв записать полученные значения на бумаге и сохранить в надежном месте.

    p.s. потенциальные возможности:
    - реакция на сообщения сети локонет: лок. декодеры, стрелочные декодеры, детекторы занятости. например, указанный в CV датчик занятости сработал - стрелка перевелась и т.д.
    - отправка тех же типов сообщений в сеть локонет. например, если стрелка в положении прямо, то имтировать занятось участка (адрес блока указан в CV)
    - управление светофорами
    - управление анимированными деталями макета
    Последний раз редактировалось shalex; 05.06.2019 в 08:58.

  2. #2
    Потенциально можно подключить еще сервы 4, сделать режим на выходе не как для сервы (PWM), а логический 0 или 1 (светодиоды, релейные модули)

    Но с другой стороны на каждую серву надо 3 провода и для меня проще еще одно устройство сЛУТить и поставить хаб,



    который раздает 5В, питается от 20В(и раздает дальше) ну и заодно может принимать/раздавать DCC.
    Для понижения с 20В до 5В используется такой конвертер с регулировкой напряжения на выходе.
    Остальные детали - коннекторы с винтами.

  3. #3
    Последние новости:
    осваиваю Eagle - нарисовал схему серводекодера, плату и заказал изготовление 10 двухслойный плат в китае (почти 1000 руб с доставкой).

    Но есть нюанс - отказался от 4-х канальных декодеров(который в первом посте) и светодиодной индикации положения стрелок - перешел на 8-и канальные декодеры без индикации вообще. дело в том, что на ардуине есть штатный светодиод на выходе D13 и можно режим программирования изображать на нем. а индикация положения стрелок пока ни разу не пригодилась, разве чтобы понять - рабочее устройство или нет )))


    Нажмите на изображение для увеличения. 

Название:	Image 12.png 
Просмотров:	331 
Размер:	20.9 Кб 
ID:	16411Нажмите на изображение для увеличения. 

Название:	Image 11.png 
Просмотров:	189 
Размер:	15.6 Кб 
ID:	16412
    Последний раз редактировалось shalex; 14.10.2015 в 19:08.

  4. #4
    Приехали платы. И как обычно в пословице про первые блины )) Ошибся с диодом шотки - не на ту сторону разместил и проводники тонковаты
    А так ничего - работает , только скетч надо немного поменять: поправить кол-во серв и массивы с константами пинов и CV-шек.
    Если есть интерес - напишите и выложу новый скетч.

    Планирую немного переделать код и сделать на этой же плате светофорный декодер.
    Нажмите на изображение для увеличения. 

Название:	2015-11-05 19.07.30.jpg 
Просмотров:	175 
Размер:	350.3 Кб 
ID:	16550Нажмите на изображение для увеличения. 

Название:	2015-11-05 20.14.47.jpg 
Просмотров:	471 
Размер:	432.9 Кб 
ID:	16551
    Последний раз редактировалось shalex; 06.11.2015 в 18:22.

  5. #5
    Выкладываю схему, плату и скетч для новой версии устройства.

    Внимание: артикул
    - устройства 5003 (для программирования CV)
    - Адрес по умолчанию: 14 (CV0 = 14)

    CV для серв:

    CV4 - Стрелка 1. Прямо
    CV5 - Стрелка 1. В сторону

    CV6 - Стрелка 2. Прямо
    CV7 - Стрелка 2. В сторону

    CV8 - Стрелка 3. Прямо
    CV9 - Стрелка 3. В сторону

    CV10 - Стрелка 4. Прямо
    CV11 - Стрелка 4. В сторону

    CV12 - Стрелка 5. Прямо
    CV13 - Стрелка 5. В сторону

    ....

    CV18 - Стрелка 8. Прямо
    CV19 - Стрелка 8. В сторону

    Все остальное без изменений.

    p.s. сейчас подумал, что, наверное, с изменением артикула можно было не заморачиваться, т.к. по сути - назначение устройства то же, управление через CV то же, вот только кол-во CV отличается.
    Последний раз редактировалось shalex; 05.06.2019 в 08:57.

  6. #6
    Устраните пробел в познаниях.
    1в чем отличие этого декодера от прочих ,которые сидят по управлению на dcc. в чем преимущество локонета?
    2зачем нужен артикул устройства?
    3 что значит конфигурация цэвэ при управлении направление движения на стрелке. как это используется на практике? т. е сv4 первая стрелка вправо. что например этой константе должно быть присвоено . как управлять таким декодером
    " За СПАСИБО"

Похожие темы

  1. Токовый модуль обратной связи на Arduino для LocoNet
    от shalex в разделе Электрика и DCC
    Ответов: 13
    Последнее сообщение: 16.07.2018, 11:26
  2. ДЦЦ-Декодер ЛЕД/Серво, 17 выходов на Ардуино
    от PetrOs в разделе Электрика и DCC
    Ответов: 53
    Последнее сообщение: 26.02.2017, 11:19
  3. самодельный ТГК2
    от Aden_Pryde в разделе конверсия | самоделки | самосборка
    Ответов: 52
    Последнее сообщение: 21.10.2016, 14:49
  4. Arduino - справочные материалы
    от Б.О.(zeuke) в разделе Электрика и DCC
    Ответов: 19
    Последнее сообщение: 06.07.2016, 15:02
  5. Ответов: 52
    Последнее сообщение: 12.05.2016, 10:35

Метки этой темы

Ваши права

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