Портал | Галерея | WIKI | PDA | VK | FB | Zello
Текущее время: Чт дек 13, 2018 6:57 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 3 сообщения ] 
Автор Сообщение
Непрочитанное сообщениеДобавлено: Чт ноя 15, 2018 3:56 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт мар 20, 2009 9:25 pm
Сообщения: 1576
Откуда: Питер
Проект стрелочного серводекодера на одну стрелку.
Плата размером 32×45 мм.
На борту будет иметь два реле для коммутации питания крестовины (остряков) стрелки и для возможности передавать текущее положение стрелки (косвенно) через ОС в программу управления макетом, либо коммутации прочей нагрузки.
Питание платы и получение управляющего сигнала DCC осуществляется при помощи штыревых разъёмов от шины Power/DCC, стандартной для всех декодеров линейки BLO(через плату адаптер питания).
Декодер также имеет сквозную шину этого стандарта.

В данный момент идёт сборка тестовой версии декодера, создание и отладка ПО.
Вложение:
IMG_20181115_145152.jpg
IMG_20181115_145152.jpg [ 472.39 КБ | 360 просмотров ]
Декодер может быть запрограммирован при помощи записи соответствующих CV, без возможности их чтения (только запись CV).
По умолчанию режим программирования не активен, т. е. при одновременном подключении нескольких декодеров будет программироваться только тот, на котором активирован режим программирования CV. Активация этого режима осуществляется нажатой кнопкой на декодере при подаче питания на декодер. Повторное нажатие кнопки активирует режим настройки крайних положений сервопривода с помощью крутилки пульта управления, т.е. используя локомотивные команды, содержащие шаги скорости.

P.S. !!!Подключение декодера к шине Power/DCC через адаптер питания, аналогично MP3 декодеру!!!
Вложение:
IMG_20180504_170331.jpg
IMG_20180504_170331.jpg [ 1010.58 КБ | 232 просмотра ]

_________________
Изображение
http://dccwikiru.ucoz.net


Вернуться к началу
Непрочитанное сообщениеДобавлено: Сб дек 01, 2018 3:27 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт мар 20, 2009 9:25 pm
Сообщения: 1576
Откуда: Питер
Доделал софт для декодера. За основу взят скетч с сайта Digital ModellBahn Филиппа Гатова для 4-х канального серводекодера и переписанный под свои нужды.
Переделал вход в режим программирования позиций сервопривода, с помощью локомотивных команд скорости и направления(от крутилки Мультмауса). В этом режиме декодер принимает только локомотивные команды, игнорируя стрелочные.
Теперь этот режим активируется при помощи записи значения 2 в CV20. Естественно для этого сначала надо активировать сам режим программирования CV, т.к. по-умолчанию он выключен.
Это делается при помощи кнопки на декодере. Её надо нажать перед подачей питания на декодер.
После настройки нужного положения, на пульте нажимаем следующие функциональные кнопки, для записи значения угла в EEPROM:
1. FL и F1 для первой позиции

2. FL и F2 для второй позиции

Для выхода из этого режима можно нажать комбинацию из трёх функциональных кнопок(FL, F1, F2), либо записать 1 в CV20, для выхода из режима программирования позиции в режим записи CV, либо 0 для выхода из всех сервисных режимов, в обычный режим работы.
На декодере предусмотрена следующая индикация его состояний:

1. Светодиод не горит - обычная работа декодера
Декодер принимает и обрабатывает только стрелочные команды.
Локомотивные и команды программирования CV игнорируются.
2. Светодиод горит - активен режим программирования CV(только запись)
Декодер принимает и обрабатывает стрелочные команды, а также команды программирования CV
Декодер принимает и обрабатывает стрелочные команды.
Локомотивные команды игнорируются.
Вход в режим - удерживаем нажатой сервисную кнопку на декодере, перед подачей питания.
Выход из режима - запись 0 или 2 в CV20
3. Светодиод мигает - активен режим программирования позиций сервопривода, с помощью
локомотивных команд.
Декодер принимает и обрабатывает только локомотивные команды.
Стрелочные команды и команды программирования CV игнорируются.
Вход в режим - запись 2 в CV20
Выход из режима - запись 0 или 1 в CV20

Смена полярности на крестовине происходит следующим образом:
При получении стрелочной команды на свой адрес, декодер снимает питание с крестовины и начинает перемещение сервопривода. При завершении перемещения, питание противоположной полярности снова подаётся на крестовину.
Вложение:
IMG_20181201_132209.jpg
IMG_20181201_132209.jpg [ 557.09 КБ | 239 просмотров ]

_________________
Изображение
http://dccwikiru.ucoz.net


Вернуться к началу
Непрочитанное сообщениеДобавлено: Сб дек 01, 2018 3:56 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт мар 20, 2009 9:25 pm
Сообщения: 1576
Откуда: Питер
Кому интересно, то вот кусок кода, для прикручивания крутилки:
[Показать]
Код:
//------------------------------------------------------------------------------------------------------------      
//--------------------------------------- Функции F0 - F4 ----------------------------------------------------
//------------------------------------------------------------------------------------------------------------      
           if (((data[1+verschub] >> 5) & B111) == B100) {  
             if (bitRead(data[1+verschub],4) == 1) {//если FL - ON
        if (bitRead(data[1+verschub],0) == 1 && bitRead(data[1+verschub],1) == 0) {//если F1 - ON, а F2 - OFF 
            EEPROM.update(EEPROMP1S,moveServo);//обновляем значение для первой позиции в EEPROM
            delay(1000);
            P1S = moveServo;
            }
        if (bitRead(data[1+verschub],1) == 1 && bitRead(data[1+verschub],0) == 0) {//если F2 - ON, а F1 - OFF
            EEPROM.update(EEPROMP2S,moveServo);//обновляем значение для второй позиции в EEPROM
            delay(1000);
            P2S = moveServo;
            }
        if (bitRead(data[1+verschub],1) == 1 && bitRead(data[1+verschub],0) == 1) {//если F2 - ON, а F1 - ON
            ProgMode = 0x01;  //Включаем режим программирования CV
            EEPROM.update(EEPROMCVLOCK, ProgMode); //сохраняем в память
            EEPROMReadToRam();//считываем новые данные из EEPROM
            }
          }     
      }

_________________
Изображение
http://dccwikiru.ucoz.net


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 3 сообщения ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
cron
Powered by ЛАЭС
Rambler's Top100
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB
[ GZIP: Off ]

[ GZIP: Off ]