ATmega168-Schaltung funktioniert nicht ohne Arduino-Regler?

Ich habe dieses sehr seltsame Problem mit meiner Schrittmotor-Treiberschaltung, die eine Atmega168- und L293-h-Brücke verwendet, die anscheinend nicht ohne ein Arduino (Uno) funktionieren möchte, das an 3V3 und Masse angeschlossen ist.

Etwas detaillierter wäre, dass die H-Brücke von einer 12-V-Gleichstromversorgung gespeist wird, die mit einem Mosfet und PWM vom Atmega auf etwa 3 V "zerhackt" wird. Während der Entwicklung der Schaltung wurde VCC (für Atmega und L293) vom 5-V-Pin des Arduino bereitgestellt. Ich sollte erwähnen, dass diese Schaltung mit dem obigen Setup gut funktioniert.

Mein Problem trat auf, als ich versuchte, es eigenständig zu machen, indem ich einen 3V3-Regler (TS1084) an die 12-V-Versorgung anschloss, um VCC bereitzustellen, da nach dem Einschalten des Stromkreises scheinbar nichts wirklich los ist, sehr feine Vibrationen können vom Stepper zu hören, aber die PWM-Pins, die die h-Brücke speisen sollten, scheinen jedoch nichts auszugeben.

Dies alles scheint ein seltsames Problem zu sein, das durch den Regler oder die unterschiedliche Spannung verursacht wird, aber das Seltsame ist, dass ich nach einigen weiteren Versuchen versehentlich den 5-V-Pin des Arduino mit der 3-V-3-Schiene im Stromkreis verbunden und die Masse mit dem verbunden gelassen habe Boden und in dem Moment, als ich die Schaltung einschaltete, begann alles zu arbeiten und der Arduino ging auch weiter. In dem Moment, in dem ich die 5 V des Arduino trenne, hört alles auf und beim erneuten Anschließen beginnt alles von vorne. Ich habe es jedoch überprüft und mit dem angeschlossenen Arduino bleibt der VCC über den Stromkreis immer noch bei 3V3, sodass der Arduino irgendwie keine 5V erzeugt.

Diese ganze Sache hat mich ziemlich verwirrt und das einzige, woran ich denken kann, ist, dass die Regler des Arduino etwas tun, aber das macht keinen Sinn.

Außerdem habe ich keine Ahnung, ob dies zusammenhängt, aber während des Betriebs des 3V3-Schaltkreises mit angeschlossenem Arduino wird der Regler extrem heiß und schaltet sich nach einer Weile ständig thermisch ab, wenn ich keinen Lüfter darauf stelle.

Wenn jemand von euch so etwas schon einmal gesehen hat oder eine Möglichkeit kennt, bitte helft mir!

BEARBEITEN: Ich habe die Schaltung jetzt mit einem 1-A-5-V-Regler getestet, der für einen Eingang von bis zu 35 V ausgelegt ist, und er funktioniert mit diesem Regler (NCP7805TG). Was ich jedoch bei dem 3,3-V-Pin bemerkt habe, ist, dass das Problem möglicherweise vom Anschließen des PWM-Pins des Atmega an den Mosfet herrührt. Sobald ich ihn trenne oder einen großen Widerstand darauf platziere, beginnt der Atmega, Spannungen an seinem PWM zu lesen Stifte wieder. Ich vermute daher, dass dies den Regler irgendwie zu sehr belastet, aber es erklärt immer noch nicht, warum das parallele Anschließen des Arduino überhaupt einen Effekt hat.

PS. Ich werde wahrscheinlich erst morgen dazu kommen, einen Schaltplan zu erstellen, wenn es wirklich nötig ist, aber ich denke, alles ist ausreichend genug beschrieben.

AUCH die Tatsache, dass es auf 3,3 V liegt, scheint kein Problem zu sein, da es gut funktioniert, wenn ich das erste im Beitrag erwähnte Setup verwende, aber vom 3V3-Pin des Arduino anstelle des 5-V-Pins aus laufe.

Ein Schema Ihres aktuellen Setups würde immens helfen, das Problem zu visualisieren.
@Ghosh Ich werde sehen, was ich tun kann, aber es kann eine Weile dauern
Bypass-Kappen am Regler. Beachten Sie, dass der L293 wahrscheinlich mehr als 3,3 V benötigt, um gut zu funktionieren - das MOSFET-Gate benötigt dies möglicherweise auch. Sich mit Atemreglern zu duellieren ist eine schlechte Idee - Hitze sollte das Mindeste Ihrer Erwartungen sein. Beheben Sie diese Art von Problemen, bevor Sie versuchen, das unerklärliche Verhalten zu verstehen.
@ChrisStratton Soweit ich das feststellen kann, scheinen der L293 und mein MOSFET (IRF540N) 3,3 V zu unterstützen. Leider bin ich nur ein Bastler und habe keine Ahnung, was Sie mit Bypass-Kappen und Duellreglern meinen.
"Das Problem scheint darauf zurückzuführen zu sein, dass der PWM-Pin des Atmega mit dem Mosfet verbunden ist." Möglicherweise haben Sie das Gate-Oxid des MOSFET mit ESD oder Überspannung durchgebrannt. Und nein, 3,3 V sind für diesen MOSFET nicht zuverlässig genug - schauen Sie sich die Diagramme des Strom- oder Spannungsabfalls gegenüber der Gate-Source-Spannung an und Sie werden sehen, dass es in diesem Bereich noch nicht vollständig "eingeschaltet" ist (was robuste MOSFETs mit niedrigem RDSon macht). mit einer niedrigen Gate-Schwelle ist HARD) . Außerdem ist der Einschalt-"Schwellenwert" so angegeben, dass er für diesen Teil irgendwo zwischen 2 und 4 V variiert.
Weiterhin ist der L293 nicht für den Betrieb unter 4,5 V Logikversorgung spezifiziert - er kann darunter "irgendwie" funktionieren, aber verlassen Sie sich nicht darauf, dass er gut funktioniert.

Antworten (2)

Der L293 und die meisten Variationen haben mindestens 4,5 V VCC. Deshalb bringen Sie die Schrittmotoren nicht zum Laufen.

Der TS1084 ist ein Linearregler mit einem MAX-Eingang von 12 V. Sie verschwenden (VIN - VOUT) * IOUT an Wärme. Das ist (12 V - 3,3 V) oder (8,7 V) * IOut. Selbst wenn nur ein halbes Ampere, das sind 8,7 V * 0,5 A oder 4,35 Watt! von Energie in Wärme.

Tj = (Pd · θJa) + Ta ( 4,3W * 80°c/w ) + 21°c = 369°C Sperrschichttemperatur für T0-220 ! Sein Betriebsbereich ist MAX TJ von 125°C. Natürlich würde es in die thermische Abschaltung gehen.

Sie benötigen einen Schaltregler, da jede angemessene Strommenge von einem 12-V-Eingang zu einem 3,3-V-Ausgangslinearregler ihn kocht.

Außerdem listen Sie den verwendeten Mosfet nicht auf, sodass wir ihn nicht überprüfen können. Ich gehe davon aus, dass es auch auf einen höheren Spannungsbereich beschränkt ist. Gleiches gilt für die Schrittmotoren. 3,3 V reichen möglicherweise nicht aus, wenn Sie sie damit betreiben.

Das Hauptproblem, das ich hatte, scheint zu sein, dass in meinem Steckbrett-Setup die Verbindung zu 12 V nicht sehr solide ist und wahnsinnig viel Rauschen erzeugt, und die Kondensatoren auf dem Arduino sind stark genug, um damit umzugehen. Was ich auch tun werde, ist die Verwendung eines 5-V-Reglers, der für einen 35-V-Eingang vor dem 3,3-V-Volt-Regler ausgelegt ist. Dadurch kann ich die h-Brücke auch mit 5 V versorgen, und glücklicherweise ermöglichen die Logikpegel die Kommunikation mit einem Atmega bei 3,3 V . Ich mache mir keine Sorgen um den Mosfet, da er lediglich einen P-Kanal-Mosfet erdet und jede Form von Leitfähigkeit ausreicht, um den P-Kanal-Mosfet vollständig einzuschalten, der das tatsächlich schwere Schalten durchführt.

Warum den Atmega nicht mit 5V betreiben?