Forum: Mikrocontroller und Digitale Elektronik Probleme mit Relais und MCP23017


von marcel (Gast)


Lesenswert?

Hallo,

ich habe heute eine 8 Kanal Relaiskarte zusammen mit dem MCP23017 und 
einem ULN2003 getestet.
Der erste Versuch war so weit erfolgreich. Habe anschließen eine 
Elektroweiche für den Modellbau  an das Relais angeschlossen. Diese soll 
nämlich geschalten werden. Ich Habe also mein MCP wieder auf Out gesetzt 
und den Ausgang angesteuert. Dieser hat auch geschalten. Anschließend 
setzte ich ihn wieder zurück, um ihn erneut zu schalten. Und genau dann 
habe ich das Problem. Ich kann das Relais dann nicht mehr schalten. Erst 
wenn ich den MCP wieder als Out definiere, ist ein Schaltvorgang 
möglich. Ist an der externe Seite des Relais nichts angeschlossen, so 
kann ich beliebig oft schalten. Ich verstehe allerdings nicht wo genau 
das Problem ist. Immerhin sind die beiden Seiten doch voneinander 
getrennt.
Es macht für mich den Eindruck, als ob der MCP resetet wird. Hatte 
jemand solch ein Problem schon einmal, oder weis jemand wo man das 
Problem lösen kann?

von Joe F. (easylife)


Lesenswert?

Freilaufdiode am Relais vergessen?
Stützkondensatoren vergessen an den ICs?
Leitungen zu lang?
Wenn lang, dann nicht abgeschirmt?
Stromversorgung zu schwach für das Relais -> Spannungseinbruch?
GND Probleme?
Oder, oder, oder.

von Stefan F. (Gast)


Lesenswert?

Zeige den Schaltplan und ein Foto vom Aufbau.

von marcel (Gast)


Lesenswert?

Optokoppler sind auf der Relaiskarte verbaut.
Spannungsversorgung,Gnd Problem kann ja eig. fast nicht sein oder? Das 
hat doch nichts damit zu tun, ob auf der Sekundaerseite was 
angeschlossen ist oder nicht?
Ich habe mal den Link zu den Relais

tinxi® 8 Kanal Relais Modul 5V DC 230V Optokoppler passend für Arduino 
Raspberry Pi 
https://www.amazon.de/dp/B01C2IN2U2/ref=cm_sw_r_cp_api_EAwpAbHXHB376

von HildeK (Gast)


Lesenswert?

marcel schrieb:
> Ist an der externe Seite des Relais nichts angeschlossen, so
> kann ich beliebig oft schalten. Ich verstehe allerdings nicht wo genau
> das Problem ist.

Die Elektoweiche (AC?) wird sicherlich beim Schalten ordentliches 
Kontaktfeuer produzieren. Das dürfte deinen Prozessor beeinflussen. EMV.
- Resetbeschaltung
- Aufbau,
- Stromversorgung,
- Blockung
all das kann die Beeinflussung möglich machen.

von Joe F. (easylife)


Lesenswert?

Und wozu dient jetzt der ULN2003?

von Stefan F. (Gast)


Lesenswert?

Lass mich raten: um die Optokoppler anzusteuern.

Man könnte zwischen dem uln und den Optokopplern sicherheitshalber je 
einen dc/dc wandler packen. :-)

von marcel (Gast)


Lesenswert?

Genau den uln verwende ich fuer die Ansteuerung. Habe es auch schon ohne 
versucht bringt aber auch nichts. Schaltplan habe ich keinen zur Hand. 
Bild sieht man nich wirklich was.
Die Weichen sind DC12V. Reset habe ich auf 5V gelegt. Vermute auch das 
ich mir beim abschalten irgendwo was einfange... Aber wie kommt man das 
weg?

von Hubert G. (hubertg)


Lesenswert?

Probier mal einen 22n Kondensator parallel zum Relaiskontakt.

von Kurt (Gast)


Lesenswert?

marcel schrieb:

> Es macht für mich den Eindruck, als ob der MCP resetet wird. Hatte


Hast du genügen "Power" für den MC?
(Stützelko usw.)

Versorge mal den MC aus einer eigenen Strom/Spannungsquelle.



 Kurt

von Joe F. (easylife)


Lesenswert?

Was für pullups hast du an I2C?
mehr als 2.2K?

von marcel (Gast)


Lesenswert?

Doofe Frage, aber wo müssen denn überall Pullup Widerstände rein?

von Harry L. (mysth)


Lesenswert?

marcel schrieb:
> Doofe Frage, aber wo müssen denn überall Pullup Widerstände rein?

SCL und SDA
<=2k2

von marcel (Gast)


Lesenswert?

Danke, da habe ich keine Widerstände drin.

von Holger (Gast)


Lesenswert?

4k7 sind i.O.

von marcel (Gast)


Lesenswert?

Danke für den Tipp ich werde morgen mal schauen ob ich Widerstände in 
dieser Größenordnung rumliegen hab und werde diese dann mal in der SCL 
und SDA Leitung verbauen.
Wäre ja wundervoll, wenn das mein Problem schon lösen würde.

von Müller (Gast)


Lesenswert?

Wie kommt denn jetzt I2C ins Spiel. Das hat die Karte doch gar nicht.

von marcel (Gast)


Lesenswert?

So das ganze brachte leider keinen Erfolg. Ich habe mal die Position der 
Relais geändert. Sprich sie sind nicht mehr so nah am Controller. Nun 
kann ich öfters schalten. Es kann sein, dass nun 3 oder 5 Schaltzyklen 
möglich sind. Bis mir alles "abgelöscht" wird.
Es scheint so, als ob ich mir beim umschalten der Relais Störungen 
einfange. Mit was bekommt man diese am besten weg?

@Müller I2C kommt vom MCp23017. Diesen Steuer ich über den Bus an.

von Holger (Gast)


Lesenswert?

Moin, Poste doch mal Deinen Schaltplan. Ist der ULN auch so 
angeschlossen, dass die Dioden eine Wirkung haben können?

Holger

von marcel (Gast)


Angehängte Dateien:

Lesenswert?

Hey ich habe gerade nochmal über meine Schaltung geschaut, als ich den 
Plan gezeichnet habe. Mir ist dabei folgendes aufgefallen.
Vom MCP23017 habe ich die CDD mit 3.3V Verbunden. Habe diese nun mal auf 
5V gelegt und konnte viele Schaltzyklen durchführen. Nur wenn ich 2 oder 
3 Relais gleichzeitig abschalte, hatte ich das Problem.
Anbei habe ich noch den Plan, wie ich es aktuell angeschlossen habe. 
Widerstände habe ich in SLC SDA drin. Da ist mir ein Zeichenfehler 
passiert.

von Holger (Gast)


Lesenswert?

Moin, stammen die 5 V alle aus einer Quelle? Massen entsprechend 
verbunden?

Und zeige doch mal Deinen Code.



Holger

von Dietrich L. (dietrichl)


Lesenswert?

Ich vermisse noch Stützkondensatoren.

von Joe F. (easylife)


Lesenswert?

a)
Sind auf dem Relaisboard die 5V am unteren Connector mit dem VCC Pin am 
oberen (breiten) Connector verbunden?
Ich vermute die 5V Verbindung vom Controller zum Relaisboard ist 
überflüssig wenn nicht sogar schädlich - insbesondere wenn die 5V vom 
Controller nicht die gleichen 5V wie dein Supply links unten sind.

b)
Deine ICs haben so wie es aussieht keine Stützkondensatoren.
Jedes IC sollte einen 100nF Keramikkondensator zwischen VCC und GND 
(bzw. VCC und VDD) bekommen, der ULN zusätlich noch einen 1uF.

c)
Das Relaisboard braucht einen Kondensator. Die Freilaufdioden schießen 
die Überspannung in die 5V Leitung, und mit der jetzigen Verbindung 
beeinflussen diese Peaks vermutlich deine ICs.
Für diese Theorie spricht vor allem, dass deine Probleme beim Abschalten 
von Relais auftreten.
Plaziere direkt am 5V Connector (unterer Connector) des Relaisboards 
einen 100nF Keramik, einen 1uF Keramik und einen 10..22uF Elko zwischen 
5V und GND.

d)
Probiere mal 2.2K Pullups. 4.7K sollten bei 5V zwar reichen, die 2.2K 
schaden aber auch nicht.

marcel schrieb:
> Nur wenn ich 2 oder
> 3 Relais gleichzeitig abschalte, hatte ich das Problem.

Du könntest die Relais (wenn die oberen Maßnahmen - vor allem die 
Kondensatoren - nichts bringen) jeweils etwas zeitverzögert (z.B. 0.1s) 
schalten, damit sich Strom- und Spannungsspitzen möglichst wenig 
überlagern.

: Bearbeitet durch User
von marcel (Gast)


Lesenswert?

Hey erst einmal wünsche ich euch frohe Weihnachten. Ich habe zwar 
einiges hier, allerdings keine Kondensatoren. Ich werde das ganze nun 
einmal so testen, da seit ich den MCP an 5V hängen hab nur Probleme 
bekomm, wenn ich mehrere Relais gleichzeitig schalt, ist es für mich 
i.O. Ich werde eh immer eine Weiche nach der anderen Schalten. Da sah es 
aktuell gut aus und hatte keine Probleme so weit. Werde mir bei 
Gelegenheit Kondensatoren besorgen und diese nach eurer Vorgabe 
einbauen.

Ich danke euch auf jeden Fall für die super Unterstützung hier.

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
Noch kein Account? Hier anmelden.