Hallo liebe Forenmitglieder, ich habe leider ein Problem mit meiner selbstentwickelten Leiterplatte mit aufgestecktem Arduino Nano als Gehirn. Und Entschuldigung für den langen Text. Die Platine besitzt 4 12V-Mosfetausgänge und 4 Relaisausgänge (ebenfalls über Mosfets als Verstärker geschaltet). Dazu noch Steckkontakte für die Eingänge, die ein Nano so hat. Über den Relais sind Freilaufdioden verbaut. Die Schaltung soll das Schließen und Öffnen meines Hoftores per 12V-Pneumatikventil sowie den dazugehörigen 230V Kompressors und ein 230V Magnetventil (beide mit Snubber über die Relaiskontakte) steuern, das Ganze funktioniert pneumatisch. Rein vom Programmcode her funktioniert das auch so, wie es soll. Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. Dazu gehören: -zufälliges Schalten von Ausgängen durch den Arduino, selbst wenn sie im Programmcode gar nicht vorkommen -Aufhängen des µC, selbst der Watchdog funktioniert dann nicht mehr -Veränderungen von internen Variablen -nach einigen Schaltvorgängen dann im µC einen Kurzschluss nach Masse im µC, bis jetzt sind 5 Stück für die Tests gestorben Mit meinem Oszi habe ich versucht, dem Problem auf die Spur zu kommen, wobei ich alle möglichen Kombinationen ausprobiert habe. 12V-Leitung, 5V-Pin am Arduino, Gate-Leitungen der Relais-Mosfets und einiges mehr, alles ohne Spannungsspitzen o.ä. Allerdings hatte ich auf einem Arduino-Eingang buchstäblich auf der anderen Seite der Platine (Digital3 in den Plänen) Schwingungen zwischen ca. 7,5V und 3,5V gegen GND bei eingeschaltetem Relais (nicht beim Umschalten). Leider konnte ich kein Sreenshot machen, daher habe ich es auf Papier skizziert. Das Oszi hat eine Frequenz von 4kHz angegeben. 7,5V sind zuviel für den ATmega, aber um es besser zu machen, muss ich das Ganze erstmal verstehen (falls das überhaupt das eigentliche Problem ist). Natürlich erwarte ich keine Ferndiagnose inklusive Fehlerbehebung von euch, das muss ich schon selbst machen. Im Moment weiß ich allerdings nicht einmal, was ich überhaupt noch testen kann, um das Problem zu finden. Vielleicht könnt ihr mir mit Ideen, Gedankengängen oder Erfahrungen dabei helfen?
:
Bearbeitet durch User
trenn den Leistungsteil vom Steuerungsteil und verwende dafür sowas wie optokoppler, dein Hauptproblem sind die induzierten Spannungen der ohmschen Verbraucher beim abschalten ... auch hier zu finden unter dem Stichwort "Relaisansteuerung" ... viel Erfolg
Ich hab den Titel gelesen, das erste Bild angeklickt und dachte mir schon sieht aus wie 230 V. Für den Text brauchst Du dich doch nicht entschuldigen. Das Thema ist buchfüllend. https://public.flux.ai/assets/pdf/guide-to-gnd-fills-and-power-planes.pdf
Die angesprochene Trennung von Last- und Steuerkreis ist zwar prinzipiell eine gute Idee, aber nachträglich ohne die entworfene Leiterplatte nochmal neu zu entwickeln, nicht machbar. Was du versuchen kannst: - auf die 5V Versorgung eine 5V TVS Diode setzen, die alles über 5V gegen Masse ableitet, ähnlich wie eine Z-Diode. - 10µ und 100n am 7805 ist auch das absolute Minimum. Nimm für C2 1000µ low ESR, gerne auch einen Gel-Elko. - direkt am Arduino zwischen Masse und 5V darf es ruhig nochmal 47µ low ESR und 100n KerKo sein. Dann solltest du auf der Spannungsversorgung Ruhe haben.
@denis: die meisten Probleme im Atmega (unerwünschtes Schalten, Aufhängen, etc.) habe ich beim Einschalten der Relais, nicht beim Auschalten. Außerdem hatte ich sowohl die Relaisspulen als auch die Verbraucher-Leitungen an den Relais-Ausgängen mit dem Oszi überprüft, es sah alles normal aus. Am Ansteuer-Mosfet und den Relais-Ausgängen keine Spannungspitzen/Ausreisser. Soweit ich das überprüfen kann, tun Freilaufdioden bzw. Snubber ihren vorgesehenen Dienst @alecxs Danke für den Link, ich bin schon am Lesen
Gerald B. schrieb: > - auf die 5V Versorgung eine 5V TVS Diode setzen, die alles über 5V > gegen Masse ableitet, ähnlich wie eine Z-Diode. Bei der 5V-Versorgung habe ich keine Probleme, die ist stabil. Die Spannungsspitzen sind an einem Taster-Eingang des Arduino (D3). Aber du hast Recht, bei der nächsten Platine werde eine Diode mit einbauen, für den Fall der Fälle > - 10µ und 100n am 7805 ist auch das absolute Minimum. Nimm für C2 1000µ > low ESR, gerne auch einen Gel-Elko. Ich hatte gelesen, dass es keine Elkos am Regler-Ausgang sein sollten und auch nicht größer als am Eingang, wegen Rückwärtstrom beim Verlust der Eingangsspannung? > - direkt am Arduino zwischen Masse und 5V darf es ruhig nochmal 47µ low > ESR und 100n KerKo sein. Machen 10mm wirklich einen Unterschied? Hätte ich so jetzt nicht gedacht
vermeide, Eingänge so völlig ungeschützt zu benutzen. da jede Leitung eine Antenne ist, fängst du dir dort Radiowellen und kurze kräftige Spannungsspitzen bei Schaltvorgängen in der Nähe ein. Ich würde vor jeden Eingang mindestens einen 1k Ohm Widerstand legen. Dann werden die internen Schutzdioden nicht mehr überlastet. Gegen ungewollte Reaktion auf Radiowellen bzw. Induzierte Schaltimpulse hilft oft ein kleiner Kondensator vom Eingang nach GND, z.B. 1nF, in Kombination mit dem genannten Widerstand (oder anders gesagt: Ein R/C Tiefpass).
:
Bearbeitet durch User
Der 12V Bus ist unzureichend abgeblockt. Ich würde da an jede Relaisstufe noch mal 100nF-47µF einfügen und bei den Digital Out auch. Notfalls in SMD von unten an die Platine klatschen. Leitungen, die von der Aussenwelt ohne Schutz an den MC gehen, sind immer eine Quelle von Ärger. Filtern mit RC Gliedern ist sicher eine gute Idee. Oft reichen da schon 1k und 22nF.
:
Bearbeitet durch User
Bastian S. schrieb: > Bei der 5V-Versorgung habe ich keine Probleme, die ist stabil. Ich würde die Tipps zur Schadensbegrenzung erstmal versuchen, ob es was gebracht hat siehst Du dann schon.
Bastian S. schrieb: > Ich hatte gelesen, dass es keine Elkos am Regler-Ausgang sein sollten > und auch nicht größer als am Eingang, wegen Rückwärtstrom beim Verlust > der Eingangsspannung? Na ja, um dem vorzubeugen hast du ja schon U1 als Rückwärtsdiode. Wobei eine 1N4148 sowohl dort am Regler, als auch als Clamp am Relais "Spielzeug" ist. Ein 1A Modell kostet auch nicht mehr, ist aber u.U. niederohmiger, da größerer Halbleiterkristall u. dickerer Bonddraht verwendet wird. Nun zu den Eingängen: - wie lang sind deine Sensorkabel? - sind die geschirmt? Wenn die Kabel nicht nur ein paar cm lang sind, dann solltest du die Eingänge besser schützen. Am Eingang zwei Dioden, eine nach Gnd, eine nach +5V, dann noch ein RC-Glied davor. 10K vor den Eingang und dann 1µ KerKo gegen Masse. Ich hatte mal den Fall, das eine per PWM gedimmte 100W LED auf 1,5m Kabellänge mir den neben der LED sitzenden DS18B20 durch Übersprechen zerballert hat. Durch den 10K Widerstand werden die Ableitströme bei Überspannung begrenzt und über die Dioden abgeleitet. Das RC Glied fängt HF und andere kurze Störimpulse weg. In derartigen Fällen darf es ruhig etwas "Overengeneering" sein. ;-)
Warum wurden Masse- und Spannungssymbole für Schaltpläne erfunden? Damit er übersichtlicher wird! Warum sind zwischen Last- und Steuerkreis bei Netzspannung Luft- und Kriechstrecken vorgeschrieben? Damit eine gewisse Sicherheit da ist! Wo sind die bei dir? Die Diode über dem Spannungsregler kannste weglassen, ist unnütz. Ansonsten haben meine Vorredner schon einiges Verbesserungswürdiges gesagt.
Bastian S. schrieb: > per 12V-Pneumatikventil sowie den dazugehörigen 230V Kompressors und ein > 230V Magnetventil (beide mit Snubber über die Relaiskontakte) steuern, Hmm, der Kompressor hat keinen Snubber ? Ich sehe eine Menge Stellen, an denen man die Platinenschaltung anders machen würde. Aber das Schalten des Kompressors würde ich als primäre Störungsquelle ansehen. Deine Isolierabstände der 230V zu den 12V sind zu klein. Diese allerbilligsten Würfelzuckerrelais (Songle?) haben sowieso zu geringe Isolierwirkung https://www.mikrocontroller.net/articles/Leiterbahnabstände Und für einen Kompressor, die besseren schmeissen beim Anlaufen schon mal den Leitungsschutzschalter ziehen also mehr als 40A, ist sowieso eine zu hohe Last für so ein Relais. Wir wissen nicht wie viel Leistung dein Kompressor zieht, aber das Relais sollte eine AC3 Rating haben das über dem Kompressorstrom liegt. Das Songle hat gleich mal gar kein Rating im Datenblatt, das Finder 36.11-4001 taugt nur für 370 VA. Deine 12V gehen in einer Schleife um die geschalteten Relaisströme herum, das funktioniert wie eine Trafowicklung. Trotz Snubber an den Ventilen würde ich noch Snubber an den Relaiskontakten erwarten, schliesslich will man die hochfrequenten Anteile der Funken bedämpfen und nicht mit 1m Kabel wie eine UKW Antenne abstrahlen. Kritisch sehe ich all die direkt nach draussen geführten Arduino-Pins, für serielle und Analogeingänge, keine Ahnung was da dran hängt, aber wenn dort die Empfangsantenne zu den UKW Abstrahlungen der Relaisfunken dran sind bratzt das ganz schön in den Nano Masse für den Nano kommt ein Mal ganz rum über die Platine, an statt direkt vom Eingang parallel zum Weg der 12V->5V Regelung. Du musst eine neue Platine machen, Flicken wird hier nichts. Du könntest prüfen, ob es schon ohne geschaltete Verbraucher (also alles abstecken) gestört wird. Dann sind es schon die Relaisspulen auf der Platine und primär die Zuleitungsführung. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2 Wenn es dann aber funktioniert, schalte die Verbraucher per Hand, angeschlossen an dieselben 230V bzw. 12V, dann merkst du ob die Störung über die Versorgungsspannungszuleitung kommt. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.1 https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.6.4 Vor alle direkt nach draussen geführten uC EINGÄNGE würde ich gleich mal einen 10k Widerstand davorschalten, damit eine Überspannung nicht die Eingangsschutzdioden im AVR killt.
:
Bearbeitet durch User
Danke für die vielen Antworten, ich verusch gerade, mit dem Schreiben hinterherzukommen. @Sherlock + Matthias Der 1K-Widerstand ist bereits vorhanden, aber auf Kondensatoren dahinter wäre ich jetzt nicht gekommen, das ist eine gute Idee. Mit den 12V-Kondensatoren auch. @Gerald Größere Dioden kann ich einbauen, das sollte kein Problem sein. Das Kabel ist ca.20cm lang und geschirmtes LAN-Kabel mit dem Schirm an Masse. Wären die Dioden da trotzdem sinnvoll? Ich hab übrigens einige Wochen an dem Design gesessen und versucht, an jeden erdenklichen Fall zu denken. Offenbar hat es einen Grund, warum das ein eigener Beruf ist :-D
Bastian S. schrieb: > Die Schaltung soll das Schließen und Öffnen meines Hoftores per > 12V-Pneumatikventil sowie den dazugehörigen 230V Kompressors und ein > 230V Magnetventil (beide mit Snubber über die Relaiskontakte) steuern, > das Ganze funktioniert pneumatisch. > Rein vom Programmcode her funktioniert das auch so, wie es soll. > > Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. > Dazu gehören: > > -zufälliges Schalten von Ausgängen durch den Arduino, selbst wenn sie im > Programmcode gar nicht vorkommen > > -Aufhängen des µC, selbst der Watchdog funktioniert dann nicht mehr > > -Veränderungen von internen Variablen > > -nach einigen Schaltvorgängen dann im µC einen Kurzschluss nach Masse im > µC, bis jetzt sind 5 Stück für die Tests gestorben AUA! Dann ist MASSIV was faul! Dein Schaltplan ist verbesserungswürdig. Schaltplan richtig zeichnen Mit langen Leitungen, die direkt an deinen Arduino/AVR gehen, kann man sich schöne Überspannungspulse einfangen, die im Zweifelsfall auch genug Dampf haben, den IC zu schädigen, im Extremfall zu zerstören. Da gehören MINDESTENS ein paar RC-Filter hin. 10k+10nF oder mehr. Deine serielle Verbindung hat das gleiche Problem. Da sollte man wenigstens ein paar Vorwiderstände setzen, so 1k. Deine Relaisansteuerung ist OK, wenn gleich die MOSFETs massiv überdimensioniert sind. Naja. Die Isolationsabstände der Relaiskontakte sind für 230V AC zu klein. https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#230V_Netzspannung_schalten Ohne zu wissen, wie du diese Signale gemessen hast, bringt das praktisch nix. Mit hoher Wahrscheinlichkeit sind das induktiv eingekoppelte Störungen im Tastkopf. D8 schließt deine 12V kurz. Dein GND-SIG ist nur einmal an Arduino angeschlossen, sonst nirgendwo. Das geht schief. Dur glaubt, damit was entkoppeln zu können oder müssen, in Wahrheit hohst du dir im Zweifelsfall ordentliche transiente Stöme durch den Arduino damit rein. Alle GNDs aller Steckverbinder müssen DIREKT an GND der Platine angeschlossen werden! Deine Masse ist auch relativ "schleifig". Das kann funktionieren, muss nicht. Man sollte die eher stern- oder baumförmig führen und keine Scheifen aufmachen. Gerade wenn viele, lange Leitungen angeschlossen sind, will/braucht man einen sehr gute, niederohmige, zentrale Masseführung. Dein Platine hat eine geringe Signaldichte. Da kann man die Unterseite als Massefläche nutzen und fast alle Signale auf der Oberseite führen. Viele deiner Signale sind viel zu dick. 0,25-0,3mm reichen locker. VIAs 0,6-0,8mm sind OK. Richtiges Designen von Platinenlayouts
Was man testen kann. Alle Relais einzeln im 1s Takt schalten lassen, aber ohne angeschlossene Lasten. Wenn dann nix Komisches passiert, ist die reine Ansteuerung nicht das Problem.
Bastian S. schrieb: > Problem mit meiner > selbstentwickelten Leiterplatte mit aufgestecktem Arduino Nano als Deine KiCaddatei ist für mein "altes" KiCAD 7.0 zu neu. Speicher es im "alten" Format, damit es auch Leute mit "altem KiCAD lesen können.
Michael B. schrieb: > Bastian S. schrieb: >> per 12V-Pneumatikventil sowie den dazugehörigen 230V Kompressors und ein >> 230V Magnetventil (beide mit Snubber über die Relaiskontakte) steuern, > > Hmm, der Kompressor hat keinen Snubber ? Nein, hat er nicht. Zumindest keinen, den ich sehen könnte. > Aber das Schalten des Kompressors würde ich als primäre Störungsquelle > ansehen. > > Deine Isolierabstände der 230V zu den 12V sind zu klein. Diese > allerbilligsten Würfelzuckerrelais (Songle?) haben sowieso zu geringe > Isolierwirkung > > https://www.mikrocontroller.net/articles/Leiterbahnabstände Die Leiterbahnabstände habe ich schon erkannt. Und ich weiß, dass das so nicht sein sollte. Manchmal sieht man das Layout vor lauter Leiterbahnen nicht mehr > > Und für einen Kompressor, die besseren schmeissen beim Anlaufen schon > mal den Leitungsschutzschalter ziehen also mehr als 40A, ist sowieso > eine zu hohe Last für so ein Relais. > > Wir wissen nicht wie viel Leistung dein Kompressor zieht, aber das > Relais sollte eine AC3 Rating haben das über dem Kompressorstrom liegt. Es ist ein Kühlschrank-Kompressor mit 80W und er Anlaufstrom beträgt max.2A, wenn er es nicht schafft, anzulaufen. > Deine 12V gehen in einer Schleife um die geschalteten Relaisströme > herum, das funktioniert wie eine Trafowicklung. Ja, das macht Sinn. > Trotz Snubber an den Ventilen würde ich noch Snubber an den > Relaiskontakten erwarten, schliesslich will man die hochfrequenten > Anteile der Funken bedämpfen und nicht mit 1m Kabel wie eine UKW Antenne > abstrahlen. Die erwähnten Snubber sind an den Relais-Ausgängen, allerdings Kabelgebunden. > Kritisch sehe ich all die direkt nach draussen geführten Arduino-Pins, > für serielle und Analogeingänge, keine Ahnung was da dran hängt, aber > wenn dort die Empfangsantenne zu den UKW Abstrahlungen der Relaisfunken > dran sind bratzt das ganz schön in den Nano Im Moment hängt da gar nichts dran. Würde da kurzschließen Sinn machen(wenn nicht in Gebrauch)? > > Masse für den Nano kommt ein Mal ganz rum über die Platine, an statt > direkt vom Eingang parallel zum Weg der 12V->5V Regelung. Du hast Recht!:-O Es sollte eigentlich verbunden sein, keine Ahnung welche Gehirnzelle sich mir da quergestellt hat. > > Du musst eine neue Platine machen, Flicken wird hier nichts. Ja, das ist richtig. Ich dachte mir, ich frag hier nach, damit ich den selben Murks nicht ein zweites Mal mache, nur anders. > > Du könntest prüfen, ob es schon ohne geschaltete Verbraucher (also alles > abstecken) gestört wird. Dann sind es schon die Relaisspulen auf der > Platine und primär die Zuleitungsführung. Ohne Verbraucher läuft es wie geschmiert. > > https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2 > > Wenn es dann aber funktioniert, schalte die Verbraucher per Hand, > angeschlossen an dieselben 230V bzw. 12V, dann merkst du ob die Störung > über die Versorgungsspannungszuleitung kommt. > > https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.1 > > https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.6.4 > > Vor alle direkt nach draussen geführten uC EINGÄNGE würde ich gleich mal > einen 10k Widerstand davorschalten, damit eine Überspannung nicht die > Eingangsschutzdioden im AVR killt. Das werde ich tun, danke! Und die Dokumente sehe ich mir natürlich auch an
Bastian S. schrieb: >> Deine 12V gehen in einer Schleife um die geschalteten Relaisströme >> herum, das funktioniert wie eine Trafowicklung. > > Ja, das macht Sinn. Nicht wirklich. Viele Kommentare vom Laberkopp sind einfach nur Unfug. So wie dieser hier. Selbst wenn das was koppel WÜRDE, wäre es harmlos, weil viel zu schwach. Die paar mA für die Relais mit Anstiegszeiten im ms Bereich tun keinem weh.
@ Falk, ich schau mal, ob ich das "alt" gespeichert kriege. Falk B. schrieb: > Deine Relaisansteuerung ist OK, wenn gleich die MOSFETs massiv > überdimensioniert sind. Naja. Ich wollte einfach keine extra bestellten und die hab ich säckeweise Falk B. schrieb: > D8 schließt deine 12V kurz. Hab ich deshalb auch nicht eingelötet :-) Die gesamte Masseführung ist im Nachhinein betrachtet tatsächlich nicht gut. Es gibt so Dinge, da will man einfach irgendwann fertig werden und nimmt Abkürzungen. Ich schätze, das ist so ein Fall, wo es nach hinten losgegangen ist
Offenbar kann man neue Kicad-Projekte nicht im alten Format speichern, tut mir leid "There’s no reliable way to convert the project back. The KiCad developers have decided to not support back conversion officially because it would require way too much work for little benefit for the project. The possible conversion process from v6 to v5 or in the future v7 to v6 is yet uncharted territory. Details will be added if the situation changes. (UPDATE: this is still true with v8 and v9.)"
:
Bearbeitet durch User
Bastian S. schrieb: > Ich hatte gelesen, dass es keine Elkos am Regler-Ausgang sein sollten > und auch nicht größer als am Eingang, wegen Rückwärtstrom beim Verlust > der Eingangsspannung? Das ist erst bei Spannungen >5V relevant. Gruss Chregu
Bastian S. schrieb: > Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. Auch ganz ohne Last? > Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. Auch ohne Last? > Mit meinem Oszi habe ich versucht, dem Problem auf die Spur zu kommen Miss mal mit dem Oszi "Masse gegen MAsse". Also die Masseklemme "links unten" an der Leiterplatte ankelmmen und die Messspitze auf die andere Massepunkte halten. Was siehst du? > 7,5V sind zuviel für den ATmega Oder auch nur ein Messfehler/Artefakt. BTW: so ein Schaltplan wird gleich zigtausendmal besser lesbar, wenn + oben und - bzw GND unten ist. Und für die Masse und die Versorgung dann auch die handelsüblichen Symbole verwendet werden. Derzeit hat das was von einem Wimmelbild. Ein Tipp: sieh dir einfach mal andere gut lesbare Schaltpläne an. Und nein: die D20..23 der "Digital"-Ausgänge sind keine Freilaufdioden, sie liegen lediglich parallel zu den Body-Dioden. Freilaufdioden müssten zwischen den Anschlussklemmen angebracht sein. Christian M. schrieb: > Bastian S. schrieb: >> Ich hatte gelesen, dass es keine Elkos am Regler-Ausgang sein sollten >> und auch nicht größer als am Eingang, wegen Rückwärtstrom beim Verlust >> der Eingangsspannung? > Das ist erst bei Spannungen >5V relevant. Und zudem noch einiges mehr dazukommt wie im Beitrag "Re: LM8705 gegen Rückspannung absichern" beschrieben. Falk B. schrieb: > Was man testen kann. Alle Relais einzeln im 1s Takt schalten lassen, > aber ohne angeschlossene Lasten. Das ist auch der übliche Weg der Inetriebnahme: erst mal muss die Leiterplatte ohne restliche Beschaltung absolut unauffällig und zuverlässig laufen, dann kommt erst der Rest dazu. Und zwar ein Verbraucher nach dem anderen. Es geht i.A. jämmerlich schief, wenn man die Schaltung malt, die Platine zusammenlötet, sie einbaut, dann alles bestromt und glaubt, dass das auf Anhieb funktioniert.
:
Bearbeitet durch Moderator
Wenn du nochmal eine Platine machst, kannst du auch gleich bessere Relais, bzw. welche mit besserem Footprint verbauen: https://www.pollin.de/p/hongfa-printrelais-hf115f-012-2zs4a-340835 https://www.pollin.de/p/zettler-printrelais-az742-2c-12de-12v-2-wechsler-300v-dc-tht-341015 Die haben weitere Abstände zwischen Kontakten und Spule.
Matthias S. schrieb: > kannst du auch gleich bessere Relais, bzw. welche mit besserem > Footprint verbauen Erstens das und zweitens dann auch gleich solche mit AgSn02 Kontakten.
Matthias S. schrieb: > Wenn du nochmal eine Platine machst, kannst du auch gleich bessere > Relais, bzw. welche mit besserem Footprint verbauen: Oder gleich SSRs, da hält man sich einige der Probleme von vornherein vom Hals, weil die keine Induktivität beinhalten und somit keine Ausschaltspitzen fabrizieren.
Ich kriege da immer Bauchschmerzen, wenn ich nur 100nF (C2) hinterm Spannungsregler sehe. Die Regler-IC können zwar prima 100Hz ausregeln, aber Transienten sind nicht ihr Ding. Ich würde besser 100µF .. 470µF nehmen. Eine Transzorb (SMBJ5,0A) schadet auch nicht. IO-Pins würde ich mit Widerständen in Reihe schützen (Ausgänge 100R..1k, Eingänge 1k..10k). GND geht ja erstmal um die ganze Welt bis zum Nano, das ist nicht gut. GND immer kurz und dick, am besten als Plane ohne lange Schlitze. Die ganzen 230V Teile mit größt möglichen Abstand zum Steuerteil. Das ist mir alles viel zu eng geroutet. Die Relais sind schlecht für 230V geeignet, der Mittenkontakt zwischen der Wicklung ist blöd. In Profigeräten sind Relais mit Kontakt und Wicklung räumlich getrennt, z.B.: https://www.reichelt.de/de/de/shop/produkt/miniatur-leistungsrelais_ftr-k1_24v_1wech_16a-79423 Da kann man dann viel Abstand im Layout lassen (>5mm).
Peter D. schrieb: > GND geht ja erstmal um die ganze Welt bis zum Nano, das ist nicht gut. > GND immer kurz und dick, am besten als Plane ohne lange Schlitze. Am besten vom Eingangs-Kondensator weg direkt zum µC/Logikteil und ebenfalls vom Eingangs-C weg direkt zum Leistungsteil. Das kann man hier mit Messer und Draht ganz einfach nachbessern. Und mit ein wenig Drüber-Schlafen sieht man beim Layout auch sonst noch Verbesserungspotential (grün umkreist).
:
Bearbeitet durch Moderator
Peter D. schrieb: > Ich kriege da immer Bauchschmerzen, wenn ich nur 100nF (C2) hinterm > Spannungsregler sehe. Die Regler-IC können zwar prima 100Hz ausregeln, > aber Transienten sind nicht ihr Ding. Was für ein Unsinn! Siehe Anhang! Und die 78xx brauchen offiziell nicht mal 100nF am Ausgang, auch wenn die vorteilhaft und empfohlen sind. > Ich würde besser 100µF .. 470µF > nehmen. Nö. > Eine Transzorb (SMBJ5,0A) schadet auch nicht. Hinter dem Spannungsregler? Braucht man in den allerwenigsten Fällen. > Die ganzen 230V Teile mit größt möglichen Abstand zum Steuerteil. Braucht man nicht. Solange man die Kriechwege von 4-6mm zwischen Netz und Steuerspannung einhält, kann man beliebig nah rangehen. SOOO viel koppelt da nicht über!
Lothar M. schrieb: > m besten vom Eingangs-Kondensator weg direkt zum µC/Logikteil und > ebenfalls vom Eingangs-C weg direkt zum Leistungsteil. Das kann man hier > mit Messer und Draht ganz einfach nachbessern. Lohnt sich hier nicht. Erstmal muss der Schaltplan aufgeräumt werden, dann das Layout. Dann eine neue Platine machen lassen. Nennt sich Lehrgeld. Ist heute eher billig.
Lothar M. schrieb: >> 7,5V sind zuviel für den ATmega > Oder auch nur ein Messfehler/Artefakt. Eine Störung mit 4V Vpp und 4 kHz? Soetwas entsteht bei statischem Schaltzustand nicht ohne Grund. Da muss ein bisschen mehr dahinter stecken (oder die Zeitachse der Skizze ist arg verzerrt). Einen 4kHz Takt saugt sich das Oszi nicht aus den Fingern. Der muss irgendwo aus dem System kommen.
Rainer W. schrieb: > Eine Störung mit 4V Vpp und 4 kHz? Wie ich schrieb: >>> Oder auch nur ein Messfehler/Artefakt.
Falk B. schrieb: > Was für ein Unsinn! Siehe Anhang! Da sieht man doch nichts. Interessanter wäre eine Zeitauflösung im µs-Bereich. Funken sind nämlich eher HF. Und bei 16MHz Takt kann schon ein 62ns Puls stören.
Falk B. schrieb: > Solange man die Kriechwege von 4-6mm zwischen Netz > und Steuerspannung einhält, kann man beliebig nah rangehen. Ich führe trotzdem keine Steuerkreise unnötig um die 230V Teile herum. Man kann das auch optisch gut trennen. Dann kann man auch nicht so leicht abrutschen und einen gewischt bekommen. Oft sieht man in Profigeräten eine dicke Trennlinie auf dem Overlay, z.B. im Schaltnetzteil. Oder sogar Ausfräsungen.
Serial0, I2C und einige Analogeingänge gehen ungefiltert raus. Laufen diese entlang der Leistungskabel? Wie ist deren Masserückführung, läuft da laststrom über die Masse?
Lothar M. schrieb: > Bastian S. schrieb: >> Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. > Auch ganz ohne Last? > >> Die Probleme entstehen, wenn die Relais an- oder ausgeschaltet werden. > Auch ohne Last? Wie bereits geschrieben, ist ohne Last alles Okay. > >> Mit meinem Oszi habe ich versucht, dem Problem auf die Spur zu kommen > Miss mal mit dem Oszi "Masse gegen MAsse". Also die Masseklemme "links > unten" an der Leiterplatte ankelmmen und die Messspitze auf die andere > Massepunkte halten. Was siehst du? > Ich hatte eine ähnliche Idee, festzustellen konnte ich keine Potentialunterschiede, von Ground-Bounce hab ich gehört/gelesen > BTW: so ein Schaltplan wird gleich zigtausendmal besser lesbar, wenn + > oben und - bzw GND unten ist. Und für die Masse und die Versorgung dann > auch die handelsüblichen Symbole verwendet werden. Derzeit hat das was > von einem Wimmelbild. Ein Tipp: sieh dir einfach mal andere gut lesbare > Schaltpläne an. Dies ist der Auszug aus dem Kicad-Schaltplaneditor, den man benutzen muss, um die Leiterplatte zu layouten, ein Anderer hätte für mich keinen Nutzen gebracht > Und nein: die D20..23 der "Digital"-Ausgänge sind keine Freilaufdioden, > sie liegen lediglich parallel zu den Body-Dioden. Freilaufdioden müssten > zwischen den Anschlussklemmen angebracht sein. > Das hat auch niemand behauptet. Es sind TVS-Dioden zur Überspannungsbegrenzung. Über den Sinn kann man sich streiten, aber so hatte ich es nunmal gemacht. > Christian M. schrieb: >> Bastian S. schrieb: >>> Ich hatte gelesen, dass es keine Elkos am Regler-Ausgang sein sollten >>> und auch nicht größer als am Eingang, wegen Rückwärtstrom beim Verlust >>> der Eingangsspannung? >> Das ist erst bei Spannungen >5V relevant. > Und zudem noch einiges mehr dazukommt wie im > Beitrag "Re: LM8705 gegen Rückspannung absichern" beschrieben. > Falk B. schrieb: >> Was man testen kann. Alle Relais einzeln im 1s Takt schalten lassen, >> aber ohne angeschlossene Lasten. > Das ist auch der übliche Weg der Inetriebnahme: erst mal muss die > Leiterplatte ohne restliche Beschaltung absolut unauffällig und > zuverlässig laufen, dann kommt erst der Rest dazu. Und zwar ein > Verbraucher nach dem anderen. Es geht i.A. jämmerlich schief, wenn man > die Schaltung malt, die Platine zusammenlötet, sie einbaut, dann alles > bestromt und glaubt, dass das auf Anhieb funktioniert. Das habe ich auch nicht so gemacht. Ich habe die Platine fertigen lassen, dann verlötet und auf dem Schreibtisch getestet. Daher weiß ich auch, dass sie im nicht eingebauten Zusatnd funktioniert. Auch im eingebauten Zustand ohne Verbraucher ist alles okay. Erst bei Einstecken von einem von beiden Verbrauchern (egal ob 230V-Magnetventil, Kompressor oder beidem) geht alles schief Rainer W. schrieb: > Lothar M. schrieb: >>> 7,5V sind zuviel für den ATmega >> Oder auch nur ein Messfehler/Artefakt. > > Eine Störung mit 4V Vpp und 4 kHz? > Soetwas entsteht bei statischem Schaltzustand nicht ohne Grund. Da muss > ein bisschen mehr dahinter stecken (oder die Zeitachse der Skizze ist > arg verzerrt). Einen 4kHz Takt saugt sich das Oszi nicht aus den > Fingern. Der muss irgendwo aus dem System kommen. Ich habe das Signal oder wie man es nennen möchte über bestimmt 10s gesehen und es bestmöglich nachgezeichnet. Ich denke, die Proportionen auf der Zeichnung habe ich ganz gut hinbekommen, lediglich die "Nulllinien" zwischen den Schwingungen waren etwas länger. Ich werde die Tage nochmal versuchen, das Oszi zu einem lesbaren Screenshot zu bewegen Flip B. schrieb: > Serial0, I2C und einige Analogeingänge gehen ungefiltert raus. Laufen > diese entlang der Leistungskabel? Wie ist deren Masserückführung, läuft > da laststrom über die Masse? Nein, die Steckkontakte sind unbenutzt. Signal-GND und Leistungs-GND wollte ich ursprünglich strikt trennen, aber da ist irgendwas beim designen gewaltig schief gelaufen, siehe 06.05.2025 20:14
Gerald B. schrieb: > Oder gleich SSRs, da hält man sich einige der Probleme von vornherein > vom Hals, weil die keine Induktivität beinhalten und somit keine > Ausschaltspitzen fabrizieren. Welche Ausschaltspitzen? Der Strom fließt durch die Freilaufdioden weiter bis die Energie abgebaut ist.
Sherlock 🕵🏽♂️ schrieb: > Gerald B. schrieb: >> Oder gleich SSRs, da hält man sich einige der Probleme von vornherein >> vom Hals, weil die keine Induktivität beinhalten und somit keine >> Ausschaltspitzen fabrizieren. > > Welche Ausschaltspitzen? Der Strom fließt durch die Freilaufdioden > weiter bis die Energie abgebaut ist. Na irgendwas muß ja sein, bei ihm. Und je weiter vorne ich in der Ursachenkette ansetzen kann, um so besser.
Peter D. schrieb: > Ich kriege da immer Bauchschmerzen, wenn ich nur 100nF (C2) hinterm > Spannungsregler sehe. Die Regler-IC können zwar prima 100Hz ausregeln, > aber Transienten sind nicht ihr Ding. Ich würde besser 100µF .. 470µF > nehmen Wo kommt der Unsinn her, aus derselben Quelle die eine Angstdiode rückwärts über den Spannungsregler empfiehlt ? Alles über 100nF ist nach einem 78xx schlicht wirkungslos, weil der Regler so schnell nachregelt, er braucht bloss 100nF um die Nachregelzeit zu übervrücken. Nur langsame low drop Regler möchten gerne 4.7uF oder mehr sehen. Bastian S. schrieb: > Erst bei Einstecken von einem von beiden Verbrauchern (egal ob > 230V-Magnetventil, Kompressor oder beidem) geht alles schief Bau bei beiden mal ordentliche Snubber (0.1uF/100R) nah an die Relaiskontakte. Wird aber nicht ausreichen. Falk B. schrieb: > Deine KiCaddatei ist für mein "altes" KiCAD 7.0 zu neu. Speicher es im > "alten" Format, damit es auch Leute mit "altem KiCAD lesen können. Bastian S. schrieb: > Offenbar kann man neue Kicad-Projekte nicht im alten Format speichern, > tut mir leid > "There’s no reliable way to convert the project back. Natürlich nicht, aber das weiss der ahnungslose Rotzlöffel Falk nicht, er pflaumt nur gern Leute an um sich überheblich besser zu fühlen.
Lothar M. schrieb: > Wie ich schrieb: >>>> Oder auch nur ein Messfehler/Artefakt Artefakte entstehen nicht aus heiterem Himmel.
Ich hatte ähnliche Effekte mit meinem DIY-10kW-Wechselrichter und DIY-BHKW-Motorsteuerung. Geholfen hat letztlich, alle Leitungen mit 10µH zu blocken, über die etwas einsteuen kann. Das betrifft ALLE Leitungen - nicht nur Signal-Leitungen. Eine dünne Leiterbahn nachträglich mit 10µH zu verdrosselen ist mit der 0805-Bauform oft problemlos möglich. Mehr Parallel-Cs o.ä. beheben nicht die Ursache. Gruss, Bernd
So sollte ein Schaltplan aussehen. Siehe Anhang. Und jetzt muss man nur noch KiCAD so einstellen, daß alle Texte als echte, suchbare Texte im PDF gedruckt werden! Denn Schaltpläne als PDF, wo man NICHT nach Namen und Bauteilwerten suchen kann, weil die Zeichen als Linien gemalt sind, sind maximal doof. Das Symbol für den Arduino muss man noch richtig erstellen. Man benutzt NICHT zwei einzelne Stiftleisten, auch wenn das mechanisch so aussieht! Denn die zwei Stiftleisten kann man im Layout gegeneinander verschieben, dann stimmt die Mechanik nicht mehr! Ein Sperren der Bauteile ist nur Murks. Mit einem einmal korrekt erstellen Symbol mit Footprint passiert das nie.
Och Falk, malst Du mir auch so einen schönen Schaltplan? Aber erst die OPV optimieren!
Michael B. schrieb: > Bastian S. schrieb: >> Erst bei Einstecken von einem von beiden Verbrauchern (egal ob >> 230V-Magnetventil, Kompressor oder beidem) geht alles schief > > Bau bei beiden mal ordentliche Snubber (0.1uF/100R) nah an die > Relaiskontakte. Wird aber nicht ausreichen. Über den Relaiskontakten hab ich nachträglich Snubber mit 0.22µF X2 und 220 Ohm eingebaut, aber wirklich was gebracht hat es nicht @Falk Ich bin tatsächlich gerade ziemlich beeindrukt, dass du dir die Mühe gemacht hast, den ganzen Schaltplan umzuorganisieren, Hut ab! Und ich hab keinen blassen Schimmer, warum ich nicht geschaut hab ob es den Nano nicht bereits als Footprint gibt. Das ist schon hart peinlich :-)
Die ADC Eingänge sind alle quasi ungeschützt. Je nachdem was da dran steckt, kommt die transiente ggf. Über diese Leitungen rein und killt den IC. Da würde ich möglichst nah am Arduino TVS setzen, 100..1k und ggf noch 1..10nF (je nachdem was möglich ist bei deinen Signalen). Die MOSFETs haben auch keinen Gate Vorwiderstand. D.h. der uC darf die 3,2nF vom Gate hart durch schalten... Ich würde da Mal 100R oder so dranmachen. Das sollte dann die strom-peaks an der Versorgung drastisch reduzieren... Snubbern wurde gesagt. 1A (Schottky) Diode auch statt der 4148 auch. Welcher Arduino ist es denn? Dabei meine ich 0815 aus beliebiger Quelle, oder das Original (die sind nicht alle gleich!)? 73
Hans W. schrieb: > Da würde ich möglichst nah am Arduino TVS setzen, Nö. Schutzdioden gehören möglichst nah an den Stecker. > Die MOSFETs haben auch keinen Gate Vorwiderstand. So what! > D.h. der uC darf die 3,2nF vom Gate hart durch schalten... Ach der Arme . . . . Der ist nicht so weich, wie es die meisten Leute glauben. Schon gar nicht, wenn damit popelige Relais im Sekundentakt geschaltet werden. Beitrag "Re: Transistor, 1A, 4MHz Schaltfrequenz" > Ich würde da > Mal 100R oder so dranmachen. Das sollte dann die strom-peaks an der > Versorgung drastisch reduzieren... Nö. Alles nur Gefühl und keine Sekunde wissen. > Snubbern wurde gesagt. > 1A (Schottky) Diode auch statt der 4148 auch. Wozu?
Hans W. schrieb: > Die MOSFETs haben auch keinen Gate Vorwiderstand. Habe ich noch nie gemacht, 24V schalten ist Pillepalle. Erst bei 300V oder ner PWM ist sowas nötig, aber dann auch mit Treiberstufe.
Peter D. schrieb: > Habe ich noch nie gemacht Ich schon. Als nämlich die Einschaltflanke vie zu steilflankig war und auf einen parallel geführten Analogeingang gekoppelt hat. Seither ist im Design vor jedem Mosfet-Gate ein Widerstand vorgesehen. Wenn sich bei der Inbetriebnahme herausstellt, dass er nicht benötigt wird, wird er im Kupfer gebrückt und kostet kein Geld.
Falk B. schrieb: > Der ist nicht so weich, wie es die meisten Leute glauben. Es gibt z.B. beim 328p ein abs-max rating für den pin von 40mA und 200mA für die Versorgungspins. Für mich gehört sich das, sich daran zu halten. Mit 100R bist du im peak zwar schon über die 40mA aber zumindest nur kurz. Falk B. schrieb: >> Snubbern wurde gesagt. >> 1A (Schottky) Diode auch statt der 4148 auch. > > Wozu? Snubber für induktive Lasten (Kompressor). größere Diode weil die 4148 500mA repetitive peak kann und da 4A für 4 Relays vorgesehen sind. Das könnte also eng sein... ohne die type zu wissen. Falk B. schrieb: > Nö. Schutzdioden gehören möglichst nah an den Stecker. Hängt davon ab, was tu machen willst. Damit z.B. ESD gar nicht auf das PCB kommt - ja, zum Stecker. Um den Pin am Arduino zusätzlich zu schützen bzw. zum schnellen Klemmen... nein, zum Arduino. Ich lass mir da auch schnelle Doppeldioden einreden... Hauptsache die Eingangsspannung geht nicht über die VCC Rail. Man sollte bedenken, dass hier irgendwas total im Argen liegt. Wenn das behoben ist, kann man ja gerne alle "das geht so schon"-Gepflogenheiten einfließen lassen. Im vorliegenden Fall bin ich aber für defensives Design bis man das eigentliche Problem kennt... 73
Hans W. schrieb: > Es gibt z.B. beim 328p ein abs-max rating für den pin von 40mA und 200mA > für die Versorgungspins. Für mich gehört sich das, sich daran zu halten. > > Mit 100R bist du im peak zwar schon über die 40mA aber zumindest nur > kurz. Hier eine IO-Pin vom ATmega328, aka Arduino Uno, welcher 10Ohm treibt. 828mA sind 82mA. Ganz ordentlich.
Wird ihm sicher beim schalten die Masse kurz ins negative abhauen und der ATMega "sieht" dann 7 oder 9V, statt 5V. Oder am Eingang liegt Spannung an, wenn die Kiste garnicht läuft und er versucht sich über die internen Dioden selbst zu versorgen und verheizt diese.
Hans W. schrieb: > Mit 100R bist du im peak zwar schon über die 40mA aber zumindest nur kurz. Nein, denn der Ausgangstreiber des µC hat einen Bahnwiderstand von ca. 50 Ohm. Probiers aus: auch ein kurzgeschlossener Ausgangspin kann sicher nicht mehr als 100mA treiben. EDIT: Dazu passen dann auch die Werte von Falk wie die Faust aufs sprichwörtliche Auge: 10 Ohm externe Last + 50 Ohm Bahnwiderstand ergeben an 5V einen Strom von rechnerisch 5V/60 Ohm = 83mA. Gemessen wurden 828mV/10 Ohm = 82,8mA. > größere Diode weil die 4148 500mA repetitive peak kann und da 4A für 4 > Relays vorgesehen sind. Keines der Relais hat einen Spulenstrom von 1A. Und die Freilaufdiode muss nur diesen Spulenstrom abkönnen. Und das auch nur sehr kurzzeitig, denn der Strom nimmt dann sehr schnell ab.
:
Bearbeitet durch Moderator
Bis jetzt noch nicht erwähnt: einen 10nF keramischen Kondensator an den Reset-Eingang des Arduino anschliessen! Vielleicht ist auf dem Modul schon einer drauf, aber ganz ohne ist das eine Garantie für Ärger!
Ich denke, es dürfte jedem klar sein (mir auf alle Fälle), das bei dem aktuellen Design selbst mit Pfusch und Zaubertricks nichts mehr zu retten ist. Ich werde mich jetzt dransetzen und das Layout komplett neu machen. Da Falk sich ja schon die Mühe gemacht hat, den Schaltplan zu verbessern (Danke dafür!), gibt es zumindest an dieser Stelle nicht mehr viel zu tun. Trotzdem habe ich mir die Posts natürlich alle durchgelesen und werde die Vorschläge einbauen, sofern noch nicht vorhanden. Sobald ich ein Layout zustande gebracht habe, werde ich das hier hochladen, damit auch ihr noch einmal drüber schauen könnt, falls Interesse besteht. Natürlich sind in der Zwischenzeit trotzdem Kommentare gern gesehen. Ich bin für alle Hinweise und Vorschläge, die bis jetzt gekommen sind und auch noch kommen werden sehr dankbar!
Bastian S. schrieb: > Anbei mal der neue Schaltplan Die Ansteuerung der Relais und der anderen MOSFETs ist Murks.
Bastian S. schrieb: > Anbei mal der neue Schaltplan Wo gehören die Freilaufdioden hin? Richtig: parallel zur Spule. Und überleg mal, ob die LED-Vorwiderstände nicht besser direkt am Portpin angeschlossen werden sollten. So wie sie derzeit verschaltet sind, hast du einen Spannungsteiler aus Gatewiderstand und Led+Vorwiderstand.
:
Bearbeitet durch Moderator
Bastian S. schrieb: > Anbei mal der neue Schaltplan Du bist ein echter Künstler. Du schaffst es, einen gescheiten Schalplan mit sinnvoller Schaltung wieder zu vermurksen.
Falk B. schrieb: > So sollte ein Schaltplan aussehen. Hallo Falk, finde ich auch echt toll, das Du Dir die Mühe gemacht hast, den Schaltplan neu zu zeichnen! +++
Es ist natürlich ärgerlich, wenn man soviel Arbeit reinsteckt und dann feststellen muss, es funzt nicht. Hinterher ist natürlich immer gut kluschei..., ist schon klar, aber ich hätte das Projekt gänzlich anders aufgezogen. Die LEDs z.B. würde ich über einen Pin des Nano seriell ansteuern (WS2812). Man braucht keine Vorwiderstände und ist in der Farbwahl völlig frei. Für die Relais hätte ich einzeln gesockelte Module mit Optokoppler benutzt, die z.B. über einen I2C-Expander angesteuert werden, auch hier nur 4 Leitungen zum Nano. Di ekann man gut durch Drosseln führen und/oder Ferrite dran machen. Ich hatte mal ähnliche Probleme mit der Steuerung (Arduino Uno) für einen stationären Staubsauger bei einer Autowaschanlage, mit Münzprüfer und Mini-TFT zur Restzeitanzeige. Ausserdem konnte man über einen Taster zwischen normal- und Turbomode wechseln ... Der Saugmotor hat mit seinem beachtlichen Strom und den daraus folgenden Störimpulsen alles am Arduino durcheinander gebracht. Im Gehäuse musste eine extra abgeschirmte Kammer aus Blech für die Steuerung eingeschweisst werden und die oben erwähnte optische Trennung aller Leitungen konsequent umgesetzt werden, bis es endlich stabil lief ...
Bastian S. schrieb: > Anbei mal der neue Schaltplan Die Ansteuerung der Relais wird auch nicht funktionieren. Der Spulenstrom muss durch die 620 Ohm! Warum hast Du wieder alles total umgemalt und dabei vermurkst. Falks Plan war doch super! Und warum liegt jetzt alles auf anderen Seiten. Was waren da die Beweggründe? Und Deine Analogeingänge haben außer den Rs auch noch keinen gescheiten Schutz. <kopfschüttel> Mein Tipp, verwirf deinen neuen Plan und nehme den Von Falk! Biiittteee! ciao Marci
Frank E. schrieb: > Die LEDs z.B. würde ich über einen Pin des Nano seriell ansteuern > (WS2812). Man braucht keine Vorwiderstände und ist in der Farbwahl > völlig frei. Im Ernst? Für popelige Status-LEDs WS2812? Ich glaub so langsam wird's echt schräg hier... ciao Marci
Marci W. schrieb: > Im Ernst? Für popelige Status-LEDs WS2812? Ich glaub so langsam wird's > echt schräg hier... > ciao > Marci Ja, absolut im Ernst: - es sind immerhin 8 Stück im Projekt, falls ich richtig gezählt habe - es macht bei WS2812 keinen Unterschied ob du 3 oder 30 steuerst - keine Widerstände erforderlich - Anzeige per Software beliebig änderbar ohne Lötarbeit - für alle LEDs zusammen nur 3 Leitungen (Vcc, GND und Daten) Du denkst einfach zu altmodisch ...
:
Bearbeitet durch User
Ich habe mir die Zeit nach der Arbeit genommen, um den Schaltplan zu zeichnen, damit es nicht heißt, ich würde um Hilfe bitten und danach einfach verschwinden. Dabei sind mir offensichtliche Fehler unterlaufen und ich hätte es nochmal Korrekturlesen sollen. Habe ich aber leider übersehen. Neugezeichnet habe ich ihn übrigens, weil 1. besser isolierte Relais empfohlen wurde, was ich unbedingt berücksichtigen wollte. 2. von Falk angemerkt wurde, das man keine 2 Pinleisten als Arduino-Sockel benutzt, also habe ich sie durch den Nano-Footprint ersetzt. @Falk + Marci Ich erkenne wirklich an, das Falk sich die Mühe gemacht hat, den Schaltplan zu zeichnen. Wenn ihr euch meinen 1.Post durchlest, werdet ihr bemerken, dass es mir eben nicht darum ging, einen fertigen Plan von einem Forenmitglied zeichnen zu lassen. Mein Ziel war es, mit Hilfe der erfahrenen Leute hier mein Wissen zu erweitern, damit ich in der Lage bin, auch in Zukunft in der Lage bin, eigenständig solche Projekte umzusetzen. Das Konzept nennt sich Lernen durch selber (Fehler) machen. @Frank.E Ich glaube, diese LED's wären hier sogar kontraproduktiv, das es nicht um die Beleuchtung des Schaltkastens geht, sondern um eine physische Kontrolle der Zustände der Ausgänge, unabhängig davon, ob der der Arduino softwaremäßig funktioniert. Ohne sie hätte ich vermutlich gar nicht erst bemerkt, das Ausgänge geschaltet werden, obwohl sie im Programmcode gar nicht vorkommen
Frank E. schrieb: > Du denkst einfach zu altmodisch ... Nein, ökonomisch! Die LEDs wird vermutlich fast nie jemand zu Gesicht bekommen. Es ist ja keine Ambient-Beleuchtung im Auto. Also mir wäre es zu blöd, für so ein Gimmick auch nur 2 Minuten Programmierzeit zu verwenden. Und wenn er nicht mal die paar Relais mit angeschlossener Last zum Laufen bringt, dann werden die WS2812 erst recht nicht funktionieren. Und wenn die LEDs nicht leuchten, weiß er auch nicht, ob nun die LED-Ansteuerung hakt, seine Programmlogik oder tatsächlich die Relais-Ansteuerung. Schon deshalb ist eine direkte Anbindung sinnvoll. ciao Marci
Bastian S. schrieb: > dass es mir eben nicht darum ging, einen fertigen > Plan von einem Forenmitglied zeichnen zu lassen. Mein Ziel war es, mit > Hilfe der erfahrenen Leute hier mein Wissen zu erweitern, Dein 2. Plan hat mit Deinem ersten Plan nichts zu tun. Die Anordnung der Bauteile ist komplett anders. Du hast funktionierende Schaltungsteile so geändert, das sie jetzt nicht mehr funktionieren (MOSFET- und Relais-Ansteuerung). Und bereits von anderen kommentierte Probleme sind nicht geändert (z.B. Schutz der Eingänge, abblocken des reset-Eingangs etc.) WARUUUUUMMMMMM???
:
Bearbeitet durch User
Lothar M. schrieb: > Peter D. schrieb: >> Habe ich noch nie gemacht > Ich schon. Als nämlich die Einschaltflanke vie zu steilflankig war und > auf einen parallel geführten Analogeingang gekoppelt hat. Seither ist im > Design vor jedem Mosfet-Gate ein Widerstand vorgesehen. Mal wieder die typische Pfuscherdiskussion. Der FET ist eine Kapazität mit theoretisch unendlichem Ladestrom, der außerhalb der Spezifikation des µC liegen wird. Ich bin da bei Dir, es gehört immer ein Widerstand vor das Gate. Je nach Strom und Spannung muß es auch kein FET sein, nur weil klassische NPN aus der Mode sind. Frank E. schrieb: > Für die Relais hätte ich einzeln gesockelte Module mit Optokoppler > benutzt, die z.B. über einen I2C-Expander angesteuert werden, auch hier > nur 4 Leitungen zum Nano. Di ekann man gut durch Drosseln führen > und/oder Ferrite dran machen. Ein Relais stellt selbst eine galvanische Trennung zwischen Ansteuerung und Last dar, da sind Optokoppler sinnlos. I2C ist ebenso unsinnig, der A*-Nano hat genug Ports für seine paar Relais. > Ich hatte mal ähnliche Probleme mit der Steuerung (Arduino Uno) für > einen stationären Staubsauger bei einer Autowaschanlage, Das zeigt nur, dass auch Du eine sinnvolle Leitungsführung zwischen µC und Lastkreis nicht beherrscht. Wenn man Strom aus der Steckdose hat, dürfen die Relais gerne an der rohen Versorgung mit 12 oder 24 Volt klemmen und sind damit von der µC-Versorgung entkoppelt.
Manfred P. schrieb: > Je nach Strom und Spannung muß es auch kein FET sein, nur weil > klassische NPN aus der Mode sind. Guter Tipp! Man muss sich auch keinen Kopf um die UgThr machen. Und robuster sind sie zudem! Aber Achtung: Frank E. schrieb: > Du denkst einfach zu altmodisch ... ;-) Ciao Marci
Manfred P. schrieb: > Der FET ist eine Kapazität > mit theoretisch unendlichem Ladestrom, der außerhalb der Spezifikation > des µC liegen wird Sehe ich auch so! Fühlt sich ohne Rg einfach nicht richtig an. Ist so wie ein Reset-Taster, der einen C kurzschließt. (Achtung: bezieht sich (noch) nicht auf die hier diskutierte Schaltung). ciao Marci
Manfred P. schrieb: > Mal wieder die typische Pfuscherdiskussion. Der FET ist eine Kapazität > mit theoretisch unendlichem Ladestrom, Ich habe noch nie einen FET mit unendlichen Ladestrom gesehen. Deine Theorie mag schön einfach sein, hat aber nichts mit einem realen FET zu tun - kurz: Es ist die falsche Theorie, um die Realität halbwegs abzubilden.
Gibt es noch Relais mit integrierter mechanischer Anzeige? Daran würde man sogar verklebte Kontakte erkennen.
Das höchste der Gefühle ist ne LED im Relais oder im Sockel. Die zeigt aber nur die Ansteuerung und nicht den Laststatus. Darüber "freue" ich mich auch regelmäßig, wenn ich im Rahmen meines Jobs Fehlersuche betreibe
Manfred P. schrieb: > Ein Relais stellt selbst eine galvanische Trennung zwischen Ansteuerung > und Last dar, da sind Optokoppler sinnlos. I2C ist ebenso unsinnig, der > A*-Nano hat genug Ports für seine paar Relais. Der TO kämpft mit massiven Störimpulsen, oder? Ich hab doch die Maßnahmen ausreichend begründet und mit eigenen Erfahrungen untermauert. Hier nochmal im Einzelnen: a) Durch den engen räumliche Aufbau von Spule und Schaltkontakten werden Störimpulse gut eingekoppelt. Durch den Optokoppler verringert sich der Effekt drastisch. Ausserdem ist man damit die Nebeneffekte der Induktivität direkt am MC los. b) Es geht überhaupt nicht um "die paar Ports", die übrig sind, sondern auch wieder um die Anzahl der Wege für Störimpulse. Wenige Leitungen lassen sich nun mal besser entstören als viele ...
:
Bearbeitet durch User
Frank E. schrieb: > a) Durch den engen räumliche Aufbau von Spule und Schaltkontakten werden > Störimpulse gut eingekoppelt. > Durch den Optokoppler verringert sich der Effekt drastisch. Nein. Durch den Abstand, den Optokoppler (wenn richtig eingesetzt) erzwingen, verringert sich die Störkopplung. Man kann diesen Abstand und Entkopplung aber absolut problemlos durch durchdachtes Layout und sinnvolle Bauteilplatzierung ebenfalls erreichen. Frank E. schrieb: > Der TO kämpft mit massiven Störimpulsen, oder? Oder auch sonstwas. Denn das, was Bastian S. schrieb: >>>> -nach einigen Schaltvorgängen dann im µC einen Kurzschluss nach Masse im >>>> µC, bis jetzt sind 5 Stück für die Tests gestorben schafft man nicht durch über einen engen Aufbau eingekoppelte Störungen. Dazu muss schon tatsächlich eine richtig hohe Energie in den µC eingekoppelt werden.
Frank E. schrieb: > a) Durch den engen räumliche Aufbau von Spule und Schaltkontakten werden > Störimpulse gut eingekoppelt. Durch den Optokoppler verringert sich der > Effekt drastisch. Blödsinn! Beweise das mal mit belastbaren Messungen! > Ausserdem ist man damit die Nebeneffekte der > Induktivität direkt am MC los. Schwachsinn^2! Millionen von Relais werden weltweit PROBLEMLOS mit einfache Transistoren geschaltet!
Falk B. schrieb: > Frank E. schrieb: >> a) Durch den engen räumliche Aufbau von Spule und Schaltkontakten werden >> Störimpulse gut eingekoppelt. Durch den Optokoppler verringert sich der >> Effekt drastisch. > > Blödsinn! Beweise das mal mit belastbaren Messungen! > >> Ausserdem ist man damit die Nebeneffekte der >> Induktivität direkt am MC los. > > Schwachsinn^2! Millionen von Relais werden weltweit PROBLEMLOS mit > einfache Transistoren geschaltet! Na dann ist ja alles klar. Wie viele funktionierende Steuerungen im EMP-verseuchter Umgebung hast du mit Mikrocontrollern in Nicht-Industrie-Qualität (eben Arduino) bereits erfolgreich gebaut?
Frank E. schrieb: > Wie viele funktionierende Steuerungen im EMP-verseuchter Umgebung hast > du mit Mikrocontrollern in Nicht-Industrie-Qualität (eben Arduino) > bereits erfolgreich gebaut? Irrelevant. Der Knackpunkt hier ist doch: wieviele µC (oder allgemein gesagt ICs) hast du allein durch eingekoppelte Störungen von Schaltflanken (aka Burst-Test) kaputtbekommen(**)? Ich noch keinen. Allerdings bekommt man eine Software ohne geeignete Eingangsfilterung (oder gar eine solche, wo Tasten mit Interrupts eingelesen werden) da gern mal ausser Tritt. (**)Dazu zählen nicht die, die mit der ESD-Pistole traktiert wurden. Da geht das kaputtmachen ganz einfach.
Falk B. schrieb: > Millionen von Relais werden weltweit PROBLEMLOS mit > einfache Transistoren geschaltet! Bei mir auch. Obwohl das eine hochohmige Schaltung ist. Und im direkten Streufeld des Netztrafos. Die Relaisplatine ist die zweite von oben mit den Steuerrelais (steht kopfüber), die dann Schütze steuern, die dann die Last schalten. Und dazwischen eine kupferkaschierte Platine an GND. ciao gustav Und am Relais sollte nicht geknausert werden. Wie oben schon gesagt wurde. n 1 pole 16A, 1 form A (NO) contact (AgSnO 2 or W pre-make contact + AgSnO 2) n Mono- or bistable coil n 5kV/10mm coil-contact
:
Bearbeitet durch User
Frank E. schrieb: > Marci W. schrieb: > >> Im Ernst? Für popelige Status-LEDs WS2812? Ich glaub so langsam wird's >> echt schräg hier... >> ciao >> Marci > > Ja, absolut im Ernst: > > - es sind immerhin 8 Stück im Projekt, falls ich richtig gezählt habe > - es macht bei WS2812 keinen Unterschied ob du 3 oder 30 steuerst > - keine Widerstände erforderlich > - Anzeige per Software beliebig änderbar ohne Lötarbeit > - für alle LEDs zusammen nur 3 Leitungen (Vcc, GND und Daten) > > Du denkst einfach zu altmodisch ... Ich stimme dem nur zum Teil zu, 2812er sind iwie "Projektabhängig". Bei diesem Projekt hätte ich die LEDs tatsächlich auch direkt parallel zum Relais gebaut, um sehen zu können "was da passiert". (Wurde ja schon genannt) Aber für Statusmeldungen nehme ich in letzter Zeit auch nur noch diese "kleinen" 2812er. Kann man sich abschneiden und passen von der Größe auch super. (Link soll nur als Beispiel dienen. Die gibts auch preiswerter wo anders, meine sind als 20er Streifen mit Kabel dran vom Amazon gekommen) https://www.led-stuebchen.de/de/ws2812c-2020-rgb-stripe-4mm-144-led-m Ist eben doch ein Unterschied, finde ich, ob die LED nun separat über eine SW-Routine gesteuert wird, oder tatsächlich von der Hardware. Ins Statusregister kann ich alles reinschreiben und trotzdem "vergessen" den GPIO fürs Relais als Ausgang zu definieren, um mal en konkrtes Beispiel zu nennen. Die Status-LED würde leuchten, die LED parallel zum Relais nicht. Bin gespannt, wie es weitergeht
:
Bearbeitet durch User
Frank E. schrieb: >> Schwachsinn^2! Millionen von Relais werden weltweit PROBLEMLOS mit >> einfache Transistoren geschaltet! > Na dann ist ja alles klar. Wie viele funktionierende Steuerungen im > EMP-verseuchter Umgebung hast du mit Mikrocontrollern in > Nicht-Industrie-Qualität (eben Arduino) bereits erfolgreich gebaut? Wo du so direkt fragst. Erst vor kurzem hatte ich einen kniffeligen Fall. Ein Arduino Uno steuerte ein paar 24V Relais über einen ULN2803 Treiber und noch bissel anderen Kram. Mit im Spiel war eine HV-Quelle mit bis zu 20kV, welche die Durchschlagsspannung eines HV-Relais prüfen sollte. Das Ding lief in der Vergangenheit einigermaßen stabil. Bis es vor ein paar Wochen zickig wurde. Beim ersten, leichten Durchschlag bei. ca. 15kV ist der Arduino zu 90% abgestürzt! Obwohl er in einer gut geerdeten Blechkiste sitzt! Scheibenkleister! Gegenmaßnahme. Die wild verdrahtete Lochrasterplatine mit dem ganzen Geraffel komplett neu als doppelseitige Platine mit viel Massefläche etc. incl. 3 metallisierter Befestigungsbohrungen für HF-taugliche Verbindung zur metallischen Grundplatte des Aufbaus (Verzinnte Kupferlage auf FR4). Außerdem Arduino Uno gegen den Nano getauscht. Ergebnis: Alles wie vorher! Alles sehr instabil! WAAAAAAAS? Nach einigem Stunden Grübeln und Probieren habe ich das Problem gefunden. Das Testobjekt hat einen Eisenträger für die Spule, der auch als magnetisches Joch arbeitet. Der war nicht geerdet. Beim Durchschlag der Kontakte koppelte dort kapazitiv ein Störpuls über und von dort in die Spule und deren Zuleitungen und über diese in die Steuerung bis in den Arduino. Er ging nicht kaputt, stürzte aber fast immer ab. Lösung: Der Eisenträger wurde auf der Grundplatte geerdet, dort ist auch die HV-Quelle direkt geerdet. Zusätzlich ein PI-Filter mit 2x1nF und 1x4,7uH in der Zuleitung der 24V Steuerspannung, (siehe Bild, unter dem Lüfter). Damit war es absolut stabil. Die Maßnahmen reichten einzeln aus, um reproduzierbar stabil arbeiten zu können. Aber doppelt hält besser. Und jetzt kommen alle Elektronik-Hypochonder und erklären mir mit MEINEM Beispiel, daß man alle Relais nur mit Optokoppler sicher ansteuern kann ;-)
Falk B. schrieb: > Und jetzt kommen alle Elektronik-Hypochonder und erklären mir mit MEINEM > Beispiel, daß man alle Relais nur mit Optokoppler sicher ansteuern kann > ;-) Nö, so absolut hab ich das doch garnicht gemeint, es ist eine mögliche Maßnahme. Dein Aufwand war ja auch nicht ohne. Ganz sicher gibts auch dutzende weitere Möglichkeiten. Am Ende muss man ja auch nicht alles, was es diesbezüglich gibt machen, sondern nur soviel, bis das Problem erledigt ist. Mir hat mehrfach die optische Entkopplung geholfen, danach hatte ich einfach kein Interesse, alternative Lösungen zu finden - warum auch? Zumal es ja Relais-Module mit Optokoppler fertig gibt, man hat also keinen zusätzlichen Aufwand. Und die Hersteller haben sich bestimmt auch etwas dabei gedacht ...
:
Bearbeitet durch User
Frank E. schrieb: > Mir hat mehrfach die optische Entkopplung geholfen, danach hatte ich > einfach kein Interesse, alternative Lösungen zu finden - warum auch? Full ACK Damit wird es auch irgendwie verständlicher, warum um ein Schütz anzusteuern, oft ein Koppelrelais verwendet wird. Das eine Störung 2 Level tiefer durchschlägt ist halt unwahrscheinlicher, als bei nur einer Stufe ;-) Wobei man auch nicht alle Relais über einen Kamm scheren kann. Gerade diese würfelzuckergroßen Relais betrachte ich mit Argwohn, wenn damit 230V und teils mehrere Ampere geschaltet werden. Selbst wenn die CE, UL und weiß der Geier noch für Zerifizierungen haben sollten. Ich hatte schon eine Heizungssteuerung auf dem "Seziertisch", wo so ein Miniaturrelais durch einen ausgebrannten Schaltkontakt die Wicklung mitgegrillt hat und den kleinen SOT23 BC-irgendwas, der das Relais seitens der µC Ansteuerung mitgerissen hat. Mit einer "gesunden" Größe wäre das nicht passiert.
Frank E. schrieb: > Mir hat mehrfach die optische Entkopplung geholfen, danach hatte ich > einfach kein Interesse, alternative Lösungen zu finden - warum auch? > Zumal es ja Relais-Module mit Optokoppler fertig gibt, Ja, vom Billigstchinesen. > man hat also > keinen zusätzlichen Aufwand. Vor allem aber Illusionen. Ggf. gefährliche Illusionen. > Und die Hersteller haben sich bestimmt auch etwas dabei gedacht ... Nö, die haben dumm kopiert, incl. der Fehler. https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#230V_Netzspannung_schalten
Frank E. schrieb: > Zumal es ja Relais-Module mit Optokoppler fertig gibt, man hat also > keinen zusätzlichen Aufwand. > Und die Hersteller haben sich bestimmt auch etwas dabei gedacht ... Um es umgangssprachlich aus der Sicht eines Profis zu sagen: einen Scheiß haben die sich dabei gedacht. Sonst wäre rechts und links vom OK nicht die selbe Masse. Gerald B. schrieb: > warum um ein Schütz anzusteuern, oft ein Koppelrelais verwendet wird. Das ist eher deshalb, weil das Ansteuersignal das halbe Ampere für den Schütz evtl. nicht aufbringt. Oder weil man vorher nicht weiß, woher das Steuersignal kommt.
:
Bearbeitet durch Moderator
Falls noch jemand Lust und Interesse hat, sich mein Ergebnis der Anmerkungen und Verbesserungsvorschläge anzusehen, hier die Dateien. Ich hab mein Möglichstes getan.
Bastian S. schrieb: > Anmerkungen BS170 ist nicht für Ansteuerung mit 5V spezifiziert. Das kann zwar gehen, muss es aber nicht. Wenn es unbedingt TO-92 MOSFET sein muss, dann nimm 2N7000. Der wird bei den meisten Herstellern auch für 5V Gatespannung spezifiziert. Ansonsten tuts da ja auch ein Bipolartransistor.
Bastian S. schrieb: > sich mein Ergebnis der Anmerkungen und Verbesserungsvorschläge anzusehen Wenn das eine "Universal-Platine" werden soll, dann würde ich eine taugliche Referenzspannungsquelle am AREF einplanen. Die muss ja nicht bestückt werden, wenn man sie nicht braucht. Aber eines sollte klar aus dem Datenblatt hervorgehen: die interne Referenz des µC ist zwar stabil, aber ziemlich ungenau.
H. H. schrieb: > BS170 ist nicht für Ansteuerung mit 5V spezifiziert. Das kann zwar > gehen, muss es aber nicht. Wieder typisch, aber sicher nicht der Grund für defekte Arduinos. > Ansonsten tuts da ja auch ein Bipolartransistor. Die sind doch vom Opa und nicht mehr zeitgemäß :-) Hier wären simple NPN tatsächlich sinnvoll. Und bei der Menge Strom für seine LEDs kommt es auf deren Basisstrom nicht mehr an. Was mir garnicht gefällt, sind die vielen offen herausgeführten Eingänge. An alle analogen gehört ein Teiler wie z.B. an seinem ADC1. Der wird dann je nach Bedarf mit passenden Werten bestückt. Auch die digitalen würde ich mit 1k nach GND versehen. Im derzeitigen Aufbau sollten alle unbenutzen Anschlüsse als Digital_Out mit Low initialisiert werden. Die analogen A0..A5 können das, heißen dann in Arduino D14..D19. A6/A7 manuell auf GND brücken. Offene Analogeingänge gehen garnicht, die haben mich mal einen ProMini gekostet, der aus unerfindlichen Gründen heftig Strom zog. Ansonsten hat es hier mal einen zerrissen, der versehentlich um 30V auf einen Port bekam. Lothar M. schrieb: > Aber eines sollte klar aus > dem Datenblatt hervorgehen: die interne Referenz des µC ist zwar stabil, > aber ziemlich ungenau. Für ein Einzelstück definiere ich am Anfang einen Korrekturfaktor, der in die Umrechnung Digits zu Volt mit einfließt:
1 | float CalFaktor = 0.982; |
2 | ..
|
3 | float FaktorBattVolt = 71.985 * CalFaktor; |
4 | ..
|
5 | BattLevelRead = analogRead (1); |
6 | BattVoltage = (BattLevelRead / FaktorBattVolt); |
Dann reicht es, beim Austausch nur den CalFaktor anzupassen.
Frank E. schrieb: > Und die Hersteller haben sich bestimmt auch etwas dabei gedacht ... Durchaus, aber das könnte eine eskalierende Diskussion werden. Häufig sind auf den Breakout-Boards Relais, die für 240V-Bedingungen nicht ausreichend wären, aber für 130V würde es reichen. Das sollen dann der Optokoppler lösen. Wenn nur nicht bei den meisten Platinen die Massen verbunden wären... Billige Massenproduktion mit gleicher Bestückung für alle Platinen.
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.