Problem Schaltrelais mit Transistor vom Mikrocontroller

Dies ist das erste Mal, dass ich hier poste, also hoffe ich, dass ich es richtig mache.

Ich habe eine Schaltung gebaut, die einen USB-verbundenen FTDI-UMFT240XA verwendet. http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UMFT240XA.pdf

Grundsätzlich sende ich 1-Byte-Informationspakete an den Controller, die dann zum Ein- und Ausschalten von Transistoren verwendet werden, die dann Relais ein- und ausschalten. Ich verwende die DATA I / O-Pins, um die Logiksignale an die Transistoren zu senden.

Das Problem, das ich habe, ist, dass, wenn ich das Relais mehrmals über die Schaltung ein- und ausschalte, ich feststelle, dass sich der Mikrocontroller hin und wieder einfach abschaltet. Dies scheint nur zu passieren, wenn ich das Relais in die Schaltung einführe. LEDs kann ich ohne Probleme ein- und ausschalten.

Ich habe sowohl NPN- als auch N-Kanal-MOSFET-Transistoren ausprobiert und beide zeigen das gleiche Verhalten. Ich habe es wie folgt angeschlossen:

  • Gate (oder Basis) eines Transistors, der an ein digitales Logiksignal angeschlossen ist (DATA 0, ein 3,3-V-Signal)

  • Source (oder Emitter) des Transistors an Masse angeschlossen

  • Drain (oder Kollektor) des Transistors, der parallel mit einer Freilaufdiode an das Relais angeschlossen ist, die beide an positive Spannung (+5 V) angeschlossen sind

Das Gate hat auch einen 1M Pulldown-Widerstand, der an Masse angeschlossen ist.

Zuerst dachte ich, dass der USB-Bus vielleicht nicht genug Strom für die Schaltung liefern kann und deshalb abgeschaltet wird, aber das scheint nicht der Fall zu sein, da ich die beiden Lötjumper auf dem Chip entfernt und angeschlossen habe externe Stromversorgung (unter Verwendung eines 5-V- und 3,3-V-Reglers anstelle der USB-Stromversorgung, wie in der Konfiguration mit eigener Stromversorgung im obigen PDF beschrieben)

Der EINZIGE Weg, wie ich dieses Sterben des Mikrocontrollers zu vermeiden scheine, besteht darin, die DATA 0 mit einer Diode und nicht mit einem geraden Draht oder einem Widerstand mit dem Gate zu verbinden. Das Problem dabei ist, dass es beim Anschließen der Schaltung so lange dauert, bis die Spannung am Gate weit genug abfällt, um den Transistor wieder auszuschalten. (ca. 5-7 Sekunden).

Übersehe ich hier etwas? Verwende ich eine dieser Komponenten falsch?

BEARBEITEN:

Ich habe keinen Schaltplan, aber hier ist ein Blick auf das Steckbrett mit einigen Beschriftungen.Bild vom Steckbrett

Wird das Mikro von derselben 5-V-Quelle wie die Relais gespeist? Und wenn Sie hier Fragen stellen, posten Sie bitte Schaltpläne. Intuition sagt, fügen Sie den Mikro-Power-Pins mehr Kapazität hinzu.
Ja ist es. (weitere Erklärung) Der Mikrocontroller benötigt sowohl eine 5-V- als auch eine 3,3-V-Versorgung (normalerweise von USB, kann aber auf eine externe Quelle umgeschaltet werden, um mehr Strom bereitzustellen). Der 5-V-Regler, den ich verwende, versorgt die Relais und das Mikro selbst. Zusätzlich liefert der 3,3-V-Regler die 3,3-V-Versorgung für den Chip und die Referenzspannung für die DATA-Pins.
Ihr Bild sieht korrekt aus, aber Sie haben Drain und Source in Ihrer Beschreibung verwechselt. Ihre Beschreibung sollte lauten: "Quelle (oder Emitter) des Transistors an Masse angeschlossen. Drain (oder Kollektor) des Transistors an Relais angeschlossen ...". Auch wenn Sie einen NPN-Transistor verwenden, benötigen Sie einen Vorwiderstand vom digitalen Logiksignal zur Basis.
Es mag nur das Bild sein, aber der 10K-Pulldown-Widerstand sieht aus wie 10 Ohm. Können Sie bestätigen, dass es wirklich 10K sind? Vielleicht möchten Sie auch einen MOSFET mit einem niedrigeren Vgs_on in Betracht ziehen ... Sehen Sie sich Abbildung 3 im Datenblatt für NTD4858N an
@Tut Danke für die Kommentare! Ich hatte ein paar Dinge verwechselt (in Bezug auf die Formulierung in der Frage), die ich jetzt korrigiert habe ... Ich habe Source und Drain richtig verdrahtet, aber sie in der Frage falsch aufgeschrieben. Die habe ich umgedreht. Der Pulldown-Widerstand beträgt tatsächlich 1 M Ohm (braun schwarz grün). Ist, dass zu viel? Oder gibt es so etwas nicht, wenn man von einem Pulldown spricht?
@Tut Außerdem habe ich mir Abbildung 3 genauer angesehen und verstehe, wovon Sie sprechen. Bei der Auswahl des MOSFET habe ich hauptsächlich auf die Gate-Schwellenspannung geachtet, die in diesem Fall maximal 2,5 V beträgt. Ist der höhere RDS(on) in Abbildung 3 etwas, worüber ich mir Sorgen machen sollte? Ich bin mir nicht sicher, welche Auswirkungen dies auf die Leistung des FET hat.
Ich sehe auf den Modulschaltplänen, dass es 47K-Pullup-Widerstände auf den Datenleitungen gibt, aus diesem Grund wird ein 1M-Pulldown wenig Wirkung haben. Die Pull-up/Pull-down-Kombination bildet einen Spannungsteiler. 10K ist ungefähr das Höchste, das Sie gehen sollten. Der Pulldown dient hauptsächlich dazu, sicherzustellen, dass der MOSFET beim Zurücksetzen/Einschalten ausgeschaltet ist, wobei der Pin höchstwahrscheinlich als hochohmiger Eingang eingeschaltet wird.
In Bezug auf den MOSFET ... Die Gate-Schwellenwerte des FET können stark variieren. Die Angaben im Datenblatt sind typische Werte, können aber schlechter sein. Für eine 3,3-V-Schaltung ist es besonders wichtig, eine mit niedriger Schwelle zu wählen. Ein zu berücksichtigendes Gerät ist IRLML2502 , aber Sie sollten das Datenblatt lesen, um seine Eignung festzustellen. Das Teil, das Sie haben, kann für ein einmaliges Projekt in Ordnung sein ... solange es funktioniert und nicht zu heiß wird.

Antworten (3)

Wie Matt sagt, ist das erste, was auffällt, dass mehr Kapazität benötigt wird.

Breadboards sind schrecklich für Streuinduktivität/Kapazität, also müssen Sie wirklich versuchen, die Drähte so kurz wie möglich zu halten, empfindliche Signale von höheren Strömen/Spannungen/schnell wechselnden Signalen fernzuhalten und viel Bypass- und Bulk-Kapazität um die Schaltung herum hinzuzufügen.

Ich würde mit ein paar > 100 uF-Elektrolyten auf jeder Stromschiene und in der Nähe des FET beginnen, mit einigen 100 nF oder höheren Keramikkappen an den Stromanschlüssen der ICs.

Eine andere Sache, die man sich ansehen sollte, ist die Verwendung einer separaten Schiene für das Relais und die getrennte Verlegung der Masserückführung von der Masse des uC. Natürlich müssen sie miteinander verbunden werden, aber Sie können sicherstellen, dass der Hochstromrückfluss auf diese Weise nicht durch die Masse der uC-Platine fließt.

+1 zu den Erdungsüberlegungen. Die richtige Erdung wird allzu oft vernachlässigt.
Vielen Dank für die Eingabe. Ich habe die Schaltung teilweise neu aufgebaut und Ihre Kommentare sorgfältig berücksichtigt.

Nach gründlichen Tests habe ich entschieden, dass die folgende Änderung dieses Problem behoben hat:

Verwenden Sie das EEPROM-Flash-Dienstprogramm für den Chip (erhältlich von ftdichip.com), um den Stromausgang der DATA-Pins von 4 mA auf 8 mA zu erhöhen.

Geben Sie hier die Bildbeschreibung ein

Ich glaube, dass es Zeiten gab, in denen mehr als 4 mA vom Gate / der Basis des MOSFET (oder NPN BJT) entnommen wurden, was dazu führte, dass der Chip defensiv reagierte, indem er die DATA-Pins abschaltete.

Der Chip verlor nie wirklich die USB-Konnektivität, also war der größte Teil des Chips noch eingeschaltet, aber die DATA-Pins selbst waren wegen der aktuellen Überziehung abgeschaltet worden.

Alle Mikrocontroller oder andere programmierbare Steuerungen sind sehr gute sinkende Quellen, sie können nicht viel Strom liefern, was beim Ansteuern von Komponenten wie einem Relais unerlässlich ist. Verwenden Sie aktuelle Treiber wie ULN2003 oder ICs, die solche Lasten zulassen können.