DRV8825 Treiber werden zu heiß

OP #5803020
Lesenswert?

Hallo Leute,

ich beschäftige mich zur Zeit mit der Ansteuerung von Schrittmotoren.
Habe mich auch schon gut in das Thema eingelesen und heute einen kleinen
Versuchsaufbau gewagt.

Komponenten:
Arduino Uno
CNC Shield v.3
Treiber : DRV8825 (mit passivem Kühlkörper)

Schrittmotor : 17HS19-2004S1
________
Kenndaten:
----------
    Hersteller-Teilenummer: 17HS19-2004S1
    Motorentyp: Bipolar
    Schrittwinkel: 1.8 deg
    Haltemoment: 59Ncm(84oz.in)
    Strom/Phase: 2.0A
    Stromspannung: 2.8V
    Widerstand/Phase: 1.4ohms
    Induktivität: 3.0mH ± 20%(1KHz)

Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird 
bereits nach wenigen Minuten so heiß das man sich fast die Finger 
verbrennt.
Ich habe eine Spannung von 25V angelegt und den Strom sogar auf 0.3 
Ampere(mit dem Multimeter im Betrieb nachgemessen) begrenzt,wobei der 
Treiber ja eig bis zu 2.2A können müsste. Jumper für 1/4 od. 1/8 
Schritte habe ich nicht gesetzt.
Könnt ihr mir sagen was ich falsch mache ?
Gast #5803028
Lesenswert?

Benni B. schrieb:
> Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird
> bereits nach wenigen Minuten so heiß das man sich fast die Finger
> verbrennt.

Die Schmerzschwelle des Menschen liegt irgendwo bei 50°C - keine 
Temperatur, bei der sich ein Halbleiter Sorgen macht.

Funktioniert der Treiber, bis auf die dir unangenehme Temperatur, sonst 
fehlerfrei?
Gast #5803033
Lesenswert?

Kalle schrieb:
> Das würde ich mal vorsichtig bezweifeln. Wie kommst du denn auf die
> Idee, 25V anzulegen wenn über der Motorwicklung bei 2A schon nur 2,8V
> abfallen?

Immerhin scheinst du noch weniger Ahnung von Schrittmotoren zu haben.
Die Spannung liegt am Treiber an und das ist auch gut so.
Der DRV8825 ist für bis zu 45V ausgelegt.
Gast #5803059
Lesenswert?

Teo D. schrieb:
> Nirgends. Das sind Spulen, keine Ohmschen Widerstäde.

Das ändert aber nichts an der Tatsache, dass sich die Schaltverluste aus 
dem Spannungsabfall über den FETs ergeben und damit linear mit der 
Versorgungsspannung wachsen. Bei dem kleinen Motor dürfte das der 
dominante Teil der ganzen Erhitzung sein. Einfach mal mit 10V betreiben.
OP #5803068
Lesenswert?

Wolfgang schrieb:
> Die Schmerzschwelle des Menschen liegt irgendwo bei 50°C - keine
> Temperatur, bei der sich ein Halbleiter Sorgen macht.
>
> Funktioniert der Treiber, bis auf die dir unangenehme Temperatur, sonst
> fehlerfrei?

Also ich hab noch nicht so viel damit gemacht, aber so wie es aussieht 
funktioniert sonst alles wie es soll.
Ich mach mir nur Sorgen, was passiert wenn ich den Schrittmotor mit 2A 
betreibe, wenn der Treiber bei 0.3A schon so heiß wird.
Gast #5803078
Lesenswert?

Kalle schrieb:
> Einfach mal mit 10V betreiben.
Unsinn!
Irrer Unsinn.

Da kann man ruhig mit der vollen Spannung drauf gehen.
24V und auch 36V ist total angemessen.
Je höher das geforderte Drehmoment bei hoher Drehzahl, desto mehr.

Benni B. schrieb:
> Ich habe eine Spannung von 25V angelegt und den Strom sogar auf 0.3
> Ampere(mit dem Multimeter im Betrieb nachgemessen) begrenzt

Das ist Auch Unsinn!
Mit dem Multimeter misst du da nur Müll.
Es gibt eindeutige Vorschriften, wie man die Einstellung berechnet und 
durchführt. Daran halte dich, dann klappt das auch!

Der Motor ist für 2A spezifiziert.
Da etwas drunter zu bleiben dürfte kein Fehler sein.
Meine erste Einstellung wäre um 1,7A. Viellicht reicht das schon.
80°C, viel wärmer sollte ein billiger Chinakracher Motor nicht werden.

Und ja, die Treiber werden sehr warm.
Es ist kein Fehler, sie mit einem Ventilator zu bespielen.
OP #5803089
Lesenswert?

> Kalle schrieb:
>> Einfach mal mit 10V betreiben.
Habs gerade mit 10V probiert, der Kühlkörper wird genauso warm.

Arduino Fanboy D. schrieb:
> Das ist Auch Unsinn!
> Mit dem Multimeter misst du da nur Müll.
> Es gibt eindeutige Vorschriften, wie man die Einstellung berechnet und
> durchführt. Daran halte dich, dann klappt das auch!

Meine erste Einstellung war eben genau nach der Anleitung um auf 2A zu 
kommen. Als der Treiber aber dann zu warm wurde habe ich ein Multimeter 
dazwischen gehängt und runter gedreht.
Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen 
Quelle und Platine messen ? Hat das mit der Induktivität des Motors zu 
tun ?
Gast #5803090
Lesenswert?

Kalle schrieb:
> Das ändert aber nichts an der Tatsache, dass sich die Schaltverluste aus
> dem Spannungsabfall über den FETs ergeben und damit linear mit der
> Versorgungsspannung wachsen. Bei dem kleinen Motor dürfte das der
> dominante Teil der ganzen Erhitzung sein.

Bei dem geringen Strom von 0.3A dürften die Schaltverluste einen Faktor 
8 unter der Auslegungsströmstärke liegen.

Guck einfach mal auf die erste Seite vom Datenblatt. Fällt dir an der 
Spannungsangabe irgendetwas auf? Der Unterschied zwischen 24 und 25V 
dürfte marginal sein.
"The DRV8825 is capable of driving up to 2.5 A of current from each 
output (with proper heat sinking,at 24 V and 25°C)"

Benni B. schrieb:
> Ich mach mir nur Sorgen, was passiert wenn ich den Schrittmotor mit 2A
> betreibe, wenn der Treiber bei 0.3A schon so heiß wird.

Laut Datenblatt besitzt der Treiber eine thermische Schutzschaltung, die 
irgendwo zwischen 150 und 180°C eingreift. Also nur Mut, z.b. mit 1A.
Gast #5803097
Lesenswert?

Benni B. schrieb:
> Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen
> Quelle und Platine messen ?

Was meinst du mit Strom zwischen Quelle und Platine?
Der Strom durch den Motor ist wesentlich höher als der Versorgungsstrom.

Du darfst im eingeschalteten Zustand aber nie die Leitung zwischen 
Motor und Treiber öffnen (um z.B. ein Multimeter rein zu hängen). Das 
quittieren viele Treiber mit schnellem Ableben.
Gast #5803098
Lesenswert?

Benni B. schrieb:
> Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen
> Quelle und Platine messen ?
Nein!
Bzw. kannst du messen, ja, ist aber Sinnfrei.

> Hat das mit der Induktivität des Motors zu tun ?
Und mit dem Chopper Betrieb.

Benni B. schrieb:
> Meine erste Einstellung war eben genau nach der Anleitung um auf 2A zu
> kommen.
Wiederholen, und erstmal auf 1,7A einstellen.
Der Treiber hat keine Haltestromabsenkung.
Darum würde ich nicht an die obere Grenze des Motors gehen.
Der leidet mehr unter Hitze, als der Treiber.

Benni B. schrieb:
> Als der Treiber aber dann zu warm wurde
Was ist zu warm?
Wenn zu warm, dann kühlen.
Lüfter da dran.
OP #5803109
Lesenswert?

Wolfgang schrieb:
> Was meinst du mit Strom zwischen Quelle und Platine?
Ich habe ein Multimeter am Ausgang meines Labornetzteiles und das andere 
Ende am Eingang des CNC Shields hingehängt um zu sehen wie viel Strom er 
bei welcher Belastung zieht.

Wolfgang schrieb:
> Laut Datenblatt besitzt der Treiber eine thermische Schutzschaltung, die
> irgendwo zwischen 150 und 180°C eingreift. Also nur Mut, z.b. mit 1A.

Gut dann ist ja noch Luft nach oben xD. Mit meinem Infrarotthermometer 
messe ich aktuell so um die 50Grad am Kühlkörper, wobei man sich da 
schon echt die Pfoten verbrennt.

Wolfgang schrieb:
> Guck einfach mal auf die erste Seite vom Datenblatt. Fällt dir an der
> Spannungsangabe irgendetwas auf? Der Unterschied zwischen 24 und 25V
> dürfte marginal sein.

Also sollte ich ihn besser mit 24V betreiben ?
Gast #5803143
Lesenswert?

Benni B. schrieb:
> Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird
> bereits nach wenigen Minuten so heiß das man sich fast die Finger
> verbrennt.

Tja. Besser kühlen eben.

"The DRV8825 is capable of driving up to 2.5 A of current from each 
output (with proper heat–sinking, at 24 V and 25°C)"

Also: Guck mal in die Doku zum Treiber-IC, dort findest du Angaben zum 
Restwiderstand der Treiber-Endstufen im Chip. Da stehen nämlich so etwa 
0.3 Ohm zu Buche, die bei 2 Ampere eben rund 1.2 Watt an Wärme 
produzieren. Und da bei Brückenschaltungen immer 2 Transistoren quasi in 
Reihe geschaltet sind, verdoppelt sich das Ganze.

Also etwa 2.4 Watt an Wärme - UND DIE MUSS WEG.

Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper 
gnadenlos unterdimensioniert ist. Sieh mal zu, daß du dir nen 
ausgedienten CPU-Kühler zulegst und deinen Schrittmotortreiber dort 
drauf montierst - vorausgesetzt, es stehen keine sonstigen Bauteile auf 
der LP über die Höhe des Treiber-Chips. Dann wäre freifräsen angesagt.



noch ein Wort an den Kalle:

Kalle schrieb:
> Wie kommst du denn auf die
> Idee, 25V anzulegen wenn über der Motorwicklung bei 2A schon nur 2,8V
> abfallen?

Ein idealer Schrittmotor hätte exakt NULL Ohm an Wicklungswiderstand. 
Und ein idealer Schrittmotortreiber hätte ebenfalls NULL Ohm an Rdson. 
Das ist ganz genau so wie beim Trafo: Ohmsche Widerstände versauen bloß 
den Wirkungsgrad.

Das Zauberwort ist Induktion. Schrittmotoren werden normalerweise 
getaktet betrieben (nee, nicht der Schritt-Takt ist gemeint), also 
etwa wie die Speicherdrossel im Schaltnetzteil. Das gilt auch für den 
Stillstand.

W.S.
OP #5803153
Lesenswert?

Super,
dann vielen Dank für eure Hilfe leute, ging echt fix.

W.S. schrieb:
> Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper
> gnadenlos unterdimensioniert ist

Ja der scheint mir tatsächlich zu unterdimensioniert zu sein. Werde mir 
bei gelegenheit eine bessere Kühlung organisieren, damit das Zeug auch 
etwas hält.
Gast #5803154
Lesenswert?

Arduino Fanboy D. schrieb:
> Der gemessene "Versorgungs" Strom ist erheblich niedriger als der
> Spulenstrom.

Das schrieb ich bereits

Wolfgang schrieb:
> Der Strom durch den Motor ist wesentlich höher als der Versorgungsstrom.

Benni B. schrieb:
> Also sollte ich ihn besser mit 24V betreiben ?

Das eine Volt ist völlig schnuppe.

Mit einem Amperemeter in der Versorgungsleitung misst du den falschen 
Strom. Der angegebene Maximalstrom des Treibers bezieht sich auf den 
Motorstrom.
Wie groß ist der Sense Widerstand und welchen Spannungsabfall misst du 
dort?
OP #5803273
Lesenswert?

Ich habe die treiber Einstellung jetzt noch einmal gemacht und ihn auf 
1.7A eingestellt. Beim messen ist die temp des Kühlkörpers, wenn ich den 
Motor eine zeit lang nicht fahre bei ungefähr 45Grad. Andscheinend ist 
das in ordnung, für mich hat sich das aber einfach völlig falsch 
angefühlt ^^


Wolfgang schrieb:
> Wie groß ist der Sense Widerstand und welchen Spannungsabfall misst du
> dort?
Der Widerstand auf dem Treiber beträgt 0.1 Ohm und die von mir 
eingestellte Spannung liegt bei 0.85V

Wolfgang schrieb:
> Mit einem Amperemeter in der Versorgungsleitung misst du den falschen
> Strom. Der angegebene Maximalstrom des Treibers bezieht sich auf den
> Motorstrom.
Danke, das war mich nicht so ganz klar.

Wolfgang schrieb:
> "The DRV8825 is capable of driving up to 2.5 A of current from each
> output (with proper heat sinking,at 24 V and 25°C)"
Mir ist noch nicht ganz schlüssig ob eine Spannungsversorgung von 24V 
nun am optimalsten wäre, oder was diese Aussage laut Datenblatt 
bedeutet.
Gast #5803287
Lesenswert?

Benni B. schrieb:
> Mir ist noch nicht ganz schlüssig ob eine Spannungsversorgung von 24V
> nun am optimalsten wäre,

Da kein Mensch was über die Last und nötige Drehzahl weiß, wird dir das 
keiner beantworten können, was am "optimalsten" ist.

Und selbst wenn die Werte bekannt wären, ist der Rückschluss auf die 
mindest Spannung  nicht trivial.

Reserve ist nie schlecht.
Mangel, führt zu mangelhaftem Verhalten: z.B. Schrittfehler.

Vereinfacht gesagt:
Wenn 24V reichen, dann kannst du auch ohne alle Probleme 36V dran 
klemmen.
#5803333
Lesenswert?

Benni B. schrieb:
> W.S. schrieb:
>> Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper
>> gnadenlos unterdimensioniert ist
>
> Ja der scheint mir tatsächlich zu unterdimensioniert zu sein. Werde mir
> bei gelegenheit eine bessere Kühlung organisieren, damit das Zeug auch
> etwas hält.

Das Problem bei diesen "Pololu-Boards" (die kleinen Treiberboards die 
auf die CNC-Shields) gesteckt werden ist die winzige Platinenfläche. Ein 
moderner IC gibt seine Wärme über das GND-Pad bzw. die GND-Plane ab und 
im Idealfall hat man noch Thermal-Vias, welche die Wärme an die 
gegenüberliegende Seite des PCB leiten und genau da (und nirgends 
sonst) macht ein Kühlkörper wirklich Sinn. Bei den TMC "Steppsticks" ist 
das auch genau so gelöst. Das Epoxy vom IC-Gehäuse ist einfach ein 
besch...eidener Wärmeleiter, da kann ein Kühlkörper dann auch nicht viel 
ausrichten. Was allerdings sehr viel hilft ist ein Lüfter, am besten so 
positioniert, das er auch die Unterseite der Treiberplatine mit belüftet 
und die Elkos freuen sich nebenher auch über eine frische Priese ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren