Stepper motors slip when wheels receive light load [VIDEO embedded]:

This may sound like a mechanic/hardware issue, however, I have hope that some combination of some motor code resolving the slipping of the motors.

I'll start by describing by what we have and what we are trying to do.

We have a set of four SM-42BYG011 or ROB-09238 motors. These motors are fed 12V in parallel by a DC power supply. The motors communicate via a SparkFun Autodriver for stepper motors. That motor driver communicates with an Arduino Mega. The motors move and animate just like they are supposed to. However, it is when they move on the ground or when they carry load that they slip.

To demonstrate this, I have uploaded a video to Youtube.

I have read on the datasheet for the motor that they are have a holding torque of .23 Newton/meter.

To save space scrolling on this topic, I have placed the important snippets below.
Here is the unabridged code.

Here are some of the parameters for a stepper motor:

  //BACK RIGHT MOTOR
  brMot.setAcc(accel); //set acceleration
  brMot.setDec(decel);
  brMot.setMaxSpeed(maxSpeed);
  brMot.setMinSpeed(1);
  brMot.setMicroSteps(microsteps); //1,2,4,8,16,32,64 or 128
  brMot.setThresholdSpeed(fullSpeed);
  brMot.setOverCurrent(6000); //set overcurrent protection
  brMot.setStallCurrent(4000);

And here are some of the general motor configuration values:

//motor configuration values
float maxSpeed = 400;
float fullSpeed = 1000;//1000
float accel = 100;//500
float decel = 100;
float runSpeed=100;
float microsteps= 1;//1    1,2,4,8,16,32,64 or 128

To save space scrolling on this topic, I have designated to code pastebin.
Here is the unabridged code.

arduino_code_for_stepper_motors.cpp (4.34 KB)

I have not read your code. I am not familiar with those stepper drivers - but I'm sure they are fine.

Please post the full code as an attachment so we don't have to go to another website.

If you are satisfied that the specified torque is sufficient for your application the the most likely reasons the motors are missing steps are that you are accelerating them too quickly or they are not getting enough current. That could be because you have not set the current limit correctly on the driver board or because the supply voltage is too low considering the speed you want the motor to rotate. Higher voltages facilitate higher speeds. I power my motors at 19v from a laptop power supply.

I have the same motors controlling a small lathe using Pololu A4988 drivers.

When my motors are powered up it is very difficult to rotate the shaft with my fingers. Is that true for yours?

There is a simple method for estimating torque in Stepper Motor Basics

...R

heliophobicdude:
torque of ... Newton/meter

Grrrrrrr

(And not at the spelling of meter vs metre)

Robin2:
When my motors are powered up it is very difficult to rotate the shaft with my fingers. Is that true for yours?

The shaft doesn't move, but making attempts to rotate the shaft makes the motor slip. It feels like a nasty rumble from a game controller, or something

I'll read up on your stepper motors guide.

There are high impedance motors (12V 0.33A, so 36 ohms). They will have very little torque
at any appreciable speed because of this. They are being driven by a chopper driver from 12V supply,
so cannot possibly function correctly (chopper drivers need a large voltage overhead, 50 to 100% at
a minimum, but work much better with 10 to 40 times the motor windings stationary IR voltage. Given
a 24V supply they will be a whole lot better, but still slow.

High impedance motors are normally driven by voltage, are very slow and cannot microstep (hence
subject to vibration and resonance problems).

Low impedance motors (2 ohms typical) would be current driven with a chopper drive and
have much faster speed, much more torque at speed and can be microstepped to reduce
vibration and resonance. In NEMA17 size 1.7A 1.7ohm is typical, so even 12V supply would give
some more reasonable speed.

Neither type of stepper are very appropriate for traction as they are an order of magnitude less
efficient than a DC gearmotor with an encoder. The vibration alone from a stepper can lose
you a lot of grip.