Pages: [1]   Go Down
Author Topic: what is the best protocol to connect more than 512 devices to an arduino??  (Read 287 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi everyone!

Now i'm arranging a project that involve connect around 512 stepper motors each one connected to one micro controller with one master arduino as master.

The problem comes with the max distance from the main controller to the last stepper is 300 meters.

I'm planning to reduce the cost to use the nema17 step motor with polulu a4898 driver, and connected to Attiny85 as intermediate microprocessor.

The idea is send the order through on data bus (i was think i2c with some p82b75 extenders in order to avoid the distance problem of the i2c bus and use the 10bit address to connect a maximum of 1000 devices)....

Each atinny85 will have one different address by program, and will listen to the master in order to receive their number and the number of steps to transmit to the nema step motor, and return O.K. when finish the process...

so my question is what will be the best approach in order to drive this huge quantity devices... (i2c bus or other...)

Thanks for your time to read this and regards
« Last Edit: April 19, 2014, 05:43:00 am by nscocoalab » Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8583
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think you will have trouble using any bus with 500+ loads hanging off it.

How fast do you need to update the nodes?

Can you split them into a few groups?

What about daisy-chaining as that has no practical limit to the number of nodes (or the distance between them depending on the speed required).

Does it have to be a single motor per node? Can you say have 4 to reduce the number of nodes to 128?


______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Offline Offline
Sr. Member
****
Karma: 7
Posts: 289
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I2C only has 127 addresses and some of those are reserved for other purposes and really aren't available.
The limitation of I2C comes from bus capacitance. That includes also the capacitance each device on the bus adds. Even with a bus extender you have to find a balance between overall bus length and number of devices 100+ devices AND 300 ft of bus lengt is rather unrealistic aside from falling sort for the number of devices you want to connect.

 I am not aware of any low cost bus system that can accommodate 512 devices.
Logged


Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 220
Posts: 13836
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


why not using wireless? No problem with the load!   
XBEE to the rescue !   - 16 (or even 64) bit addressing mode should do it

Question is which bandwidth do you need?
How often the positions change per second per steppenmoter
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Pages: [1]   Go Up
Jump to: