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
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.
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
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)
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
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
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...
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
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...
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
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.
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
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...
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
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
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.