Каталог

Расширение RS485-GPIO для Raspberry Pi

Цена:

3060 р.
менее 10 шт.
Уже в корзине
Код товара: 14193
Оригинальное название:
Raspberry Pi RS485/GPIO Expansion Board V3.0

Описание товара

Модуль расширения RS485/GPIO для Raspberry Pi

Основным секретом популярности современных микроконтроллерных платформ, среди которых большим успехом пользуется небезызвестная Raspberry Pi, значится их многопрофильность, обусловленная обширным выбором дополняющих функциональных инструментов в виде модульных плат-расширений, располагающих совершенно разными наборами электронных компонентов. Проектированием и выпуском базовых расширений достаточно часто занимается непосредственный платформодержатель. В тоже время не редки случаи, когда в производстве совместимой продукции участвуют сторонние компании, предлагающие собственные разработки взамен отсутствующим расширениям. Дизайнером RS485/GPIO Expansion Board была организация LinkSprite.

Модуль RS485/GPIO Expansion Board призван оснастить платформу Raspberry Pi средством преобразования импульсных логических сигналов универсального асинхронного интерфейса (UART) в стандарт физического уровня RS-485 (EIA-485). Интерфейс RS-485 (Рекомендованный Стандарт 485) наиболее часто реализуется в промышленной автоматизации. Он предназначен для создания простых двухпроводных (или четырёхпроводных) локальных сетей с многоточечной топологией, объединяющих в себе до 32 устройств, последовательно связанных в одну общую шину и расположенных на расстоянии до 1200 метров в пределах одного непрерывного участка сети. В силу своих технических особенностей, достоинства RS-485 преобладают над его недостатками. К положительной стороне относятся хорошая помехоустойчивость, высокая скорость передачи на коротких и средних дистанциях, большая дальность связи, возможность широковещательной передачи. К весьма условным недостаткам интерфейса RS-485 причисляются повышенное энергопотребление и отсутствие сервисных сигналов при передаче данных.

Физический уровень RS-485, вводная информация

В интерфейсе RS-485 заложен принцип дифференциальной передачи данных. Трансляция сигнала осуществляется по двум проводам. Третий "общий" провод заземления нередко используется для улучшения качества связи и стабилизации работы интерфейса, однако не является обязательным. Оптимальным кабелем для соединения узлов на практике считается скрученная витая пара со средним волновым сопротивлением 100-120 Ом. Уровень напряжения в линиях А и В может варьироваться от -7В до +12В. Приёмники устройств на шине RS-485 чувствительны к разнице потенциалов между линиями А и В. При приёме логической единицы, разность потенциалов на входе положительна (А больше В на 200 мВ), при приёме логического нуля, разность на линиях отрицательна (А меньше В на 200 мВ). Значение менее 200 мВ подразумевает отсутствие сигнала. Интерфейс RS-485 ограничен одним условием — передача сигнала для всех активных приёмников осуществляется единственным передатчиком.

Конструирование сложных сетей на основе RS-485, включающих ответвления сегментов или размещение узлов на больших расстояниях, обязывает добавление специальных усилителей сигнала и повторителей (репитеров). При высокой скорости передачи между узлами, на длинных участках линии возможно возникновение искажения сигнала, связанное с эффектом его обратного отражения. Для погашения колебания сигнала, на концах каждого длинного участка сетей RS-485 устанавливаются так называемые терминаторы — согласующие резисторы с номиналом, равным волновому сопротивлению соединительного кабеля.

Технические характеристики

  • Модель: RS485/GPIO V3.0
  • Питание: 5В (основное), 3.3В (второстепенное), от Raspberry Pi
  • Приёмопередатчик: MAX481CSA
  • Количество передатчиков: 1
  • Количество приёмников: 1
  • Нагрузочная способность: до 32 узлов в одном сегменте
  • Режим работы: полудуплексный
  • Режим передачи: дифференциальный сигнал (балансный)
  • Чувствительность приёмника: 200 мВ
  • Сопротивление входа приёмника: 12 кОм
  • Диапазон напряжений передатчика: 1.5 В ... 5 В
  • Скорость передачи данных: макс. 2.5 МБит/сек
  • Cогласующий резистор (терминатор): нет
  • Индикация: RX, TX, светодиодная
  • Интерфейс ввода-вывода: стандартный 26-контактный разъём RPi GPIO, винтовая клеммная колодка, контакты питания, выводы GPIO
  • Совместимость с моделями Raspberry Pi: Zero/1/2/3/4
  • Температура эксплуатации: 0°С...+70°С
  • Размеры: 56 х 40 х 11.5 мм
  • Вес: 15 гр

Приёмопередатчик MAX481, интегрированный в плату расширения Raspberry Pi RS485/GPIO Expansion Board, способен работать в двухпроводном полудуплексном режиме — в один момент времени информация либо передаётся, либо принимается. Перенастройка приёмопередатчика в соответствующий режим работы требует кратковременной задержки для каждой стадии обмена данными. Модуль оснащён двухконтактной винтовой клеммой с соответствующей маркировкой сигнальных линий А и В, предназначенной для коммутации с внешними устройствами по интерфейсу RS-485. Рядом с клеммой расположена свободная площадка под самостоятельную припайку разъёма DB9. Выведенные на площадку контакты дублируют клеммную колодку. Встроенная светодиодная индикация интерфейса UART обеспечивает визуальный контроль за процессами трансляции сигнала приёма или передачи.

Обзор платы расширения Raspberry Pi RS485/GPIO Expansion Board, назначение контактов

Обзор платы расширения Raspberry Pi RS485/GPIO Expansion Board, назначение контактов  

 

Конструктивные особенности модуля

На лицевой стороне RS485/GPIO Expansion Board разведено несколько групп контактов. Согласно электрической схеме расширения, J5 и J6 значатся незадействованными выводами GPIO контроллера Raspberry Pi, занятые установкой платы поверх многоцелевого стандартного разъёма RPi GPIO, и остаются свободными в использовании для иных задач. Максимальный ток, проходящий по контактам групп J5 и J6, не должен превышать 16 мА.

Группы контактов JP2, JP3 и JP1 — линии питания дополнительно подключаемой периферии с 5-вольтовым или 3.3-вольтовым напряжением.

Освобождая ресурсы Raspberry Pi от необходимости постоянного контроля за входами управления MAX481CSA, линии RE и DE неразрывно подтянуты через резистор к питающему напряжению. Преобразователь неизменно находится в открытом положении и всегда готов к приёму или отправке данных.

Примеры программирования. Добавление зависимых библиотек

Плата контроллера: Raspberry Pi 3B+ 1ГБ; ОС: Raspbian Buster

1. Обновите систему (рекомендуется)

sudo apt-get update

2. Включите аппаратный UART

В Raspberry Pi 3B+ присутствуют два интерфейса UART. Первый - полноценный UART0 (/dev/ttyAMA0, PL011). Второй - UART1 (/dev/ttyS0, mini UART) использует мощности видеоядра и ограничен частотой 250МГц. Первоначально активен только UART0. Он по умолчанию связан с встроенным чипом контроллера WiFi/Bluetooth и не доступен на выводах GPIO. Mini UART назначен на выводы GPIO14 (TX, pin8) и GPIO15 (RX, pin10), его линии связи пребывают в программно отключенном состоянии. В случае необходимости, интерфейсы можно переназначить, поменяв их ролями.

Аппаратный UART можно включить двумя вариантами:

а) запустив утилиту конфигурации raspi-config:

sudo raspi-config

Зайти в меню 5 - interfacing options и выбрать пункт P6 - serial. Затем отклонить запрос на доступность входа в оболочку Linux sheel через UART (Would you like a login shell to be accessible over serial?-No) и подтвердить включение аппаратного UART подтверждением на запрос о его активации (Would you like the serial port hardware to be enabled?-Yes)

б) изменив параметр enable_uart=0 на enable_uart=1 в файле config.txt, открыв его для редактирования командой

sudo nano /boot/config.txt

Затем перезагрузить Raspberry Pi.

3. Установить python3-pip

sudo apt-get install python3-pip

4. Используя установщик python-пакетов pip3, добавить зависимую библиотеку pySerial для последовательных портов.

sudo pip3 install pyserial

5. Выполнить пробное импортирование библиотеки serial, позволяющее убедиться в её корректной установке.

sudo python3
>>> import serial

Отсутствие ошибок после ввода команды говорит о правильном функционировании библиотеки.

Плата расширения RS-485/GPIO не нуждается в какой-либо предварительной программной подготовке или настройке. От пользователя требуется лишь практическое знание в способах передачи информации через асинхронный последовательный интерфейс UART.

Простой пример отправки текстовой строки. Программа отображает на экране имя выбранного интерфейса UART и отсылает сообщение hello.

import serial
ser = serial.Serial('/dev/ttyS0', 9600)
print (ser.name)
ser.write(b'hello')
ser.close()

Следующий код демонстрирует побайтовый приём данных с выводом входящей информации на экран.

import serial
port = '/dev/ttyS0'
usart = serial.Serial(port,9600)
usart.reset_input_buffer()
print ('serial test: BaudRate = 9600')
usart.write(b'Please enter the character:\n\r')
while True:
   if( usart.in_waiting>0 ) :
      receive = usart.read(usart.in_waiting)
      print ('Receive byte: ',receive)
      usart.write(b'Send: ')
      usart.write(receive)
      usart.write(b' byte\n\r')

Электрическая принципиальная схема RS485/GPIO Expansion Board

Электрическая принципиальная схема RS485/GPIO Expansion Board  

Техническая документация

  1. Преобразователь интерфейсов MAX481CSA (англ., PDF)
  2. Описание библиотеки pySerial-3.4 (англ., PDF)

Полезные ссылки

  1. Загружаемая библиотека pySerial-3.4 (ZIP-рахив)
  2. Официальная страница проекта pySerial PyPI

Похожие позиции

7020 р.
Арт. 10080
Уже в корзине
менее 10 шт.
4230 р.
Арт. 15927
Уже в корзине
менее 10 шт.
830 р.
Арт. 15454
Уже в корзине
менее 20 шт.
380 р.
Арт. 10929
Уже в корзине
менее 50 шт.
1100 р.
Арт. 14192
Уже в корзине
менее 10 шт.
1540 р.
Арт. 10941
Уже в корзине
менее 50 шт.
430 р.
Арт. 15157
Уже в корзине
менее 500 шт.
footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru