Cómo comunicar una Raspberry Pi 3 B+ con un módulo MAX485

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

Índice

Introducción

En esta publicación, aprenderás a comunicar un Raspberry Pi 4 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
The GPIO 17/27 digital pins are used to establish the type of communication.
Receiver or transmitter mode. 

Pines del Raspberry Pi 3 B+

Pines del Raspberry Pi 3 B+

Diagrama

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

Python Code Example

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()

Echa un vistazo al controlador de automatización programable basado en Raspberry Pi

Automatización, supervisión y control con la potencia y velocidad de la Raspberry Pi

Odoo • Image and Text

Con puertos dobles RS-485, un puerto doble Ethernet, SAI que garantizará un suministro mínimo de energía, esto asegurará un apagado seguro y protección de datos SD. Además, un bus CAN. 

Un PLC con la potencia de Raspberry Pi.

Buscar en nuestro blog

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

¿Estás buscando tu Controlador Lógico Programable 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.


Industrial PLC comparison >>>