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?
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.
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
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).
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.
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.
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.
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.
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.
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
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 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.
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.
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.
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.
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.
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
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.
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.)"
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?
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.
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?
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.
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.
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).
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!
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.
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.
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.
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?
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.
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?
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
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
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
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.
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.
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.
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.
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!)?
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.
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.
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...
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.
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.
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!
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.
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 ...
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!
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
besser isolierte Relais empfohlen wurde, was ich unbedingt berücksichtigen wollte.
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
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.
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.)
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.
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.
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
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.
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
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 ...
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.
-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.
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!
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?
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.
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
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.
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 ;-)
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 ...
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.
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 ...
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.
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.
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.
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.
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.
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.