Anfänger Starthilfe: Raspberry // Python // Relais

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Falko Pi
User
Beiträge: 2
Registriert: Samstag 31. August 2019, 14:44

Hallo Zusammen !
Ich fange gerade an, mich mit den oben genannten Themen zu beschäftigen. Nach vielem Googeln, lesen, googeln und noch mehr lesen habe ich mir ein bisschen Hardware besorgt. Jetzt habe ich den ersten "Versuchsaufbau" fertig und das erste kleine Python-Programm / Skript auf meinem Raspberry 3b+ aus geführt und es kommt zu einigen un gereimtheiten. Hat jemand evtl. Lust und Zeit mir zu erklären, was da evtl. für Fehler bei mir zu finden sind ? Ich habe meinen Code mal eingefügt:

Code: Alles auswählen

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

relais = 16

GPIO.setup(relais, GPIO.OUT)
# GPIO.output(relais, GPIO.LOW)

print("In 5 sec. geht es los")

time.sleep(5)

GPIO.output(relais, GPIO.HIGH)
time.sleep(10)
GPIO.output(relais, GPIO.LOW)
time.sleep(2)
print("Vorbei ...")

GPIO.cleanup()
Es passiert nun folgendes: Sobald ich das Programm starte, wird sofort das Relais geschaltet. Egal ob ich "GPIO.output(relais, GPIO.LOW)" setze oder nicht.
Hat jemand eine Idee, bzw erklärung für mich ?

Gruß aus dem schönen Sauerland, Falko
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte nicht mehr das fuerchterlich veraltetet RPi.GPIO benutzen. Dieser Tage benutzt man gpiozero.

Und dann ist mir dein Problem noch nicht ganz klar. Schaltet das Relais gar nicht? Oder nur zu Anfang nicht so, wie du willst?
Falko Pi
User
Beiträge: 2
Registriert: Samstag 31. August 2019, 14:44

__deets__ hat geschrieben: Sonntag 1. September 2019, 17:16
Und dann ist mir dein Problem noch nicht ganz klar. Schaltet das Relais gar nicht? Oder nur zu Anfang nicht so, wie du willst?
Hallo! Sobald ich das Programm Starte, schaltet das Relais schon. RPi.GPIO nutze ich nur weil es auch in meinem gefunden Video genau dem entsprach, was ich suchte. Wenn es da etwas anderes, neueres / besseres gibt, suche ich noch mal.

Also das jetzige Problem ist einfach nur, das mein Relais bzw, der GPIO-Pin sofort auf HIGH gesetzt wird. Das Relais schaltet genau "umgekehrt" wie es eigentlich gedacht ist. Hilft da hier wohl ein Video weiter, was genau passiert ?

Noch mal in Worten was passieren soll / was passiert:
- Das Programm startet
- GPIO relais(16) wird auf LOW gesetzt (Das Angeschlossne Releais sollte NICHT geschaltet werden/sein, aber es schaltet)
- Meldung "In 5 sec. geht es los!" wird ausgegeben
- 5 sec. werden gewartet
- GPIO relais(16) wird auf HIGH gesetzt (Relais sollte jetzt schalten, aber jetzt fällt es ab)
- 10 sec warten
- GPIO releais wird auf LOW gesetzt (Relais sollte jetzt eigentlich abfallen aber es zieht an )
- 2 sec warten
- GPIO.cleanup und das Programm ist zu ende



Gruß, Falko
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na es haengt ja nun von deinem Relais ab, welchen Zustand bei welchem Pegel es hat. Wenn der gegenueber deiner Erwartung invertiert ist, musst du das halt auch machen. Oder das Relais anders anklemmen, das hat ja oft zwei Ausgaenge, die wechselnd geschaltet sind.
Fesker
User
Beiträge: 3
Registriert: Mittwoch 18. September 2019, 10:15

Es ist richtig, das sich dein Relais so verhält. LOW heißt hierbei anziehen, HIGH abfallen.
Das erklärt sich letztenendes durch den Schaltaufbau.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1239
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

RPi.GPIO ist immer noch aktiv und bekommt Updates und ist perfomant.
Für Endanwender ist diese Bibliothek aber nicht geeignet.

Es bringt aber nichts bei jedem kleinen Furz diese Library zu verteufeln, wenn das Problem eher eine ganz andere Ursache hat ;-)

Wo ist denn den Schaltplan von dem Beispiel? Hast du die Spannung gemessen? Hängst du vielleicht am Öffner des Relais und hast deswegen eine invertierte Logik?
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten