Raspberry Pi - Relaiskarte defekt?

Gast #4996822
Lesenswert?

Guten Abend!

Ich besitze einen Raspberry Pi B+ v1.2

Ich arbeite gerade an einem Pi-Projekt, welches der Steurung eines 24V 
Gerätes, eines 230V Gerätes und eines 12V Gerätes dient.
(Aktuell benutze ich nur das 24V Gerät, die anderen Geräte folgen.)


Zusätzlich ist zu erwähnen, dass ich meinen Pi mittels eines 
Ein-/Aus-Tasters ein- und ausschalte.

Dies geschieht über einen der Reset-Pins, folgende Schaltung... 
http://eliteinformatiker.de/assets/untitled_1.png


... und dieses Script (welches als Dienst über den Autostart gestartet 
wird.):
http://txt.do/drvna



Ich besitze folgende Relaiskarte:
https://www.amazon.de/gp/product/B00M8XJ71U/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1

Diese Relaiskarte wird pro Channel mit folgender Schaltung angesteuert:
http://ras-pi.de/wp-content/uploads/2014/07/RelaisBreadboard08.png


Ohne zu steuernde Geräte, also lediglich das Schalten der Relaiskarte, 
funktioniert einwandfrei, doch mit dem 24V Gerät angeschlossen fährt 
sich mein Pi beim Einstecken des Netzteils des 24V Gerätes (bei OFFENEM 
Relais!) und kurz nach dem Schließen des Relais herunter (Das Gerät 
läuft kurz).

Der Pi stürzt aber nicht ab, sondern führt einen Shutdown, aufgrund des 
oben genannten Scripts durch. Das Script wird also aktiviert.

Das Script führt einen Shutdown durch, wenn am GPIO9 3,3V anliegen, doch 
der GPIO9 ist kein Teil meiner Relais-Schaltung.


Wenn ich das Script aus dem Autostart nehme und das Relais mit 
angeschlossenem Gerät schalte, läuft ebenfalls alles einwandfrei 
(zumnindest augenscheinlich :D ).


Hätte ich mein Shutdown-Script für den An-/Aus-Schalter nicht, wäre mir 
das vermutlich nicht aufgefallen, doch ich wage es nicht, mit so einem 
Fehler 230V anzuschließen, da ich vermute, dass anscheinend die zu 
Steuernden Ströme auf den Steuerstromkreis überspringen und im Pi evtl. 
einiges, oder zumindest die GPIO-Schnittstelle, unter Strom setzen (nur 
eine Vermutung...).

Da auf der Relaiskarte Optokoppler verbaut sind und meine Ansteuerung 
zusätzlich Transistoren enthät würde ich sogar fast sagen, dass diese 
Störung nicht über die GPIO's, sondern lediglich über VCC oder GND an 
mein Pi gerät, da auf diesen Anschlüssen keine zusätzlichen 
"Schutzvorrichtungen" vorhanden sind.

Ich habe auch einen anderen Channel probiert... Ohne Erfolg.

Bitte helft mir! Ist meine Relaiskarte defekt, oder ist das irgendiwe zu 
beheben?

Wäre sehr dankbar, um jede Hilfe! :)



MfG PiUser
#4996895
Lesenswert?

Der Resetpin wird aktiviert, wenn er auf Masse gezogen wird. Dazu reicht 
ein Signal von wenigen ms aus. Würden Deine 24V, wie von Dir vermutet 
"rückwärts" zum Raspberry Pi laufen, wäre er bereits defekt. Ein Foto 
Deiner Verkabelung könnte die Ursache für das Problem vielleicht klären. 
Um es zu umgehen, könntest Du versuchen, einen 10K Pullup (10K zwischen 
Reset und 3,3V) an Reset zu legen.
Beitrag #4996898 wurde von einem Moderator gelöscht.
#4996915
Lesenswert?

Merkwürdig. Das Script reagiert bei Pin 9 auf falling, d.h. Übergang von 
high nach low:

RPIO.add_interrupt_callback(9, shutdown, edge='falling')

Die Eliteinformatiker legen Pin 9 aber über 56k und 220k auf low und er 
wird durch den Taster auf high (VCC) gesetzt.

Passt die Schaltung zu dem Script?


Frank S. schrieb:
> , einen 10K Pullup (10K zwischen
> Reset und 3,3V) an Reset zu legen.


... und/oder im script statt
RPIO.setup(9, RPIO.IN)
den internen pullup aktivieren:
RPIO.setup(9, RPIO.IN, pull_up_down=RPIO.PUD_UP)
Gast #4996917
Lesenswert?

PiUser schrieb:
> Dankesehr, werde mal einen Pull-Up einlöten und falls das nichts
> bringen
> sollte, mal Fotos Posten.
>
> Weitere Vorschläge sind gern gesehen :)
>
> MfG PiUser

Edit: Müsste nicht eher ein Pull-Down an die 3,3v von der 
Reset-Schaltung, um, wenn der Button nicht betätigt ist, sicher 0v 
anliegen zu haben???

MfG PiUser
Moderator (Firma: Titel) Persönliche Seite #4996967
Lesenswert?

Helmut H. schrieb:
> Merkwürdig. Das Script reagiert bei Pin 9 auf falling, d.h. Übergang von
> high nach low:
> RPIO.add_interrupt_callback(9, shutdown, edge='falling')
> Die Eliteinformatiker legen Pin 9 aber über 56k und 220k auf low und er
> wird durch den Taster auf high (VCC) gesetzt.
Das ist offenbar wieder eines der überaus verwirrenden Geräte, die auf 
das Loslassen des Tasters reagieren...

> Die Eliteinformatiker legen Pin 9 aber über 56k und 220k auf low und er
> wird durch den Taster auf high (VCC) gesetzt.
Diese Schaltung ist für mich eigenartig. Da kommen 2 GPIOs, die werden 
logisch verknüpft und gehen auf den Reset. Warum macht man das nicht 
gleich in Software? Geht das mit dem Rechenboliden nicht?

PiUser schrieb:
> Der Pi stürzt aber nicht ab, sondern führt einen Shutdown, aufgrund des
> oben genannten Scripts durch. Das Script wird also aktiviert.
Er erkennt diese Störung also als Schaltimpuls. Das hst einen einfachen 
Grund: die Widerstände in der "Eliteinformatiker" Schaltung sind um gut 
2 Zehnerpotenzen zu hochohmig. Die Schaltung fängt sich jede Störung 
ein. Zudem würde ich an den Reset-Pin noch einen Kondensator gegen Masse 
schalten.

> Da auf der Relaiskarte Optokoppler verbaut sind und meine Ansteuerung
> zusätzlich Transistoren enthät würde ich sogar fast sagen, dass diese
> Störung nicht über die GPIO's, sondern lediglich über VCC oder GND an
> mein Pi gerät
Solche galvanischen Trenner bringen nichts, wenn du sowieso die selbe 
Masse und Versorgung im gesamten System hast. Zeig mal, wie due die 
Masse und die Versorgung in deinem aufbau verdrahtet hast...
#4997000
Lesenswert?

Ist kaputt by design. Die Schaltung stammt von
http://eliteinformatiker.de/2014/05/19/ein-aus-schalter-fuer-den-raspberry-pi

Dort steht doch auch
"
Anmerkung

Gestern traten bei mir selten Signalsprünge auf, die zum Herunterfahren 
führten, obwohl ich den Knopf nicht betätigt hatten. Diese lassen sich 
vermutlich durch einene Kondensator im Schaltkreis oder aber durch eine 
Zeitprüfung in der Software verhindern.
"

Einen Eliteinformatiker stört es eben nicht wenn das Gerät spontan 
rebootet.
Gast #4997029
Lesenswert?

Danke für die Antworten!


Lothar M. schrieb:
> Er erkennt diese Störung also als Schaltimpuls. Das hst einen einfachen
> Grund: die Widerstände in der "Eliteinformatiker" Schaltung sind um gut
> 2 Zehnerpotenzen zu hochohmig. Die Schaltung fängt sich jede Störung
> ein. Zudem würde ich an den Reset-Pin noch einen Kondensator gegen Masse
> schalten.

- Welche Widerstände sind genau gemeint und welche Größe müssten sie 
haben?

- Soll der Kondensator parallel zum Rest der Schaltung an den Reset Pin?


Weitere Lösungsvorschläge begrüße ich sehr! :)

MfG PiUser
#4997061
Lesenswert?

Wie oben schon geschrieben:
Das Script wird bei fallendem Impuls gestartet.
Die Schaltung erzeugt aber einen steigenden Impuls. Nur durch das 
Prellen des Tasters funktioniert das überhaupt. Würde daher auch das 
Script anpassen.

Es gibt auch Schaltungen die nur einen Widerstand und einen Taster 
benötigen. Ohne Gewähr: 
http://www.forum-raspberrypi.de/Thread-tutorial-hoch-und-runterfahren-mittels-taster-incl-status-led
Gast #4997121
Lesenswert?

Meine Frage wäre außerdem, weshalb das Problem auch bei OFFENEM Relais, 
also bei geöffnetem Stromkreis, also beim Einstecken des 24V Netzteils 
auftritt, obwohl doch kein Strom fließen kann.

MfG PiUser
#4997151
Lesenswert?

Wegen des großen Widerstands ist das quasi ein Offener Eingang. Das ist 
böse, die Forensuche findet über 300 Threads zu diesem Thema.
Weil es auf Flanke einen Interrupt erzeugt ist es auch wesentlich 
sensibler als wenn z.B. nur alle 0.1 Sekunden gepollt würde.
Wahrscheinlich kannst du durch Berühren des Pins oder Einschalten der 
Schreibtischlampe auch einen reboot auslösen.
#4997173
Lesenswert?

Helmut H. schrieb:
> Wegen des großen Widerstands ist das quasi ein Offener Eingang

Mit Offener Eingang meinte ich den Pin 9, war missverständlich, sorry.
Das hat mit den Relais nicht zu tun.

Lothar M. schrieb:
> Er erkennt diese Störung also als Schaltimpuls. Das hat einen einfachen
> Grund: die Widerstände in der "Eliteinformatiker" Schaltung sind um gut
> 2 Zehnerpotenzen zu hochohmig. Die Schaltung fängt sich jede Störung
> ein.

Reboot klappt hier sicher auch durch Staubsauger einschalten.
Gast #4997699
Lesenswert?

Hi! Habe inzwischen den internen Pull-Up von GPIO9 benutzt, einen 
Pull-Up am Reset eingebaut und sowohl die 220k Widerstände gegen 10k, 
als auch die 56k Widerstände gegen 470 Ohm Widerstände getauscht doch 
nichts hat funktioniert.

Der verlinkte Post, mit der anderen Art einen An-Aus-Taster zu 
realisieren, ist für mich, MEINE ICH, nicht umsetzbar da "Wake on halt" 
benutzt wird, aber mein Pi nicht startet, wenn GPIO5 gegen GND gezogen 
wird.


Die Lösung mit dem Kondensator habe ich noch nicht probiert, habe gerade 
aber auch keinen zur Hand, also wäre eine andere Lösung wünschenswert.

Wie groß und von welchem Typ müsste der Kondensator denn sein? Müsste 
ich ihn einfach zusätzlich am Reset-Pin und am GND anlöten?



Stehe aktuell sehr unter Zeitdruck, da dies für ein Schulprojekt ist.

Hoffe sehr, dass jemand noch eine Ahnung hat.


MfG PiUser

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren