Hallo zusammen. Mein Projekt ist auf der Zielgeraden gescheitert. Bevor ich es jetzt neu angehe wäre ich dankbar über Ideen, die ein weiteres scheitern minimieren. Was war mein Ziel? Eine Homeautomation umzusetzen mit geringen Kosten und hoher Flexibilität. Hier speziell ging es um eine zentrale Rolladen-Steuerung. Versuch 1 basierte auf einen Raspberry mit Fhem und einem Arduino Mega als IO. Daran 2 China Relaiskarten (ja ich weis. Das ist nicht jedermanns Sache, aber man bekommt sie so leicht). Eigentlich war Versuch 1 extrem zuverlässig, trotz des fliegenden Aufbaus und hat 2 Jahre gut funktioniert. Wieso also nicht alles neu machen. (Ja, das weis ich auch, aber wo bleibt der Spaß. Außerdem kommen noch neue Rollläden dazu). Versuch 2 sieht dann so aus: Ein Arduino Nano mit CAN Interface. DC/DC Wandler von 24V auf 5V. (Spannung über Busleitung) Über I2C 2x MCP23017 und auf 32 Relais verteilt. Nebenbei gibt es noch ein CAN zu MQTT Gateway, eine CAN Zisternen-Füllstandsmesser und eine CAN Wetterstation. Tut aber hier erst mal nichts zur Sache. Nun zu meinem eigentlichen Problem. Die Steuerung läuft super, solange sie auf dem Tisch liegt. Eingebaut hat die linke Relaisplatine L2 und die rechte L3. Die Steuerung selbst wird über 24V über den CAN Bus versorgt und mit DC/DC Wandler auf 5V transformiert. Relais ohne Last lassen sich schalten. Wenn die erste Last kommt (Manchmal geht es auch bis zur vierten gut. Aber immer nur ein Relay auf Einmal) stürzt der MCP Portexpander ab. Die Steuerung erkennt das und resetet die Bausteine. Es geht zwar weiter, aber einen stabilen Zustand konnte ich aber nicht herstellen. Was ich bisher versucht habe: - Externe Spannung für Releais einschleusen. (Bringt nichts) - I2C Kabel schirmen. Alufolie auf GND. (Ich fande es etwas besser. Kann aber Einbildung sein) - Gehäuse für MCP gedruckt und mit ALU Folie geschirmt. (Bringt nichts) - I2C Widerstände von 10kOhm auf 3,3 kOhm (Bringt nichts) - Blockkondensatoren an MCP 100nf und einen ELKO 100uF (Bringt nichts) - Digitalausgänge 20cm verlängert um dem mcp von den Relais zu entfernen (kein Erfolg) - I2C Leitung vom Arduino als Ausgang geschaltet und zwei Relais direkt angesteuert. Testprogramm geschrieben. Die zwei Relais schalten zuverlässig im 10 Sekunden-Takt inkl. der Rolladen-Motoren. Hier gibt es kein Problem, trotz der 20cm Kabel-Verlängerung Ich vermute ein übersprechen auf den Relaisplatinen, die über den digitalen Ausgang den MCP zum Absturz bringt. Hab ich aber nicht gemessen. Wie mache ich jetzt weiter? Andere Relais? Hat jemand vielleicht Erfahrung. Von Conrad hatte ich mal welche in einem Projekt. Die waren zuverlässig. Die sind aber etwas oversized (Netzteil+Controller+RS232) und doppelt so groß. Mit Ferrit kenne ich mich nicht so aus. Vielleicht an die Zuleitung der Rolläden? Vielleicht einen anderen Expander oder einen weitern Baustein als Bustreiber? Oder ich nehme Arduino's als Expander. Von EMV hab ich bisher nur sehr wenig Ahnung (leider). Fotos der zwei Versionen habe ich mal angehängt. Bei den Relais ist der Wechsleranschluss zwischen der Spule. Aber die Platine ist ausgefräst. Die Versorgung Optokoppler und Relais lässt sich zwar auftrennen, aber der GND ist verbunden. Jetzt seit ihr dran. Vielleicht hat ja jemand den TIP für mich.
Fange mal damit an, größere geeignete Relais zu verwenden. Diese Relais erfüllen nicht die Anforderungen des VDE, was Isolations-Abstände angeht. Was die Anfälligkeit für elektromagnetische Störungen angeht, brauchen wir den Schaltplan und das Layout deiner Platinen (auch vom Lochraster), um dir weiter zu helfen. Ich vermute fehlerhafte Leitungsführung und/oder falsch platzierte Kondensatoren. Die fertigen Module kannst du gerne als Modul (Blackbox) einzeichnen.
Wolfgang P. schrieb: > Wie ist denn der Reset pin des MCP2307 beschaltet? Guter Einwand. Der hängt nur am GPIO des Controllers. Werde mal einen stärkeren Pullup ausprobieren.
Schaltplan ist leider auf der Strecke geblieben. Da werde ich mich mal dran setzen. Layout. Hm. So würde ich das nicht nennen. Es ist mit Litze direkt verdrahtet. Ich dachte schon mal dran fertige Platinen zu Layouten. Kicad lief etwas Buggy in Ubuntu. Das ist Neuland für mich und wurde erst mal hinten angestellt.
Wie sind denn SDA und SCK beschaltet, Pullup evtl. zu gross?
schau Dir mal SDA und SCK mit dem Oszi an, 3k3 als Pullup müsse reichen, ggf. auch mal 1k8 probieren (falls Vdd=5V, 1k5 bei Vdd=3.3V)
Timo P. schrieb: > Layout. Hm. So würde ich das nicht nennen. Es ist mit Litze > direkt verdrahtet. Auch das kann man aufmalen. Gerne auch mit Stift auf Papier, wenn dir das leichter fällt. Ich Zeichne gerne mit Bleistift und scanne das dann ein. Im Malprogramm kann man dann mittels Farbkorrektur aus den grauen Linien schön schwarze machen.
GND-Problem? Sind die GND-Verbindungen zu wenig / zu dünn? Auch wenn es aktuell nichts bringt: 3k3 für I2C ist besser als 10k.
Also ich habe gerade meine Torsteuerung erweitert. Läuft auch mit einem StepDown von 37V DC auf 5V, angeblich 3A. Da hängen nur 2 kleine Relais (60Ohm) dran. Ohne Puffer-Elko + ordentliche Zuleitungen startet der RPZ bei 20 Schaltvorgängen 1x bis 2x neu. Am Oszi sind die Einbrüche gut zu erkennen.
Wie werden die Relais versorgt? Hoffentlich nicht mit den gleichen 5V wie der Controller? Und Bitte nicht über die dünnen Adern am Controller unten rechts.
Stefan ⛄ F. schrieb: > Fange mal damit an, größere geeignete Relais zu verwenden. Diese Relais > erfüllen nicht die Anforderungen des VDE, was Isolations-Abstände > angeht. Immer wieder der gleiche Unsinn Ja, in ein Kinderspielzeug das am Ende 230V schaltet würde ich sie auch nicht einbauen Aber was spielt der Isolationswiderstand in einem in sich geschlossenen System für eine Rolle? Verstehe nicht warum die Teile immer schlechter gemacht werden als sie sind?
Heinz R. schrieb: > Aber was spielt der Isolationswiderstand in einem in sich geschlossenen > System für eine Rolle? Das System ist nicht in sich geschlossen. Beachte das USB Kabel im linken Foto, bzw die Info, dass der Arduino Nano ein CAN Interface hat. Das wird er ja nicht eingebaut haben, ohne es zu nutzen.
Moin, Ich habe mir gerade Euern Thread und Installationsbild hier angeschaut. Ich vermute stark, daß das Fehlverhalten der Portexpander nur unter (hoher, induktiver) Last auftritt und die internen Register des MCP23017 drahtlos durch den Einfluß der beim Schalten auftretenden elektromagnetischen (EMP) Feldern wegen der geringen Entfernung zwischen EMP Quelle und Chip verursacht wird. Die Elektronik erscheint mir viel zu nahe am Ort des Schaltens. Mein Rat: Entferne beide Port Expander und Steuerung von den Relaisbords und baue die komplette Elektronik in ein Metallgehäuse mit gutverbundenem leitenden Deckel, meinetwegen eine leer kleine, geerdete Keksdose, ein. Die Ausgänge des MCP23017 sollten direkt am Chip jeweils 100-330 Ohm in Serie haben. Zusätzlich lege um das Relaiskabel-Steuerkabel eine aufklappbare Ferrit EMI-Hülse falls vorhanden. Das Reiaissteuerkabel sollte vorteilhalber auch abgeschirmt sein und nur an der Elekttonikseite mit der Abschirmung verbunden sein, bzw. am Keksdosengehäusekabelaustritt. Ganz wichtig: Alle Relaiskontakte sollten mit richtig bemessenen RC Snubbern oder richtig bemessenen MOVs ausgestattet werden. Das schützt die Relaiskontakte und reduziert die Bandbreite und Energie der EMP-Felder. Auch die Restliche Kabelwirtschaft soll von den Laststromkreisen so weit wie möglich getrennt bzw. abgeschirmt verlegt werden, so dass unerwünschte induktive Kopplungen somit unterbunden werden können. Das sollte vorerst reichen. Die beim Abschalten kollapsenden elektromagnetischen Felder erzeugen ein breites HF Spektrum mit großer Feldstärke und Energie welche bei dem gezeigten Abstand sehr leicht auf die Innereien vom MCP Chip Einfluß nehmen können. Die Bandbreite solcher EMP Felder reicht bis in den UKW Bereich. Wenn Du noch einen alten Magnastat Weller Lötkolben hättest, könntest Du das auch am Labortisch durch darüberlegen des Lötkolbenkabels in der Nähe des MCP demonstrieren. Jedesmal wenn der Magnstat abschaltet würde der MCP mit großer Wahrscheinlichkeit ähnlich reagieren. Ich kenne aus meiner langjährigen Praxis meine Pappenheimer;-) Ich mußte in meiner Praxis auch mit uC Leistungen im KW Bereich schalten und kenne damit auftretende Probleme. Da hilft nur konsequente Trennung bzw. Abschirmung von Steuerelektronik und Lastschaltkreisen. Versuch mal meine Vorschläge. Es wird mit sehr hoher Wahrscheinlichkeit Deine beschriebenen Problem beseitigen. Gerhard
:
Bearbeitet durch User
Hallo, vielen Dank schon mal für die vielen Antworten. Den Pullup für den Reset habe ich schon mal eingebaut. Einen Versuch war es Wert, hat aber nichts geholfen. Schaltplan hab ich schon mal angefangen. Ich dachte Fritzing wäre einfach... Ja, die Kabel sind dünn. Solange aber ein Relais alleine so zickt ist das erst mal Nebensache. Den MCP hatte ich ja schon in Alufolie. Auch mit 20 cm Verlängerung. (Zwischen MCP und Relais) Was ich gar nicht verstehe, ist das die GPIOs des Arduinos die Relais ohne Probleme steuert und der MCP fast bei jedem Versuch weg ist. Ich habe bisher mit GND geschirmt. Kann es aber noch mal gegen Erde versuchen. Ferrit um jede Datenleitung heißt 32 Stück??? Kann man nicht mehrere durch einen Ferrit führen? Der Motor zieht unter 1A und besitzt eine interne Elektronik. Was das genau heißt weiß ich nicht. Hoch und Runter gleichzeitig schadet ihm jedenfalls nicht. Ich werde noch mal die Widerstände in Reihe probieren. Wenn das ganze nur mit großem Abstand funktioniert hab ich von dem Portexpander auch nicht mehr viel nutzen. Dann könnte ich wieder auf den Mega gehen und die GPIOs direkt verbinden. Falls jemand ein Link für ein anständiges Relais Array hat nehme ich gerne. Finder auf Sockel ist mir bei 32 Stück zu teuer.
Hi Kannst auch mal 220pF an SCL/SDA gegen Masse versuchen. Hat bei uns schonmal Wunder gewirkt. I2C ist einigermaßen empfindlich gegen kurze Spikes. Matthias
Dann versuche mal, das Ganze mit nur einer Phase zu testen. Ich vermute, dass deine Störung hierher kommt.
1 Phase hatte ich auch schon mal. Macht kein Unterschied. Wenn ich die Relais auf der Steuerungsseite entkoppelt geht alles. D.h. der mcp steuert nur Optokoppler und LEDs auf dem Relaisboard. Ich tippe eher auf Strom statt Spannung. Ich werde mal messen. Leider geht das nicht am Tisch, da die Last fehlt. Da brauche ich etwas Zeit für.
Gerhard O. schrieb: > Die Elektronik erscheint mir viel > zu nahe am Ort des Schaltens. Das würd ich nicht so pauschal sagen, bei industriell gefertigten Komponenten aka KNX steckt auch alles zusammen. Dort wird aber sicher auch lang getestet das alles stabil läuft. Sascha
Gerhard O. schrieb: > Ganz wichtig: Alle Relaiskontakte sollten mit richtig bemessenen RC > Snubbern oder richtig bemessenen MOVs ausgestattet werden. Das schützt > die Relaiskontakte und reduziert die Bandbreite und Energie der > EMP-Felder. Wollte ich nur nochmal zitieren, weil das meiner Erfahrung entspricht und scheinbar überlesen wurde.
> Es ist mit Litze direkt verdrahtet.
Schön, dass du ws. hundert Anlaufstellen für Fehler eingebaut hast.
Stefan ⛄ F. schrieb: > Gerhard O. schrieb: >> Ganz wichtig: Alle Relaiskontakte sollten mit richtig bemessenen RC >> Snubbern oder richtig bemessenen MOVs ausgestattet werden. Das schützt >> die Relaiskontakte und reduziert die Bandbreite und Energie der >> EMP-Felder. > > Wollte ich nur nochmal zitieren, weil das meiner Erfahrung entspricht > und scheinbar überlesen wurde. Und ich halte das für überbewertet. Meine Timac Rolladenschalter von Busch-Jaeger haben fast 30 Jahre lang ohne Subber auch ohne Probleme geschaltet, da ist kein einziges Relais defekt trotz täglichem Schalten. Genauso wie ein Selbstbau für FS20 mit ATMega8. Genauso wenig bringt der Voodoo mit Alufolie und Ferriten. Was immer noch nicht beantwortet wurde ist die Frage nach der Versorgung der Relais. Kabelgebundene Störungen hauen deutlich heftiger rein und die Chinamodule haben oft die Möglichkeit die Versorgung über einen Jumper zu trennen und Logik und Relais seperat zu versorgen.
Ich vermute immer noch, daß die MCP durch EMP beeinflußt werden und man zumindest versuchshalber durch Größere Entfernung von den Relaisbords probieren sollte ob die Probleme dann nich vorherrschen. Ohne Last zu schalten dürfte auch ein guter Versuch sein. Da die Relaissteuerung über Optos angeschlossen ist, bin ich ziemlich sicher, daß EMP der Übeltäter ist. Sonst könnte auch eine schwache 5V Versorgung Einbrüche der MCP 5V Versorgung bewirken und für internes Logikchaos sorgen. Vielleicht mal einen 100uF Elko an den MCP Bords anbringen. Ich habe in meinen Arbeitsprojekten IO Expander für Schalten im kW Bereich eingesetzt und noch nie solche Probleme gehabt. Wir übersehen hier irgend etwas Wichtiges. Ich würde vorsichtshalber die Relaisbordversorgung direkt an der 5V Stromversorgung anschließen um wechselnden Stromlasten durch die Relaisspulen keine Spannungsschwankungen im Logikteil verursachen können. Wenn alle Relais eingeschaltet sind, fliesst durch die Spulen zusammen bestimmt ein Strom im niedrigen Amperebereich. Deshalb wäre eine getrennte Versorgungsleitung sehr wünschenswert. Der Logikteil (MCU, MCP) sollten auch direkt an der 5V Versorgung hängen. Dann gibt es keine Stromschleifen.
Haben A0, A1 und A2 einen definierten Zustand oder hängt da was in der Luft? Was passiert wenn sich der MCP "aufhängt"? Versuche mal mit einem Scanner ob Du ihn dann auf einer anderen Adresse findest? sind die Relais-Platinen mit oder ohne Optokoppler? sieht aus als wären da welche, aber viellecht täuscht das? Was ist das für eine Platine für den MCP? fertig gekauft oder selber layoutet? Schich doch mal Bezugsquelle oder Schaltplan? Als Alternative zum MCP23017 gäbe es noch den PCF8574 - dann brauchst Du aber 4 Stück für die 32 Kanäle
:
Bearbeitet durch User
Gerhard O. schrieb: > Wir übersehen hier irgend etwas Wichtiges. Naja, wir haben noch nicht viel zu sehen bekommen. Zum Beispiel würde mich die Masseführung interessieren.
Die Schaltung der Relais wird (bei den hier vorhandenen) Relais, die warscheinlich baugleich sind, durch einen Transistor vorgenommen, der sich auf der Platine des Relais sitzt. Daher kann die Induktivität nicht Einfluss auf den MCP haben. Fehlschaltungen sind aber durch Fehlsteuerung des Transistors denkbar. Könntnest du die Spannungen um den Transistor mal oszillographieren und hier einschreiben? Robert
Was passiert wenn die Relais nur leer schalten? Wenn es dann funktioniert, dann ist die Wahrscheinlichkeit von EMP recht groß. Dem Bild hach scheinen auf den Relaisbords Optoisolatoren eingebaut sein. Das sollte einfach keine Schwierigkeiten machen. Deshalb ist auch kein Grund da die MCPs so nahe bei den Lasten zu montieren. Ich habe IO Expander aller Art schon vielfach industriell eingesetzt und kein einziges Mal solche Probleme gehabt. Da ist etwas faul in Dänemark. Irgendwas kritisches wurde übersehen. Wie gesagt, die Stromversorgung der Relaisspulenschaltung sollte getrennt an der 5V Stromversorgung angeschlossen werden. Wenn alle Relais an sind, fliesst da bestimmt an 1A an Strom. Die MCP sollten zusammen mit den Steuersignalen an die Stromversorgung des Logikteil angeschlossen sein. Auch die Gesamtstrombelastung der Expander darf man nicht ganz ignorieren. So wie das zweite Bild aussieht, scheint das Flachbandkabel auch die Relais mitzuversorgen. Willst Du wirklich 1A übers Flachbandkabel fliessen lassen? Ich rate Dir wiederholt die Stromversorgung des Relais teils getrennt zu legen. Mir gefällt das wirklich nicht. Ist aber nur meine Meinung.
Hallo, so ich habe mal etwas dokumentiert. Geht leider alles nicht so schnell. Mir fehlt die Zeit. Ja, die Relais sind per Optokoppler betrieben. Die Wechsler-Kontakte liegen zwischen den Spulen, sind aber auf der Platine ausgefräst. Die Versorgung hatte ich schon mal getrennt. Ohne Erfolg. Ein Problem könnte darin bestehen, das der GND der Optokoppler und der Relais auf der Platine gebrückt ist. So ganz getrennt geht es also nicht. Ist aber gut möglich, dass sich diese mit dem Dremel auftrennen lassen. Die Schaltung arbeitet mit anliegender Spannung, wenn ich die Relais deaktiviere. Ich würde mich die Tage mal mit dem Oszi beschäftigen. Steht schon lange hier rum. So kommt es auch mal zum Einsatz. Mal sehn ob ich mit dem Kasten klar komme. Versorgungsspannung, Ausgang zum Relais, benachbarter Ausgang zum Relais, SDA würde ich mal beim Schalten messen. Ich bin prinzipiell nicht davon abgeneigt Platinen zu Layouten und zu bestellen. Ist ja auch ganz schön Lötarbeit. Aber auch das wäre neu für mich.
Timo P. schrieb: > Ich bin prinzipiell nicht davon abgeneigt Platinen zu Layouten und zu > bestellen. gut vielleicht solltest du von 230V die Finger lassen? (macht es nur schwerer erst Recht auf Platinen wer wenig Kenntnisse hat!) Also weg mit den Arduino Platinen an Netzspannung! Für die Hutschine gibt es Finder Relais mit Sockel! Zur Ansteuerung eignen sich dann Treiber IC die Relais mit richtigem Strom treiben welcher sich auch von Schaltvorgängen kaum stören lässt! OK der Leitungsaufwand steigt mir der Anzahl der Relais, dafür sind die sensiblen I2C weit weg von Störungen mit kurzen Leitungen dichter am Controller! Du bist auch relativ frei in den Relaisschaltspannungen, statt 5V eignen sich dann 12V oder 24V größerer Störabstand und bist frei in den Kontaktbeschichtungen für ohmsche oder induktive Lasten! Vor den Platinen kommt dein Konzept der Versuchsaufbau und dann...... Timo P. schrieb: > Mir fehlt die Zeit. Ja wir haben nie Zeit es richtig zu machen, aber alle Zeit der Welt es mehrfach zu machen.
Timo P. schrieb: > Ich bin prinzipiell nicht davon abgeneigt Platinen zu Layouten und zu > bestellen. Ist ja auch ganz schön Lötarbeit. Aber auch das wäre neu für > mich. Lass mal, die Lochraster Aufbauten sind nicht die Problemursache. Bei den GND und Stromversorgungs-Leitungen habe ich erwartet, eine deutliche Sternförmige Verdrahtung zu sehen. Habe ich aber nicht gefunden. Stattdessen sehe ich so eine Art Bus, der die Platinen in einer langen Reihe miteinander verbindet. Es ist ganz wichtig, dass jedes IC seine eigene GND Leitung bekommt, die möglichst direkt (ohne Schleifen) zum Spannungsregler führt. Gleiches gilt für die Stromversorgung. Bei den Relais fehlt dir die Möglichkeit, jedes einzeln zum Sternpunkt zu führen, aber immerhin kannst du jedem Board eine eigene Leitung spendieren. Ich würde also irgendwo zwei auffällige Klemmstellen erwarten, wo einerseits der 5V Wandler angeschlossen ist und andererseits 16 Kabel, die zu den einzelnen Platinen führen.
Joachim B. schrieb: > Also weg mit den Arduino Platinen an Netzspannung! Du meinst die Relais-Platinen, nicht den Arduino Nano. Ich habe nur einmal viele Relais an 230V verwenden müssen. Das hatte ich damals mit einem Elektriker Meister diskutiert. Wir hatten uns am Ende auf eine Reihe Finder Relais mit Hutschienen-Sockel verständigt die außerhalb "meiner Elektronik Box montiert wurden. Der Elektriker hat sogar Snubber installiert. Das war zwar ziemlich teuer, aber im Verhältnis zu den Gesamtkosten der Anlage war es dann doch nicht so schmerzhaft. Dafür war der verantwortliche Elektriker zufrieden und die Anlage hat auch zuverlässig funktioniert. Nach der Erfahrung würde ich es nächstes mal wieder so machen, falls möglich.
Stefan ⛄ F. schrieb: > Du meinst die Relais-Platinen, nicht den Arduino Nano. logisch ich meinte die Relaisplatinen für Arduino mit den kleinen blauen oder schwarzen Würfeln. Die Kontaktabstände sind nicht sicher, die Leiterbahnführungen oft auch nicht!
Joachim B. schrieb: > Die Kontaktabstände sind nicht sicher, die Leiterbahnführungen oft auch > nicht! Das darf man hier aber nicht sagen, dafür bekommt man ganz viel Minus. Siehe die erste Antwort von mir. Es ist jedes mal das gleiche.
Stefan ⛄ F. schrieb: > dafür bekommt man ganz viel Minus. viel Feind viel Ehr, so sehe ich das mittlerweile! möge doch jeder selber sich sein Urteil bilden, das muss man eh immer machen und dann merkt man schnell wer Blödsinn schreibt, Lernen und Kenntnisse vorausgesetzt und da wären wir wieder, am Lernen führt kein Weg vorbei.
:
Bearbeitet durch User
Joachim B. schrieb: > viel Feind viel Ehr, so sehe ich das mittlerweile! Ja. Sieh mal, es geht schon wieder los.
Stefan ⛄ F. schrieb: > Ja. Sieh mal, es geht schon wieder los. da hilft nur https://www.openthesaurus.de/term/edit/173210
Ich hab nebenbei zum testen mal ein Halbleiterrelais bestellt. Da sollte die Trennung besser sein. Außerdem sind angeblich Löschglieder integriert. Schalten bei Nulldurchgang. Könnte allerdings sein dass sie Probleme mit Induktivitäten haben. Ansonsten kommen die in die Sammelkiste. Ich dachte erst es wäre zusätzlicher Aufwand bei der Absicherung, da sie nur 2A können, aber anscheinend sind Sicherungen integriert. Es gibt zumindest grüne Klötzchen mit 2A als Aufdruck. In der Form hab ich aber noch keine Sicherung gesehen. https://www.amazon.de/dp/B08F7TSHGN/ref=cm_sw_r_cp_apa_fabc_.XG7FbNV6KEJX?psc=1
Ich hab mich auch mal über Löschglieder informiert. So ganz steige ich da aber nicht durch. So wie ich das verstanden habe begrenzen Sie Spannungsspitzen beim Abschalten induktiver Lasten. Mein Expander steigt schon beim Einschalten aus. Nach der Schaltung von Snubbern würde ich erwarten, dass der Anlaufstrom vergrößert wird, da ich den Kondensator auch noch laden muss. Wobei der Anstieg sicherlich vernachlässigbar ist. Oder sind beim Einschalten auch Spannungsspitzen zu erwarten? Würde das nicht eher für drosseln sprechen? Z.B. ein Ferrit Ich hatte bisher noch nicht so drauf geachtet, aber wenn ich es schaffe das das Relais angezogen hat bekomme ich es auch immer wieder sauber aus, ohne dass der MCP einen Reset braucht. Außerdem bin ich auf einen Thread gestoßen, der in Frage stellt dass elektronisch geregelte Motoren einen Snubber nötig haben. Beitrag "Rolladensteuerung Snubber ja oder nein?" Ich habe allerdings keinen Somfy. Aber meine Endposition werden eingelernt durch die integrierte Überstromabschaltung. Für das Messen an der Netzspannung fehlen mir aktuell die Tastköpfe. Das Oszi wurde auf der Arbeit aussortiert. Die Köpfe allerdings nicht. Da müsste ich warten, bis das Home Office ein Ende hat. Sehe ich das falsch oder soll ich Löschglieder erst mal hinten anstellen, falls es Probleme bei Abschalten gibt? Halbleiter Relais schalten beim Nulldurchgang. Vielleicht ein Pluspunkt.
Timo P. schrieb: > Halbleiter Relais schalten beim Nulldurchgang. Vielleicht ein Pluspunkt. und trennen NIE mit den nötigen Kontaktabstand, erst Recht nicht wenn sie durchlegiert sind, ein Minuspunkt
Joachim B. schrieb: > und trennen NIE mit den nötigen Kontaktabstand Weil sie gar keine Kontakte haben.
Timo P. schrieb: > Halbleiter Relais schalten beim Nulldurchgang. Vielleicht ein Pluspunkt. Und was passiert wenn der mechanische Endlagenschalter die Spannung abschaltet? Den juckt die Phasenlage nicht. Das sind alles Fehlinvestitionen. Du brauchst Relais mit den richtigen Kontakten für induktive Lasten. Und die Leistung für AC3 Lasten muss passen, nicht irgendeine AC/DC Strombelastbarkeit. Ob der fehlende Snubber ein Problem ist lässt sich doch einfach testen, Relais schalten ohne Last.
Johannes S. schrieb: > Ob der fehlende Snubber ein Problem ist lässt sich doch einfach testen, > Relais schalten ohne Last. Ich erinnere zum zweiten mal daran, dass er diesen Test bereits gemacht hat. Die Fehler treten nur mit Last auf.
Ich habe Zeit gefunden um die Versorgungsspannung am MCP zu messen. Gar nicht so einfach, wenn das Teil senkrecht in der letzten Ecke montiert ist. Für weitere Messreihen muss ich erst noch Messpunkte anlöten. Ich glaube ich habe das Oszi so weit verstanden. Wieder was gelernt. Jetzt muss es mir nur bis zum nächsten mal behalten. Als Anhang eine PDF mit ein paar Zuständen. Gemessen habe ich an der zweiten MCP Platine. (Die mit bestückten Motoren). Die Masse hab ich von dem freien I2C Stecker geholt. Vcc direkt vom PIN des MCP. Er scheint aufzugeben, wenn ich die Spannung nach oben zu weit überschritten wird.
Was hast du als Y-Achse eingestellt. 1V/div ? Wenn ja und es ist kein Messfehler, dann hast du heftige Störungen auf der Stromversorgung. Normal sind Schwingungen weit unter 100mV. Die Störungen müssen nicht unbedingt aus deiner eigenen Schaltung (z.B. von den Spulen der Relais) kommen. Möglicherweise werden sie elektromagnetisch von der Last eingekoppelt. Denn jede Leitung ist (mehr oder weniger) eine Antenne.
1V/div ist richtig. Steht auch unten im Bildschirm. Man muss das PDF ganz öffnen. Es sind mehrere Seiten. Ich glaube es ist hier die vorherrschende Meinung, dass es eingekoppelt wird. Ich werde die Spannungsversorgung noch mal direkt einspeisen. Irgendwie hat es der Arduino Mega ja vorher mit den baugleichen Relais auch geschafft. Die Gruppe Haus hat 8 Relais gleichzeitig geschaltet. Ich hatte nie Probleme. Eigentlich bleiben nur 4 Unterschiede zu vorher. - Andere Stromversorgung DC/DC statt USB - Empfindlichkeit MCP gegen ATmega - Empfindlichkeit des neuen I2C BUS - Position der neuen Elektronik Mit Schirmung und Position hab ich schon einiges ausprobiert. Mal den Fokus auf die Spannungsversorgung legen.
Timo P. schrieb: > Ich werde die Spannungsversorgung noch mal direkt einspeisen. Denke an die Sternförmige Verkabelung. Und führe die Leitungspaare GND/VCC direkt nebeneinander, damit zwischen den Leitungen möglich wenig Angriffsfläche für Magnetfelder liegt.
Der Vorsicht halber würde ich so nahe wie möglich an jedem MCP VDD/VSS Anschluß einen 100uF Stützkondendator anlöten um Transienten zu verflachen. Sollte ein Schaltregler die 5V bereitstellen, nicht vergessen, daß Schaltregler auf Stoßlastunterschiede etwas langsam reagieren. Da bei allen Relais gleichzeitig eingeschaltet, der Strom von unter 100mA auf weit über 1A schlagartig ansteigen kann, dürfte das einen Spannungseinbruch verursachen bis der Regler wieder nachholt. Deshalb schließe versuchshalber als Energiestütze direkt am Ausgang einen 1-2.2mF Elko an. Oder versorge die Logik getrennt über eine Schottkydiode und 470uF Elko, so dass ein kurzer Spannungseinbruch keinen Schaden mehr anrichten kann. Am besten wäre die Verdrahtung so zu ändern, daß der Relaisversorgungstrom nicht mehr die Logikversorgung teilen muß. Auch wäre ein separates Netzteil, nur für die Relais vorgesehen, noch günstiger. An sich wäre es noch idealer 12V Relais zu verwenden. Die 12V dann nur für die Relais zu verwenden und ein 7805er für 5V um die restliche Logik damit zu versorgen. Dann hat der Spuk bestimmt ein Ende. Die 12V brauchen nicht einmal geregelt zu sein. Lineare Regler sind für schnelle Laständerungen besser geeignet als Schaltregler.
Ich sagte ja, dass die zwei Massen auf dem Relaisboard dummerweise gerückt sind. Da hab ich nicht weit genug gedacht. Die Masse auf dem 10 poligen Stecker der Ralais ist ja überflüssig bei getrennter Einspeisung. Die Masse für den Optokoppler kommt über den GPIO. Hab die Massen entfernt. Damit ist Relaisversorgung und Optokoppler Versorgung komplett getrennt. Es gab eine merkbare Verbesserung jetzt ist jeder 10 Versuch ein Problem, statt jeder 3te. Außen liegende Relais funktionieren zuverlässig. Kondensatoren Sortiment ist bestellt. Ich denke ich werde einen weiteren MCP aufbauen mit den Tips zur Kabelführung. Erst mal Versuche ich die Stromversorgung im Flachbandkabel zu lassen und auf der Platine die Tips umzusetzen.
Timo P. schrieb: > Es gab eine merkbare Verbesserung jetzt ist jeder 10 Versuch ein > Problem, statt jeder 3te. Außen liegende Relais funktionieren > zuverlässig. Jetzt machst Du noch die Pullups so klein wie möglich, zwei am Einspeisepunkt und zwei am Endpunkt, sagen wir mal jeder 1k5, dann noch zwei Kondensatoren im mittleren pF-Bereich von SCL/SDA nach GND, das ist natürlich ein wenig Murks. Dann setzt Du den I2C-Takt soweit es geht runter, schnell muss hier nichts sein, also < 100 kHz, auch 10kHz wenn so wenig einstellbar ist. Je geringer der Takt, desto unempfindlicher wird der Bus. Auch können dann die pF-Cs größer gewählt werden, die zwar die eingestreuten Peaks abfedern, aber auch das Signal verschleifen. Das ganze Dingens wird dann zwar aufgrund der Verkabelung und Masseführung immer noch Murks sein, aber es wird laufen.
Timo P. schrieb: > Falls jemand ein Link für ein anständiges Relais Array hat nehme ich > gerne. Schau mal hier: https://github.com/tinytronix/homeautomation/tree/master/Hardware/Schaltmodul_A Das läuft auch mit MCP23017 und Raspi bzw ATMega328. Gerber files zum Upload für PCB Fertiger sowie Stückliste ist auch vorhanden.
Heinz schrieb: > Schau mal hier: > https://github.com/tinytronix/homeautomation/tree/master/Hardware/Schaltmodul_A Hab ich mir mal angesehen. Die Platine verteilt die 230V (L1,N,PE) direkt über Leiterbahnen auf der Platine. Es kommen ebenfalls 5V Relais zum Einsatz, allerdings als Schließer und nicht als Wechsler. Dafür besitzt jeder Ausgang einen Varistor. Auf dem Foto aber nicht bestückt. Die 5V kommen über die Busleitung. Anstatt mit Optokoppler und Transistor wird hier mit einem ULN geschaltet. Der MCP selbst wird mit 3,3V über den Bus gespeist. Er sitzt ebenfalls direkt zwischen den Relais. Vermutlich mit geringerem Abstand als bei mir. Alle ICs sind mit 100nF stabilisiert. Die 3,3V haben Busstecker zusätzlich noch mal einen 100nF und einen 10nF parallel. Elkos gibt es keine. SDA und SCL haben keine zusätzliche Beschaltung. Der Raspberry besitzt aber einen I2C Repeater (PCA9515) ohne Pullups. Allerdings gehe ich nicht davon aus, dass diese Platine speziell für Rolladenmotoren ist. PE und N hätte man sich dafür sparen können. Auch die ungerade Zahl von 11 Relais spricht auch dagegen. Ich würde hier die gleichen Probleme erwarten.
Timo P. schrieb: > Alle ICs sind mit 100nF stabilisiert. Die 3,3V haben Busstecker > zusätzlich noch mal einen 100nF und einen 10nF parallel. Elkos gibt es > keine. Da wo hohe Ströme fliessen braucht es aber auch grosse Kapazitäten mit -zig bzw. hunderten von Mikrofarad. Das kann man nur "weglassen" wenn die Stromversorgung dafür sehr nahe positioniert ist (und diese selbst für eine angemessene Pufferung sorgt). Timo P. schrieb: > Hab ich mir mal angesehen. Die Tatsache dass eine Schaltung auf Github veröffentlicht wird bedeuted nicht automatisch dass sie "gut" ist und keine Probleme hat.
Da gibt es noch eine Variante für Rolläden und Jalousien, hast du die gesehen? https://github.com/tinytronix/homeautomation/tree/master/Hardware/Schaltmodul_B Das Modul passt in ein kleineres Hutschienengehäuse und es können drei Motoren angeschlossen werden. Der Aufbau ist aber prinzipiell gleich. Mit Schaltmodul_A wird u.a. eine 80W Solarpumpe problemlos geschaltet und Schaltmodul_B ist voll mit Jalousien bestückt - ebenfalls problemlos.
MWS schrieb: > Jetzt machst Du noch die Pullups so klein wie möglich, zwei am > Einspeisepunkt und zwei am Endpunkt Du sprichst hier auch von SDA und SCL, oder? Also 1,5k am Arduio und 1,5k sozusagen als Busabschluss. Das könnte ich ja als Stecker am letzten Teilnehmer aufstecken. Der I2C hat dann 750 Ohm Pullup an jeder Leitung bei 5V ? Wenn ich das vorne und hinten mache, dann habe ich doch eine von den gefürchteten Schleifen?
Der I2C-Bus braucht keine Abschlusswiderstände an beiden Enden, sondern nur je 1x für SCL und SDA. Die Treiber in den ICs sind open-drain bzw. oben-collector, die Pullups sorgen also für den HI-Pegel und die open-drain-Transistoren für den LO-Pegel. Je grösser der widerstand, umso länger dauert es, bis der Hi-Pegel erreicht ist, das macht sich bei langen Leitungen (= grosse Kapazität udn hohe Einstreuungen), vielen Teilnehmern und hohen Frequenzen bemerkbar. Die Treiber müssen bei standard- und fast-mode mindestens 3 mA treiben können, bei fast-mode-plus mindesten 20 mA (siehe I2C-Bus-Spezifikation). Erfahrungswerte sind bei 5V 1k8 bei längeren Leitungen und 3k3 und 4k7 bei kurzen Leitungen (bis zu 1k herunter bei 3V). I2C-Breadboards haben oft schon 10k on-board, das macht bei 10k am Master und 10k an einem Slave zusammen 5k, da reicht aber nur für kurze Leitungen, die nicht neben hochfrequenten anderen Leitungen liegen. Deine Relais machen aber intensive Einstreuungen, das beweist ja das Verhalten und das Oszi.
Timo P. schrieb: > Du sprichst hier auch von SDA und SCL, oder? Ich spreche nur von SDA und SCL. > Der I2C hat dann 750 Ohm Pullup an jeder Leitung bei 5V ? So war das gedacht, je niederohmiger der Abschluss, desto geringer die Wirkung von induktiven Einstreuungen. Und rund 7mA sollten die Treiber abkönnen. > Wenn ich das vorne und hinten mache, dann habe ich doch eine von den > gefürchteten Schleifen? Du hast 2 Drähte mit Widerständen verbunden, welche induzierte Ströme bedämpfen, eine Schleife wäre ohne Widerstände, dann würde aber nichts mehr treiben. Und wie geschrieben Bustaktfrequenz runter.
MWS schrieb: > So war das gedacht, je niederohmiger der Abschluss, desto geringer die > Wirkung von induktiven Einstreuungen. Und rund 7mA sollten die Treiber > abkönnen. Meines Wissens müssen I2C-Device min. 3mA können (Standard und Fast), also sollte man über die Pullups nicht mehr als 3mA fließen lassen. Einmal 1k5 bei 5V sind schon leicht über der Grenze. Wenn alle Busteilnehmer natürlich für mehr spezifiziert sind, dann kann man ja die Grenze ausreizen.
HildeK schrieb: > Meines Wissens müssen I2C-Device min. 3mA können (Standard und Fast), > also sollte man über die Pullups nicht mehr als 3mA fließen lassen. > Einmal 1k5 bei 5V sind schon leicht über der Grenze. > Wenn alle Busteilnehmer natürlich für mehr spezifiziert sind, dann kann > man ja die Grenze ausreizen. LOL, spezifiziert? Wenn der TE entsprechend der Spezifikationen gebaut hätte, dann gäbe es diesen Thread überhaupt nicht. Man kann herumdiskutieren oder man kann praktisch denken und die Änderungen vornehmen und schauen, was passiert. Entsprechend des Beschriebenen zicken allein die MCP23017 rum und die wird man in den Griff bekommen. Es gibt nur zwei Wege, über den Störungen reinkommen, die Versorgung oder SDA/SCL, letztere zu härten kann schon Erfolg haben. Sollte das tatsächlich noch nicht helfen, kann eine TVS-Diode mit kleinem Widerstand in der 23017-Zuleitung die restlichen Spikes plattmachen.
Ich würde mal sagen der Schaltkontakt der Relais koppelt ordentlich in die (JD-VCC-) Sammelleitung der Schutzdioden ein. Die geht nämlich zusammen mit der hier komplett sinnfreien GND Plane schön dicht an allen Relais vorbei (Der Schaltkontakt des Relais liegt direkt hinter der Gehäuse-Außenwand neben der Schutzdiode... Die Sammelleitung bildet zusammen mit der GND Fläche einen Kondensator der auf die elektrische Feldänderung der Umschaltkontakte reagiert und dir so einen Spannungspuls auf die Versorgung bläßt -> LC oder RC Filter in die JD-VCC Leitung Einschleifen oder Separate Spannungsversorgung. https://www.elecrow.com/8channel-relay-module10a-p-743.html
Hallo, ich hatte noch mal Zeit einiges zu testen. Die MCP Platine hab ich neu aufgebaut. Und einen Adapter für's Oszi zusammen gebaut. Im einzelnen: Platine wurde neu aufgebaut mit Empfehlungen zur Kabelführung. Hinter dem Step-Down Regler auf der Hauptplatine hab ich 1000uF installiert, auf dem MCP Board 100nF + 300uF direkt bei den Versorgungspins. Damit konnte ich aber keinen Unterschied feststellen. Dann hab ich einen Adapter "Abschluss" für I2C gebaut. 2x1.5k gegen 5V + 2x22pF gegen GND. Den I2C hab ich per Software (Wire.setClock(10000);) auf 10KHz reduziert. Nach den Messbildern des Oszi bezweifel ich aber das es funktioniert hat. Das werde ich mit meinem Logik Analyzer noch mal nachmessen. Wie 100kHz sieht es eigentlich auch nicht aus. Eher 250kHz. Ist eine fertige LIB für den MCP. Da muss ich noch mal extra testen. Vielleicht verstehe ich das mit der Zeiteinstellung am Oszi auch falsch. Die Messungen an I2C musste ich jedoch ohne die Pullups und 22pF machen. Hier greifen nur dir 5,8K Pullups des Mainboards, da der Messadapter den Stecker belegt. Signale sehen aber eigentlich ganz sauber aus. Der Reset zeigte keine Störungen. Dann sind meine Ferritkerne gekommen. (https://www.amazon.de/gp/product/B07JDNR51V/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1). Auf der linken Seite hab ich jedem Rolladen-Abgang einen eigen Ferrit spendiert. Auf der Rechten Seite bei L2 einen Ferrit in der Zuleitung von der Sicherung. Schlagartig waren die Aussetzer weg. Auch alle 8 Rolladen lassen sich gleichzeitig schalten. Störungen in der Versorgungsspannung um +-1V habe ich immer noch. Wie können den Thread gerne noch etwas offen lassen. Ich werde noch mal etwas weiter experimentieren. Ein Halbleiter-Relais hab ich auch noch. Bin mal gespannt, ob die Störungen dort geringer ausfallen.
Timo P. schrieb: > Nach den Messbildern des Oszi bezweifel ich aber > das es funktioniert hat. Ich auch. Ich sehe beim HIGH Pegel der I2C Daten einen auffälligen Ripple. Der ist zwar vermutlich unkritisch aber definitiv auch unnormal. Vor allem der Peak in der Versorgung bereitet mir sorgen, er ist 10x so groß wie erwartet.
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.