Das m3atx funktioniert so:
Sobald zündungsplus am netzteil anliegt gibt es einen startIMPULS ab.
Sprich der gpio am raspi wird auf low gezogen und dann gleich wieder auf high.
Der impuls vom netzteil dauert etwa 1 sekunde.
Wenn dann zündungsplus wegfällt passiert genau das gleiche.
Verhält sich wie ein taster.
Also wenn man da mit nem shutdownskript arbeitet dann so das der shutdown nur auslöst wenn der gpio Low ist.
Ausserdem darf das skript nicht sofort nach dem boot scharf sein.
10 sekunden sollte es den gpio ignorieren dann würde der EINSCHALTIMPULS vom netzteil ignoriert und dann passt das.
Richtig! Aber Bergstern schreibt ja, dass sein Eingang ständig auf Low gezogen wird.
Daher glaube ich langsam das entweder der "Taster" an einem falschen Pin liegt oder ein anderes Problem bei den Jumpern ist.
Oder muss die .sh nach der Änderung mit sudo chmod +x neukompiliiert werden...
Der jumper ist auf P1 gesetzt. Und bei dem 3adrigen stecker vom atx kann man ja eigentlich nicht falsch anschließen. Mit einem Multimeter müsste der ganze Shutdown-Prozess doch messbar sein?
Also am On/off kabel vom m3atx darf zwischen der roten und schwarzen leitung KEIN durchgang sein.
Erst wenn der shutdown impuls auslöst haben diese leitungen durchgang.
Ist auch logisch sonst gibt das ding ja dauerfeuer.
Das kanste mit nen ohmmeter messen.
Wäre ja möglich das dein m3atx defekt ist.
Soooooooooo. Habe das ATX jetzt am laufen. Ich musste am Code etwas schrauben und einen externen Widerstand verbauen (2k) damit es funktioniert.
Habe jetzt einen Pull-up Widerstand zwischen 3,3V und GPIO.input gesetzt.
Im Code habe ich noch eingestellt das fallende und steigende Flankenwechsel erkannt werden und die bouncetime auf 50ms gestellt in der While schleife wird dann die Abfrage gemacht ob GPIO.in auf LOW oder High ist. High könnte man sich eigentlich sparen und auch die timer und print befehle, die habe ich nur zum testen in der shell gebraucht.
Hier mal mein neuer Code:
Code:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
import time
import datetime
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.IN)# pull_up_down=GPIO.PUD_UP)
time.sleep(20)
#Flanke = GPIO.wait_for_edge(13, GPIO.BOTH, bouncetime=50)
#subprocess.call(['shutdown', '-h', 'now'], shell=False)
GPIO.add_event_detect(13, GPIO.BOTH, bouncetime = 50)
Zaehler = 0
while True:
if GPIO.event_detected(13):
if GPIO.input(13) == 1:
print("HIGH")
if GPIO.input(13) == 0:
print("LOW")
time.sleep(1)
Zaehler = Zaehler + 1
print(Zaehler)
time.sleep(1)
subprocess.call(['shutdown', '-h', 'now'], shell=False)
Habe gestern meinen Raspi ins Handschuhfach verbaut. Die Idee dahinter wäre das ich das Handschuhfach leicht mit einer Plexiglasscheibe abtrennen könnte und einen großen Lüfter montieren kann, falls mir der kleine Lüfter im Raspigehäuse auf die Nerven gehen sollte....
Der Touchscreen hat ebenfalls seinen Platz gefunden und ist über einen “Quickfix-Sockel“ jederzeit abnehmbar.
Mein Radiomodul habe ich an die normale Stabantenne gesteckt, ich muss sagen das funktioniert schonmal erstaunlich gut. Wird sich bei der ersten Testfahrt ergeben ob ich eine andere Antenne benötige oder nicht.
Als nächstes habe ich mir vorgenommen die Temperatursensoren zu verkabeln.
Bilder?
Bilder kommen die nächsten Tage.
Nur keine Hemmungen, mein Auto ist auch staubig innen.
Habe heute meinen 5V Lüfter in Betrieb genommen. Da ich nicht wollte das der Lüfter ständig auf 100% läuft habe ich mich nach einer Alternative umgesehen.
Die erste Möglichkeit die ich im Netz gefunden hatte, wäre den Lüfter über die GPIO so zu steuern das er nur anläuft wenn die cpu eine gewisse Temperatur hat, wenn er dann anläuft läuft er mit 100% bis er die CPU auf eine "MIN-Temperatur" gekühlt hat. Ist ziemlich nahe dran was ich eigentlich haben wollte aber auch nicht das gelbe vom Ei. Die CPU braucht nicht sehr lange um wieder heiß zu werden und dann rennt der Lüfter wieder mit 100% an
Dann habe ich gesehen das man über die GPIO auch PWM Signal senden kann. Somit kann ich die Lüftergeschwindigkeit von 30-100% regulieren.
Das Ganze ist natürlich von der CPU-Temperatur abhängig, je Höher die Temperatur desto schneller dreht der Lüfter, funktioniert erstaunlich gut und der Lüfter rennt eigentlich nie mehr mit 100% Laufleistung.
Zwischen GPIO Pin und Lüfter habe ich noch einen Darlington Transistor geschaltet (ULN 2803) damit dem Raspi durch den Lüfter nichts passieren kann. Auf dem ULN 2803 sind jetzt noch 7 Pins frei um andere Sachen sicher ansteuern zu können, unter anderem auch mein Relais.
Bilder folgen