Driving a Stepper Motor Driver with Maestro 12 Servo Controller

I have an application that uses both servo and stepper motors in a robotic camera arm. The cameras have three small built-in small stepper motors. The arm has three servos for pan/tilt/roll. I was planning to use an Arduino as the motor controller, using its digital I/O lines to drive step/direction on three Pololu DSV 8834 stepper drivers and tx/rx to control a Maestro 6 for the servos.

As an alternative - Can I use the Maestro 12 to drive BOTH the servos and the DRV 8834s, eliminating the need for the Arduino? My thought is that Maestro positions 1/2/3 drive the servos, then 4/5 are step/direction for the first DRV 8834, 6/7 for the second and 9/10 for the 3rd, leaving 8 open for potential PWM use. The pins being used for step/direction would be set as Digital Outputs, but I am new at this and uncertain about the rate and accuracy with which they could be toggled.

In this application it is unlikely that more than two motors would be moving at any given point in time and speed is not critical, but holding torque on one of the servos is (20kg-cm). The Maestro would be controlled using TX/RX from my main processor instead of the Arduino.

Hello.

It is possible to use channels configured as digital outputs on the Maestro to control STEP/DIR on the DRV8834 like how you described. However, there would be some performance limitations (though given your description of your application, these might not be very concerning for you). The Maestro could probably generate a few hundred pulses per second if toggling an output pin from a Maestro script, but the timing will not be particularly reliable or predictable and would depend on the specific details of your script and how busy the Maestro is with other tasks.

-Jon

Thanks. Looks easy enough to give it a try.