Перейти к содержанию
    

Плохо работает на коротком кабеле

День добрый.

 

Такая ситуация, используем считыватели Parsec PR-A05 и Arduino Nano в качестве контроллера входящей информации.

 

Протокол Weigand-26.

 

При подключении кабелем 30м - всё работает хорошо.

 

А вот при Уменьшении длины кабеля - возникают проблемы (приходит не весь код, 15-24 бита примерно из 26).

 

Причем чем короче кабель - тем чаще ошибки, напрямую - самая худшая ситуация.

 

Вопросы:

1) В чем может быть дело?

2) Как можно решить проблему? (Вкладывать бухту кабеля - не предлагать)

 

P.S. подразумеваю негодование специалистов к Arduino - прошу не осуждать выбор, опыта мало, делаем как можем!

 

Буду благодарен за любую подсказку!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) В чем может быть дело?

В плохом согласовании источника и приемника. Например, уровень сигналов считывателя больше, чем питание приемника. Ну и кабель, небось, без малейшего согласования прямо на вход Ардуины присобачили? А в кабеле, поди, звон идет.

 

2) Как можно решить проблему? (Вкладывать бухту кабеля - не предлагать)

- На стороне приемника добавить резисторы с сигнальных линий на землю, чтобы уменьшить звон. Порядка 1к, или менее.

- На стороне приемника добавить резисторы с сигнальных линий на вход(ы), порядка 100 ом

- На стороне передатчика добавить резисторы с выходов на сигнальные линии, тоже порядка 100 ом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стандартная схема подключения: http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%..._electrical.png

Подтягивающие к плюсу питания резисторы на входе необходимы - со стороны считывателя легко может быть "открытый коллектор" :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стандартная схема подключения: http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%..._electrical.png

Подтягивающие к плюсу питания резисторы на входе необходимы - со стороны считывателя легко может быть "открытый коллектор" :)

 

 

По этой схеме пробовали (со стороны контроллера)... И подтягивающие и последовательные - ничего... Даже вроде хуже становилось! По вольтажу вроде с обоих сторон 5В...

 

В плохом согласовании источника и приемника. Например, уровень сигналов считывателя больше, чем питание приемника. Ну и кабель, небось, без малейшего согласования прямо на вход Ардуины присобачили? А в кабеле, поди, звон идет.

 

"А в кабеле, поди, звон идет." - так проблема как раз Без кабеля, какой звон ?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищите баги в программе, что я могу сказать :) На всякий случай прилагаю схему и программу для преобразователя Wiegand -> RS232. Полученное по интерфейсу Wiegand (до 64 бит включительно) выплёвывает в RS232. Работал как часы со всеми считывателями , которые попадались под руку (что неудивительно, ибо конструкция и программа тупы до безобразия), также это устройство помогло ловить баги в одном из считывателей :)

Да, в реальном устройстве тинька работает от внутреннего генератора на 1.2 МГц, временные константы в программе именно для этого случая.

wt12.7z

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищите баги в программе, что я могу сказать :) На всякий случай прилагаю схему и программу для преобразователя Wiegand -> RS232. Полученное по интерфейсу Wiegand (до 64 бит включительно) выплёвывает в RS232. Работал как часы со всеми считывателями , которые попадались под руку (что неудивительно, ибо конструкция и программа тупы до безобразия), также это устройство помогло ловить баги в одном из считывателей :)

Да, в реальном устройстве тинька работает от внутреннего генератора на 1.2 МГц, временные константы в программе именно для этого случая.

 

Уффф, я весьма благодарен, правда даже прочитать толком не смог, но вечерком поизучаю... (Не писал на Асемблере...)

 

Проблема то как раз в том что один и тот же приёмник с одним кодом на раздных подключениях ведет себя по разному..

 

Я признаю не качество кода, но вот работает ведь....

 

Еще раз спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте конденсаторами линии зашунтировать, порядка 100-1000 пф.

Хотя причина, вероятнее всего, в некорректной программе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И "землю" от считывателя до контроллера сделать пожирнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...