Forum: Mikrocontroller und Digitale Elektronik Probleme mit Relais und MCP23017


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von marcel (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Zeige den Schaltplan und ein Foto vom Aufbau.

von marcel (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Und wozu dient jetzt der ULN2003?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Lass mich raten: um die Optokoppler anzusteuern.

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

: Bearbeitet durch User
von marcel (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Probier mal einen 22n Kondensator parallel zum Relaiskontakt.

von Kurt (Gast)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Was für pullups hast du an I2C?
mehr als 2.2K?

von marcel (Gast)


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

von Harry L. (mysth)


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

SCL und SDA
<=2k2

von marcel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke, da habe ich keine Widerstände drin.

von Holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
4k7 sind i.O.

von marcel (Gast)


Bewertung
0 lesenswert
nicht 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)


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

von marcel (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Moin, stammen die 5 V alle aus einer Quelle? Massen entsprechend 
verbunden?

Und zeige doch mal Deinen Code.



Holger

von Dietrich L. (dietrichl)


Bewertung
0 lesenswert
nicht lesenswert
Ich vermisse noch Stützkondensatoren.

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.