Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

RS485 проблем
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=8736
Страница 1 от 1

Автор:  Gogo [ Сря Мар 23, 2011 4:00 pm ]
Заглавие:  RS485 проблем

Направил съм постановката, точно по схемата долу. Контролера (МС) управлява сервото по MODBUS (RTU формат), а компютъра слуша съобщенията.
Всичко си работи перфектно, докато не изключа куплунга CN1 на преобразувателя Rs458 to Rs232. Сервото си довършва последната зададена команда и спира. Контролера изписва "TIMEOUT" на дисплея - в програмата съм задал 5ms прзорец за полуаване на отговор. Ако включа контролера с изваден CN1, не минава инициализацията на сервото. Като махна теминиращия резистор на сервото, пак всичко работи (докато е включен CN1). Като разпоя от контролера кабелчето, свързано към PC, ефекта е като изваден CN1.
На картинката съм написал, кое устройство с какъв интерфейсен чип е. Всички устройства с изключение на сервото, са "самоделка" (това не трябва да е от значение). Всички интерфейсни чипове са терминирани със 120 ома резистори.
Дайте идеи, на къде да копая!

Прикачени файлове:
Untitled-1.jpg
Untitled-1.jpg [ 57.32 KiB | Прегледано 2780 пъти ]

Автор:  fan [ Сря Мар 23, 2011 4:08 pm ]
Заглавие: 

Тука(при RS485), само началото и края на линията трябва да са терминирани. В случая преобразовател-серво.

Автор:  relsys [ Сря Мар 23, 2011 4:12 pm ]
Заглавие: 

Имал съм някакъв подобен проблем. Дросели на захранващите линии на 485 преобразувателите оправи проблема.

Автор:  marcuka68 [ Чет Мар 24, 2011 10:12 am ]
Заглавие: 

А аз вмесо да дам акъл, може ли да попитам :)

SN75176 не преобразува ли от TTL в RS485? Как с него работи от TTL на RS232?

Автор:  fan [ Чет Мар 24, 2011 10:44 am ]
Заглавие: 

MAX232->SN75176 предполагам!? :)

Автор:  Gogo [ Чет Мар 24, 2011 11:36 am ]
Заглавие: 

fan написа:
MAX232->SN75176 предполагам!? :)
Точно...

Автор:  741 [ Чет Мар 24, 2011 11:46 am ]
Заглавие: 

Имаш ли пулъп/пулдаун резистори в контролера или сервото да ти държат линията в неактивно ниво, когато и двете са на приемане?
Както го описваш, прилича платката в ПС-то да върши тая работа.

Ако нямаш, закачи в контролера 1к от А към +5V и 1к от В към земя.
Това на каква скорост работи?

Автор:  Gogo [ Пет Мар 25, 2011 11:37 am ]
Заглавие: 

Закачих резистори по 1к и се оправи работата. Стойността им има ли някаква зависимост от скоростта и захранващото напрежение? На 115200 работи, а чипа в конртолера е на 3,3V .

Автор:  741 [ Пет Мар 25, 2011 12:14 pm ]
Заглавие: 

За скоростта резисторите нямат значение, освен че променят малко стойността на терминатора. От захранването зависят обаче. Номерът е при изключени всички предаватели между А и В на приемниците да имаш 0.2V разлика поне, за да е сигурно, че ще се разпознае като неактивно ниво. Та ако си ги вързал към 3.3V, ще трябва да ги понамалиш малко. То и за 5V 1к е на ръба, че и зад него даже.

Питах за скоростта заради третия терминатор по средата на линията. Fan горе ти е писал, линията се терминира само в крайщата и се прави без разклонения, иначе на високи скорости отраженията правят ядове. На 115200 обаче до 200-300 метра и както си го направил става. Само дето товариш предавателите повече.

Автор:  Gogo [ Пет Мар 25, 2011 1:07 pm ]
Заглавие: 

Преобразователя RS232 to RS485 го закачих само за да видя какво става по линията, затова той стана карайна точка. Вече го махнах. Иначе, ще работят само контролера и сервото. Може и още едно серво да сложа по-нататък. Линията ще е дълга най-много 2-3 метра :-). При 3,3V резистори от 470 ома правят малко под 200mV. Сложих 330(такива имам под ръка) и сега е 270-280mV.
Благодаря за помощта!!!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/