Gleichstrommotor und geräuchertes Arduino

Ich habe gerade mein Arduino verbrannt und möchte verstehen, was passiert ist. Ich habe versucht, einen 12-V-4-A-Gleichstrommotor mit 5-V-Arduino Pro Mini zu steuern. Hier ist eine Platine, die ich dafür erstellt habe:

Geben Sie hier die Bildbeschreibung ein

Im unteren Teil sehen Sie Arduino-Pins, ich habe Raw-Eingang verwendet, um mein Arduino mit 12 V und PWM-Pin 11 zu versorgen, um den Motor zu steuern.

Ich habe IRF3205 N-Kanal Mosfet und 1N5817 Diode in meiner Schaltung verwendet. R1-Widerstand ist 220 Ohm, R2 1KOhm Die Schaltung, die ich zu bauen versuchte, ist ungefähr so ​​​​(Bild von Google): Geben Sie hier die Bildbeschreibung einAls ich es einschaltete, rauchte mein Arduino in 3 Sekunden (ich glaube, irgendwo in der Nähe des „Raw“ -Pins, vielleicht war es eingebaut- im Regler). Gibt es offensichtliche Fehler, die ich gemacht habe? UPD: einige Bilder meiner Montage: Link zu imgur.com

Ich sehe nichts Offensichtliches. War ein Motor angeschlossen? War das Arduino so programmiert, dass es seinen Pin 11 schaltet? Haben Sie das Netzteil richtig angeschlossen (nicht umgekehrt)?
bilder von deiner montage? Vielleicht hast du beim Löten etwas kurzgeschlossen?
Vorausgesetzt, Sie haben den Strom richtig herum angeschlossen.
@WesleyLee, imgur.com/a/ifF7N hier finden Sie einige Bilder
Vielleicht hast du deinen Spannungsregler am Pro Mini durchgebrannt? Die offiziellen Spezifikationen besagen, dass die maximale Spannung, die Sie an den RAW-Pin anlegen können, 12 V beträgt. Das schneidet es sehr nahe an Ihrer Eingangsspannung (alle Spannungsschwankungen bedeuten technisch gesehen , dass es außerhalb der Spezifikation arbeitet). Vielleicht prüfen, ob es 12 V sind und 12 V bleiben?
@Suic Um dem Stapel hinzuzufügen, bedenken Sie auch, dass, wenn der Drain auf einen Wert über +12 V fliegt, dies auch die Gate-Kapazität für einen Moment stark beeinträchtigt. Die Gate-Spannung selbst wird also hochgezogen. Die meisten E/A-Pins haben eine Begrenzung des Spitzenstroms der internen Schutzdiode, und eine Überschreitung kann zu einem Latch-up führen. Angesichts des Problems würde ich wahrscheinlich auch darüber nachdenken, einen BAV99 (oder ein Diodenpaar) von Schiene zu Gate zu Masse hinzuzufügen. Vielleicht R1 in R1a und R1b aufteilen, jeweils den gleichen Wert, den Sie jetzt haben, und den BAV99 an diesem neuen Knoten verwenden.
Hat der MOSFET überlebt?
@Suic Poste das Bild nicht in den Kommentaren, sondern füge es deiner Frage hinzu. Versuchen Sie auch, die anderen Fragen zu beantworten, die die Leute gestellt haben.
@EnricBlanco MOSFET hat meine Schaltung überlebt, aber das Entlöten nicht überlebt :)

Antworten (3)

Die Diode auf Ihrer Platine befindet sich an der richtigen Position und sollte sich mit der Motorinduktivität sowie der direkten Verdrahtung zum Motor befassen. Es gibt jedoch nichts, was verhindert, dass die Induktivität in den Versorgungsleitungen eine Spitze in der Eingangsspannung des Reglers verursacht, wenn der MOSFET abrupt abschaltet. Sie haben keine Kapazität und keinen Weg für die in der Induktivität gespeicherte Energie und wenig Fehlerspielraum (siehe unten).

Wenn ich mir einen Klon anschaue, den ich herumtrete, ist der Regler ein AMS1117, der eine absolute maximale Eingangsspannung von 15 V hat. Ihr verwendet möglicherweise einen anderen Chip. Der MIC5205, der in einigen verwendet wird, kann 20 V standhalten (abgesehen von thermischen Erwägungen). Ein 78M05 kann einer 35-V-Spitze standhalten.

Wenn der AMS1117 oder ein ähnliches Teil verwendet wird, liegen 12 V zu nahe am absoluten Maximum, um zu erwarten, dass ein TVS usw. den Regler schützt. Sie sollten der Platine besser eine Shunt-Kapazität hinzufügen (möglicherweise einen 2,2-uF-25-V-Keramikkondensator parallel zu einem 100-uF/16-V-Elektrolytkondensator über die 12-V-Versorgung - direkt auf der Platine ) und einen Vorregler wie einen 78M08 für "Gürtel" hinzufügen und Hosenträgersicherheit.

Betrachten Sie die folgende Simulation. L1 und R2 stellen die Motorinduktivität und den Wicklungswiderstand im Ruhezustand dar (denken Sie daran, dass bei ruhendem Rotor keine Gegen-EMK vorhanden ist, sodass R2 durch den Stillstandsstrom bestimmt wird). L2/L3 stellen die Drahtinduktivität dar - sie wäre bei kurzen Drähten geringer und wenn Sie die Drähte miteinander verdrillen. Ich habe den (zufälligen) MOSFET mit einem 150-Ohm-Gate-Widerstand und einer 5-V-Quelle geschaltet. Ich würde also erwarten, dass diese Simulation Ihrer Schaltung qualitativ ähnlich ist, aber quantitativ nicht unbedingt sehr genau.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Hier ist, was die Reglerversorgungsspannung als MOSFET-Schalter sieht:

Geben Sie hier die Bildbeschreibung ein

Ja, +165-V-Spitzen trotz des relativ langsamen MOSFET-Schaltens.

Dies ist ein hervorragendes Beispiel dafür, warum Sie sehr vorsichtig sein müssen, wenn große Ströme herumfließen, die relativ schnell geschaltet werden. Es braucht nicht viel parasitäre Induktivität, um zu vielen Volt zu führen, die Dinge zappen können. Sogar ein gerader Draht von wenigen mm hat eine gewisse (ziemlich messbare) Induktivität.

TL;DR: Fügen Sie einige Kappen AT THE BOARD über die Versorgung hinzu und hängen Sie einen 78M08 vor das Arduino-Board.

Danke schön. Ich werde es mit meiner nächsten Schaltung testen, wenn ich ein neues Arduino bekomme :) Nur um klarzustellen, dass ich Sie richtig verstanden habe: Soll ich solche Kondensatoren platzieren? imgur.com/a/N3UDM
Ja, das ist richtig. Möglicherweise können Sie den alten Arduino wiederbeleben, indem Sie den Spannungsregler austauschen. Einen Versuch wert.
Ich werde Ihre Antwort als die komplexeste und erklärendste akzeptieren. Ich werde alle anderen Antworten auch testen, sobald ich kann. Es kann einige Zeit dauern. Danke an alle, ich melde mich wieder, wenn ich Neuigkeiten habe
Dies ist vielleicht die schlechteste Analyse, die ich je gesehen habe ... Sie werden nie solche Spitzen sehen. Zunächst einmal zeigt das Pro-Min-Schema, dass sich eine 1-uF-Keramik direkt über dem Regler befindet (ob Original-Pro-Mini oder Klon). Modellieren Sie das und sehen Sie, was der potenzielle Impuls von der Verdrahtungsinduktivität ist. Wenn die hier gemachten Aussagen auch nur ein einziges Mal wahr wären, würde Arduino regelmäßig eine große Anzahl von LEDs (Hochstrom) explodieren lassen.
@JackCreasey Er verwendet einen Klon, wie aus den Kommentaren hervorgeht (nicht unbedingt in der ursprünglichen Frage). Bei vielen Klonen, einschließlich dem, den ich vor mir habe, gibt es keinen solchen Kondensator, nur am Ausgang. Also nichts anderes als die normale Stromaufnahme bis zum Ausfall des Reglers. Es gibt nur 3 V Spielraum, bevor dies passieren könnte (in der Praxis zweifellos mehr).
Das Bild, das das OP von seinem Board (Klon oder nicht) gepostet hat, scheint mehrere große Kappen um den Regler herum zu haben. Außerdem können Sie die Stromversorgungsleitungen nicht als einfache Bulk-Induktivität behandeln, sie sind tatsächlich eine Verzögerungsleitung mit gespreizter Induktivität und Kapazität. Das Problem ist bei weitem nicht so kritisch, wie Sie in Ihrem Beitrag darstellen, wenn dies der Fall wäre, wäre die Elektronik in Not. Ich bin nicht anderer Meinung, dass Stromversorgungsleitungen Induktivitäten aufweisen können und Spannungsspitzen auftreten können. Ich denke nur, dass Sie mit Ihrer Beschreibung übertrieben sind.

Meiner Meinung nach ist die Ursache der Selbstinduktionsstrom des Motors. Beim Abschalten des MOSFET erhöht sich die Spannung am Pin RAW. Die Stromversorgung erfolgt über lange Drähte. Sie müssen einen Elektrolyt-Shunt-Kondensator mit großer Kapazität verwenden (vom RAW-Pin zu GND)

Hast du die Diode im Stromkreis bemerkt? Es ist da, um genau das Problem zu vermeiden, das Sie erwähnt haben.
Die Diode reduziert nur Spannungsschwankungen einer Polarität.
@utu2012, die andere Diode befindet sich im Mosfet.
@utu2012, ich denke, Sie verfehlen meinen Punkt, trotz dem, was das OP-Schema zeigt, hat der IRF3205 eine EINGEBAUTE Diode von Drain zu Gate.
@Trevor, Die funktionieren gut, wenn komplexe Widerstände der Stromversorgung niedrig sind. Aber in diesem Fall wird der Strom über lange Drähte zugeführt (auf dem Foto). Schleifenstrom: Gleichstrommotor, die Diode im MOSFET, langer Draht, Stromversorgung, langer Draht, Gleichstrommotor. Der lange Draht ist ein äquivalenter Widerstand und eine Induktivität in Reihe.
@utu2012, ich denke, wir reden über verschiedene Dinge. Ich stimme Ihrer Antwort zu und habe meine eigene erweitert, um eine ähnliche, aber verbesserte Lösung zu implementieren.

Nun, zuerst dachte ich, es sah so aus, als wäre Ihre Masse zum Arduino tatsächlich mit dem TXD-Pin verbunden.

Geben Sie hier die Bildbeschreibung ein

Aber dann fand ich heraus, dass Sie einen Klon mit einer anderen Pinbelegung verwenden.

(Nicht WIRKLICH ein Klon, denke ich ... eher wie ein Doppelgänger.)

Wie auch immer, alles, was übrig bleibt, ist, dass Ihre 12 V die Arduinos RAW-Pin-Spannungsgrenze überschreiten müssen.

Ich schlage vor, Sie isolieren sich ein wenig, indem Sie eine oder zwei Dioden zwischen dem 12-V-Eingang auf Ihrer Platine und dem RAW-Pin hinzufügen. Es würde auch nicht schaden, dem RAW-Pin einen Bulk-Kondensator von guter Größe hinzuzufügen.

Außerdem würde ich eine Diode in die Motorleitung einbauen. Begründung ist dies. Wenn der Motor auf Hochtouren läuft, kann die Gegen-EMK sehr nahe an 12 V liegen. Wenn Sie den FET ausschalten, springt die Oberseite des Motors aufgrund des Strompfads durch die Diode im MOSFET auf ~ 12,7 V.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Hinweis: Die angezeigten Dioden- und Kappenwerte sind lediglich Editor-Standardwerte.

Aufgrund des Layouts (insbesondere der Stifte rechts) vermute ich, dass er ein anderes Modell (möglicherweise einen Klon) verwendet, wie dieses . Aber ja, er sollte seine Verbindungen noch einmal überprüfen.
Oder er verwendet vielleicht die Klondokumentation.
Auf meinem Board ist dieser Pin als Gnd gekennzeichnet
@suic Sie sollten Ihre Frage aktualisieren, um anzugeben, welchen Klon Sie dann verwenden.
@Suic und nur für den Fall ... überprüfen Sie, ob der Pin tatsächlich mit Masse verbunden ist. nicht nur schlecht beschriftet.
@Trevor, es ist ein Boden (ich habe es gerade mit einem Multimeter überprüft)
Dann ist so ziemlich das einzige, was übrig bleibt, dass die 12 V höher waren als erwartet. Wahrscheinlich weil der Motor oder dein Netzteil etwas hoch ist. Sie sollten erwägen, das durch eine oder zwei Dioden fallen zu lassen, bevor Sie den RAW-Pin speisen und eine weitere Bulk-Kappe hinzufügen.
Bitte, es ist Arduino, nicht Adrino