Go Down

Topic: Question about drv8825 and heatsink (Read 624 times)previous topic - next topic

Nikodr

Jan 17, 2019, 02:56 am
hello i have a drv8825 controlling a 42BYGHM809 nema17 motor.
the motor needs 1.7A/
i successfully used drv8825 to move it, setting the current limit with formula "Current Limit = VREF × 2"
so i used 1 amp for it multiplied x2 to have 2 amps per phase.

Now the max current is 1.5a per phase more than that it requires a heat sink for the drv8825.
But i read that in full step mode the current limiting reaches only a 70% of it.so am i safe to assume that
2amps*70%=1.4amps so i do not need a heat sink?

MorganS

#1
Jan 17, 2019, 03:52 am
70% is the holding current when stationary. When stepping, it will use the full current. That's why you set the full current.

It's OK for the chip to run hot. It should be too hot to touch.
"The problem is in the code you didn't post."

Nikodr

#2
Jan 17, 2019, 01:41 pm
So would i burn it if i use 2 amps per cycle?it says 1.5 is the max per phase without heatsink.how can i calculate the watts that are dissipated ?

Robin2

#3
Jan 17, 2019, 03:52 pm
I think you would be straining a DRV8825 to run a motor at 2amps. If you have a heatsink and fan it may work OK. AFAIK the DRV8825 will cut out if it gets too hot so it won't be damaged but the project that the motor is operating might be.

I suggest you get a stepper driver with at least a 50% margin over the current required by the motor.

...R
Stepper Motor Basics
Simple Stepper Code
Two or three hours spent thinking and reading documentation solves most programming problems.

Daenerys

#4
Jan 18, 2019, 06:26 pm
>70% is the holding current when stationary. When stepping, it will use the full current.

This is completely false.

Robin2

#5
Jan 18, 2019, 06:54 pm
>70% is the holding current when stationary. When stepping, it will use the full current.

This is completely false.
So what is correct?

Don't leave us in suspense.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

MarkT

#6
Jan 20, 2019, 12:40 am
70% is the holding current when stationary. When stepping, it will use the full current. That's why you set the full current.

It's OK for the chip to run hot. It should be too hot to touch.
Each winding gets 70%, so the driver sees 140%, ie 2.8A.
You will just get the thing cutting out on overheat.

Keep to 1.5A nominal or less

In general when the motor is at some random position the sums of the squares of each windings current
is constant and equal to the square of the set current.  Read the datasheet, be conservative.

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Robin2

#7
Jan 20, 2019, 10:41 am
Each winding gets 70%, so the driver sees 140%, ie 2.8A.
I have been under the impression that the current specified for a stepper driver is the "per-coil" current so (in theory) a driver that is described as being able to supply 2 amps should be able to provide that for both coils (i.e. 4 amps).

Am I wrong?

Of course I am well aware that manufacturers like to publish short-term maximum ratings rather than steady-state values.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

MarkT

#8
Jan 20, 2019, 08:28 pm
I have been under the impression that the current specified for a stepper driver is the "per-coil" current so (in theory) a driver that is described as being able to supply 2 amps should be able to provide that for both coils (i.e. 4 amps).

Am I wrong?
Yes, its a quadrature current rating, so the sum of the squares of the current in each coil is a constant.

Or put another way

Ia = I sin(theta)
Ib = I cos(theta)   [ theta being the "electrical angle" of the motor ]

For coil currents Ia, Ib where I is the nominal current.  The maximum total current from the driver is when
theta is 45/135/225/315 degrees, which each current is 0.707 I, summing to 1.414 I

At angles 0/90/180/270 degrees, one winding has I and the other zero.

With full steps many drivers use 45/135/225/315 degrees, for say x4 microstepping the angles would be
0/22.5/45/67.5/90/115.5/135/....   So the current settings vary over a range of sin/cos values as steps
happen.

The total heat dissipation in the motor due to winding resistance is constant as the sum of squares is constant,
but the dissipation in the driver chip depends on the angle.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Robin2

#9
Jan 20, 2019, 09:57 pmLast Edit: Jan 20, 2019, 09:58 pm by Robin2
Yes, its a quadrature current rating, so the sum of the squares of the current in each coil is a constant.
Just to be clear I take that to mean that when an A4988 is rated at 2 amps those amps are shared between the two coils rather than there being 2 amps available for each coil?  (Recognizing, of course, that the 2 is a bit of an exaggeration).

Am I also wrong to think, when the motor spec says that the current is 2amps, that it means 2 amps per coil?

Or is it the case that the drivers and the motors are specified differently?

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

jremington

#10
Jan 21, 2019, 12:39 amLast Edit: Jan 21, 2019, 12:49 am by jremington
Quote
>70% is the holding current when stationary. When stepping, it will use the full current.

This is completely false.

So what is correct?

Don't leave us in suspense.

The DRV8825 datasheet is pretty clear about this. When both coils are on in full step mode, each coil gets 70% of the current limit. During microstepping, one coil can at times receive 100% of the current limit, the other, less.

The driver itself has a maximum total current rating of 2.5 A.

With certain motors, the DRV8825 does a really bad job of current limiting during microstepping,  leading to skipped steps, as discussed here. http://cabristor.blogspot.com/2015/02/drv8825-missing-steps.html

The MP6500 is probably a better choice.

Daenerys

#11
Jan 21, 2019, 10:07 pm
I have been under the impression that the current specified for a stepper driver is the "per-coil" current so (in theory) a driver that is described as being able to supply 2 amps should be able to provide that for both coils (i.e. 4 amps).

Am I wrong?

You are not wrong!

From the A3988 datasheet:  "Each full-bridge output is rated up to 1.2 A and 36 V."

From the DRV8825 datasheet: "The DRV8825 is capable of driving up to 2.5 A of current from each output"

From the MP6500 datasheet: "The MP6500 is a bipolar, stepper motor driver that integrates eight N-channel power MOSFETs arranged as two full-bridges with 2.5A of current capability each. "

Robin2

#12
Jan 21, 2019, 11:54 pm
You are not wrong!
Thanks.

Hopefully @MarkT will row in behind this.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

MarkT

#13
Jan 22, 2019, 01:33 pm
If you try to put 4A through a DRV8825 it will likely just cutout on over-temperature.

The thing has DMOS MOSFETs with an on-resistance of about 0.2 ohms, and two of them conduct for each
winding, so with 2A through 4 such MOSFETs you get a total of 4 x 2^2 x 0.2 = 3.2W, beyond
the capability of an HTSSOP28 package to dissipate (unless on an aluminium cored PCB - which I've
not seen in the wild yet).  The package has a heat slug so good thermal design of a PCB will help
with the dissipation, but the tiny modules you typically see are too small for PCB heat-spreading to
be fully effective.

Put a DRV8825 on an aluminium cored PCB of some size, it will handle the full 2.5A the datasheet
specifies, but otherwise I'd suggest limiting to 1.7A or so and using a top-mounting heatsink on the chip.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Robin2

#14
Jan 22, 2019, 01:43 pm
If you try to put 4A through a DRV8825 it will likely just cutout on over-temperature.
I think we are all aware of that as a practical issue.

But what I am trying to get a clear picture of here is the theory. What you said in Reply #8 seems to be at variance with what @Daenerys said in Reply #11.

It would be nice if we could get to the point where we are all on the same page and can give the "correct" advice to newbies.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up