Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi - Relaiskarte defekt?


von PiUser (Gast)


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

von Frank S. (hobbyist)


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 vom Autor gelöscht.
von PiUser (Gast)


Lesenswert?

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

von Helmut H. (helmuth)


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)

von PiUser (Gast)


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

von Helmut H. (helmuth)


Lesenswert?

PiUser schrieb:
> 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???

Wenn du mit low arbeitest wäre ein Pullup bei der Schaltung natürlich 
kontraproduktiv. In dem Fall das script auf rising ändern.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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...

von Helmut H. (helmuth)


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.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Helmut H. schrieb:
> Ist kaputt by design.
Das würde ich auch sagen.
Das ist dann auch das blöde am Internet: es ist so einfach, dass sogar 
Anfänger problemlos ihre simplen Laborschaltungen wie sauer Bier 
anpreisen können. Und die anderen Anfänger bauen genau diese Schaltungen 
dann nach, weil sie so einfach sind...

von PiUser (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

PiUser schrieb:
> - Welche Widerstände sind genau gemeint
Alle.
> und welche Größe müssten sie haben?
Etwa geteilt durch 50..100
> - Soll der Kondensator parallel zum Rest der Schaltung an den Reset Pin?
Der kommt zusätzlich zu dieser dubiosen Schaltung von Reset nach GND.

von Helmut H. (helmuth)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Helmut H. schrieb:
> Schaltungen die nur einen Widerstand und einen Taster benötigen.
Das würde ich auch erwarten. Und die verlinkte Schaltung hat einen 
halbwegs vernünftigen Widerstandswert. Ich würde das sogar noch 
niederohmiger machen: 4k7 oder 3k3...

von PiUser (Gast)


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

von Helmut H. (helmuth)


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.

: Bearbeitet durch User
von PiUser (Gast)


Lesenswert?

Aber weshalb hilt das auch bei GEÖFFNETEM relais? Dann kann doch kein 
Strom fließen, da Steuer stromkreis und zu schaltender Stromkreis 
galvanisch getrennt sind, oder liege ich falsch?

von PiUser (Gast)


Lesenswert?

PiUser schrieb:
> Aber weshalb hilt das auch bei GEÖFFNETEM relais?

*gilt

von Helmut H. (helmuth)


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.

von PiUser (Gast)


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

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.