Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод TTL сигнала наружу из устройства
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
king2
Возникла необходимость подключать устройства между собой. Между ними "по цепочке" должен идти сигнал от микроконтроллера к следующему микроконтроллеру. Длина линии от 1 до 5 метров, кабель витая пара. Внутри устройства есть также отдельное развязанное питание 5 вольт для питания конвертера RS485 (оно идет на то же следующее устройство).
На самом деле там еще подобных сигналов есть еще три штуки, но они "ходят" внутри плат того же устройства (с той же самой землей), и надо их просто умощнить (чтобы опять же ноги МК не выходили за пределы платы).

Выводить наружу выход микроконтроллера не велит партийная совесть sm.gif
Варианты навскидку получаются какие-то такие:
1. Выходы ULN2003 через резюк подключена к питанию устройства (ибо 2003-я - открытый коллектор) и еще через один (для защиты от КЗ) - к выходу устройства (и там же земля). С той стороны на входе - просто оптрон. Таким образом, мы передаем свою землю на следующее устройство (где она на оптроне и заканчивается).
Плюсы: дешево, просто, защита от КЗ есть, развязка есть, если пустить оба провода по одной и той же паре - автоматом получаем защиту от синфазных помех.
Минусы: есть подозрение на то, что придется помудохаться с резюками от выходов 2003 к питанию, чтобы получить приличные фронты и частоты.
2. Поставить на каждое устройство еще два конвертера RS485 - на вход и на выход (сигнал со входа должен пройти на выход только через микроконтроллер и не всегда) и использовать их просто как драйверы физического уровня.
Плюсы: помехозащищенность
Минусы: больше места на плате, дороже.
3. Что-то типа вот таких штук: NL17SZ125 или SN74LVC1G17
4. Тупая логика типа буфера, который выдержит 10mA по выходу - хватит ли? какой взять? Есть ли со входами с одной стороны корпуса и выходами с другой?

Может есть еще какое-то дешевое решение?

Спасибо!

p.s. Ставить изолированные ADuM и подобное - не решение, ибо неоправданно дорого.
Слесарь
Я связываю контроллеры на разных платах по старинке. Делаю подобие шины 1-wire. Связываю платы питанияем и информационным сигналом.
Чтоб выводы контроллера не выходили наружу, использую развязывающие транзисторы или оптопары. по ситуации.

king2
Цитата(Слесарь @ Jan 19 2012, 10:29) *
Я связываю контроллеры на разных платах по старинке. Делаю подобие шины 1-wire. Связываю платы питанияем и информационным сигналом.
Чтоб выводы контроллера не выходили наружу, использую развязывающие транзисторы или оптопары. по ситуации.

Эо синхросигнал, ему остальные данные мешаться не должны (то есть пока идут команды или опрос других устройств, они работают с применением этого сигнала). Он должен быть отдельным.
Alex11
Хоть бы частоту назвали и условия окружения (требуемую помехозащищенность).
king2
Цитата(Alex11 @ Jan 19 2012, 13:01) *
Хоть бы частоту назвали и условия окружения (требуемую помехозащищенность).

Частота - порядка 5кГц, условия окружения - чистое поле, металлоконструкция, между устройствами кабель неэкранированная витая пара, длиной до 5 метров, проложенный в одном коробе с питающим 220в (по которому течет ток до 2-3А).

Разъемы RJ45, в них две пары заняты (GND+VCC, RS485 A+cool.gif, две пары свободны.
При отключенном кабеле на входе может быть любое состояние (включая хаотический шум - это некритично и решается программно-административными методами), однако, возможна влага (конденсат). Вероятность замыкания на 220 вольт - минималистичная (физический путь до 220 вольт - минимум 20 сантиметров).

Какие-то еще сведения, которые я забыл?
smalcom
имхо если зашёл вопрос о фронтах и частоте, то лучше вариант с 485-м
king2
Цитата(smalcom @ Jan 19 2012, 15:57) *
имхо если зашёл вопрос о фронтах и частоте, то лучше вариант с 485-м

Ну вот меня греет то факт, что в станках ЧПУ оптроны драйверов питаются по трехметровому кабелю от LPT или от обычных буферов простой логики - со сравнимыми частотами внутри (сигналы STEP, например) и все работает..

Вопрос в том, правильно ли это, и как лучше "обвязать" такой выход и вход, чтобы не было проблем.
=AK=
Цитата(king2 @ Jan 19 2012, 16:39) *
Возникла необходимость подключать устройства между собой. Между ними "по цепочке" должен идти сигнал от микроконтроллера к следующему микроконтроллеру. Длина линии от 1 до 5 метров, кабель витая пара.


Цитата(king2)
Частота - порядка 5кГц, условия окружения - чистое поле, металлоконструкция, между устройствами кабель неэкранированная витая пара, длиной до 5 метров, проложенный в одном коробе с питающим 220в (по которому течет ток до 2-3А).


При таких условиях приемник крайне желательно использовать дифференциальный. Соответственно, обычный оптрон очень хорошо подходит. Если хочется сэкономить место, то RS485 приемник в корпусе SOT-23 - тоже неплохой вариант, хоть и менее робастный.

Передатчик - на обычном транзисторе. От него мало что зависит. Резистор в коллекторе нужен в том случае, если на приемном конце стоит RS485 приемник. Для оптрона этот резистор не обязателен (хотя при наличии резистора в коллекторе удобнее отлаживаться и тестировать). Последовательно с выходом желательно включить резистор 100 Ом, этим вы убьете трех зайцев:
- уменьшите звон в линии, поскольку при открытом транзисторе выходное сопротивление будет примерно соответствовать волновому сопротивлению витой пары
- уменьшите вероятность выхода из строя транзистора
- уменьшите помехи, наведенные на плату передатчика
Второй конец витой пары желательно подключить к питанию тоже через 100 Ом резистор, дабы вполную реализовать последнее из вышеперечисленного. Стоит заметить, что при использовании RS485 приемника второй конец витой пары должен сидеть на потенциале порядка половины питания; делитель из двух резисторов по 1к вполне сгодится.

При использовании оптрона скорость работы будет определяться тем, насколько быстро выходит из насыщения фототранзистор. Можно использовать скоростные оптроны, в которых между базой и коллектором фототранзистора имеется встроенный диод Шоттки. Или можно использовать оптрон с выводом базы фототранзистора, к нему навесить диод Шоттки снаружи (еще с базы на эмиттер резюк 100к). И, наконец, можно выбрать оптрон с малым разбросом CTR, после чего посчитать минимально возможное сопротивление резистора нагрузки в коллекторе, это обеспечит максимальную скорость. Обычные оптроны имеют огромный разброс CTR, а хорошие - всего в два раза, из них можно выжать скорость.
king2
Цитата(=AK= @ Jan 22 2012, 03:20) *
Передатчик - на обычном транзисторе. От него мало что зависит. Резистор в коллекторе нужен в том случае, если на приемном конце стоит RS485 приемник. Для оптрона этот резистор не обязателен (хотя при наличии резистора в коллекторе удобнее отлаживаться и тестировать). Последовательно с выходом желательно включить резистор 100 Ом, этим вы убьете трех зайцев:
- уменьшите звон в линии, поскольку при открытом транзисторе выходное сопротивление будет примерно соответствовать волновому сопротивлению витой пары
- уменьшите вероятность выхода из строя транзистора
- уменьшите помехи, наведенные на плату передатчика
Второй конец витой пары желательно подключить к питанию тоже через 100 Ом резистор, дабы вполную реализовать последнее из вышеперечисленного. Стоит заметить, что при использовании RS485 приемника второй конец витой пары должен сидеть на потенциале порядка половины питания; делитель из двух резисторов по 1к вполне сгодится.

При использовании оптрона скорость работы будет определяться тем, насколько быстро выходит из насыщения фототранзистор. Можно использовать скоростные оптроны, в которых между базой и коллектором фототранзистора имеется встроенный диод Шоттки. Или можно использовать оптрон с выводом базы фототранзистора, к нему навесить диод Шоттки снаружи (еще с базы на эмиттер резюк 100к). И, наконец, можно выбрать оптрон с малым разбросом CTR, после чего посчитать минимально возможное сопротивление резистора нагрузки в коллекторе, это обеспечит максимальную скорость. Обычные оптроны имеют огромный разброс CTR, а хорошие - всего в два раза, из них можно выжать скорость.


Ясно. Так как устройства уже связаны по RS485, а сигнал предполагалось использовать для синхронизации визуальных эффектов и для перенумерации устройств, то я решил сделать так:
- синхронизацию убрать в протокол по RS485
- для перенумерации оставить:
- выход ULN2003, подтянутый к +5в резюком 560 Ом (что дает нам примерно 10мА), к земле TVS на 6 вольт, после этого multifuse - и выход на разъем (ну, и там же земля передатчика - тоже через multifuse)
- на входе просто оптрон (любой, самый дешевый), на входе у него TVS между ножками и последовательно гасящий резистор и multifuse

Так как для перенумерации большая скорость необязательна (могу выдать туда единицу, после чего подождать пол-секунды и спросить по 485-му что-то типа "у кого тут единичка появилась? будешь номером 5!") и все дальнейшее общение - только по шине 485.

На RS485 то же самое - по одному TVS между сигналами и землей (подойдет ли PESD1CAN?), плюс multifuse последовательно - и на разъем.

Так нормально будет работать?
Достаточно ли такой защиты по входу-выходу?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.