Pololu Robotics & Electronics
Menu
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Multi Stepper Motor Control

I hope you can help.
I’m using a MP6500 Stepper Motor Driver to control a 3.9V Stepper Motor.
I’ve connected 5 of these set ups to an Arduino successfully and am now looking to control about 50 of these stepper motors.
Do you guys have any suggestions about the best way to go about achieving this? Would it be multiple Arduinos or are there better alternatives?

Hello, zmilez.

I don’t have any specific advice for using that many MP6500 stepper motor drivers at the same time. With that many, it might be beneficial to have multiple banks of drivers controlled by their own microcontrollers. Then you can have a separate main microcontroller that communicates with the ones in control of each bank.

You might consider upgrading to the Tic T500 Multi-Interface Stepper Motor Controllers. They use the same MP6500 driver, but also have an onboard microcontroller to keep track of configuration settings and generate the control signals. The Tic controllers can accept TTL serial or I2C signals, and they can be configured to all work on the same serial line, which would reduce the complexity of your programming and physical connections. If you use the Tic T500 controllers in place of the MP6500 carriers, you should be able to control all 50 of them from a single Arduino. You can find more information about the Tic controllers in the “Tic Stepper Motor Controller User’s Guide”, which can be found in the “Resources” tab of the Tic T500 product page.

Brandon

Brandon,

Thanks for the info. The Tic T500 looks like a good solution. And would bypass the need for using an Arduino as they can be connected directly to a PC.

If you get a min could you point me to the documentation about controlling more than one Tic and how to move each one separately.

Thanks,

Miles

Hello, Miles.

You can find descriptions and diagrams for connecting multiple devices for using the TTL Serial or I2C interface in the “Setting up serial control” section and “Setting up I²C control” section of the Tic user’s guide, respectively.

To address each Tic individually, you will have to configure them with unique device numbers, which is as simple as opening the free Tic Control Center software, changing the device number value in the “Input and motor settings” tab, and clicking the “Apply settings” button. For TTL serial, you would then use the Pololu protocol to specify which device number you want to respond. The Pololu protocol is described in the “Serial command encoding” section of the user’s guide. For I2C, the device number functions as the I2C address.

Note that if you want to use your PC as the main controller for multiple Tics on a single serial line like you mentioned, you can use something like a USB-to-TTL serial or USB-to-I2C serial adapter.

Brandon

Brandon,
Thanks for the info. I noticed that the Tic needs to be powered with more than 5.5v, but the Nema 8 only needs 3.9v. Is it ok to use say 6v?
Secondly what kind of power supply would be needed for 50 Tics & Stepper Motors? (Is it 50*0.6A, or should it be W, sorry for my ignorance)
Thanks,
Miles

Hello.

Yes, it is fine to run the stepper motors at a higher voltage than their rated voltage, as long as you are using a current limiting driver or controller (like the Tic), and have the current limit set appropriately. You can find more information about this in the “FAQs” tab of the Tic controller’s product page.

As far as choosing a power supply, if you are planning on using a single power supply, you should choose one that can handle the combined current draw of your entire system. You could also power your system in separate banks using multiple power supplies since you are planning on having so many units. Additionally, with a project of that scale, you might consider adding some safety precautions such as fuses and an emergency switch to cut power.

Brandon

I am confused why a USB to serial adapter would be needed since the Tic accepts commands over USB directly. Maybe that would be impossible for 50 motors, but in my case, I am only interested in controlling 4 motors. I am wondering if all 4 could be connected to a 4-port USB hub. Would it be possible to send commands using ticcmd to each Tic connect via USB independently? The documentation isn’t clear on this.

Right now I only own one Tic for testing. I like the Tic because it is simple and works. I’m now trying to decide if I need something else like an Einsy Rambo board for controlling 4 motors simultaneously.

Hello, matt_y.

You can use a USB hub as you suggested to connect multiple Tics via USB and send commands to them independently. You can use the -d option in ticcmd to specify the serial number of the device you want to address. You can also call ticcmd --list to get the serial numbers for the connected Tics.

You would use a USB-to-serial adapter only when you want to daisy-chain multiple Tics from a single USB port, which would be more practical when using a larger number of them.

-Derrill

Hi zmilez-
I don’t know if these will be available just now, as they were a special production run for me, but Pololu did me a “Tic N825”, specifically made to daisy-chain with ribbon cable (in and out) to carry power and, more importantly, RS-485. We have 96 or so of them on a single bus (fed with power at a number of intermediate points!), all individually- or group- addressable. They’re the best thing EVER…! :wink:

~Tom

1 Like