Arduino Forum

Using Arduino => Motors, Mechanics, Power and CNC => Topic started by: ZZRAYZ on Aug 15, 2018, 02:41 pm

Title: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 15, 2018, 02:41 pm
Hi,

I am using an UNO R3 to run a TB6600 stepper driver. I have my program setup to run a nema 23 stepper motor which turns a ball screw.

The program runs the motor in one direction quickly, then slows down running a little further then finally reverses and goes back to where it started.

The problem is that the TB6600 is losing power mid way through the reverse portion. It just stops and the power light goes off. I have to disconnect the power for ~10 seconds and then it works fine again for a while.

My total run time is 5-6 minutes. It has a large heat Sink and does not feel hot.
Is there a duty cycle that I am exceeding?
Did I just get a faulty part?
Am I somehow exceeding its capabilities? If so, is there a slightly better driver I can look into?

Any guidance would be appreciated.
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 15, 2018, 03:39 pm
We need facts ...


It sounds as if the driver is being overloaded and is shutting down to protect itself

...R
Stepper Motor Basics (http://forum.arduino.cc/index.php?topic=284828.0)
Simple Stepper Code (http://forum.arduino.cc/index.php?topic=277692.0)
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 15, 2018, 03:53 pm
I do not have the data sheets. Here are the Stepper Motor specs from Amazon:

Manufacturer Part Number: 23HS45-4204S 57x100
Step Angle: 1.8°
Holding Torque: 3.0Nm(425oz.in)
Rated Current/phase: 4.2A
Phase Resistance: 0.9ohms
Recommended Voltage: 24-48V
Inductance: 3.8mH±20%(1KHz)
Weight: 1.8kg
Lead Length: 30cm

Here are the specs for the driver:

single chip bipolar sine microstep stepper motor driver
the new BiCD 0.13 nm process
up to 42V
resistance (a +) = 0.4
?the forward and reverse rotation control
5 subdivision mode options (1/1, 1/2, 1/4, 1/8, 1/16,1/32)
output current: IOUT = 4.0A (peak, in 100ms)
rated output: IOUT = 3.5 A
package: HZIP25 - 1.00F
input port internal pull-down resistor: 100 K
alarm output pin current:Ialert = 1mA
monitoring output pin (MO): Imo= 1mA
with reset and enable pin
with standby function
Break through the traditional, single power supply
built in overheating protection (TSD) circuit
Undervoltage protection, built-in (UVLO) circuit
built-in overcurrent detection (ISD), circuit

I have tried a 12V 5A power supply and a 24v 5A power supply. The results are the same.

Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 15, 2018, 03:58 pm
Here is my program

Code: [Select]

void setup()
{
  pinMode(8, OUTPUT);       // FORWARD(LEFT) = LOW; REVERSE(RIGHT) = HIGH
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
  pinMode(2, INPUT_PULLUP); // BUTTON2 - 5GAL HEAD
  pinMode(3, INPUT_PULLUP); // BUTTON3 - 15GAL HEAD
  pinMode(4, INPUT_PULLUP); // BUTTON4 - LEFT JOG
  pinMode(5, INPUT_PULLUP); // BUTTON5 - RIGHT JOG
}

 void loop()
{
   //__________________________________________________________________________________
   if (digitalRead(2) == LOW)// Button 2 PRESSED - 5GAL
  {
    digitalWrite(8, LOW);                       // TURN COUNTERCLOCKWISE - CUTTING
    for (int loop=0; loop<4500; loop++)         // FAST MOVEMENT -
    {
      digitalWrite(9, HIGH);
      delay(1);                                
      digitalWrite(9, LOW);
      delay(1);                                
    }
    for (int loop=0; loop<1125; loop++)         // SLOW CUTTING - SET NUMBER OF LOOPS (1000 = ~1")
    {
      digitalWrite(9, HIGH);
      delay(400);                              
      digitalWrite(9, LOW);
      delay(1);                                
    }
    delay(10000);                                // PAUSE TO FINALLIZE CUT
    digitalWrite(8, HIGH);                       // TURN CLOCKWISE - RETREATING
    for (int loop=0; loop<5625; loop++)          // BACKING UP - SET NUMBER OF LOOPS (1000 = ~1")
    {
      digitalWrite(9, HIGH);
      delay(1);                                
      digitalWrite(9, LOW);
      delay(1);                                
    }
  }
  //__________________________________________________________________________________
  
  if (digitalRead(3) == LOW)// Button 3 PRESSED - 15GAL
  {
    digitalWrite(8, LOW);                       // TURN COUNTERCLOCKWISE - CUTTING
    for (int loop=0; loop<3200; loop++)         // FAST MOVEMENT -
    {
      digitalWrite(9, HIGH);
      delay(1);                                
      digitalWrite(9, LOW);
      delay(1);                                
    }
    for (int loop=0; loop<1125; loop++)         // SLOW CUTTING - SET NUMBER OF LOOPS (1000 = ~1")
    {
      digitalWrite(9, HIGH);
      delay(400);                              
      digitalWrite(9, LOW);
      delay(1);                                
    }
    delay(10000);                                // PAUSE TO FINALLIZE CUT
    digitalWrite(8, HIGH);                       // TURN CLOCKWISE - RETREATING
    for (int loop=0; loop<4325; loop++)          // BACKING UP - SET NUMBER OF LOOPS (1000 = ~1")
    {
      digitalWrite(9, HIGH);
      delay(1);                                
      digitalWrite(9, LOW);
      delay(1);                                  
    }
  }
   //__________________________________________________________________________________
  if (digitalRead(4) == LOW)   // BUTTON 4 PRESSED - COUNTER-CLOCKWISE - LEFT ONCE
  {
    digitalWrite(8, LOW);                        // FORWARD - CUTTING
    digitalWrite(9, HIGH);
    delay(5);                                  
    digitalWrite(9, LOW);
    delay(1);                                  
  }
   //__________________________________________________________________________________
  if (digitalRead(5) == LOW)  // BUTTON 5 PRESSED - CLOCKWISE - RIGHT ONCE
  {
    digitalWrite(8, HIGH);                       // REVERSE - RETREATING
    digitalWrite(9, HIGH);
    delay(5);                                  
    digitalWrite(9, LOW);
    delay(1);                                  
  }
   //__________________________________________________________________________________
}

 


The shutting down to protect itself makes sense. I was looking at a DQ542MA with the following specs:

Input Voltage: 18-50 VDC
Input Current: < 4A
Output Current: 1.0A~4.2A
Consumption: 80W; Internal Insurance: 6A
Working Temperature: -10℃~45℃
Stocking Temperature: -40℃~70℃
Humidity: Not condensation, no water droplets
Gas: Prohibition of combustible gases and conductive dust
Weight: 200G

Would this handle it better?
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 15, 2018, 04:11 pm
Your motor appears to require 4.2 amps and your motor driver can only supply 3.5 amps continuously. I am not surprised that it shuts down.

I reckon you need a stepper driver that can provide at least 5 amps continuously, and 6 amps would give a bigger margin of safety.

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 15, 2018, 04:17 pm
Okay. That makes sense.
I have a smaller motor that I can use. I believe it is a 2.8-3.0a motor. Should my driver be able to handle it okay
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 15, 2018, 06:15 pm
I have a smaller motor that I can use. I believe it is a 2.8-3.0a motor. Should my driver be able to handle it okay
Do you really need to ask?

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 15, 2018, 06:37 pm
I know that 3.0a is less than 3.5a but you suggested 6a for my 4.2a motor. I was asking about the 'margin of safety' you mentioned.
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 15, 2018, 09:22 pm
I know that 3.0a is less than 3.5a but you suggested 6a for my 4.2a motor. I was asking about the 'margin of safety' you mentioned.
More margin is better. But it seems you already have the motor and the driver so why not try them?

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 17, 2018, 11:39 pm
So I finally had time to test. I switched to the smaller motor and it ran further through the program. It was just about complete and then the same thing happened, the driver power light went out and it stopped.

I switched to my 24v 5a power supply and it started running fine but stopped earlier than with the big motor or the small motor when hey had the 12v 5a supply.

It seems very reasonable that the driver is shutting itself down to protect itself but I do not understand what the issue is. If the motor is not pulling too much and the power supply is supplying enough, what else should I check?
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 18, 2018, 09:52 am
It seems very reasonable that the driver is shutting itself down to protect itself but I do not understand what the issue is. If the motor is not pulling too much and the power supply is supplying enough, what else should I check?
Try setting the current limit to a lower value - comfortably below the driver's upper limit. That will reduce the motor torque - but it may help to isolate the problem.

If there is still a problem I would suspect a faulty stepper driver.

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 18, 2018, 04:29 pm
I set it down to 2.8 and it still failed. So I ordered a new driver. Hopefully a faulty driver was the problem

Thank you for your help with diagnosing this.
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 18, 2018, 09:32 pm
I will be interested to hear more when you get the new driver.

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: ZZRAYZ on Aug 24, 2018, 02:48 am
So I ordered a Leadshine DM542T stepper driver (4.2a) and it arrived today. It requires 20-50v so I hooked up my 24v 5a power supply and my smaller stepper motor(3a). I tested it on my table. It doesn't have the ball screw attached but it did work correctly. It ran all the way through the program without powering off and it was still on and ready to receive button presses after.

While I haven't had a chance to test installed in its final application, it is working hooked up on my table which is something my other setup would not do. I guess I just got a junk driver or it was no where near as powerful as it claimed to be.

Thank you for your help with solving this
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 24, 2018, 10:25 am
Thanks for the update.

...R
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: nielyay on Aug 25, 2018, 06:50 am
Hi.
Have you check the current output for the driver?

I have same problem last week with TB6600 losing power mid way through the rotation.

it turned out that this was due to an excess of electric current.
Title: Re: Stepper Driver Losing Power in the Middle of Use
Post by: Robin2 on Aug 25, 2018, 09:56 am
it turned out that this was due to an excess of electric current.
Where and how did you measure this excess?

And if you fixed your own problem how did you do that?

...R