RS485, Modbus and IO Expansion Shield

Dear all,

I want to use jpmzometa library for implementing an arduino modbus slave.
Have you ever used IO Expansion Shield for Arduino with jpmzometa and arduino for creating a modbus slave rtu on rs485?
Are they compatible?

Thanks for everythings,

Antonio

I'm not familiar with the library but looking at the expansion shield I'd say it has a chance of working. It has the standard 485 transceiver setup, the only issue may be that it uses the hardware UART which is shared with the FTDI chip, in principle this is OK but I believe it can cause issues.

If you don't need all the other stuff there are other RS485 shields eg.

http://shieldlist.org/linksprite/rs485

Although this uses pins 0 and 1 as well.

EDIT: I just had a quick look at the library code, you can set the TX enable pin to anything you like so my guess is it will work.


Rob

Graynomad:
EDIT: I just had a quick look at the library code, you can set the TX enable pin to anything you like so my guess is it will work.


Rob

Thank you for your reply, Rob.
Is your guess that IO Expansion Shield for Arduino and jpmzometa library work together?

Why doesn't RS485 shields use a TX enable pin different by TX?

Why doesn't RS485 shields use a TX enable pin different by TX?

SRS485 is normally half-duplex, meaning that only one device can talk at a time, a bit like an HF or UHF radio where you have to press a button to talk and let it go to listen.

You can't leave the transmitter driving the bus when you aren't talking. Therefore you enable it to talk and disable it when you are finished to give the other side of the conversation a go.

That's what the TE pin does, enables and disables the transmitter.

BTW, the way that board is wired the receiver is disabled when the transmitter is enabled, so unless the library uses the internal pull up resistor on the RXD pin (I didn't check) the pin will be floating and you may get false characters. Forget that, I just looked at the schematics, they have a 4k7 pullup resistor.


Rob