Themabewertung:
  • 3 Bewertung(en) - 3.67 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schaltung zur Spannungsversorgung / Überwachung V1 / V2 !
#1
Hi durch Anregung von Jack hier mal ein eigener Thread zu meiner kleinen Lösung:

Ich habe mit der PiUSV rumgespielt aber war eigentlich nur enttäuscht und hab mir selber was gebastelt mit der Idee die GPIO's zu nutzen. Gleich vorweg - ich betreibe meinen Pi schon damit und es läuft sauber und ohne Probleme.

Kurz Beschreibung meiner Schaltung:

Grundlegendes:
Die Schaltung wird direkt vom Bordnetz mit 12V versorgt (dauerhaft / kein Verbrauch im Ruhezustand ohne Zündung!)
Die Zündung wird mittels Optokoppler an die Pi signalisiert.
Der Pi selbst signalisiert auch wieder über einen Optokoppler der Schaltung dass er aktiv ist.
12V-Seite und GPIO's des Raspberry sind über die Optokoppler galvanisch getrennt zum Schutz der GPIO's.

Verhalten:
Die Zündung wird betätigt wodurch der Transistor T1 das Relais anziehen lässt und der Kondensator der Zeitverzögerung gealden wird. Die Zündung könnte jetzt auch wieder kurz wegfallen ohne dass das Relais abfällt (z.B. wenn ein zweiter Startversuch benötigt wird). Am Relais selbst hängt ein Spannungswandler (Step-Down-Regler) der mir aus der Bordspannung die Gewünschten 5V für den Pi macht und diesen damit versorgt. Der Pi hat nun bis zu 1 Minute Zeit zu booten (denkbar ist ja mal ein Dateisystemcheck der nen Moment benötigt). Sobald der Pi startklar ist wird bei mir mittels Script der GPIO der Selbsthaltung gesetzt. Damit ist die Zündung und Zeitverzögerung komplett aus dem rennen - der Pi läuft bis zum Ende seiner Tage oder der Batterie :-) Hier Kommt ein zweites Script zum tragen was in einer Schleife läuft und den GPIO der Zündung überwacht. Ist der GPIO auf Low (0) wird nach 5 Sekunden Verzögerung der Pi heruntergefahren. Der GPIO der Selbsthaltung bleibt hierbei unberührt und bleibt auf High (1) bis der Pi beim Abschalten alle GPIO's auf 0 setzt (macht er selbst wenn er die CPU stoppt und damit vollstndig "aus" ist) wudurch dann auch das Relais abfällt und die Spannungsversorgung unerbricht.

"Nachteile":
Der Pi fährt normal schnell herunter. Die Zeitverzögerung benötigt aber ca. 1 Minute um abzuschalten - kommt in dieser Zeit die Zündung wieder startet der Pi nicht neu. Erst wenn die Zeitschaltung entladen ist (Zündung aus) kann der Pi mittels Zündung wieder neu gestartet werden. Aber mal ehrlich: wer startet so schnell wieder die Karre? Ich nicht :-) Für den Falll der Fälle beschaltet den Reset des Raspberry mit nem Taster - generell eh ne gute Idee je nach dem wie gut Ihr an den Pi rankommt oder ihn verbaut.

Im Anhang findet Ihr den Schaltplan und meine beiden Scripte - ich hoffe Ihr habt auch Spaß damit :-)

PS: Powercheck.sh ist die Zündüberwachung und sendet auch Infos an die Kodi-Gui wenn der Webserver auf Port 8080 aktiviert ist ohne User und Pass!

Update V2:

Hallo Leute, ich habe in den letzten Tagen etwas Zeit gebraucht um den Kopf mal frei zu kriegen und habe die Schaltung etwas
erweitert für euch. Folgendes wurde ergänzt:


- Elektronische Selbstentladung
- Neustart falls Zündsignal noch vorhaden beim Shutdown

Erklärung der Neuerungen in V2:

Wenn der Pi startet und die Selbsthaltung über den GPIO aktiviert wird, wird zusätzlich der Transistor T3 "abgeschaltet" wodurch das RC-Glied der Selbsthaltung sich entladen kann. Das Relais bleibt nach wie vor durch die Selbsthaltung angezogen. Wird der Pi durch Verlust des Zündsignals heruntergefahren schaltet er dann sofort ab (Mindestlaufzeit des Pi muss aber schon ca. 1 Minute sein damit das RC-Glied genug Zeit hatte zum entladen).
Besonders ist allerdings folgendes: liegt die Zündung beim Herunterfahren noch an (z.B. weil der Shutdown manuell angestoßen
wurde) schaltet das Relais zwar kurz ab und den Pi damit vollständig aus, aber schaltet danach sofort wieder ein wodurch der Pi sofortn wieder startet.

Die Schaltung ist eine leicht modifizierte Version der V1 - wer also den Aufbau schon gemacht hat und nicht extra eine Platine
geätzt hat wird nur wenig Schwierigkeiten haben die Schaltung auf V2 umzurüsten.

An dieser Stelle viel Spaß damit !

PS: Wer gleubt ich mach sowas nur theoretisch ohne Testen liegt falsch :-)
Hier mal Bilder meine Produktion des Prototypen von V2:

Zu sehen sind zwei Platinen die zusammen gefertigt werden. Die Platinen wurden nach dem Ätzen noch mit Lötstopfilm laminiert und danach chemisch Verzinnt um eine beserre Eigenschaft beim Lötzen zu erreichen. Sämmtliche Schritte sind Handarbeit :-)

   

   


Angehängte Dateien
.zip   Scripte.zip (Größe: 991 Bytes / Downloads: 156)
.pdf   CARPI-Spannungsversorgung.pdf (Größe: 41,34 KB / Downloads: 335)
.pdf   CARPI-Spannungsversorgung_V2.pdf (Größe: 44,81 KB / Downloads: 568)
Raspberry Pi 3 , Waveshare 7" 800x480 (V2.1 with HID) Display, HifiBerry DAC+ Standard, Raspbian Jessie


Mein Repository
Zitieren
#2
Kleine Anregung dazu: Man könnte am Kabel mit der Zündspannung noch einen Schalter einbauen. Dann kann man, wenn Zündung an, immer noch frei entscheiden ob der CarPi laufen soll oder nicht. Manchmal will man ja einfach nicht! Smile
Zitieren
#3
(29.05.2016, 08:22)hawkeyexp schrieb: Hi durch Anregung von Jack hier mal ein eigener Thread zu meiner kleinen Lösung:

.....

"Nachteile":
Der Pi fährt normal schnell herunter. Die Zeitverzögerung benötigt aber ca. 1 Minute um abzuschalten - kommt in dieser Zeit die Zündung wieder startet der Pi nicht neu. Erst wenn die Zeitschaltung entladen ist (Zündung aus) kann der Pi mittels Zündung wieder neu gestartet werden. Aber mal ehrlich: wer startet so schnell wieder die Karre? Ich nicht :-) Für den Falll der Fälle beschaltet den Reset des Raspberry mit nem Taster - generell eh ne gute Idee je nach dem wie gut Ihr an den Pi rankommt oder ihn verbaut.
.....

Hmm, erst mal gefällt mir die Lösung sehr gut. Zumindest auf den ersten Blick.

Und zu dem "Nachteil"
Das kann man auch automatisieren.
Korrigiert mich wenn ich das auf den ersten Blick falsch gedeutet haben sollte.
Die Selbsterhaltung ist irrelevant solange die Zündung auf 12V liegt.
(Der Raspi hat also solange Zündung an unendlich lange Zeit zu starten und nicht nur eine Minute.)
Aber wenn er sich selbst herunter gefahren hat dann bleibt er so bis Zündung mehr als eine Minute aus (und dann wieder an)  oder Reset.

Was man also erkennen muss ist:
1.) GPIO Selbsterhaltung ging von High auf Low. (Also nicht nur auf Low prüfen, da dies einen Dauerreset beim Start gäbe)
2.) Das muss man sich merken bis Spannungsversorgung (nach einer Minute Verzögerung) aus.
3.) Wenn in der Zeit Zündung wieder an, dann Reset. (Auch für 2., da sonst auch Dauerreset)

Nicht ganz trivial, aber das sollte man mit etwas nachdenken auch hinbekommen.
Zitieren
#4
Ich sag ja, einfach den Zündstrom per Schalter unterbrechen. Dann muss man in diesem Fall auch nicht eine Minute lang im Auto sitzen, bevor man dann endlich losfahren kann, sondern legt halt nach der Gedenkminute einfach den Schalter um, um den Pi zu starten.
Zitieren
#5
Der folgende Link hat mich dazu gebracht gleich noch eine Änderung vorzuschlagen.
http://raspicarprojekt.de/showthread.php?tid=777
Einen zusätzlichen Einschalter.

Wenn ich mal so darüber nachdenke und ohne Gewähr.
Zusätzliche Diode direkt an K1 PIN-3 Zündung
Dann von K1 PIN-1 über eine zweite zusätzliche Diode und einen Schalter hinter diese erste zusätzliche Diode.
(Nicht Taster, da Zündsignal an Raspberry....)
Dann kann man per einfachen Ein/Aus Schalter das Zündsignal (nicht nur zum testen dieser Schaltung) simulieren.
Wobei Zündsignal und Schalter per Kabel verodert sind. Also Radio ein wenn Zündung und/oder Schalter.
Die zusätzlichen Dioden verhindern, dass der Strom von Zündung zu BAT 12 V fließt und so eine Sicherung umgeht oder gar die Zündung über das Radio immer ein ist.

Ob ich einen zusätzlichen Ausschalter haben will und wohin damit, da bin ich selbst noch am nachdenken.
Also evtl. K1 Pin-1 und -3 ausschalten oder nur Pin-3 oder hinter dem "Kabel-oder" oder....
Zitieren
#6
(03.06.2016, 18:56)AlexanderW schrieb: Korrigiert mich wenn ich das auf den ersten Blick falsch gedeutet haben sollte.
Die Selbsterhaltung ist irrelevant solange die Zündung auf 12V liegt.
(Der Raspi hat also solange Zündung an unendlich lange Zeit zu starten und nicht nur eine Minute.)
Aber wenn er sich selbst herunter gefahren hat dann bleibt er so bis Zündung mehr als eine Minute aus (und dann wieder an)  oder Reset.

Was man also erkennen muss ist:
1.) GPIO Selbsterhaltung ging von High auf Low. (Also nicht nur auf Low prüfen, da dies einen Dauerreset beim Start gäbe)
2.) Das muss man sich merken bis Spannungsversorgung (nach einer Minute Verzögerung) aus.
3.) Wenn in der Zeit Zündung wieder an, dann Reset. (Auch für 2., da sonst auch Dauerreset)

Nicht ganz trivial, aber das sollte man mit etwas nachdenken auch hinbekommen.

Hi Alexander, du hast das Verhalten der Schaltung völlig richtig interpretiert. Ich werde demnächst eine kleine Erweiterung posten damit der Pi direkt wieder startet falls er heruntergefahren wird und dann doch noch (oder wieder) die Zündung anliegt. Das ganze lässt sich recht Simpel lösen. Ich werde es aber erst posten wenn ich es hier ausprobiert habe und es zuverlässig funktioniert - theoretisch ist ja immer ganz einfach aber die Praxis zeigt ja oft kleine Überraschungen die man nicht gleich bedacht hat. Gebt mir noch paar Tage Zeit da ich noch 2-3 Kleinigkeiten besorgen muss die ich nicht mehr vorrätig habe.
Und sorry für die späte Antwort - ich hatte mich voll und ganz in das neue Radio-Addon gestürzt was jetzt auch hier veröffentlicht ist :-)
Raspberry Pi 3 , Waveshare 7" 800x480 (V2.1 with HID) Display, HifiBerry DAC+ Standard, Raspbian Jessie


Mein Repository
Zitieren
#7
(04.06.2016, 03:01)hawkeyexp schrieb:
(03.06.2016, 18:56)AlexanderW schrieb: Korrigiert mich wenn ich das auf den ersten Blick falsch gedeutet haben sollte.
Die Selbsterhaltung ist irrelevant solange die Zündung auf 12V liegt.
(Der Raspi hat also solange Zündung an unendlich lange Zeit zu starten und nicht nur eine Minute.)
Aber wenn er sich selbst herunter gefahren hat dann bleibt er so bis Zündung mehr als eine Minute aus (und dann wieder an)  oder Reset.

Was man also erkennen muss ist:
1.) GPIO Selbsterhaltung ging von High auf Low. (Also nicht nur auf Low prüfen, da dies einen Dauerreset beim Start gäbe)
2.) Das muss man sich merken bis Spannungsversorgung (nach einer Minute Verzögerung) aus.
3.) Wenn in der Zeit Zündung wieder an, dann Reset. (Auch für 2., da sonst auch Dauerreset)

Nicht ganz trivial, aber das sollte man mit etwas nachdenken auch hinbekommen.

Hi Alexander, du hast das Verhalten der Schaltung völlig richtig interpretiert. Ich werde demnächst eine kleine Erweiterung posten damit der Pi direkt wieder startet falls er heruntergefahren wird und dann doch noch (oder wieder) die Zündung anliegt. Das ganze lässt sich recht Simpel lösen.
.....
Über Nacht hatte noch eine Idee.
Auf den GPIO nicht die Zündung, sondern die verzögerte Zündung legen.
Wenn man dann mal vor der Ampel (ohne Start-Stop) den Motor ausmacht und die Zündung gleich wieder an, dann merkt der Raspberry gar nichts davon. Und diese Lösung ist wesentlich einfacher :-).

PS.: Ich habe mal gerade zusammengezählt was man da wohl benötigt um das mit dieser Änderung umzusetzen.
R1 fällt wohl weg und ein zusätzlicher T2.
Zitieren
#8
(04.06.2016, 09:34)AlexanderW schrieb:
(04.06.2016, 03:01)hawkeyexp schrieb:
(03.06.2016, 18:56)AlexanderW schrieb: Korrigiert mich wenn ich das auf den ersten Blick falsch gedeutet haben sollte.
Die Selbsterhaltung ist irrelevant solange die Zündung auf 12V liegt.
(Der Raspi hat also solange Zündung an unendlich lange Zeit zu starten und nicht nur eine Minute.)
Aber wenn er sich selbst herunter gefahren hat dann bleibt er so bis Zündung mehr als eine Minute aus (und dann wieder an)  oder Reset.

Was man also erkennen muss ist:
1.) GPIO Selbsterhaltung ging von High auf Low. (Also nicht nur auf Low prüfen, da dies einen Dauerreset beim Start gäbe)
2.) Das muss man sich merken bis Spannungsversorgung (nach einer Minute Verzögerung) aus.
3.) Wenn in der Zeit Zündung wieder an, dann Reset. (Auch für 2., da sonst auch Dauerreset)

Nicht ganz trivial, aber das sollte man mit etwas nachdenken auch hinbekommen.

Hi Alexander, du hast das Verhalten der Schaltung völlig richtig interpretiert. Ich werde demnächst eine kleine Erweiterung posten damit der Pi direkt wieder startet falls er heruntergefahren wird und dann doch noch (oder wieder) die Zündung anliegt. Das ganze lässt sich recht Simpel lösen.
.....
Über Nacht hatte noch eine Idee.
Auf den GPIO nicht die Zündung, sondern die verzögerte Zündung legen.
Wenn man dann mal vor der Ampel (ohne Start-Stop) den Motor ausmacht und die Zündung gleich wieder an, dann merkt der Raspberry gar nichts davon. Und diese Lösung ist wesentlich einfacher :-).

PS.: Ich habe mal gerade zusammengezählt was man da wohl benötigt um das mit dieser Änderung umzusetzen.
R1 fällt wohl weg und ein zusätzlicher T2.
Ich denke der Pi sollte schon sofort mitbekommen ob die Zündung da ist oder nicht. Mein Gedankengang ist leicht anders. Der Pi entlädt die Zeitverzögerung sobald er online ist da ja dann die Selbsthaltung greift und er Sie nicht mehr braucht. Dann kommt nur noch der Trigger dazu um ihn wieder zu starten wenn er abschaltet und die Zündung noch bzw. wieder anliegt. Ich Versuch es aber auch wieder so simpel wie möglich umzusetzen damit die Schaltung einfach erweitert werden kann wenn Sie schon jemand gebaut hat.

Gesendet von meinem Xperia Z1 mit Tapatalk
Raspberry Pi 3 , Waveshare 7" 800x480 (V2.1 with HID) Display, HifiBerry DAC+ Standard, Raspbian Jessie


Mein Repository
Zitieren
#9
(04.06.2016, 11:01)hawkeyexp schrieb: Ich denke der Pi sollte schon sofort mitbekommen ob die Zündung da ist oder nicht. Mein Gedankengang ist leicht anders.
...

Hat auch etwas, übrigens, die Zeitverzögerung für Zündung aus und Runterfahren kann man auch per Script machen.
So eine Art "Please press Cancel to prevent shot down" und nach 5 Sekunden wird noch mal die Zündung geprüft.
...
(04.06.2016, 11:01)hawkeyexp schrieb: Der Pi entlädt die Zeitverzögerung sobald er online ist da ja dann die Selbsthaltung greift und er Sie nicht mehr braucht.
Derzeit nicht.

(04.06.2016, 11:01)hawkeyexp schrieb: Ich Versuch es aber auch wieder so simpel wie möglich umzusetzen damit die Schaltung einfach erweitert werden kann wenn Sie schon jemand gebaut hat.

Mach es (erst mal) so wie du willst.
Später wenn alles mögliche durchdacht ist, dann kann man ja evtl. sogar eine Schaltung entwickeln, die per Jumper und/oder Lötbrücken und/oder zusätzliche Taster/Schalter "alles" kann.

Ich habe derzeit übrigens ein Relais RT424012 vorgesehen.
Das kann 2 mal 8A schalten. Ein Strang (6A Sicherung?) kann den Verstärker versorgen.
Der andere Strang übernimmt Raspberry+... (3A Sicherung?) sowie die Stromversorgung der Antenne (und evtl 2tes Display oder... über eine 4A Sicherung)

PS.: Die ganzen Signale auf dem ISO-Stecker (Blende, Geschwindigkeitsabhängige Lautstärke, Lenkradfernbedienung) kann man ebenso auf GPIO legen wie die Zündung. Aber frag mich nicht nach den Timings dieser Signale.

PS.2: Ich habe mal in das Script hereingesehen. Da ist ja schon eine Zeitverzögerung zum runterfahren. Hmmm, erst lesen, dann schreiben...
Dennoch, ich denke ich werde das verzögerte Zündsignal auf den GPIO legen. Oder zumindest damit experimentieren.
Daher werde ich da (Zündsignal auf GPIO) einen Jumper/Schalter vorsehen mit dem ich Zündung und verzögerte Zündung auf GPIO legen kann.
Als weitere optionale Schalter sehe ich derzeit einen Hauptschalter der Zündung und 12V unterbricht und/oder einen Umschalter mit Neutralstellung der es ermöglicht die 12V auf den Zündeingang deiner Schaltung zu legen.
Aber Priorität hat für mich erst mal der Aufbau eines Testsystemes zum testen eines 2 Monitor Systems.
Ich denke damit (vor allem mit der Software) werde ich wohl noch etwas zu tun haben.
Aber deine Schaltung ist auch dafür eine schöne Basis. Danke!
Den zweiten Monitor (ok 9V Fernseher) werde ich über den Remote Out PIN 5 des ISP-Steckers mit Strom versorgen.


PS.3:
(04.06.2016, 11:01)hawkeyexp schrieb: Der Pi entlädt die Zeitverzögerung sobald er online ist da ja dann die Selbsthaltung greift und er Sie nicht mehr braucht.
Derzeit nicht. Aber ich habe den Gedanken jetzt über das WE noch mal im Hinterkopf behalten.
Das Problem ist ja, dass der Puffer/Kondensator bei Zündung an immer mindestens so viel Energie aufnimmt wie über den hohen Wiederstand abgegeben wird.
Dem kann man aber abhelfen. Man muss eben entweder weniger (am besten gar keine) Energie dort hin lassen und/oder die Energie schneller abfliessen lassen.
Kurz: Bei Raspberry setzt GPIO auf selbsterhalt, muss man die Energiezufuhr zum Kondensator sperren und besser auch einen besseren Abfluss vorsehen. Sonst dauert das Entladen ja zu lange.
Das Relais, welches ich für die Energieversorgung vorgesehen habe ist ja ein 2-fach Umschalter. So etwas kann man hierzu auch vorsehen.
Bei GPIO inaktiv kommt die Zündung (über den bestehnden Wiederstand) auf den Kondensator. Bei GPIO aktiv wird diese Verbindung unterbrochen und stattdessen wird der Kondensator über einen (anderen!?!) Wiederstand nach Masse gezogen und so entlehrt.
Ich habe da etwas konkretes im Kopf, und werde mir jetzt mal KICAD ansehen um es mit dem zu dokumentieren.
Zitieren
#10
(29.05.2016, 08:22)hawkeyexp schrieb: Hi durch Anregung von Jack hier mal ein eigener Thread zu meiner kleinen Lösung:

Ich habe mit der PiUSV rumgespielt aber war eigentlich nur enttäuscht und hab mir selber was gebastelt mit der Idee die GPIO's zu nutzen. Gleich vorweg - ich betreibe meinen Pi schon damit und es läuft sauber und ohne Probleme.
....

Nachdem ich jetzt daran sitze auf deiner Basis die Schaltung massiv zu erweitern, stellt sich für mich die Frage nach Copyright/Copyleft und Lizenz.
Schon mal darüber nachgedacht?
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
RasPiCarProjekt