srlRandy, Did you ever get this working? I was wondering if you have implemented this on a PCB yet. Thanks,
Steve,
Sorry to say this thread is several years old, and that Randy passed away some months ago. He was very helpful to many of us with his knowledge of electronics and Arduinos, and he is greatly missed.
By the way, the info says you've been a member here for a while, but that this is your first post. If that's correct, welcome to the forums. Hopefully someone else will read this and give you some more information that you're looking for.
York1 John
I've got Arduinos controlling my layout in a vaguely similar manner to what Randy was describing, albeit much simpler because I made no attempt to integrate with JMRI.
I ended up using a network of "Arduino" Pro Minis connected on a RS485 bus. I experimented with port expanders like MCP23017, shift registers, etc. Eventually I found that using them is more effort than it's worth. It's easier, simpler, cheaper, and less wiring to just use more Pro Minis instead. I was spending way too much time messing around with port expanders.
Pro Minis are so cheap and need minimal modification. I solder a MAX487 chip directly onto pins 6 7 8 or a Pro Mini. I pull off the Pro Mini's onboard regulator and solder on a L7805 instead. And that's it... it's ready to attach to the RS485 bus and do whatever it needs to do.
Example. Say I've got a crossover to automate, I'd dedicate a Pro Mini to it, installing it right beside the crossover so wires are short. I/O needs are four pins for motors, five pins for sensors, three pins for RS485, and I leave the two pins 0 and 1 empty for easy reprogramming. That leaves six pins for LED signals (though you could get an additional two pins if you're desperate by using A6 and A7). Six pins can control a lot of LEDs if you multiplex them.
York1 York1, thankd you for responding. I am sorry to hear this information. Randy clearly understood what he was trying to accomplish. I read this entire thread closely, and was amazed at his ability to explain what he was doing. A real loss for sure. srl Randy, Did you ever get this working? I was wondering if you have implemented this on a PCB yet. Thanks, Steve, Sorry to say this thread is several years old, and that Randy passed away some months ago. He was very helpful to many of us with his knowledge of electronics and Arduinos, and he is greatly missed. By the way, the info says you've been a member here for a while, but that this is your first post. If that's correct, welcome to the forums. Hopefully someone else will read this and give you some more information that you're looking for.
York1, thankd you for responding. I am sorry to hear this information. Randy clearly understood what he was trying to accomplish. I read this entire thread closely, and was amazed at his ability to explain what he was doing. A real loss for sure.
srl Randy, Did you ever get this working? I was wondering if you have implemented this on a PCB yet. Thanks,
Speedy Bee,
Thank you for your post. I have been doing some investigation of using RS485 to communicate between several Arduino based RFID readers and a server. The club I belong to does not use JMRI (except for Decoder Pro), so that is not an issue. The additional I/O made available by the port expanders looked like a good idea, but is not the central requirement I am looking to find a solution for.
I will look at the Pro Minis before I get too far along.
Steve
srlI will look at the Pro Minis before I get too far along.
it won't matter which processor board is used running C/MRI protocol running over rs-485, you could certainly use different boards based on the needs, using the same data driven code on each with different table data depending on the need of each
one of the biggest benefits of node is reducing the amount of wire and better organization of I/O
speedybeeI experimented with port expanders like MCP23017, shift registers, etc. Eventually I found that using them is more effort than it's worth. It's easier, simpler, cheaper, and less wiring to just use more Pro Minis instead.
i developed a board using MCP23017 I2C expanders. the board uses 8 i/o pins to drive lm324 op-amps to drive 8 tortise swich machines and 8 i/o pins as simple GPIOs I2C allows up to 8 board to be daisy chained together.
somewhere Randy posted his code. i exchanged some PMs with in in feb 2020 but am unable to find his listing
greg - Philadelphia & Reading / Reading
Some interesting project for a SMINI by a French modelrailroader "nopxor")
https://www.trainboard.com/highball/index.php?threads/24-in-48-out-card-for-jmri.116454/
A 24IN 48OUT node complete with hardware schematics and software. Impressive.
I made my own pcb's, they are available in the link; software is written by nopxor.
I concur with most here that DCC++ is great for running loco's; anything else I delegate to C/MRI.
And the default 9.6kbps is good enough. And if not the baud rate can be increased.
Just make sure to properly terminate the RS485 transmisson line (preferably twisted pair, with shielding) with 120R on both ends.