Я буду работать над небольшим проектом, в котором выходные данные SSI (угловые данные) поворотного энкодера будут считываться платой микроконтроллера (например, платой Arduino), а затем микроконтроллер отправляет эти данные в ПК через USB-порт. Расстояние между энкодером и платой/ПК Arduino не более шести метров.
Эти типы энкодеров используют дифференциальный электрический интерфейс RS422/RS485, одну пару для данных и другую пару для часов следующим образом:
Я сделал рисунок для этой конкретной реализации, и цепочка сигналов будет выглядеть следующим образом:
Плата контроллера отправляет данные на ПК через USB. ПК заземлен, то есть его материнская плата полностью подключена к корпусу, а затем к заземлению сети. Плата Arduino питается также через USB.
U1 и U2 - два из этих приемопередатчиков дифференциальной шины (похоже, нет гальванической развязки). Таким образом, эти приемопередатчики будут питаться от источника питания 5 В или от клеммы 5 В платы Arduno. Трансиверы и плата будут иметь общую землю, как показано на схеме выше.
Однако со стороны энкодера энкодер может питаться от отдельного источника питания (по крайней мере, так планируется). На схеме заземление энкодера (также заземление питания энкодера) плавает относительно земли контроллера.
Мои вопросы:
Следует ли заземление энкодера напрямую подключать к заземлению контроллера через специальный провод?
Если я использую один и тот же источник питания для приемопередатчиков и энкодера, имеет ли значение расположение источника питания? Может ли источник питания энкодера быть удаленным от энкодера?
Где должны быть оконечные резисторы?
Я наткнулся на эту статью, но она довольно запутанная.
РЕДАКТИРОВАТЬ:
Более подробная схема:
Вкратце: заземление не требуется из-за характеристик RS485. Изоляция в большинстве случаев предпочтительнее.
TIA/EIA 485 указывает, что не более ±7 В потенциала между заземлениями двух отдельных устройств (показанных ниже как GPD).
Правильный метод проектирования дифференциальной линии передачи данных - без заземляющих проводов. Если разность потенциалов земли превышает указанное значение ±7 В в EIA-485, используйте приемопередатчики с высоким синфазным сигналом или приемопередатчики с изолированной шиной.
Источник: https://www.planetanalog.com/signal-chain-basics-84-why-rs485-does-not-need-ground-wires/
В некоторых промышленных приложениях вполне возможны большие колебания грунта между разными местами. Это можно измерить, используя мультиметр между основаниями двух мест. Оно не должно превышать 7В (в режимах постоянного или переменного тока). Если это так, то для соблюдения спецификации потребуется изоляция.
Следует ли заземление энкодера напрямую подключать к заземлению контроллера через специальный провод?
Земля энкодера должна вернуться к источнику питания, если источник питания удален от Arduino, то нет необходимости связывать земли вместе (при условии, что между Arduino и энкодером, как описано выше, меньше ± 7 В).
ЕСЛИ энкодер подключен к арудино и не привязан к источнику питания на другом конце (или источник питания подключен к арудино), то описанная выше конструкция также должна работать (при условии, что синфазный шум от сопротивления кабеля приемлемо (большие токи через длинные кабели могут вызвать дребезг земли, а ток зависит от тока энкодера) Падение напряжения на кабеле также является проблемой, если источник питания расположен на Arduino.
Если я использую один и тот же источник питания для приемопередатчиков и энкодера, имеет ли значение расположение источника питания? Может ли источник питания энкодера быть удаленным от энкодера?
Это действительно зависит от сопротивления кабелей между энкодером и приемопередатчиком/Arduino. Если источник питания расположен на стороне Arduino, необходимо учитывать потери в кабеле.
Например: 22AWG имеет потери 0,053 Ом на метр. ЕСЛИ энкодер потребляет 10 мА тока, это всего 5 мВ потерь на 10 м провода. 100 мА и ~ 50 мВ, более 50 мВ, и это может быть проблемой.
Таким образом, есть несколько вариантов: больший размер кабеля или подключение источника питания к энкодеру, что подходит для RS485 (при условии, что заземление находится в пределах допуска).
Где должны быть оконечные резисторы?
Для конфигурации Rs422 то, что у вас есть, в порядке (на диаграмме ниже приведены данные ниже и часы выше, напротив ваших), согласующий резистор должен идти на принимающей стороне главного устройства, а на ведомом устройстве (энкодере) он также должен быть включен. получатель.
Источник: https://en.wikibooks.org/wiki/Serial_Programming/RS-485 .
Если используется только одно устройство RS845, подходит резистор на стороне энкодера и на стороне арудино, как показано ниже.
Источник: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html .
Если вы будете использовать несколько энкодеров, вам понадобится резистор на последнем устройстве и на ведущем устройстве (Arduino).
Источник: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html .
Поскольку приемопередатчики не изолированы, они допускают, чтобы провода шины были на 7 В ниже вывода GND и на 7 В выше вывода VCC.
Это означает, что между GND этой платы и землей энкодера может быть не более 7В разности потенциалов.
Поскольку эта плата имеет потенциал земли на заземленном корпусе ПК через USB-соединение, это означает, что земля энкодера также должна быть подключена к тому же потенциалу земли через какой-либо маршрут с достаточно низким импедансом, который не позволит больше заданного +/- 7 В. разница между ними.
1) Исходя из вышеизложенного, энкодер не может плавать по отношению к контроллеру. Если энкодер питается от отдельного плавающего источника питания на стороне энкодера, и этот источник питания или энкодер не имеет другой привязки к потенциалу земли, то это означает, что должен быть заземляющий провод от платы приемопередатчика к энкодеру, чтобы поддерживать их потенциал между обоими заканчивается так же. В этом проводе не должно течь тока во время нормального использования, так как это просто для сохранения их потенциала одинаковым. Если отдельный источник питания не является плавающим, но имеет заземление, отдельный провод заземления между устройствами может не понадобиться. Вы всегда можете выбрать разъем и кабель, чтобы можно было настроить заземление, поэтому позже вы можете решить, подключить заземление или оставить его отключенным, возможно, с помощью перемычки или перемычки.
2) Если для энкодера и контроллера используется один и тот же источник питания, тогда уже будет заземление между контроллером и заземлением энкодера. Расположение источника питания не имеет значения, находится ли он рядом с энкодером или контроллером. Из-за тока, протекающего в заземляющем проводе, между концами будет небольшая разность потенциалов, но вы можете игнорировать это, пока падение напряжения не слишком велико и все еще может подавать достаточное напряжение на удаленный конец для правильной работы. Но имейте в виду, что заземление контроллера по-прежнему заземлено через соединение заземления USB ПК с контроллером, даже если контроллер питается от отдельного источника вместо +5 В от USB.
3) Драйвер трансивера может работать с нагрузкой до 60 мА, или до 54 Ом, или около 110 Ом на обоих концах. Поскольку линии передачи являются только однонаправленными и только между двумя устройствами в виде соединения «точка-точка» вместо шины с несколькими приемниками, часто бывает достаточно просто подключить приемник к характеристическому импедансу провода. Также так же распространена терминация обоих концов линии передачи, поэтому в этом случае согласующие резисторы будут прямо на выводах микросхемы трансивера. Так что нарисуйте резисторы на микросхеме, и вы можете опустить согласующий резистор передатчика, если обнаружите, что он не нужен, или поставьте перемычку или припаяйте перемычку, чтобы включить/отключить его.
Цитата из примечания к применению TI slla070d.pdf, стр. 18:
Обычно конфигурации систем RS-422 и RS-485 представлены без отдельного провода заземления. Однако законы физики по-прежнему требуют надежного заземления для обеспечения безошибочной связи между драйверами и приемниками.
Цитата из «Понимание сетей EIA-485» от Contemporary Controls:
В стандарте четко указано, что для генераторов и приемников требуется обратный путь между заземлениями цепи на каждом конце соединения. Этот обратный путь может быть фактическим проводом в кабеле, соединяющим каждое из логических заземлений вместе, или земля может обеспечить обратный путь, возвращая каждое логическое заземление к земле.
Цитата из Примечаний по применению Integrity Instruments, выпуск 1:
Заземление необходимо для надежной работы любой сети RS-485. Это также наиболее игнорируемый и наименее понятный. Самый простой способ заземлить вашу сеть RS-485 — просто использовать заземление «Земля» в качестве обратного пути. Несмотря на простоту, это может быть не лучший метод для заземления вашего приложения, поскольку утечка тока из оборудования, электростатический разряд (ESD) и молния приводят к тому, что ток проходит по этому пути, что приводит к высокому уровню шума. Причина такого повышенного уровня шума связана с тем, что «земля» имеет относительно высокое сопротивление. RS-485 предназначен для нормальной работы при разности потенциалов земли +/- 7 Вольт. ... Хороший способ уменьшить это заземление и удержать эту разность потенциалов заземления в пределах стандартов — проложить третий провод.
Цитата из приложения Robust DataComm 5, предположительно цитирующего сам стандарт RS485. ( ссылка на приложение ):
«Правильная работа цепей генератора и приемника требует наличия обратного пути сигнала между заземлением цепи оборудования на каждом конце соединения. Эталон цепи может быть установлен третьим проводником, соединяющим общие выводы устройств, или может быть установлено подключением каждого используемого оборудования к заземлению».
Это просто. Да, вам нужно соединение с землей, чтобы вы могли убедиться, что общий режим не уплывает за пределы рейтинга приемника. Соединение с землей не обязательно должно быть хорошим, коротким или каким-то еще, но оно должно быть.
Единственное исключение - это когда у вас есть какой-то другой странный способ гарантировать, что он не плавает, например, подключение gnd на одной стороне к изолированному vcc на другой стороне. Но это странно и требует очень тщательного анализа обеих сторон.
Еще кое-что. Есть стандартный способ обращения с энкодерами: подать питание (5В и GND) по тому же кабелю, по которому идет связь. В любом случае со стороны энкодера нет ничего электрического. Какой-то тупик.
У вас всегда должно быть СОЕДИНЕНИЕ (не обязательно провод), так как оно не имеет гальванической развязки. Нет необходимости в выделенном заземляющем проводе, если только он не питается от батареи или один конец не заземлен. Об этом говорится в статье, на которую вы ссылаетесь.
Не имеет значения. Для этого и нужны разделительные конденсаторы.
В RS422/RS485 используется параллельное окончание, поэтому оно идет следующим (в идеале мимо) последним получателем в гирляндной цепочке.
РДЦК
дискета380
фило
Всплеск напряжения