Hallo,
ich soll für ein Projekt ein Testgerät für Kabel entwerfen. Dazu soll
über einen Baustein am Bus (MCP23017 IO-Erweiterung I2C) Relais
geschaltet werden. Am anderen Ende des Kabels soll dann der Eingang
(selber Baustein) ermittelt werden. Dann soll ausgewertet werden, ob das
Kabel ordnungsgemäß gefertigt wurde.
Hierzu benutze ich einen Raspberry Pi (damit ich leicht ein Display etc.
anschließen kann) mit dem ich über I2C den Baustein anspreche. Dieser
soll über einen Mosfet ein Relais schalten (siehe Anhang).
Dies funktioniert auch so, wie im Anhang sichtbar, jedoch macht entweder
der Raspberry oder der MCP23017 nach einigen Schaltzyklen Probleme und
schaltet ab.
Ich erkenne beim Schalten leichte Schlieren im Display, was ja für den
Raspberry sprechen würden. Diese Störungen könnten aber auch durch EMV
kommen. Der Baustein an sich wird direkt aus dem Netzteil gespeist,
nicht vom Raspberry.
Für den MCP würde sprechen, dass er auf dem Bus nach einigen
Schaltzyklen nicht mehr sichtbar ist, also wohl abgeschaltet hat.
Meine Ansätze:
- hohes dU/dt bringt Stromspitzen -> Baustein kann nicht liefern
- Mosfet falsch, da von anderem Projekt mit kleiner Pumpe
- Evtl ist der MCP23017 für diesen Zweck nicht geeignet
Den Strom kann ich mir leider nicht ansehen, da ich kein Oszilloskop zur
Verfügung habe.
Ich hoffe ihr könnt mir trotzdem helfen.
Vielen Dank schonmal :)
@ MaxM (Gast)
>soll über einen Mosfet ein Relais schalten (siehe Anhang).>Dies funktioniert auch so, wie im Anhang sichtbar,
Nein, denn das Relais gehört zwischen Drain und +24V, außerdem fehlt die
Freilaufdiode!
Siehe Relais mit Logik ansteuern.
>der Raspberry oder der MCP23017 nach einigen Schaltzyklen Probleme und>schaltet ab.
Da hast du noch Glück, daß dir die Abschaltinduktionsspannung nichts
zerstört hat!
>- hohes dU/dt bringt Stromspitzen -> Baustein kann nicht liefern
Falsch.
>- Mosfet falsch, da von anderem Projekt mit kleiner Pumpe
Welcher Typ? Aha, IRLIZ44N, ein "kleiner" 30A MOSFET. OMG!
>>- Evtl ist der MCP23017 für diesen Zweck nicht geeignet
Der ist OK.
R1 kann man weglassen, direkte Ansteuerung.
Okay, also den Schaltplan habe ich auf die Schnelle gezeichnet, um das
Problem zu erklären, die Freilaufdiode ist vorhanden und das Relais
hängt auch wie beschrieben. Deine Antwort klärt trotzdem das Problem
nicht.
Hallo,
> MaxM schrieb:> Dies funktioniert auch so, wie im Anhang sichtbar, jedoch macht entweder> der Raspberry oder der MCP23017 nach einigen Schaltzyklen Probleme und> schaltet ab.
Was heißt das?
> Ich erkenne beim Schalten leichte Schlieren im Display, was ja für den> Raspberry sprechen würden. Diese Störungen könnten aber auch durch EMV> kommen.
Vieles deutet darauf hin.
> Der Baustein an sich wird direkt aus dem Netzteil gespeist,> nicht vom Raspberry.> Für den MCP würde sprechen, dass er auf dem Bus nach einigen> Schaltzyklen nicht mehr sichtbar ist, also wohl abgeschaltet hat.
??? Was auch immer das heßen soll.
> Meine Ansätze:> - hohes dU/dt bringt Stromspitzen -> Baustein kann nicht liefern> - Mosfet falsch, da von anderem Projekt mit kleiner Pumpe> - Evtl ist der MCP23017 für diesen Zweck nicht geeignet
Da du keine verwertbaren Infos zum Gesamtaufbau lieferst und die Skizze
im Anhang auch grob fehlerhaft ist (obwohl es angeblich doch richtig
verdrahtet wurde) kann keiner aus der Ferne sagen, was das Problem ist.
Zu vermuten sind aber grobe Mängel im Aufbau:
- schlechte oder fehlerhafte Masseverdrahtung
- fehlende Blockkondensatoren
- Lange offene Leitungen als Antennen für Störungen
- mangelhafte Stromversorgung
Die Schaltimpulse der Relaisspulen können schon kräftige
Störabstrahlungen verursachen. Es ist z.B. bekannt, dass geschaltete
Induktivitäten im Umkreis von paar Metern leicht USB-Verbindungen stören
können. Wer weiß, was dein RasPi da so macht, wenn er über Power oder
Signalleitungen sich solche kräftigen Störungen einfängt.
Gruß Öletronika
MaxM schrieb:> Diese Störungen könnten aber auch durch EMV kommen.
Elektromagnetische Verträglichkeit zwischen Komponenten ist eher ein
Garant für friedliches Nebeneinander.
Störungen entstehen nicht durch EMV, sondern eher durch
Unverträglichkeit.
Gehe ich recht in der Annahme, das Du alles mögliche verdrahtest hast,
nur nicht die obige Schaltung und jetzt Hilfe - wozu eigentlich -
erwartest?
Friert der MCP eigentlich nicht, wenn er so nackt auf der Platine steht?
U.v.a. der FET ist auf der falschen Seite des Relais und die
Widerstände...
Aber darauf kommt's auch nicht mehr an.
Irgendwo hast du da einen Bock geschossen.
Angenommen, die Beschaltung wäre korrekt:
-erstmal nur den MCP am Bus - funktioniert?
-falls ja: nur die Fets und Relais dran, keine Eingänge, die zurück
kommen - funktionierts noch?
-falls ja: schauen, was auf den Eingängen passiert (deren Beschaltung
ist ja noch unbekannt).
MaxM schrieb:> - Evtl ist der MCP23017 für diesen Zweck nicht geeignet
Eher ist deine Beschaltung des MCP23017 völlig ungeeignet. An Ausgänge
legt man keine harte Spannung an.
Hallo,
> Werner M. schrieb:> Eher ist deine Beschaltung des MCP23017 völlig ungeeignet. An Ausgänge> legt man keine harte Spannung an.
welches Problem siehst du da?
Wo ist da eine "harte Spannung" an einem Ausgang?
Was sollte man den sonst an einen Ausgang legen?
Gruß Öletronika
H.Joachim S. schrieb:> erstmal nur den MCP am Bus - funktioniert?
der MCP am Bus funktioniert.
das Schalten des Relais funktioniert auch, es schaltet sauber durch. Im
geschalteten Zustand gibt es kein Problem, nur die Schaltflanken machen
Probleme, den Eingang habe ich nicht betrachtet (und deshalb nicht
gezeichnet), da mir erst einmal das Schalten wichtig war.
H.Joachim S. schrieb:> Stimmt, INTA/B werden wohl Ausgänge sein :-)
INT A/B sind keine Ausgäng, sie können Softwareseitig aktive high oder
Low gelegt werden und wurden durch legen auf Vcc deaktiviert.
U. M. schrieb:>> Für den MCP würde sprechen, dass er auf dem Bus nach einigen>> Schaltzyklen nicht mehr sichtbar ist, also wohl abgeschaltet hat.> ??? Was auch immer das heßen soll.
Ich bin auf der Suche nach dem Baustein, der ausfällt. Ich habe mir für
den RPi eine App geschrieben, mit der ich per Knopfdruck das Relais
schalte, nach einigen Schaltzyklen erkennt der RPi den MCP nicht mehr
auf dem Bus.
MaxM schrieb:> INT A/B sind keine Ausgäng, sie können Softwareseitig aktive high oder> Low gelegt werden und wurden durch legen auf Vcc deaktiviert.
Lass dir das noch mal auf der Zunge langsam zergehen...
Prinzipiell sind es erstmal Ausgänge. Konfiguriert werden die per
Software, nicht durch legen auf eine externen Pegel. Ich denke, hier
liegt der Hase im Pfeffer. Dem armen Kerlchen wird heiss werden und dann
stellt er den Betrieb ein.
Lass die Pins frei. Max. ein pullup nach Vcc.
MaxM schrieb:> der MCP am Bus funktioniert.
Ich würde trotzdem noch dirket zwischen Pin 9 und Pin 10 einen 100nF
Blockkondensator schalten. Nicht umsonst sind die Pins so blockfreudig
nebeneinander angeordnet.
MaxM schrieb:> H.Joachim S. schrieb:>> Stimmt, INTA/B werden wohl Ausgänge sein :-)> INT A/B sind keine Ausgäng, sie können Softwareseitig aktive high oder> Low gelegt werden und wurden durch legen auf Vcc deaktiviert.
Wo hast du das mit dem Deaktivieren herausinterpretiert?
So wie ich das Datenblatt lese, sind das ausschließlich Ausgänge, die
als Interruptquelle an den µC angeschlossen werden können:
1
Configurable interrupt output pins
2
- Configurable as active-high, active-low or open-drain
Defaulteinstellung ist für ODR und INTPOL jeweils 0, so dass der
Baustein nach einem Power-Up erstmal an beiden Pin 0V ausgeben will. Den
Rest kannst du dir denken...