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)