Hallo, wie schon aus dem Betreff zu lesen ist, habe ich ein Problem mit der Kaskadierung von einem 74HC595 Schieberegister welches ich an einem Arduino Ethernet betreibe. Die Ausgänge des Schieberegisters sind an einer Relai-Platine (http://www.miniinthebox.com/de/neue-8-kanal-12v-relais-modul-fuer-arduino-arm-avr-dsp-pic-blau-rot_p638926.html) angebunden. Die Verdrahtung und Schaltung scheint für mich auf dem ersten Blick in Ordung zu sein (siehe Platinen Layout). Jedefalls kann ich mit meinem Code alle Relais mit +5V/0V AN und/oder AUS Schalten wie ich es will. Bei der Benutzung eines Register IC's habe ich gar keine Problme. Kaskadiere ich aber ein zweites, drittes oder viertes Register IC zum ersten, habe ich die seltsame Erscheinung das nur beim AUSschalten eines Relais (egal welches) die LED eines anderen Relais kurz aufblinkt. Es wirkt für mich, als ob beim Ausschalten eines oder mehrer Relais, dass Schieberegister kurz Spannung auf einen Ausgang (meist der erste oder zweite Ausganspin neben dem geschalteten Relai) legt, der eigentlich 0 sein sollte. Dieser Effekt ist dann aber auch auf beiden IC's zu sehen. Die Spannung ist so gering das nur die LED kurz aufleuchtet das Relais selbst aber nicht schaltet. Pulldown-widerstände zwischen dem Ausgang des IC's und GND beheben das Problem nicht. Für eine hilfreichen Tipp wäre ich überaus dankbar. Sollten noch Fragen bestehen, beantworte ich diese gerne. Beste Grüße, nerv-seele
@ nerv-seele (Gast) >angebunden. Die Verdrahtung und Schaltung scheint für mich auf dem >ersten Blick in Ordung zu sein (siehe Platinen Layout). Nö. http://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator >Für eine hilfreichen Tipp wäre ich überaus dankbar. C1 ist vollkommen fehl am Platz, und 1µA ist keine sinnvolle Einheit Es fehlen ALLE Entkoppelkondensatoren Wie kommt man auf die Idee, DIL Schaltkreise von unten anzulöten?
Vielleicht stimmt ja dein Code nit. Jedenfalls warst du extrem sparsam mit Entkopplungskondensatoren. Und die Bezeichnung "Relais blau + rot" kann ich unmöglich als technische Beschreibung werten ;)
Guten Morgen, ich danke euch für die vielen und schnellen Antworten. Wie ich sehe, kann man anhand meines fehlerhaften und rudimentären Layout Designs erkennen, dass ich nicht vom Fach bin. Trotzdem finde ich es super das Ihr mich unterstüzt und mir Tipps gebt. Nebenbei erwähnt, die Schaltung basiert auf dem Tut von http://arduino.cc/en/tutorial/ShiftOut leider wurden solche dinge darin nicht erwähnt. Aber egal. Ich werde mich gleich noch ans werk machen und die Fehlenden Abblock-Kondensatoren/Entkopplungskondensatoren an jeden VCC und GND eingang von den Schieberegistern nachträglich in die Zeichnung einfügen. Natürlich werde ich diese dann nah an den IC's positionieren. Ist meine Annahme, dass 100nF Kerkos, ausreichend sind richtig? Macht es sinn, außer an den IC's, noch irgendwo Abblock-Kondensatoren ein zu fügen? Z.B. an der Spannungsversorgung (+12VCC und GND) für die Relaisplatinen? Könnt Ihr mir noch weitere verbesserungs vorschläge und Tipps für das Layout geben. Ich bin nicht abgeneigt in nachfolgenden Versionen das Layout komplet zu überarbeiten und auch mehr Geld in Bauteile zu investieren, solange es überschaubar und sinnvoll bleibt. @Teo Derix Deine Antwort hätte gerne etwas mehr Text haben können, aber durch die Schlagwörter und die Posts deiner nachfolger. Konnte ich mich etwas schlauer machen. Danke. Wenn ich das richtig verstanden habe, stellen die Freilauf-Dioden nur einen Schutz der Schaltung da und sind nicht zur funktionalität notwendig. Oder? Sollte dies zutreffend sein, werde ich sie erstmal noch nicht einbauen sondern mir diese für die Finale Version der Platine Vormerken. Damit kann ich momentan hoffentlich erstmal Fehlerquellen ausschließen. @Falk Brunner >Wie kommt man auf die Idee, DIL Schaltkreise von unten anzulöten? Das habe ich bisher nicht getan. Bevor ich meine Test-Platine mit der Direkt-Toner-Methode ätze, drucke ich diese Spiegelverkehrt aus. So das es wiederum passt. Laut dem Layout auszug könnte man aber momentan denken das Sie auf der Falschen Platinenseite liegen. Wahrscheinlich müsste ich mich auch ein wenig mehr in EAGLE einfuchsen. Aber dennoch vielen Dank für die Hinweise. @ Helge A >Vielleicht stimmt ja dein Code nit. Programmieren liegt mir schon eher und da ich auch schon längere Zeit als Softwareentwickler gearbeitet habe und immer noch zwischen durch arbeite. Schließe ich diese Fehlerquelle erstmal aus. Ich habe schon bevor ich überhaupt an Hardware fehler gedacht habe ordentlich schritt für schritt debugging betrieben um Fehler in der Softwareseite aus zu schließen. Dennoch danke ich auch dir für den Tip mit den Entkopplungskondensatoren! >Und die Bezeichnung "Relais blau + rot" kann ich unmöglich als >technische Beschreibung werten ;) :D Da gebe ich dir vollkommen recht und ich entschuldige mich für die Schlampige Aussage, leider konnte ich kein Datenblatt zu der Platine finden. Ich weiss nur, dass es zu derzeit von einem bekannten in besagtem Shop bestellt wurde. Der Platinen Aufdruck Keyes Ver:8R1A funduino brachte mich auch nicht wirklich weiter. Sorry. @GroberKlotz >Output enable (G) beschalten! Mit der Aussage kann ich momentan nichts Anfangen. Kannst du oder jemand anderes mir noch ein paar zeilen schreiben. Danke
nerv-seele schrieb: > Wenn ich das richtig verstanden habe, stellen die Freilauf-Dioden nur > einen Schutz der Schaltung da und sind nicht zur funktionalität > notwendig. Oder? Freilaufdioden müssen schon sein. Das gibt beim Ausschalten von Relais immer hohe Spannungsspitzen, die auch den Rest stören können. Bevor diese nicht verbaut sind, musst du nicht weitersuchen. Genauso wie Abblockkondensatoren an jedem IC immer notwendig sind und hier auch fehlen.
> @GroberKlotz >>Output enable (G) beschalten! > Mit der Aussage kann ich momentan nichts Anfangen. Kannst du oder jemand > anderes mir noch ein paar zeilen schreiben. Danke Zur Funktion von G (Output enable): Wenn Du die Daten in das Schieberegister einlädst und der Pin G ist = H, sind die Ausgänge hochohmig geschaltet, das heißt, dass dort kein Signal nach außen gelangt. Dem entsprechend kann dann auch kein Relais fehlerhaft angesteuert werden. Sind alle Daten im Schieberegister, schaltets Du Pin G wieder auf Low (GND) und die Ausgänge sind aktiv, die Latches sind also wieder zum Ausgangspin durchgeschaltet und die Relais sind entsprechend dem reingetakteten Bitmuster angezogen/abgefallen. Siehe dazu im Datenblatt den Abschnitt "truth table" und "logic diagramm" mfG GroberKlotz
@Markus >Freilaufdioden müssen schon sein. Das gibt beim Ausschalten von Relais >immer hohe Spannungsspitzen, die auch den Rest stören können. >Bevor diese nicht verbaut sind, musst du nicht weitersuchen. Das habe ich gestern auch gelesen, jedoch glaube ich nicht das es daran liegen könnte. Alle Relais auf der Platine verfügen über eine Schutzdiode eine LED, einige Widerstände und sind zudem noch per Optokoppler galvanisch von der Schaltung getrennt(mit ein grund dafür, wieso ich die fertige Relais-Platinen benutzen will). Sehe ich es denn richtig, dass ich zum Testen erst einmmal dreckig einen 100nF Kerko an die Pinne 13 und 10 von jedem IC löten könnte? Besten Dank
@Grober Klotz: Wieso willst du das mit /OE mache? Der 74HC595 hat ja Ausgangslatches, die man mit RCK ansteuern kann. Wenn du alle Daten ins SR geschoben hast kannst du sie mit RCK ins Ausgangslatch kopieren… nerv-seele schrieb: > Sehe ich es denn richtig, dass ich zum Testen erst einmmal dreckig einen > 100nF Kerko an die Pinne 13 und 10 von jedem IC löten könnte? Der Entkoppel-C kommt zwischen Vdd (Pin 16) und GND (Pin 8).
:
Bearbeitet durch User
@ nerv-seele (Gast) >basiert auf dem Tut von http://arduino.cc/en/tutorial/ShiftOut leider >wurden solche dinge darin nicht erwähnt. Aber egal. NÖ! Das ist ein GRUNDLEGENDER FEHLER! Hardware isr Hardware und keine Schickmicki Software! Das ist ungefäht so, wie wenn man beim Schalten im Auto das Kuppel vergisst. Es "geht", aber ist nicht wirklich Sinn der Sache. >Annahme, dass 100nF Kerkos, ausreichend sind richtig? Ja. >Macht es sinn, außer an den IC's, noch irgendwo Abblock-Kondensatoren >ein zu fügen? Z.B. an der Spannungsversorgung (+12VCC und GND) für die >Relaisplatinen? Ja, dort braucht man aber eher Elkos mit ein paar Dutzend uF. >Könnt Ihr mir noch weitere verbesserungs vorschläge und Tipps für das >Layout geben. Richtiges Designen von Platinenlayouts >Wenn ich das richtig verstanden habe, stellen die Freilauf-Dioden nur >einen Schutz der Schaltung da "nur"? >und sind nicht zur funktionalität >notwendig. Oder? Doch. Sonst zerlegt sich deine Schaltung beim ersten Abschlaten. >müsste ich mich auch ein wenig mehr in EAGLE einfuchsen. Aber dennoch >vielen Dank für die Hinweise. Tu das. >>Output enable (G) beschalten! >Mit der Aussage kann ich momentan nichts Anfangen. Kannst du oder jemand >anderes mir noch ein paar zeilen schreiben. Danke Das ist so schon OK. Für deine Relais braucht man die nicht.
Ach so, die Freilaufdidoen braucht man natürlich nur, wenn man die Relais DIREKT ansteuert. Das ist bei dir wahrscheinlich nicht der Fall. Auf deiner Relaisplatine sind wahrscheinlich Treiber incl. Freilaufdioden vorhanden. Ausserdem können die 74HC595 nicht sonderlich viel Strom leifern, so 10-20mA/Ausgang, damit kann man die meisten Relais nicht ansteuern, schon gar nicht bei 5V.
@nerv-seele (Gast) >Das habe ich gestern auch gelesen, jedoch glaube ich nicht das es daran >liegen könnte. Alle Relais auf der Platine verfügen über eine >Schutzdiode eine LED, einige Widerstände und sind zudem noch per >Optokoppler galvanisch von der Schaltung getrennt(mit ein grund dafür, >wieso ich die fertige Relais-Platinen benutzen will). Aua. Wer steuert Relais über Optokoppler an? Was kommt als nächstes? Helmpflicht beim Pinkeln? >Sehe ich es denn richtig, dass ich zum Testen erst einmmal dreckig einen >100nF Kerko an die Pinne 13 und 10 von jedem IC löten könnte? Wie zum Geier kommst du auf Pin 13 und 10? GND/VCC liegen auf 8 und 16! C1 in deinem Schaltplan ist totaler Unsinn. Die Beschreibung in dem Arduino-Artikel dazu ebenfalls!
http://arduino.cc/en/tutorial/ShiftOut "Notice the 0.1"f capacitor on the latchPin, if you have some flicker when the latch pin pulses you can use a capacitor to even it out." Aber den eigentlichen Entkoppelkondensator vergessen. Aua!
Falk Brunner schrieb: > C1 in deinem Schaltplan ist totaler Unsinn. Die Beschreibung in dem > Arduino-Artikel dazu ebenfalls! Was erwartest du von ein Malen/Stecken-nach-Zahlen-Anleitung.
Falk Brunner schrieb: > Wie zum Geier kommst du auf Pin 13 und 10? GND/VCC liegen auf 8 und 16! Er legt /SCL (shifter clear) auf high, /G (gate oder output enable) auf low. Powerpins sind nicht eingezeichnet und damit natürlich auch keine Entkopplungskondensatoren.
Hallo Falk Brunner, wieder bin ich etwas Schlauer und Dankbarer für eure/speziel deine Antworten. Die Relaisplatinen mit Optokoplern war mir in sofern wichtig, dass ich ungerne bei einem Kurzschluss 230V auf meiner Steuerung haben wollte! Worst case wäre z.B. das bei einem Kurzschluss über irgendwelche kanäle mehr Strom auf dem (Arduino) Ethernet liegen würde als mir lieb ist. Das könnte mir dann hier im schlimmstenfall ein Redundantes 48 Port GBit Switch zerlegen, was nicht gared günstig ,im fall von Ausfallzeiten wäre, Der Preis wäre noch das kleinere Übel. Deswegen in dem falle die Helmpflicht beim pinkeln ;) Wie ich auf die Pinne 10 und 13 gekommen bin, hat Klaus 2m5 schon richtig erkannt und geschrieben. Hätte ich mir ein wenig mehr Zeit genommen und ins Datenblatt des IC's geschaut oder die Beschreibung der Pinne 10 und 13 im Schaltplan gelesen wäre mir sofort klar geworden das es sich nicht um VCC und GND handelt. Bisdato ist mir aber auch nie aufgefallen, dass VCC und GND im Schaltplan beschalten musst. Dennoch danke ich dir für den über aus wichtigen Tip, wahrscheinlich hätte ich es erst festgestellt wenn es zuspät gewesen wäre. Den Link zum "Richtiges Designen von Platinenlayouts" werde ich mir heute nacht und in den kommen Tage zur Brust nehmen. Danke dafür. Da die Relais-Platine über eine zusätzliche 12V spannungsversorung angetrieben wird, benötige die Relais selbt nur einen ganz geringen Strom zum Schalten. Ich meine etwas von 5-10mA pro Relais gelesen/gesagt-bekommen zu haben. Leider habe ich momentan keine 100nF Kerkos hier im Haus, aber ich werde später nach dem Trainng zum nähsten Conrad(Dortmund) fahren und mir ein paar stück besorgen. Gibt es irgendwelche Tipps welche man nehmen sollte? hätte jetzt zu denen tendiert. http://www.conrad.de/ce/de/product/531855/Keramik-Kondensator-100-nF-50-VDC-10-Holystone-RDCX104K050DKA-1-St?ref=list Leider kann ich erst heute nacht von mehr bericht, aber ich werde zwischen durch im Trainnig mal ins Forum schauen. Sollte ich noch was essentiels bei Conrad für meine Schaltung benötigen, dann gerne heer damit. vielen Dank und Beste Grüße nerv-seele
nerv-seele schrieb: > nerv-seele Zu viel NGE geschaut? ;) Zum Thema: An deiner Stelle würde ich von sämtliche hardware-beschreibungen die von und/oder mit arduino zu tun haben fernhalten. Die Arduino-Leute sind nicht mal in der Lage die Pinbeschriftung/Pinlayout aus dem original Datenblatt richtig zu entnehmen.
nerv-seele schrieb: > Bisdato ist mir aber auch nie > aufgefallen, dass VCC und GND im Schaltplan beschalten musst. Die Powerpins werden von Eagle automatisch richtig angeschlossen, was man an Deinem Platinenlayout auch sehen kann. Leider werden aber die Blockkondensatoren nicht automatisch hinzugefügt. Wohl oder übel muss man in Eagle per Invoke die Powerpins in der Schaltung sichtbar machen und kann dann die Kondensatoren hinzufügen.
nerv-seele schrieb: > Das habe ich gestern auch gelesen, jedoch glaube ich nicht das es daran > liegen könnte. Alle Relais auf der Platine verfügen über eine > Schutzdiode eine LED, einige Widerstände und sind zudem noch per > Optokoppler galvanisch von der Schaltung getrennt(mit ein grund dafür, > wieso ich die fertige Relais-Platinen benutzen will). Ja, Freilaufdiode ist darauf enthalten. Wie sieht denn die Speisung zu der Relais-Platine genau aus? Dort hat es ja eine Jumper (COM-GND) Dieser sollte getrennt sein. Der COM Anschluss geht an das GND vom Arduion und deiner Platine. Der GND-Anschluss ist die Speisung für die Relais. Schaltplan dürfte den hier sein: http://electronicapagina.com/ Hier die Beschreibugn für den Anschluss an einem Raspberry-pi: http://the-wizard-in-green.com/raspberrypi/Keyes_Funduino_connections.pdf
Hallo Leute, Sorry das ich mich erst jetzt melde. Ich habe nun wie mir von euch geraten wurde, die Entkopplungskondensatoren eingelötet und siehe da, es Funktioniert. Never ever wäre ich selbst auf die Idee gekommen, dass es an so einem kleinen verka...tem Kerko liegen könnte. Aber da sieht man(n) wieder, auch die kleinen dinge im Leben können manchmal ganz groß und wichig sein :) Gerne gelobe ich, in nähster Zeit mich mehr mit EAGEL zu befassen, ein besseres Platinenlayout zu Designen und in diesem auch freilaufdioden mit ein zu planen. Zu letzt möchte ich mich, nocheinmal ganz herzlich bei euch allen, für eure super hilfreichen und nützlichen Tipps bedanken! Danke das Ihr euch die Zeit genommen habt, mir bei meinem Problem zu helfen!!! Ein ganz dickes lob von mir an euch. Danke nerv-seele
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.