Según altos estándares industriales

Busca en nuestro Blog. Encontrarás múltiples aplicaciones, soluciones, ejemplos de código. Navega utilizando la nube de etiquetas o busca utilizando criterios específicos

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

M-Duino Arduino industrial trabajando con placa Raspberry Pi

Raspberry Pi 3 B+

Introducción

En este post aprenderás a comunicar un Pi 3 B+ de Frambuesa con un M-Duino por RS485 usando un módulo MAX 485.  


Requisitos

M-Duino / Ardbox familia

Raspberry Pi 3 B+

Módulo MAX485


Módulo MAX485

El chip MAX485 a bordo es un transceptor de baja potencia y velocidad de giro limitada que se utiliza para la comunicación RS485. Al adoptar la comunicación half-duplex para implementar la función de convertir la información de nivel TTL en nivel RS485, puede alcanzar una tasa de transmisión máxima de 2,5 Mbps. 

Pinout:

Max 485 Module

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 barato. Se pueden encontrar lotes de 5 unidades por menos de un euro. 


Conexiones

Raspberry Pi 3 B+ Pinout


Conexiones


Raspberry Pi a MAX485

Pins Raspberry Pi 3 B+Pins Módulo MAX485
UART_TXDRX
UART_RXDTX
GPIO17RE
GPIO27DE

Los pines digitales GPIO17/27 utilizados para establecer el tipo de comunicación. Modo receptor o transmisor.


MAX485 a M-Duino/Ardbox 

Pins Módulo MAX485Pin M-Duino / Ardbox
VCC3.3 V
BB-
AA+
GNDGND


Diagrama

Diagrama

Ejemplo Código Phyton

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

Programmable Automation Controller based on Raspberry Pi


Programmable Automation Controller based on Raspberry Pi


Programmable Automation Controller based on Raspberry Pi


Con doble puerto RS-485, un doble puerto ethernet, UPS que asegurará un mínimo de alimentación; esto asegurará un cierre seguro y protección de datos SD. También un bus CAN. 


Un PLC con el poder de Raspberry Pi.


Gama Raspberry PLC >>

¿Estás buscando tu PLC ideal?


Mira esta comparativa con otros controladores industriales

Comparamos entradas, salidas, comunicaciones y otras características con las de algunas de las marcas relevantes


Comparativa PLCs >>

¿Quieres más información? 

¡Solo llena el formulario! 

¡Quiero saber más!  Por favor, llene el formulario correctamente.