RS485 разные напряжения

Обратите внимание, что я новичок в электронной...

Здравствуйте, у меня есть несколько модулей RS485 для тестирования с Arduino, и мне удалось заставить их работать в полудуплексном режиме.

Из этого поста я увидел, что для Raspberry PI модуль будет другим, потому что он может подавать только 3,3 В на контакты GPIO.

Итак, у меня есть вопрос, могу ли я использовать внешний источник питания 5 В для VCC и GND модуля RS485 и отправлять данные с 3,3 В? Потому что если бы это было так, я мог бы избежать покупки конкретного модуля только для Pi, и это было бы хорошо...

RS485 — это не то, что вы «получаете»; это стандарт связи, а не объект.
Я имел в виду модуль, извините подредактирую
какой модуль RS485? некоторые работают с 3,3 В, некоторые нет.
Вы должны посмотреть логические пороги в руководстве по модулю.
Это модуль. Я только знаю, что он использует чип max485.

Ответы (2)

Совместимость между 3,3-вольтовой и 5-вольтовой логикой имеет два направления. Логические пороги для лог.0 и лог.1 одинаковые 0,8В и 2,4В) = только это совместимо. В результате использование выхода линейного драйвера 3,3 В в качестве входа линейного приемника 5 В должно «просто работать». Другое направление является более проблематичным, так как драйвер линии 5 В действительно удовлетворяет этим решающим порогам, но также может перегрузить и перегрузить вход приемника 3,3 В. Это то, о чем говорится в описаниях многих современных микросхем.

Глядя на ультраклассический трансивер SN75176 RS485, я вижу, что он номинально работает на +5В. Среди своих 8 контактов на стороне TTL есть выделенный контакт для направления TX (постоянный вход, помеченный D для привода) и выделенный контакт для направления RX (постоянный выход, помеченный R для приема). И именно драйвер TTL направления RX опасен для вашего Arduino.

Тот факт, что сигнал постоянно находится в одном и том же направлении (роли водителя/приемника), делает вашу жизнь проще. Картман уже предложил два резистора в качестве регулятора уровня. Если вам когда-либо требовалось что-то более шикарное, взгляните на семейство логических микросхем 74LVC — они могут работать от 3,3 В и устойчивы к 5 В. А именно, если вам нужно обработать только один сигнал, вы можете оценить 74LVC1G125 или 74LVC1G126 — одноканальные буферы классической четырехъядерной параллельной шины 74125/74126. Существует также двухканальная версия, начиная с 74LVC2Gxxx.

Да, вы правы, контакты GPIO на RPI, по-видимому, не устойчивы к 5 В. И они, вероятно, могут работать в обоих направлениях, в зависимости от конфигурации программного обеспечения. Резистивный переключатель уровня для вашей линии RX должен работать именно с этим - на самом деле, я думаю, он будет работать и для обоих направлений :-), если ваши сигналы не слишком быстрые, так что паразитные емкости не имеют значения. На официальной веб-странице RPI, на которую я ссылался, упоминаются некоторые готовые модули смены уровня. Не знаю, что это такое... я вижу транзисторы на модуле? Что бы ни...

И последнее, о чем следует помнить: если вы используете какой-либо законченный интерфейсный модуль (плату) RS485 и собираетесь питать его напряжением 5 В, убедитесь, что вы не подключили по ошибке одну и ту же шину питания 5 В (сеть дорожки печатной платы) к контакту питания 3,3 В (выход) в разъеме GPIO RPI. Питание 3,3-вольтовой шины RPI от +5 В не принесет RPI никакой пользы :-)

RS485 может быть довольно интересной темой сам по себе. Так как допуск по дифференциальному и синфазному уровню RX довольно широк, я вполне могу представить практическую рабочую установку с линейными драйверами, питаемыми всего 3,3 Вольт. Пока логика микросхемы приемопередатчика может работать на этом напряжении, сама шина в принципе должна работать нормально, даже если смешанные узлы питаются от 3,3 и 5 вольт. Вы можете соединить сигналы и опорную землю, но не соединяйте их силовые шины! вдоль шины :-) Вы просто отказываетесь от некоторого "бюджета затухания" вдоль линии передачи шины.

Удачного мастерства :-)

Очевидное и наиболее надежное решение — получить правильный модуль. Как уже упоминалось, некоторые микросхемы трансивера rs485 будут «работать» на 3V3. Это не может быть гарантировано. В качестве альтернативы, если Pi нужно только передавать данные, вы можете использовать приемопередатчик 5V. Проблема возникает с приемом данных, поскольку трансивер будет выдавать сигнал 5 В, который не оценит пи. Вы можете использовать резисторный делитель, чтобы понизить напряжение. Скажем 2к2 последовательно и 3к3 к 0В. В инете должны быть проработанные примеры.