Как работает S88? Arduino-OpenDCC-RocRail

Вопросы и ответы связанные с цифровым управлением, аналоговой автоматикой и их элементами
Сообщение
Автор
Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Как работает S88? Arduino-OpenDCC-RocRail

#1 Непрочитанное сообщение Василий »

Коллеги, можно попросить пояснить как работает S88?

Я правильно понимаю, что алгоритм работы таков:

PS/Load - сигнал отправляемый читающим устройством (КС) модулям и указывающий на начало чтения.
Следующие за ним clock сигналы - указатели на то, что нужно передать через DATA, следующий бит регистра.

А теперь вопросы по существу:
Если модулей с датчиками много, как определяется конец данных от одного модуля и начало данных другого? Только настройкой в КС? А как первый модуль в цепочке узнает что нужно опять слать свои данные?

Что должно происходить по сигналу Reset? Просто очистка битов данных в модулях?

Ну и последнее. У станции OpenDCC какие частоты для PS и clock? Я намерял примерно 650 PS и 6500 clock в секунду. Это похоже на правду? И почему количество отличается ровно в 10 раз, а не в 8 как логично было бы ожидать?

Заранее спасибо за ответы :)

PS: Это я Ардуино прикручиваю как S88 модуль.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
antobel
Сообщения: 921
Зарегистрирован: Ср дек 30, 2009 1:32 pm
Имя: Антон Беляев
Откуда: 153км по М7...
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Как работает S88

#2 Непрочитанное сообщение antobel »

Лоад - загружает состояние всех датчиков в сдвиговый регистр.
ресет - сбрасывает входные защёлки-триггеры датчиков, т.е.
после лоада проходит ресет - и до следующего лоада срабатывание датчиков фиксируется.
число тактов в цикле опроса = N*8+1(или+2) (для синхронизации лоада и ресета) соответствует ОПРАШИВАЕМОМУ массиву датчиков (т.е. определяется в КС числом опрашиваемых байт.)
Изображение
Изображение

Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Как работает S88

#3 Непрочитанное сообщение Василий »

Спасибо, я таки понял как это работает :) Хотя мне и тяжело было сообразить объяснения с точки зрения железной реализации :)

На всякий прилеплю картинку с таймингами, может кому-то еще понадобится.
s88.gif
s88.gif (6.89 КБ) 5265 просмотров
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#4 Непрочитанное сообщение Василий »

А продолжу-ка я эту тему здесь. Думал где поспрашивать, но сам не знаю откуда проблемы, поэтому буду тут. Заодно и выложу всякие наработки по ардуине.

Столкнулся с проблемой, для того, что бы получить устойчивое срабатывание датчика подключенного по S88 в RocRail+OpenDCC скорость прохождения магнита мимо Холла или геркона должна быть небольшой. Я бы конечно списал все на кривость моей реализации модуля S88 на ардуино, если бы точно такое же поведение не наблюдалось и с модулями BLO (Холл и геркон). С модулем от BLO скорость прохождения магнита которую он еще ловит, чуть выше, но совсем ненамного.

Посему вопрос, есть ли какой-то параметр у станции или у рокрейла, который отвечает за время, в течение которого наличие единички от датчика с модуля S88, будет "засчитано" как срабатывание? Или в надежде на аппаратный антидребезг, станция/рокрейл сразу учитывают как сработку, первую пришедшую единичку?
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
LABA
Сообщения: 1616
Зарегистрирован: Пт мар 20, 2009 9:25 pm
Откуда: Питер
Благодарил (а): 32 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#5 Непрочитанное сообщение LABA »

Вася, это проблема самой программы. Она почему-то игнорирует короткие сработки от датчиков. Несмотря на то, что сервер от станции получал данные о сработке датчиков, он их не обрабатывал.

Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#6 Непрочитанное сообщение Василий »

То есть это проблема Рокрейла? Жесть какая.... И как эту штуку обойти?
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
LABA
Сообщения: 1616
Зарегистрирован: Пт мар 20, 2009 9:25 pm
Откуда: Питер
Благодарил (а): 32 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#7 Непрочитанное сообщение LABA »

Да, это проблема программы. Растягивать длину импульса аппаратно, в самом модуле обратной связи.

Аватара пользователя
LABA
Сообщения: 1616
Зарегистрирован: Пт мар 20, 2009 9:25 pm
Откуда: Питер
Благодарил (а): 32 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#8 Непрочитанное сообщение LABA »

Ради интереса попробуй подключить к Траинконтроллеру. Более, чем уверен, что там все будет работать нормально.

Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#9 Непрочитанное сообщение Василий »

Спасибо!

Попробую и то и другое. О результатах доложу
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
Василий
Модератор
Сообщения: 9397
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 331 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Как работает S88? Arduino-OpenDCC-RocRail

#10 Непрочитанное сообщение Василий »

Алексей, ты был прав. С трейнконтроллером гораздо более короткие срабатывания фиксируются.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Ответить

Вернуться в «Цифровое управление, Аналоговая автоматика и их элементы»