Control a stepper motor with a DM556 motor driver

Hello everyone,

I am looking to run an engine at a speed of 12 rpm using an arduino Uno (nano possible? ) and a DM556 motor driver.

Datasheets :

Moteur 17HD48002-22B : https://us.amazon.com/Zyltech-Stepper-Motor-Connector-Printer/dp/B01GNAGJI2?_encoding=UTF8&psc=1

DM556 : Driver pour moteur pas à pas - SOPROLEC - dm556

DM556 User Manual (mine goes to minimum 1.4A) : http://www.leadshine.com/UploadFile/Down/DM556m.pdf

On the driver, I chose a max current of 1.4A (adjustable with small switches)

I rotate it with the following code:

//int reverseSwitch = 2;
int driverPUL = 6;    // PUL- pin
int driverDIR = 7;    // DIR- pin
int spd = A0;     // Potentiometer

// Variables

int pd = 3000;       // Pulse Delay period
boolean setdir = LOW; // Set Direction

void setup() {

  pinMode (driverPUL, OUTPUT);
  pinMode (driverDIR, OUTPUT);
}

void loop() {
    digitalWrite(driverDIR,setdir);
    digitalWrite(driverPUL,HIGH);
    delayMicroseconds(pd);
    digitalWrite(driverPUL,LOW);
    delayMicroseconds(pd);
}

This code turns the engine at 12rpm (1rpm/5sec) and it pulls 0.45A in rotation. The problem is that the engine is heating up. Indeed, at the oscilloscope we measure voltages at the terminals of the coils in the order of the driver supply voltage of 20 to 50VDC. So we have a minimum of 10W in the engine and it heats up quickly and strongly until it is too hot to the touch.

Need your expert advice:)
Is the driver unsuitable?

Be VERY CAREFUL never to connect or disconnect the wires between the motor and the stepper driver while the driver is powered up. The driver will be instantly destroyed.

Exactly how have you set the current limit? The table in your link for the driver does not have 1.4 amps on it. I think you should set the driver for the lowest current of 1.8 amps peak (all the switches ON).

It is normal for stepper motors to be hot - uncomfortable to touch.

...R
Stepper Motor Basics
Simple Stepper Code

Hi Robin2,

Excuse me I just realised my driver is DM556 and not DM556EU like in datasheet link. My DM556 has 1.4/2.1/2.7/.../5.6A.

I changed the link.

When I make the motor rotate at the speed of 12rpm with the voltage of 24V, it consumes 0.3A (the limit if 1.4A) so it makes 7.2W. If I lower the voltage to 20V (minimum voltage of driver), it consumes then 0.36A for again 7.2W. How could we explain that ?

The specs for the motor in your link say 1.7amps and 1.8 ohms which gives 5.2 watts.

The combination of the stepper driver and the motor acts as a buck-converter to adjust the incoming power to the motor power. That's why changing the voltage makes no difference to the power consumed. The benefit of the higher voltage is that it enables the motor to produce useful torque at higher speeds.

...R

Thanks yo for that really useful information.
I think that with the help of HALF CURRENT mode (SW4 OFF) (or even disable it when not rotating if application does not require standstill, it will not overheat and do a great job !