I am trying to run up to 48 motors with Arduino. Originally I thought I can just stack up to 24 Adafruit motor shields on an Arduino UNO because they are 5-bit addressable (up to 32 shields). But when I started to test more than one motor shields, I ran into problems. The more motors I ran simultaneously, the slower they get.I now understand (with help from gregor), that the limitation on the speed is the I2C bus speed, or overhead (even with tweaked speed of 400kHz). What I did was call onestep() for each motor in succession in a loop, and the combined top speed is about 1000 steps/sec (1000 for one motor, 500 each for two, and so on). That is the best utilization of all the resources in this setting, I guess?
What I need is for each motor to run at least 1000 steps per second. If one UNO can only give me 1000 steps/sec, I would need 48 of them, and that's really excessive. So what choices do I have? Can someone give me a suggestion? Some other motor shields that don't run on I2C bus and using the digital pins instead?
I have another question: The Adafruit motor shield has its own PWM chip on board, but it's only used for DC motor speed control, not for stepper. Why can't we use the PWM to control the H bridges to drive step motors? If we can do this, then we are not using the micro controller and I2C bus for every step, maybe we can drive faster. The reason I am thinking this is: first, I am driving pretty small motors and don't need very fast speed, so I don't have to accelerate and decelerate; constant speed is fine. Second, I don't need precise speed control, just some, fast enough speed. I am no electrical engineer, if my guess is completely absurd, I apologize in advance.
Thank you all,XP
--
You received this message because you are subscribed to the Google Groups "accelstepper" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "accelstepper" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper...@googlegroups.com.
I'm afraid you cannot use this shield on a Due. It seems run on 5V, but the Due's input pins can only handle 3.3V.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "accelstepper" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/accelstepper/3Jx9W1yzyRg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to accelstepper+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to accelstepper...@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to accelstepper+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to accelstepper+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to accelstepper+unsubscribe@googlegroups.com.