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...)
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.