Schieberegisterausgang zu Relais


8

Entschuldigung für die Länge.

Dies ist eine Fortsetzung meiner jüngsten Frage . Ich habe eine optokoppelte 8-Relais-Karte, die ich an meinen Mikrocontroller anschließen möchte. Ich habe ein 74HC595-Schieberegister inline platziert, um die Eingangsports zu konsolidieren. Dabei hat das Board jedoch ein merkwürdiges Verhalten gezeigt.

Geben Sie hier die Bildbeschreibung ein

Wenn ich nichts oder nur eine kleine Last in die Relais einstecke, funktioniert alles gut mit dem Schieberegister. Sie lassen sich problemlos ein- und ausschalten. Sobald ich eine Pumpe mit mehr als 1 Ampere an das Relais anschließe, kann man das Auslösen des Relais hören und es löst sich schnell aus. Die LED IN1 (Abbildung oben) leuchtet ebenfalls für den Bruchteil einer Sekunde auf. Manchmal (1 zu 5) bleiben Relais und Pumpe jedoch eingeschaltet. Jetzt wird es komisch; Wenn ich das Schieberegister entferne und die Stifte direkt mit dem Mikrocontroller verbinde, funktioniert das Einschalten der Pumpe einwandfrei.

Es wurden also Störungen im Schieberegister festgestellt, aber soweit ich das Design der Relaisplatine verstehe, versorgt das Schieberegister nur die LED im Optokoppler (U1) und ist in keiner Weise mit einem anderen Teil der Schaltung (Schieberegister) verbunden und Controller wurden mit Batterie betrieben). Die Karte ist auch aktiv niedrig, so wie ich es verstehe, nimmt das Schieberegister Strom vom Optokoppler ab. Könnte es sein, dass der Optokoppler mehr Strom benötigt, um die höhere Last zu schalten, als das Schieberegister sinken kann? Ich bin vielleicht weit weg, weil mich das verwirrt hat. Gibt es auch Möglichkeiten, wie Störungen auftreten können, obwohl sie isoliert und mit einer Batterie betrieben werden?

Alle Tests wurden mit einer Batterie durchgeführt, die das Mikrocontroller-Schieberegister mit Strom versorgt, und mit einer sehr einfachen Skizze, die nur ein einziges Schieberegister Pin für Byte zum Ziel hatte.

Das 8-Relais ( Info ): Es ist derzeit mit einer separaten 5-V-Wandwarze konfiguriert, die die Relais mit Strom versorgt. Der Mikrocontroller liefert 5 V, um nur den Optokoppler mit Strom zu versorgen.

Ich freue mich über jede Hilfe, die Sie mir geben können. Geben Sie hier die Bildbeschreibung ein

Update 13. August:

Immer noch nicht los, aber ich habe noch ein paar Tests durchgeführt: Ich habe das Schieberegister und Arduino 3 Fuß von den Relais und der Netzstromversorgung entfernt. Beide wurden von einer 9-V-Batterie gespeist. Das einzige, was mit der Relaisplatine verbunden war, war eine 5-V-Schiene vom Arduino und die 8 Drähte vom Schieberegister zu den Relaisplatineneingängen. Gleiche Ergebnisse, 100W Licht funktioniert hervorragend, Pumpe bewirkt, dass es auslöst. Wenn ich das Schieberegister entferne und die Ausgangsstifte direkt an den Arduino anschließe, schaltet sich die Pumpe problemlos ein.

Um zu überprüfen, ob mit der dedizierten 5-V-Wandwarze, die die Relais versorgt, nichts los war, zog ich den Stecker heraus und ersetzte den Jumper an JD-VCC und VCC und befestigte den Arduino GND. Gleiches Ergebnis, 100W Licht funktioniert, Pumpe löst aus.

Es muss ein Schieberegister sein.

Ich habe auch einen 47uf-Entkopplungskondensator auf die Stromschienen gelegt, und das Schieberegister hat eine 104 direkt daneben.

Heute Abend werde ich versuchen, ein Multimeter an einen der Ausgangspins anzupassen. Ich möchte sehen, wie viel Strom der Optokoppler zieht.

Ich habe gerade auch ein Oszilloskop bekommen, daher lerne ich immer noch, wie man es benutzt, aber vielleicht kann ich herausfinden, wie man Störungen auf der 5-V-Schiene oder in den Ausgangsleitungen misst.

Update 14. August:

Ich habe es geschafft, es mit meinem Oszilloskop zu erfassen. Rigol wfm Dateien unten. Kanal eins ist an einen Ausgangspin im Schieberegister angeschlossen. Kanal zwei ist an die 5V-Schiene angeschlossen.

WFM-Dateien

Ich habe gerade einige Tests durchgeführt und es geschafft, eine 500-mV-1-V-Spitze (manchmal war es ein Abfall) sowohl auf der 5-V-Schiene als auch auf einem der Ausgangspins aus dem Schieberegister zu reproduzieren. Das ist das Problem, oder? Würde diese Art von Spitze das Schieberegister auslösen und seltsam wirken lassen?

15. August:

Unten sehen Sie eine Aufnahme, wenn ich die Pumpe manuell ein- und ausschalte. Verwenden Sie dazu nicht das Schieberegister. Die blaue Linie ist der Ausgangsregister 1 des Schieberegisters, die gelbe Linie ist 5V.

Ich habe auch einige Bilder vom Setup gemacht:

Geben Sie hier die Bildbeschreibung ein

Volle Größe

Geben Sie hier die Bildbeschreibung ein

Volle Größe

Geben Sie hier die Bildbeschreibung ein

Ich habe auch einen Forumsbeitrag, auf den ich auch die Ergebnisse aktualisiert habe: Arduino Forum

16. August:

Ich konnte heute ein viel besseres Bild machen. Ich wusste nicht, dass das Oszilloskop nur so viele Punkte erfasst, wenn es in Intervallen von 1 Sekunde läuft (macht jetzt total Sinn). Hier ist der böse Emi über Pin 1 aus dem Schieberegister:

2us

200ns

Ich werde dieses Wochenende alle empfohlenen Komponenten abholen und versuchen, sie einzeln hinzuzufügen.

18. August:

Problem bestätigt. Die Pumpe verursachte so viel Lärm, dass nichts, was ich an den Niedrigstromleitungen tun konnte, die Wellen enthalten konnte. Diese Wellen drangen in die Schieberegisteruhr \ latch \ data pins ein und verursachten Korruption \ resets.

Also ging ich bis zum Äußersten und riss einen Hochleistungs-APC-Rack-Überspannungsschutzkreis heraus und stellte ihn vor die Pumpe.

Geben Sie hier die Bildbeschreibung ein

Jetzt gibt es kaum noch einen Fehler in einer der Zeilen. Hurra!

Jetzt ging es darum, dies in diesem Gehäuse-Footprint zu behalten, damit ich sehen kann, ob ich eine kompaktere Version herstellen kann, da ich denke, dass dieses Board übertrieben ist und ich für jede der 5 Pumpen, die ich habe, eine benötigen würde. Ich werde mit nur einem einzigen MOV beginnen und sehen, wie viel es das Rauschen reduziert.

Behobenes Problem: Ich habe mich für einen Netzfilter entschieden, um zu sehen, ob ich das Pumpengeräusch direkt an der Quelle herausfiltern kann. Ich habe das gekauft: Delta High Performance Filter . Jetzt bekomme ich nicht einmal mehr einen Fehler auf dem Oszilloskop.

Vielen Dank für all die Hilfe, ich wünschte, ich könnte Sie alle als Löser markieren, aber ich kann nicht, also habe ich es nur dem gegeben, der die meisten Tipps angeboten hat.


Haben Sie den Leistungsstiften des Schieberegisters einen Entkopplungskondensator hinzugefügt?
Bruno Ferreira

Ja, ich habe eine 104 beigefügt. Da es isoliert ist, wäre ein Entkopplungsproblem nicht immer ein Problem, frage ich, weil ich nicht sicher bin? Alles funktioniert richtig, wenn ich die Pumpe (n) nicht anschließe.
Exist

Haben Sie den Jumper zwischen Vcc und JD-Vcc entfernt?
Oli Glaser

Ja, es wurde entfernt. Ich habe eine dedizierte 5-V-Wandwarze, die an Gnd und JD-VCC angeschlossen ist.
Existiert

1
Rigol WFM-Dateien, was ist das? Wie sollen wir diese lesen?
Stevenvh

Antworten:


6

Wie ist das Schieberegister verdrahtet? Haben Sie einen 0,1 uF Bypass-Kondensator über den Stromkabeln in der Nähe des IC-Gehäuses?

Es klingt für mich wie ein Geräuschproblem, zumal es nur ausgelöst wird, wenn Sie die Relais belasten. Die Tatsache, dass der Schieberegister-Registerzustand zurückgesetzt wird, lässt mich denken, dass es sich um ein Stromversorgungsproblem handelt.


Wie verdrahten Sie das Schieberegister?
Bei einem 74HC595 müssen Sie:

  • Binden Sie die beiden Registeruhren zusammen (Pins 11 und 12)
  • Ziehen Sie den Master-Reset-Pin hoch (Pin 10 an VCC).
  • Ziehen Sie die Ausgangsfreigabeleitung nach unten (Binden Sie Pin 13 an Masse).

Zuletzt benötigen Sie einen 0,1 uF Bypass-Kondensator zwischen Pin 16 (Vcc) und Pin 8 (Gnd).


Ich habe eine 104 über die vcc und gnd des Schieberegisters.
Existiert

@Exist - und Sie haben den Reset-Pin nicht schwebend gelassen, oder so, oder?
Connor Wolf

Das einzige, woran ich an dieser Stelle denken kann, ist zu versuchen, eine nicht induktive Last (z. B. eine 60-W-Glühbirne oder etwas anderes) zu schalten und zu prüfen, ob dies auch das Problem auslöst. Wenn dies nicht der Fall ist, treten beim Einschalten der Pumpe EMI-Probleme auf. Wenn ja, bin ich ein bisschen verwirrt. Sehen Sie sich an diesem Punkt Ihre Versorgungsschienen an, wenn das System wechselt, und prüfen Sie, ob auf ihnen etwas Seltsames passiert.
Connor Wolf

Nein, ich glaube nicht einmal, dass das Schieberegister zurückgesetzt wird, da andere Relais weiterhin eingeschaltet bleiben, auch wenn die Pumpe nicht eingeschaltet werden kann.
Existiert


3

Bewegen Sie den Arduino so weit wie möglich vom Relaismodul und der Pumpe weg. Stellen Sie außerdem sicher, dass sich keine (Pump-) Stromkabel in der Nähe des Arduino befinden.

Verwenden Sie dann ein Twisted Pair- oder CAT5-Kabel, um das Ein / Aus-Signal vom Arduino zu senden.

Ich kann die wfm-Datei nicht öffnen (ich denke, es sind einige Hex-Werte, aber dies ist schwer zu visualisieren, wenn es trotzdem geöffnet wird), aber Ihrer Beschreibung nach klingt es so, als hätten Sie das Ereignis erfasst.
Diese Spitze (die je nach BW und Einstellungen schneller / größer sein kann als auf Ihrem Oszilloskop angegeben) ist wahrscheinlich das Problem. Wie eine solche Spitze auf Ihre Schienen gelangt, muss noch herausgefunden werden. Ich denke, an diesem Punkt würden ein oder zwei Fotos Ihres Setups wahrscheinlich viel helfen, und wenn möglich ein detailliertes Diagramm Ihrer gesamten Verkabelung (Pumpe, Relaismodul, alle) Netzteile, Arduino usw.)

Sind der Relaisadapter und die Arduino-Masse miteinander verbunden?

BEARBEITEN - beim Betrachten des Bildes sieht das Layout nicht gut aus, es ist etwas eng. Es scheint, dass unter dem Relaismodul Netzkabel verlaufen - diese sind möglicherweise mit der isolierten Arduino-Seite verbunden. Versuchen Sie, diese zu entfernen, wenn Sie können.
Außerdem sollten Sie den CAT5 oder ähnliches für das Schieberegistersignal verwenden - führen Sie ihn zusammen mit 5 V aus, um den Schleifenbereich zu verringern.
An dieser Stelle würde ich auch versuchen, ein paar in Sperrrichtung vorgespannte Dioden zu 5 V und Masse vom Schieberegisterausgang hinzuzufügen, um alle auftretenden Spitzen zu klemmen (5 V Zener optional, aber eine gute Idee, wenn Sie eine haben).

Back-to-Back-Dioden

Sie können auch einen kleineren Kondensator von der Leitung zur Erde (z. B. 100 nF) platzieren, da dies nur ein Schaltsignal ist.
Um sicherzustellen, dass keine Verbindung zwischen irgendetwas besteht, das nicht vorhanden sein sollte, lohnt es sich wahrscheinlich, die Kontinuität zwischen Arduino-Masse und Relaismodul-Masse sowie Arduino 5V und Relais 5V zu prüfen.


Meinst du auch das Schieberegister? Es ist derzeit in der Stromschienenbaugruppe montiert, aber ich könnte es abnehmen und weiter weg bewegen. Denken Sie, dass es Lärm aufnimmt?
Existiert

Ja, bewegen Sie dies ebenfalls und verwenden Sie das Kabel vom Schieberegisterausgang zum Modul. Es hört sich so an, als würde es EMI ausstrahlen, wenn es noch passiert, während der Arduino über die Batterie mit Strom versorgt wird.
Oli Glaser

@Exist - hast du das oben versucht? Wenn ja, hat es einen Unterschied gemacht?
Oli Glaser

Ich habe die oben genannten Ergebnisse erzielt.
Existiert

Hmmm, hier stimmt etwas nicht :-) Wenn Sie jetzt ein Zielfernrohr haben, sollten Sie die Signale und die Leistung während des Relaisschaltens prüfen. Sie sollten sich ein Bild davon machen, was passiert. Veröffentlichen Sie ein Bild der Ergebnisse, wenn Sie nicht sicher sind, was Sie daraus machen sollen.
Oli Glaser

1

Dies klingt sicherlich nach einem Problem mit elektromagnetischen Störungen.

Die Erdung des Arduino-Netzteils sollte mit der "grünen Erdung" Ihres lokalen Stromversorgungssystems verbunden sein. Ein leerer Stecker mit einem einzigen Draht zur "grünen Masse" könnte verwendet werden.

Versuchen Sie, die Pumpenverkabelung physisch vom Mikrocomputer-Material zu trennen.

Sie können auch einen "Überspannungsschutz" -MOV (Metalloxid-Varistor) über der Pumpe anbringen, um die Spitzen zu absorbieren, die beim Schalten der Last auftreten können.

Welche Spannungs- und Strompegel hat die Pumpe?

Ihre Verkabelung sieht richtig aus.


Ich habe meinen Beitrag mit weiteren Tests aktualisiert. Ich bin damit einverstanden, dass es EMI zu sein scheint. Fake hat mich gestern auch so gedrängt. Ich habe verdammt viel Zeit, es aufzuspüren. Wenn Sie sagen, dass Sie die Erdung anschließen möchten, gilt dies immer noch, wenn der Arduino batteriebetrieben ist? Die Pumpe ist 120V 1,2 Ampere. Danke
Exist
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.