RPI_GPIO direction schalten

Begonnen von MichlB, 10 April 2016, 07:38:51

Vorheriges Thema - Nächstes Thema

MichlB

Hallo,
ich hab mal ne frage, ich hab mir die 16kanal relais bord gekauft, jetzt wollt ich die steuern bin aber drauf gekommen, dass die nicht so einfach zu steuern sind, denn beim rpi_gpio definiertman ja die richting und dann schaltet man ja high (strom) oder low (stromlos), die relaiswollen aber scheinbar mit der direction geschaltet werden also output = eingeschaltet l, input = ausgeschaltet...
kann man das irgendwie bei rpi_gpio dass ich eben nicht high/low mit dem status schalten sondern die direction???
bräucht das nämlich dann für meine heizugn mittels pid und stellmotor
usw...

danke
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

klausw

Zitat von: Michl1003! am 10 April 2016, 07:38:51
Hallo,
ich hab mal ne frage, ich hab mir die 16kanal relais bord gekauft, jetzt wollt ich die steuern bin aber drauf gekommen, dass die nicht so einfach zu steuern sind, denn beim rpi_gpio definiertman ja die richting und dann schaltet man ja high (strom) oder low (stromlos), die relaiswollen aber scheinbar mit der direction geschaltet werden also output = eingeschaltet l, input = ausgeschaltet...
kann man das irgendwie bei rpi_gpio dass ich eben nicht high/low mit dem status schalten sondern die direction???
bräucht das nämlich dann für meine heizugn mittels pid und stellmotor
usw...

Da komme ich nicht mit.

high = 3,3V
low = GND (nicht hochohmig)
Input = hochohmig

Was für ein Board hast du denn gekauft? Die meisten sind für OpenCollector Ausgänge konstruiert. Das heisst, sobald der Eingang des Relais auf Masse gezogen wird, schaltet es. Der GPIO würde also invertiert arbeiten.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

MichlB

hallo
also ich habe dieses hier http://www.ebay.at/itm/291649325966?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
gekauft...

ich habe das phenomän, wenn das ding  am pi angeschlossen ist, sprich
Board 5V - PI 5V
Board GND - PI GND
Board pin1 - PI Pin11 (GPIO 0 = Output low)

board schaltet Relais = ein ...

GPIO0 = Input low => Relais aus
GPIO0 = Input hight => Relais aus
GPIO0 = Output high => Relais ein
GPIO0 = Output low => Relais ein

GPIO0 = Output => Relais ein
GPIO0 = INput => Relais aus...

habe das Board auch bei Aliexpress gekauft, und das macht das gleiche...

1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

MichlB

habe eine funktionierende Teillösung für mein Problem, die frage ist (noch ungetestet) ob das auch mit PID und stellmotor funktioniert..
aber als button bzw. dummy funktionierts ganz gut..

[Code/]
define testnon notify btn1:on {system("gpio mode 0 output") ;;;; system("gpio mode 2 input")}
attr testnon room test
define testnoff notify btn1:off {system("gpio mode 0 input") ;;;; system("gpio mode 2 input")}
attr testnoff room test
define testncl notify btn1:close {system("gpio mode 0 input") ;;;; system("gpio mode 2 output")}
attr testncl room test
define btn1 dummy
attr btn1 eventMap on:auf off:aus close:zu
attr btn1 room test
attr btn1 webCmd auf:aus:zu
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

klausw

Scheint nen typisches Relaisboard zu sein...komisch
Evtl gibt es einen GND Versatz zwischen Pi und Ralaisboard.
Versorgst du das Pi mit über das Relaisboard?

Verbinde doch einfach mal
Board pin1 mit Board 5V
und
Board pin1 Board GND

Bei einem sollte das Relais anziehen und beim anderen eben nicht.
Keinesfalls bei beiden.

Nebenbei bemerkt kannst du einen Input Pin schlecht auf High oder Low schalten.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

MichlB

hallo klausw

hab ich gemacht, das Relais schaltet wenn ich pin 1 + GND verbinde...
was bedeutet das?
ich bin nicht so der Elektrik-Freak, aber ich habe - weil ja Probleme mit dem board, etwas gegoogelt und das hier https://forum.arduino.cc/index.php?topic=365156.45
gefunden, nur weiß ich noch nicht wirklich was damit anzufangen...
mir wäre natürlich lieber, ich könnte das Board mit high und low steuern als mit Input und Output...
wäre das vom link die lösung für dieses Problem oder ist das was ganz anderes?
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

klausw

Zitat von: Michl1003! am 12 April 2016, 07:48:36
hab ich gemacht, das Relais schaltet wenn ich pin 1 + GND verbinde...
was bedeutet das?
Schaltet das Relais nicht, wenn du Pin 1 mit 5V verbindest? Ich vermute mal das wolltest du damit auch sagen.

Das würde bedeuten, du hast invertierte Logik. 0V am GPIO schaltet das Relais ein und 3,3V schaltet es aus.
(kann über ein Attribut auch invertiert werden, aber erst einmal würde versuchen es zum laufen zu bekommen)

Wie wird das Pi versorgt? Ich habe gesehen, das auf dem Relaisboard ein Spannungsregler montiert ist. Versorgst du das Pi darüber? Oder separat über USB?
Beschreibe das mal genauer.

Zitat von: Michl1003! am 12 April 2016, 07:48:36
ich bin nicht so der Elektrik-Freak,
das ist mir nicht aufgefallen  ;)

Besitzt du ein Multimeter und kannst damit umgehen?
Das wäre wichtig für die nächsten Schritte.

Zitat von: Michl1003! am 12 April 2016, 07:48:36
aber ich habe - weil ja Probleme mit dem board, etwas gegoogelt und das hier https://forum.arduino.cc/index.php?topic=365156.45
gefunden, nur weiß ich noch nicht wirklich was damit anzufangen...
mir wäre natürlich lieber, ich könnte das Board mit high und low steuern als mit Input und Output...
wäre das vom link die lösung für dieses Problem oder ist das was ganz anderes?
Ich habe es überflogen, der 4. Post ist interessant.
Dort steht, das an den Input Pins des Relais Boards 5V anliegen, wenn die nicht angeschlossen sind.
Messe das mal nach. In diesem Fall solltest du vorsichtig sein, 5V können die GPIOs zerstören, da diese nur 3,3V Ausgangsspannung haben und auch nicht tolerant gegen 5V sind.

Das könnte auch ein Grund sein, warum es mit GPIO als output nicht geht:
High = 3,3V am GPIO -> zu 5V sind das 1,7V Differenz. Das könnte schon ausreichen den Optokoppler durchzuschalten.

Ok während ich weiter lese ... Die in deinem Link beschriebene Modifikation könnte funktionieren. Dort wird die 5V Versorgung von den Widerstandsarrays PR1,2,4,7 abgeklemmt.
Diese könntest du dann alternativ über die 3,3V des Pi versorgen (vorausgesetzt das Pi liefert auf den 3,3V genug Strom).
Aber traust du dir diese Anpassung zu?

Eine weitere Alternative wäre es, einen Pegelwandler zu bauen (kaufen). Besteht pro Kanal aus einem Transistor und einem Widerstand. Der Invertiert das Ganze auch noch.

                                    ________ (Kollektor) Pinx vom RelaisBoard
              ______          /
GPIO-----| R1    |------| NPN
              |_____|         \
                                    |
                                    |
                                   (Emitter) GND



RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

MichlB

also ich habe den Pin am board gegen mit GND verbunden und es hat klack gemacht.... ;-)

der Pi ist eigen-versorgt mit eigenem Netzteil...

habe ein multimeter, kann es auch halbwegs bedienen, das mit dem NPN würd ich glaub ich auch hinbekommen, hab so was ähnliches schon mal mit nem Lüfter für den Pi gebastelt...

denk den Boardhack könnt ich auch hinbekommen, aber es ist doch etwas bedenklich, wenn man sich was kauft, und das erst umbaun muss um es verwenden zu können....
aber gut.. dafür war es billig. ...

ich muss schaun ob ich ev. noch so npn teile rumliegen habe, denn ich denke, wenn ich das board jedesmal modifizieren muss, wenn das zb. defekt ist, wäre mühsam, deshalb ist die schneller -tauschbare variante die mit den Transistoren...

muss mal guggen ob ich irgendwo die Anleitungen und teile finde..

danke dir aber vielmals für den Input...
messen werde ich das trotzdem und geb dann bescheid...
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

MichlB

soooo. ich hab noch einige c547c und bc-337-40 liegen, mal schaun wie ich das zusammenfitzel... welchen widerstand nehm ich da?
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

klausw

Zitat von: Michl1003! am 12 April 2016, 20:41:24
soooo. ich hab noch einige c547c und bc-337-40 liegen, mal schaun wie ich das zusammenfitzel... welchen widerstand nehm ich da?
1k sollte gehen oder 4k7 was du halt da hast.

Das Board ist ehrlich gesagt sicher schneller umgebaut (vorrausgesetzt der Schaltplan stimmt). Ist halt nicht für 3,3V geeignet, was immer auch in der Beschreibung stand.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

MichlB

hallo klausw

danke für den tipp... ich glaub trotzdem, dass ich mir das mit den Transistoren zusammen-bruzzel, weil ich ja dann gleich auf der selben Platine meine anschlüsse für die Sensoren (1-Wire) machen kann, somit brauch ich das teil dann nur auf den PI anstecken und diretk am "originalen" Board und fertig... sollte mal der PI oder das Board eingehen, einfach tauschen, fertig...
und das ganze sollte dann auch sauber aussehen....


vielen dank!

werde dann Fotos und Code aufstellen wenn ich fertig bin... könnte aber noch etwas dauern... ;-)
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

MichlB

hallo klausw

also, ich hab mir da was zusammengebruzzelt, mit den transistoren funktioniert das eigentlich wunderbar.
hab noch einen mcp23017 rumliegen gehabt,bden ich gleivh dazu mitverwendet habe um mir nicht gleich alle gpio ports zu belegen. funktioniert auch ganz gut, abrr leider verliert der scheinbar die befehle bzw. schaltet wieder auf den alten zustand zurück, ist aber bereits ein aanderes thema.
danke für deine hilfe!
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

MichlB

soooo...

hier mal ein paar Impressionen  zu dem Projekt...


Ich betreibe hier einen PI 2 mit Edimax Wlan-Stick,
derzeit noch 8 Stk DS18B20-1Wire Sensoren und einem 16-Relay-Board (12V extern) und dann noch das Transistorboard...

1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox