modbus arduino

Bueno, necesitas un MAX485 o MAX483 o el venerable 74176 de Texas Instruments.

Luego, necesitas calcular las Resistencias PullUp según la hoja de datos...no te apures, con 600 ohms lo resuelves. El bus debe estar en un estado determinado según lo explican las hojas de datos de los ICs.

Siguiente paso es escribir el programa y recordar que entre cada mensaje Modbus RTU deben existir al menos un tiempo de espera de 3.5 character-time, el cual debes calcular dependiendo del baudrate seleccionado.

Arduino solo tiene UARTs, de manera que debes conectarlo al transceiver y operar las señales de control para operar el transceiver si quieres enviar y luego recibir. Supongo tu arduino es el master, de manera que lo pones a transmitir y al finalizar, cambias el bus a modo recepcion.

Te recomiendo los simuladores de ModbusRTU grátis en la red. Ahí puedes ver y probar lo que estás enviando desde el arduino y el supuesto esclavo. Este paso te ahorrará muchos dolores de cabeza.

Necesitas conocer los Registros Modbus de tú Variador. Sin eso, no podrás hacer nada vía modbus.

Luego, creas el mensaje según ModbusRTU y dependiendo si quieres leer registros o escribir sobre un registro de tu variador. Tienes que cumplir el protocolo al pie de la letra, incluyendo el CRC del mensaje.

Te recomiendo comiences leyendo

Ve esto: - YouTube
- YouTube
Variadores + PLCs + Wireless + Software + Instrumentación + Integración - YouTube

Después de todo eso, necesitarás entonces poner de acuerdo ambos lados, tanto el arduino como el Variador. No es una tarea sencilla.

Te recomiendo los tutoriales o documentos de Mr. Gannon aquí. Son muy buenos...