Close

Controlling 7 stepper motors, new ideas

A project log for Building the Thor robot

Building a 6-axis robot based on the Thor robot. When size DOES matter!

olaf-baeyensOlaf Baeyens 01/03/2017 at 18:400 Comments

I know there are several good solutions out there to control stepper motors but this part of Thor to design is mine.

The robot should be able to move like a human would, and not like a machine. This one I design from scratch.

The goal is this:

  1. Fluid like human like motion.
  2. Stepper motor accuracy, every micro-step counts!
  3. As fast as possible, without breaking the robot or kill the payload.
  4. Safety without compromise.

The initial idea is to have a count down counter for every single stepper-motor that generates the needed pulses. You set the value then go and wait until the counter reaches zero.

But this gives a big issue because the intention is to have a fluid motion of all 7 of the stepper motors. In order to do that, then I would also need to control the counter clock of each of the 7 motors individually. This may be harder to do than expected.

An alternated way is to have one byte control all 7 stepper motors step commands. Every clock pulse means that all motors move at the same pulse. (Note we may need to change that with a shift register to prevent voltage drops)

We will use a lot of memory but every stepper motor steps can be per-programmed in memory so and therefor can move at different speeds. The whole purpose of this is to have the one part that controls the motor as simple as possible.

This also separates the code that determines the positions form the actual motor control. And in addition can slow down the motor speed.

Can this be done? I have no idea, and that is why we are going to try this.


Discussions