UART MAX485 Module
- 
					
					
					
					
 Good evening, I am currently trying to communicate with a modbus slave in RS485. For that I am using a MAX485 UART TTL to RS485 module for Arduino (http://yourduino.com/sunshop//index.php?l=product_detail&p=323). I have wired as followed: 
 WiPy -> MAX485 Module
 P3 -> DI
 P4 -> RO
 P7 -> DE/RE jumped
 5V -> VCC
 GND -> GNDI use a library adapted from minimalmodbus for modbus, however when I try to communicate with my slave, the response is always a chain of b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ ... Any idea where that would be coming from ? from machine import UART import utime import ModBus uart = UART(1, baudrate=9600) uart.init(9600, bits=8, parity=None, stop=1,pins=('P3','P4','P7',None)) instrument = ModBus.Instrument(uart,0x01,mode=ModBus.MODE_RTU) print(instrument) v = instrument.read_registers(2,2) print(v)I have tested the modbus library with a uart mockup with success, so i think it might be a hardware issue. Thank you in advance. 
 
- 
					
					
					
					
 This post is deleted!
 
- 
					
					
					
					
 This post is deleted!
 
- 
					
					
					
					
 This post is deleted!
 
- 
					
					
					
					
 Hello, 
 any update on this?
 I have some old modbus plc lying around and i'm trying to use my lopy to communicate as a modbus master with a SP3485 breakout board...but i cannot find a decent modbus library for micropython
 
- 
					
					
					
					
 @ledbelly2142 
 Please send me a PM with details.
 
- 
					
					
					
					
 @danielm 
 I am also interested in this.
 
- 
					
					
					
					
 @urbanzz 
 There is no library, I only wrote simple ModBus client routine which waits for a specific type of command and sends back data from internal register including CRC. If you need ModBus master functionality for commercial purposes, I can help you with that.
 
- 
					
					
					
					
 @danielm Hello! Could you share your modbus library?Can it acts as Modbus Master? (in oder to get data from another slaves) 
 
- 
					
					
					
					
 @danielm said in UART MAX485 Module: I successfully used MAX3485 with LoPy with my code acting as ModBus slave with range of input registers. 
 Thank you or the info.
 Good to know, me I am trying to make it act as a master. I will continue my tries once I receive my SP3485.Yes I am using the expansion board and the wipy version 2.0. Actually it comes from the documentation quickref: # this uses the UART_1 default pins for TXD and RXD ( P3andP4)
 from pycom@danielm I am also interested on how you wired your setup, thank you in advance :p 
 
- 
					
					
					
					
 hello, 
 @bnjroos
 are you using an expansion board with your WiPy module ?
 The expansion board connects P0=RX0, P1=TX0, P4=SD-CMD, P8=SD-DAT0, P9=LED, P10=button, P16=Vbat, P19=CTS, P20=RTS, P23=SD-CLK.
 If you use an expansion board, maybe you must use another pin than the P4 pin for RO.
 @danielm how have you connected your Lopy to your MAX3485 ?
 
- 
					
					
					
					
 @Jurassic-Pork said in UART MAX485 Module: hello, 
 be carefull :
 The GPIO pins of the pycom modules are NOT 5V tolerant, connecting them to voltages higher than 3.3V might cause irreparable damage to the board.your rs485 module uses a MAX485 which is a 5V chip. 
 for the RO pin the specification voltage is :
 Receiver Output Voltage :
 RO -0.5 to (VCC+0.5) V
 may be you must use a module with a 3.3V chip as the MAX3485 and powers it with 3.3V .
 example : SparkFun Transceiver Breakout - RS-485
  
 Fully equipped with SP3485 RS-485 transceiver and supporting components
 Operates from a single +3.3V supply
 May be i am wrong. If someone can confirm what i have said.I just had a look at the datasheet and I think you're right, I am gonna order a SP3485 before going further. 
 
- 
					
					
					
					
 I successfully used MAX3485 with LoPy with my code acting as ModBus slave with range of input registers. 
 
- 
					
					
					
					
 hello, 
 be carefull :
 The GPIO pins of the pycom modules are NOT 5V tolerant, connecting them to voltages higher than 3.3V might cause irreparable damage to the board.your rs485 module uses a MAX485 which is a 5V chip. 
 for the RO pin the specification voltage is :
 Receiver Output Voltage :
 RO -0.5 to (VCC+0.5) V
 may be you must use a module with a 3.3V chip as the MAX3485 and powers it with 3.3V .
 example : SparkFun Transceiver Breakout - RS-485
  
 Fully equipped with SP3485 RS-485 transceiver and supporting components
 Operates from a single +3.3V supply
 May be i am wrong. If someone can confirm what i have said.
 
 
			
		