C贸mo comunicar una Raspberry Pi 3 B+ con un m贸dulo MAX485
M-Duino Arduino industrial trabajando con placa Raspberry Pi
20 mayo, 2019 por
C贸mo comunicar una Raspberry Pi 3 B+ con un m贸dulo MAX485
Serzh Ohanyan


Raspberry Pi 3B + con m贸dulo MAX485

Introducci贸n

En esta post, aprender谩 a comunicar un Raspberry Pi 3 B+ con un M-Duino por RS485 usando un m贸dulo MAX 485.

聽Requisitos para comunicar Raspberry Pi 3 B + con un m贸dulo MAX485

Configuraci贸n de pines del m贸dulo MAX485

M贸dulo MAX485

El chip MAX485 integrado es un transceptor de baja potencia y velocidad de respuesta limitada que se utiliza para la comunicaci贸n RS485. Al adoptar la comunicaci贸n semid煤plex para implementar la funci贸n de convertir la informaci贸n de nivel TTL en nivel RS485, puede alcanzar una velocidad de transmisi贸n m谩xima de 2,5 Mbps.

Pinout

Dependiendo de la conexi贸n RE y DE, el m贸dulo funciona como receptor o transmisor. Conectado a VCC, transmite datos y conectado a GND recibe datos.

Es un m贸dulo econ贸mico. Se pueden encontrar lotes de 5 unidades por menos de 1 鈧.

聽Conexiones


Raspberry Pi a MAX485

Pines Raspberry Pi 3 B+Pines del M贸dulo MAX485
UART_TXD
RX
UART_RXD
TX
GPIO 17
RE
GPIO 27
DE



MAX485 a M-Duino/Ardbox聽

Pines del M贸dulo MAX485
Pin M-Duino / Ardbox
VCC
3.3 V
BB-
AA+
GND
GND

Los pines digitales GPIO 17/27 utilizados para establecer el tipo de comunicaci贸n.
Modo receptor o transmisor.聽

Pines del Raspberry Pi 3 B+

Pines del Raspberry Pi 3 B+

Diagrama

Diagrama de Raspberry Pi 3 B + con m贸dulo MAX485

Ejemplo de c贸digo Python

En este ejemplo de c贸digo, enviamos un car谩cter desde el PLC a la Raspberry, lo imprimimos y respondemos al PLC con el mismo car谩cter, que es un "eco". Observa que, en caso de recibir datos, los pines 17 y 27 se desactivan y se activan.

#!/usr/bin/env python3

' IMPORTANT: remember to add "enable_uart=1" line to /boot/config.txt

from gpiozero import OutputDevice
from time import sleep
from serial import Serial

' RO  <-> GPIO15/RXD
' RE  <-> GPIO17
' DE  <-> GPIO27
' DI  <-> GPIO14/TXD

' VCC <-> 3.3V
' B   <-> RS-485 B
' A   <-> RS-485 A
' GND <-> GND

re = OutputDevice(17)
de = OutputDevice(27)

' enable reception mode
de.off()
re.off()

with Serial('/dev/ttyS0', 19200) as s:
	while True:
		' waits for a single character
		rx = s.read(1)

		' print the received character
		print("RX: {0}".format(rx))

		' wait some time before echoing
		sleep(0.1)

		' enable transmission mode
		de.on()
		re.on()

		' echo the received character
		s.write(rx)
		s.flush()

		' disable transmission mode
		de.off()
		re.off()


Mira el Controlador de Automatizaci贸n Programable basado en Raspberry Pi聽聽

Automatizaci贸n, monitorizaci贸n y control con la potencia y la velocidad de Raspberry Pi

Controlador de automatizaci贸n programable basado en Raspberry Pi


Con puertos dobles RS-485, un puerto Ethernet doble, UPS que asegurar谩 un suministro de energ铆a m铆nimo, esto asegurar谩 un apagado seguro y protecci贸n de datos SD. Tambi茅n un bus CAN.

Un PLC con la potencia de Raspberry Pi.

Gama Raspberry PLC >>聽聽

C贸mo comunicar una Raspberry Pi 3 B+ con un m贸dulo MAX485
Serzh Ohanyan
20 mayo, 2019
Compartir
Archivar

驴En busca de tu PLC ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Comparativa PLC industrial >>

驴Quieres m谩s informaci贸n?

隆Rellena el formulario!

隆Cu茅ntame m谩s!