FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: bofax am 29 Juli 2021, 14:23:10

Titel: Steuern eines Digitalinputs über GPIO
Beitrag von: bofax am 29 Juli 2021, 14:23:10
Hallo zusammen,

ich möchte über FHEM gesteuert ein Gerät mit einem Digitaleingang steuern. Dazu möchte ich die GPIO-Pins des Raspberry Pis benutzen. Die Ansteuerung bekomme ich hin.

Ich habe aber folgendes Problem. Das Digitalinterface möchte folgendes:

"Eine logische 1 bedeutet, dass der entsprechende Eingang auf GND geschaltet, oder mit einer Eingangsspannung von 0-1V beaufschlagt werden muss. Eine logische 0 bedeutet, dass der betreffende Eingang offen bleibt, unbe- schaltet, oder mit einer Spannung im Bereich 4.5 - 40V beaufschlagt wird."

Die Spannung der GPIO liegt aber für "High" bei 3,3V und für "Low" bei 0V. 3,3 liegt im nicht definierten Bereich und ich weiss nicht, was dann passiert.

Ich habe für mich zwei Lösungen:
1) Relais (GPIO High: Relais zieht an, Eingang wird zu GND geschaltet, GPIO Low: Relais lässt los, Eingang ist unbeschaltet)
2) Erhöhung der Spannung

Kann mir jemand bei einer entsprechenden Schaltung behilflich sein? Habt ihr andere Ideen?

Vielen Dank!
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: herrmannj am 29 Juli 2021, 14:53:46
Wir sind beim raspi, richtig? Wieviel Strom brauchst du?

Ja, ich hab eine Schaltung und bestelle in Kürze auch eine Platine dafür bei jlcpcb. Wenn du willst kannst du eine bekommen, die haben sowieso mindestbestellmenge 5. Konnte in 3-4 Wochen bei dir sein.

Ich will nochmal über das Design gehen und Stelle das dann hier ein, dann kannst du das entscheiden. Denke Mal bis Anfang kommender Woche.

Die wird 8 Ausgänge (max 50v) und 4 digitale Eingänge haben
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: Papa Romeo am 29 Juli 2021, 17:26:10
...wie wär`s für den Einzelfall, bzw. auf die Schnelle mit einem Transistor oder FET. Damit wäre auch gleichzeitig die Negative-Logik kompensiert.
Ist der Transistor oder FET angesteuert (High) ist der Ausgang 0 (Low).

LG
Papa Romeo
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: herrmannj am 29 Juli 2021, 21:57:30
Guter Punkt. Ich plane mit dem UDN2981, für bofax wäre ein ULN2803 die bessere Wahl. Vielleicht bekomme ich das so unter dass man wahlweise beides nehmen kann.
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: Papa Romeo am 29 Juli 2021, 22:53:21
Ja, ich hab eine Schaltung und bestelle in Kürze auch eine Platine dafür bei jlcpcb. Wenn du willst kannst du eine bekommen, die haben sowieso mindestbestellmenge 5. Konnte in 3-4 Wochen bei dir sein.

Joerg, ist die Platine so groß, dass sie 10 x 10 cm ausfüllt ?

LG
Papa Romeo
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: Papa Romeo am 29 Juli 2021, 23:23:07
Guter Punkt. Ich plane mit dem UDN2981, für bofax wäre ein ULN2803 die bessere Wahl. Vielleicht bekomme ich das so unter dass man wahlweise beides nehmen kann.

... ich denke das dürfte kein so großes Problem darstellen. Soviel ich weiß ist die Pinbelegung der Beiden identisch. Unterschiedlich ist nur das Schaltverhalten.

Unterschied mit Last:     ULN --> Eingang HIGH --> Ausgang LOW,           Eingang LOW --> Ausgang +Ub         
                                      UDN --> Eingang HIGH --> Ausgang Hochohmig, Eingang LOW --> Ausgang +Ub

Man müsste also dem Nutzer nur die Wahl geben, ob er die Last zwischen IC-Ausgang und Gnd oder IC-Ausgang und +Ub benötigt.

Mit den ULN hab ich schon öfters gearbeitet. Die UDN nach Möglichkeit verkniffen ... hochohmige Zustände ist immer so ne Sache ... muß man mögen und auch damit arbeiten können. Als Ausgang gut zu verwenden, als Eingang muß man da schon aufpassen und sich seine Gedanken machen. ??? ::)

LG 
Papa Romeo
Titel: Antw:Steuern eines Digitalinputs über GPIO
Beitrag von: herrmannj am 29 Juli 2021, 23:31:56
ja genau. der udn ist halt ein high-side driver und der uln schaltet gegen gnd (sink). Sollte der ULN2805A der richtige sein, (3.3v in) oder?. Ich stell nachher mal im "Bastelforum" die Platine als draft ein. Vielleicht brauchen ja noch andere eine und ich muss sowieso 5 nehmen ...