DC Motor Treiber explodiert

OP #7550780
Lesenswert?

Hallo Allerseits,

ich habe gestern das erste Mal von Steinzeit L298N auf TB6612 umgestiegen. Ich habe mir die Datenblätter angeschaut. TB6612 hat Max 1,2A und mein Motor JBG37-520 hat laut Datenblatt 100mA in Normalbetrieb und 1A Stall. Also habe ich sogar 20% Toleranz, fein.

Ich habe alles so angeschlossen, wie ich es von L298N kenne. Habe meine Stromquelle angemacht, brav auf 0V wie man kennt. Arduino war noch nicht am Laptop angeschlossen, also der war aus, um mögliche Problemstellen zu eliminieren. Ich habe langsam die Spannung erhöht. Die Stromstärke blieb brav bei 0,1A herum, was ja bei MOSFET gesteuerte DC Motortreiber völlig in Ordnung war. Die Spannung stieg (wortwörtlich) 6V-7V-8V-9V-1... PATZ. Der Kondensator auf der TB6612 hat sich verabschiedet.

Meine Frage: Was habe ich falsch gemacht? Ich will nicht noch ein TB6612 verbraten, die Dinger sind jetzt mit 8€ / Stück nicht günstig.

FAQ:

  • Was willst du machen? DC Motor samt Hall Sensoren und PID präzise steuern.

  • Code? An der Stelle nicht relevant, da Arduino nicht ein mal eingeschaltet war. Sonst ist es standard PID Code. Ich habe ein Serial.read() der die eingegebene "Step" anzahl entgegen nimmt und durch PID an dieser Position die DC Motor fährt.

Vielen Dank

Angehängte Dateien:
#7550792
Lesenswert?

Stefan schrieb:

eliminieren. Ich habe langsam die Spannung erhöht. Die Stromstärke blieb

Das macht man überhaupt nicht, bei einem IC mit gewissem Innenleben. Da sollte man rel. zügig eine sinnvolle Betriebsspannung erreichen.

brav bei 0,1A herum, was ja bei MOSFET gesteuerte DC Motortreiber völlig in Ordnung war.

Wieso - was hat das mit Mosfet zu tun?

in Ordnung war. Die Spannung stieg (wortwörtlich) 6V-7V-8V-9V-1... PATZ. Der Kondensator auf der TB6612 hat sich verabschiedet.

Hoffentlich waren die 6V-7V-8V-9V-1... an Vmot dran ... Und hoffentlich hat Dein Netzteil beim Hochdrehen keine Spannungssprünge wegen dreckigem Poti oder sowas ... Ansonsten, wenns nur den C erledigt hat, dann neuen rein, und weiter ...

Gast #7550797
Lesenswert?

Steckbretter und Dupont Kabel eignen sich wegen der Innen- und Kontaktwiderstände nicht zur Stromversorgung. Krokodilklemmen sind auch oft ungeeignet.

Spannungsabfall an GND Leitungen führt zu (aus Sicht des IC) negativen Spannungen an Eingängen, wodurch das IC kaputt geht.

Beim Bremsen wird der Motor zum Generator. Ich sehe bei dir nichts, was die Bremsenergie aufnehmen kann. Der kleine Chip kann es jedenfalls nicht.

Lösungsvorschlag:

Benutze dickere gelötete Kupferkabel zur Stromversorgung. Beschütze die Stromversorgung mit einer dicken Zenerdiode oder einer entsprechenden Ersatzschaltung davor, zu hoch anzusteigen. Oder benutze einen Akku statt Netzteil.

#7550807
Lesenswert?

Steve van de Grens schrieb:

Lösungsvorschlag:

Ein dicker Elko zum Abblocken würde sicher auch gut tun. Ein Netzteil wird wohl die Spannung nur nach unten stabilisieren, eine Batterie würde auch Überspannungen abfangen.

Die Adafruit-Anleitung(en) suggeriert dass alles ganz einfach geht.

Jens G. schrieb:

Wenn der TO es richtig ausgeführt hat, dann war der Motor noch gar nicht in Bewegung

Aber der (angeschlossene aber inaktive) Arduino liefert an den Eingängen zum Treiber undefinierte Pegel. Was da wohl passiert?

#7550814
Lesenswert?

Wastl schrieb:

Jens G. schrieb:

Wenn der TO es richtig ausgeführt hat, dann war der Motor noch gar nicht in Bewegung

Aber der (angeschlossene aber inaktive) Arduino liefert an den Eingängen zum Treiber undefinierte Pegel. Was da wohl passiert?

Bis jetzt soll doch nur ein C hochgegangen sein ... Und der Arduino liefert gar keine Pegel - war schließlich noch gar nicht unter Strom, und der TB6612 soll ja auch bereits interne 200k-PullDowns haben, insofern auch nicht undefiniert. Was aber unklar ist lt. Schaltplan - die Massen sind nicht verbunden, und das kann dann in der Tat alles mögliche einkoppeln. Und dann sieht es auch noch so aus, als ob + und - vertauscht sind (was dann aber nur einen Elko (nicht MLCC) (und auch den IC) dahin raffen würde.

OP #7551013
Lesenswert?

Danke an Alle für eure Antworten!

Jens G. schrieb:

sollte man rel. zügig eine sinnvolle Betriebsspannung erreichen.

Heißt für mich, ich stelle erstmal die 12V in meiner Spannungsquelle ein und dann hänge ich die Krokodilklemme dran?

Jens G. schrieb:

Hoffentlich waren die 6V-7V-8V-9V-1... an Vmot dran ...

Definitiv

Jens G. schrieb:

Und hoffentlich hat Dein Netzteil beim Hochdrehen keine Spannungssprünge wegen dreckigem Poti oder sowas ...

Sehr guter Punkt! Das ding war jetzt nicht sonderlich teuer und ist made in Tschaina. Daher, möglich... Die Anzeige hat zwar keine Sprünge, aber man weiß es nicht. Guter Punkt. Das nächste mal heißt es für mich:

  1. Einstellen
  2. Mit einem Multimeter messen
  3. Dann anschließen

Jens G. schrieb:

Ansonsten, wenns nur den C erledigt hat, dann neuen rein, und weiter ...

Ich habe keine Potis herumliegen und besitze auch nicht die Geschickt, SMT mit meinem riesigen Lötkolben dranzulöten (weshalb ich auch weiterhin mit Arduino 5V herummache, statt ESP32s zu verwenden, da HX711 mit 3.3v nur dann läuft, wenn man den Widerstand ändert.

Steve van de Grens schrieb:

Beim Bremsen wird der Motor zum Generator. Ich sehe bei dir nichts, was die Bremsenergie aufnehmen kann. Der kleine Chip kann es jedenfalls nicht.

Der Motor war am Stehen, da war keine Bremsung oder sonst was. Eine Zenerdiode an der Stelle ist auch unangemessen, da die Motoren in beide Richtungen laufen können müssen.

Steve van de Grens schrieb:

Spannungsabfall an GND Leitungen führt zu (aus Sicht des IC) negativen Spannungen an Eingängen, wodurch das IC kaputt geht.

Diesen Punkt habe ich aufgrund fehlende Kenntnisstand nicht verstanden. Ich würde mich sehr freuen, wenn du es erklären könntest (oder Literatur zum Lesen empfehlen könntest). Ich dachte, GND ist Spannung 0V. Sonst würde es ja von 5V zu 0V nicht fließen. Wie kann in GND Spannung abfallen? Weniger als 0 gibt es an der Stelle ja nicht, oder?

Wastl schrieb:

Ein dicker Elko zum Abblocken würde sicher auch gut tun.

Wo soll ich der Elektrokondensator anbringen? Ich muss offen gestehen, dass ich relativ unerfahren bin, wenn es darum geht, die Schaltung samt Widerstände und Kondensatoren zu befüllen.

Wastl schrieb:

Aber der (angeschlossene aber inaktive) Arduino liefert an den Eingängen zum Treiber undefinierte Pegel. Was da wohl passiert?

Arduino war nicht angeschlossen. Bisher war lediglich die 12V VMot und GND an das Netzteil angeschlossen.

Jens G. schrieb:

Was aber unklar ist lt. Schaltplan - die Massen sind nicht verbunden, und das kann dann in der Tat alles mögliche einkoppeln.

Meinst du, alle GNDs von TB6612 sollten angeschlossen werden? Ich ging davon aus, dass die alle in der Chip angeschlossen sein sollten, kann es aber das nächste mal gerne Probieren, danke für den Tipp.

Jens G. schrieb:

Und dann sieht es auch noch so aus, als ob + und - vertauscht sind (was dann aber nur einen Elko (nicht MLCC) (und auch den IC) dahin raffen würde.

Nils S. schrieb:

Die Pinbelegung des Moduls im Schaltplan passt aber nicht zur Pinbelegung des echten Moduls !?

Wo genau meint ihr das? Sieht für mich eigentlich in Ordnung aus. Habe gerade nochmal abgecheckt. Falls etwas falsch aussieht, kann ich gerne Fotos machen.

Nils S. schrieb:

Wie sieht denn das defekte Modul von vorne aus ? War der Tantal korrekt gepolt aufgelötet?

Siehe Anhang.

Angehängte Dateien:
Gast #7551196
Lesenswert?

Stefan schrieb:

IMG_20231204_221418.jpg

Das ist der Abblock-Kondensator von der Versorgungsspannung. Der Platzt nur, wenn man die Spannung verpolt anlegt.

Stefan schrieb:

Eine Zenerdiode an der Stelle ist auch unangemessen, da die Motoren in beide Richtungen laufen können müssen.

Ich meinte eine Zenerdiode an der Versorgungsspannung, nicht am Motor.

Spannungsabfall an GND Leitungen führt zu (aus Sicht des IC) negativen Spannungen an Eingängen, wodurch das IC kaputt geht.

Diesen Punkt habe ich aufgrund fehlende Kenntnisstand nicht verstanden. Ich würde mich sehr freuen, wenn du es erklären könntest (oder Literatur zum Lesen empfehlen könntest). Ich dachte, GND ist Spannung 0V

Jede Leitung (ganz besonders deine Steck-Kabel) haben einen gewissen Innenwiderstand, deswegen fällt an den Leitungen unter Last Spannung ab. Angenommen, deine Leitungen haben jeweils 1 Ohm:

1
          1Ω        11V  ______________
2
12V o----[===]----------|              |
3
                        | Motortreiber |
4
GND       1Ω        1V  |              |
5
0V  o----[===]----------|______________|
6
    |                        |
7
    |        _________       |
8
    |       |         |      | Steuersignal 0V
9
    +-------| Arduino |------+
10
        0V  |_________|

Wenn der Motor 1 Ampere aufnimmt, fallen an den Leitungswiderständen jeweils 1 Volt ab. Dein Motortrteiber bekommt dann nur noch 10 Volt. Sein unterer Vorsorgungs-Pin liegt dann auf 1 Volt, nicht 0 Volt.

Wenn der Arduino einen LOW Pegel ausgibt, dann ist das Signal 0 Volt. Also 1 Volt niedriger als die untere Versorgung des Motortreibers. Aus Sicht des Motortreibers also -1 Volt. Und das Verträgt er nicht.

Bei der obigen Skizze ist die Lösung einfach: Den Arduino anders anschließen:

1
          1Ω    11V  ______________
2
12V o----[===]------|              |
3
                    | Motortreiber |
4
GND       1Ω    1V  |              |
5
0V  o----[===]------|______________|
6
                  /               \  
7
                 /     _________   \
8
                |     |         |   | Steuersignal 1V
9
                +-----| Arduino |---+
10
                  1V  |_________|

Aber wenn da noch weitere indirekte GND Verbindungen eine Rolle spielen (z.B. das USB Kabel am geerdeten PC in Kombination mit einem geerdeten Netzteil, ist es nicht mehr ganz so einfach.

Wenn du nach den Begriffen "Masseführung" oder "Sternförmige Leitungsführung" googelst, findest du sicher mehr dazu.

Moderator (Firma: Titel) Persönliche Seite #7551209
Lesenswert?

Stefan schrieb:

Der Kondensator auf der TB6612 hat sich verabschiedet. Meine Frage: Was habe ich falsch gemacht?

Genau so sehen Tantals aus, wenn man sie verpolt. Bist du sicher, dass die rote und die schwarze Krokoklemme das halten, was du dir versprichst?

Ich habe alles so angeschlossen, wie ich es von L298N kenne.

Du solltest übrigens die Masse vom Motortreiber und die Masse vom Andruiden schon auch miteinander verbinden. Am Besten sieht man solche einfachen Schaltungsfehler übrigens in einem Schaltplan.

#7565035
Lesenswert?

Das oben gesagte zu den Spannungssprüngen kann ich nur bestätigen: ich hatte anfangs auch ein günstiges Netzteil, dass vieles gut konnte, solange man nicht die Spannung veränderte. Beim Hochdrehen gab es jedoch enorme Spannungsspitzen, was mich dann zum Austausch auf ein höherwertiges Produkt veranlasst hat. Was nützt ein "Labornetzteil", das an den Umschaltgrenzen mal eben >40V auf die Schaltung gibt...

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