This shield makes it possible for two or more Arduinos to communicate over long distances via Serial over RS-485. RS-485 is the industry standard for communication over long distances and is virtually immune to interference. It is commonly used in industrial environments. You could use this shield together with a few Arduinos and other hardware to make things talk to each other over a distance, without running power to every node or connecting a lot of wires. Imagine an art installation with a sensor at the door which triggers movements and sounds all over the room. We used it to prototype a football-field sized game controller.
The shield has two RJ45-sockets ("ethernet connectors") that allow you to connect up to 100m (300ft) of UTP or FTP cable. Because it has two in parallel, you can easily daisy-chain shields together to form a bus-communication system. The shield allows for full-duplex communication by using the Maxim MAX489 RS-485 chip.
DetailsThe shield has a wide-input, efficient switching voltage regulator on board, which allows you to power the shield and Arduino remotely in a way similar to Power over Ethernet. UTP pin 4 & 5 are used as +, and pin 7 & 8 are -. The voltage regulator accepts anything up to 36V, allowing to power the bus with a high voltage such as 24VDC, reducing voltage drop (energy losses due to resistance in the long cable). As standard PoE injectors can supply up to 50VDC, use caution when using these. If the injector uses the right pinout (probably) and supplies 36V or less, you should be fine. The voltage regulator supplies 5V, 500mA to the Arduino, which should be plenty for most applications. Check the power requirements of your application before ordering though.
When two Arduinos are connected together, both can "speak" at the same time to each other. When more Arduinos are connected together, it is recommended to make one the "master", which can send commands to all slaves simultaneously and let the rest of the Arduinos act as "slaves" which only speak when spoken to. The RS-485 protocol and / or shield does not handle this; you'll have to arrange for this in software. The cable between the master and first slave must also be "cross wired" because by default all shields are wired as slaves.
There is a switch which allows to switch between hardware serial (pin 0 and 1) and software serial (pin 2 and 3). This also allows for programming older Arduinos without taking the shield off.A button is provided on pin 12 and an LED on pin 13 for testing purposes, and terminating resistors, RJ45 pins and useful chip pins are broken out. Supplied as a kit. Surface mount components preassembled.
Refer to the MAX489 datasheet for more information on how to drive the chip and a very useful diagram on how RS-485 buses are wired and operate. Example code will be provided soon.
Pinout:Pin 0 and 1 are used for hardware serial communication, 2 & 3 for software serial, 4 is Driver Enable and 5 is Receiver Enable.
Why did you make it?The shield was originally designed and built to scratch our own itch: We were developing a system that needed 80 bus-powered, daisy-chained products and were prototyping the system with Arduinos. Later we reused the shield we made for testing in another installation and realised a lot more people must have applications for a product like this.
What makes it special?If you're designing or building an art installation, interactive installation, game or anything that requires a lot of independent "nodes" communicating together to form a bigger system, this shield is ideal to quickly prototype the system. Especially if the nodes are located further apart from each other. It can also be used in the final application, if your application has space and budget for full-sized Arduinos with shields. Other shields can be stacked on top. Because the nodes can be bus-powered, this saves you a lot of wiring and hassle. The first perf-board test version of this shield took 3 hours to manually assemble. Luckily we only did that once. Imagine doing that 80 times :)
Files
Comments