Forum: Analoge Elektronik und Schaltungstechnik Zwei Signale - eine Leitung


von Christian G. (Firma: privat) (dotti)


Lesenswert?

Bin neu hier - mein erster Post. Hallo!
Allerdings schon mitgelesen einige Zeit.
Wusste meinen Post nicht recht einzuordnen, bitte korrigieren, falls 
nicht passend.
Toll, was hier so an Fachwissen versammelt ist schleimrum
Bin recht Noob noch, was Elektronik angeht - ja das Kompendium wird's 
mal richten, wenn genug Zeit ist.
Grundkenntnisse sind teilweise vorhanden, aber es fehlt noch etwas an 
Praxis und vor allem an Erfahrung. Bitte nicht gleich draufschlagen!

Zum Thema: Eigentlich könnte ich blackboxartig formulieren und es wäre 
evtl. ausreichend. Kontext ist aber sicher hilfreich und befriedigt 
gewisse Neugier, also. Vor zwei Jahren hat mir meine Frau einen 
Raspberrypi zu Weihnachten geschenkt, der einige Zeit nur so rumlag, bis 
dessen GPIOs meine Aufmerksamkeit erregten, und ich begann zu basteln 
und zu forschen. Plan, um etwas Sinnvolles damit anzustellen - mal 
wieder - die Haussteuerung. Im wesentlichen Lichter schalten und 
Jalousien fahren. PIRs gibts auch einige. Auf dem Pi hab ich dazu I2C in 
Verwendung mit Porterweiterungen (MCP23017) - also 5V Logik statt 3,3V 
von den Pi GPIOs schonmal. Das gibt ne Menge Ports, die es aber auch 
braucht. Aufgrund meines Anfängertums gibt es nur simple Schaltungen, 
die aber auf Haussteuerung ausreichend anfixen, so dass sich das Projekt 
langsam weiterentwickelt.

Geht es euch auch so: Google nach Haussteuerung und Raspi gibt massig 
Hits, aber eigentlich immer nur langweiliges Zeugs - und immer dasselbe?

Hoffentlich mal nicht so 0815:
Es gibt EIB-Kabel (also 4 Leitungen) vom Pi in die Verteilerdosen jeder 
Lampe in den Zimmern. Um mit dem Pi die Lampen schalten zu können gibt 
es statt der Lichtschalter Taster, und dazu jeweils bistabile Relais. 
Der Tasterimpuls kippt das Relais auf oder zu und steuert so die Lampe. 
Setzt man ein weiteres kleines Relais auf das vorhandene, so kann man 
per Pi und 5V Steuerleitung (und 5v + GND) einen weiteren Taster 
simulieren und so die Lampe schalten per LO/HI - sleep 200ms - HI/LO. 
Das bistabile Relais schaltet um und toggelt die Lampe. Dafür benutzt 
auf dem Kabel wurden GND, +5V und eine Leitung für das Schaltsignal. Da 
eine Leitung von den vieren übrig war konnte eine Feedbackleitung 
realisiert werden, die dann Auskunft über den Zustand der Lampe geben 
kann (HI: Lampe brennt, LO: Lampe brennt nicht). Soweit so gut - nicht 
sonderlich spektakulär. Interessanter könnte die Sache werden, wenn man 
nicht nur Information über den Schaltzustand der Lampe hätte, sondern 
mit dem Pi per Lichttaster interagieren könnte.

Anwendungsfälle wären: Bewegungsmelder aktivieren/deaktivieren durch 
Halten des Tasters für eine gewisse Zeit (4s z.B.). Pi könnte dann sogar 
Feedback geben (ob Anweisung verstanden) und das Licht danach kurz 
aufflacken lassen. Andere Anwendung wäre evtl.: Morgens das Licht 
anzuschalten zöge direkt die Jalousie auf 90° auf (oder ganz hoch). Oder 
man ist nicht zu Hause und der Einbrecher sendet einem Email/SMS 
dadurch, dass er den  Lichtschalter betätigt. Es gibt es noch viel mehr 
weitere Möglichkeiten, ist ja ein kreatives Ding das.

Das Problem (nein, Herausforderung): Tasterbetätigung im Zimmer soll 
Feedback liefern. Nur zu wissen, ob das Licht brennt nicht ausreichend. 
Gewünscht wäre, wenn man wüsste wie/wo ein Taster wie lange gedrückt 
wurde. Am bistabilen Relais gibts einen 5V Output, wenn der Taster 
gedrückt ist. Masse sonst. Diese Info soll nun zusammen mit der 
Information, ob die Lampe selbst leuchtet oder nicht, über dieselbe 
Leitung zum Pi kommen. Nach etwas Grübeln und schlechter Laune (warum 
nicht 5 oder sogar mehr Leitungen in die Wand gelegt?), nach Anschauen 
von 1-Wire Zeugs (Temperatursensoren überall - unbrauchbar!!!?) und 
natürlich Mikrocontrollern (..uino) bin ich der Meinung, dass es 
"simpel" bleiben soll - so einfach wie möglich. Anfänglich war die 
Überlegung, ob man nicht diejenige Leitung doppelt verwenden soll, die 
eigentlich als "Taster" vom Pi zum Lichtschalten dient (also als Input 
und Output "gleichzeitig" auf dieser Leitung realisieren). Mittlerweile 
glaub ich, dass die bessere Lösung ist, die andere, die Feedbackleitung 
(ob Licht an/aus) dafür zu verwenden. Unterschiedliche Pegel scheinen 
nicht praktikabel zu sein für diesen Anwendungsfall - man bräuchte 
wahrscheinlich sogar einen zusätzlichen Input am Pi dafür nach 
Auseinandersteuern der Pegel - also Frequenzraum benutzen. Ich stelle 
mir das so vor (simpel):

In der Unterputzdose, wo die Relais gammeln, gibt es für die gesuchte 
"Blackbox"-Schaltung folgende Ressourcen:

Input A: LO/HI Info für: Lampe brennt/brennt nicht
Input B: LO/HI Info für: Taster gedrückt/nicht gedrückt

Output der Schaltung ist Designfrage. Während des Tastens ist es 
unerheblich, ob die Lampe brennt oder nicht, weil der Taster nur relativ 
kurz betätigt wird im Vergleich zur Lampenbrenndauer. Also gibt es nur 
drei Zustände (statt vier - was die Sache etwas vereinfacht):

1: Lampe aus --> LO
2: Lampe brennt --> HI

(So ist es jetzt schon realisiert, zusätzlich dann:)

3: Taster gedrückt (und gehalten) --> oszilliert mit O(100ms) zwischen 
LO und HI

- Oszillation kann am Pi prima abgefragt werden, so dass der dritte 
Zustand sicher erkannt wird (für die kurze Zeit kann man sogar direkt 
drauf pollen mit busy-wait - sollte so teuer nicht sein, wenn man mit 
Bedacht dimensioniert).
- Der Taster wird nur für ein paar Sekunden gedrückt. Währenddessen kann 
man auf die Information, ob die Lampe brennt gut verzichten (zumindest 
fällt mir kein Gegenargument ein bislang).

Für die Realisierung des Licht-brennt-Feedbacks am Relais, also ob der 
Taster gedrückt ist oder nicht, gibt es derzeit einen 40106 6x 
inv-Schmitt-Trigger [gerade hier gefunden auf uralter Platine] (HI - 
gedrückt / LO - nicht gedrückt). Einer der sechs Schmitts ist also dafür 
schon verbraucht. Die restlichen fünf stehen zur Verfügung! (Hab keine 
Inv-Schmitt-Trigger gefunden, die nicht im Rudel aufträten)


Zusammengefasst (die Blackboxvariante):
- 2 Inputs mit jeweils 0 oder 5V.
- Output mit folgenden Eigenschaften:
- Input A=LO und Input B=LO (Lampe aus/Taster offen) -> Output LO
- Input A=HI und Input B=LO (Lampe an /Taster offen) -> Output HI
- Input B=HI (Lampe an oder aus/Taster geschlossen)  -> Output schwingt 
mit niedriger Frequenz um 100ms. 5 invertierende Schmitt-Trigger sind 
schon vorhanden. Kompakte Schaltung mit möglichst wenigen/kleinen 
Bauteilen.

Für Ideen und Verbesserungen des Beschriebenen bin ich natürlich offen.


Die Schaltung könnte man auch für einen zweiten Anwendungsfall 
verwenden.

Jalousie:
Im Moment wird Auf- und Ablauf nur gesteuert (jeweils das entsprechende 
Signal auf Masse ziehen, macht drei: Ab, Auf, Masse) - hier gibts also 
die freie vierte Leitung, die ähnlich funktionieren könnte, um Info zu 
geben, ob die Jalousie gerade fährt:

LO - fährt nicht
HI - fährt hoch
pulst - fährt herunter

Also denne.. hoffe auf eure Kreativität :)

Wenn es notwendig ist kann ich auch noch ein Schaltbild posten (bin mit 
LTSpice aber noch auf Kriegsfuß, weil ich die Bauteile meistens nicht 
finde). Aber eigentlich gehts ja nur um die oben forumlierte Blackbox, 
die eben möglichst klein sein soll. Ich habe momentan Probleme überhaupt 
den Schmitt-Trigger zum Schwingen zu bringen mit Niederfrequenz.

Für jegliche Hilfe dankbar! Morgen Feiertag = hoffentlich reichlich 
Ideen :)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ich fasse deine Frage mal in eine Wahrheitstabelle:
A B C
0 0 0
1 0 1
X 1 pulst

Christian G. schrieb:
> Aber eigentlich gehts ja nur um die oben forumlierte Blackbox, die
> möglichst klein sein soll.
"Möglichst klein" wäre hier ein PIC oder AVR uC im 6 Pin SOT Gehäuse...

> möglichst klein sein soll.
Ist das die einzige Rahmenbedingung? Welche Versorgung hast du? Wie 
werden die Taster angeschlossen? Mit welchen Leitungslängen und 
Störungen ist zu rechnen?

von gvs (Gast)


Angehängte Dateien:

Lesenswert?

Blackbox als diskrete Logik

switch1 = A
switch2 = B
or1 = Ausgang

osz1 muss als AMV aus den zu besorgenden Teilen gewonnen werden, bei 
denen eh noch Gatter frei sind (üblich sind 4 Gatter mit 2 Eingängen pro 
IC).

Der vorhandene Schmitt-Trigger taugt hier nur als Inverter.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

gvs schrieb:
> osz1 muss als AMV aus den zu besorgenden Teilen gewonnen werden
Du hast da ein Problem übersehen, denn
Christian G. schrieb:
> Ich habe momentan Probleme überhaupt den Schmitt-Trigger zum Schwingen
> zu bringen mit Niederfrequenz.
Das ist eine recht einfach Aufgabe und löst sich mit einer Google Suche 
eigentlich im Nu:
https://www.google.de/search?q=Oszillator+Schmitttrigger+Inverter
Da findet sich dann gleich auch sowas wie dort im Bild 6:
http://users.ics.forth.gr/~kateveni/120/10f/extra03_osc.pdf

gvs schrieb:
> Blackbox als diskrete Logik
Oder mit nur 1 IC: ein 4-fach Schmitttrigger NAND tut die ganze Arbeit
1
 
2
 
3
    A -------------|   |
4
        .--|   |   | & |o--------|   | 
5
        |  | & |o--|   |         | & |o----- Out
6
        o--|   |             .---|   |
7
        |                    |
8
    B --o----------|   |     |
9
                   | & |o----o
10
                .--|   |     |
11
                |    ___     |
12
                o---|___|----'
13
                |+            
14
               ===
15
                |
16
               ---
Nit Näherungsweise T=RC ergibt sich z.B. mit C = Elko 4,7uF:
R = T/C = 100ms/4,7uF = 22k
Für genaue Werte: ausprobieren oder R als Poti mit 47k ausführen...

: Bearbeitet durch Moderator
von gvs (Gast)


Lesenswert?

Nachtrag:
Und/oder/nicht gibts auch als EIN IC : 74hc51
Dann bräuchte man nur noch einige von den Schmitt-Trigger Invertern die 
ja frei sind und nen AMV.

von Werner (Gast)


Lesenswert?

Christian G. schrieb:
> Es gibt EIB-Kabel (also 4 Leitungen) vom Pi in die Verteilerdosen jeder
> Lampe in den Zimmern.

Wenn du schon EIB-Verkabelung hast, warum steuerst du dann nicht über 
KNX und tauscht Datentelegramme aus?

von gvs (Gast)


Lesenswert?

@ Lothar Miller

geht halt nur wenn der B-Zweig AMV im B=AUS Zustand den Wert H annimmt, 
sonst wird das letzte NAND keine OR-Funktion.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

gvs schrieb:
> @ Lothar Miller
> geht halt nur wenn der B-Zweig AMV im B=AUS Zustand den Wert H annimmt
Das wird er. Immer. Was macht der Ausgang eines NANDs, wenn einer der 
Eingänge 0 ist? Aus was besteht der AMV?

: Bearbeitet durch Moderator
von Christian G. (Firma: privat) (dotti)


Lesenswert?

Ok, das sind schon ein paar sehr gute Vorschläge.

Lothar Miller schrieb:
> Ich fasse deine Frage mal in eine Wahrheitstabelle:
> A B C
> 0 0 0
> 1 0 1
> X 1 pulst
>
> Christian G. schrieb:
>> Aber eigentlich gehts ja nur um die oben forumlierte Blackbox, die
>> möglichst klein sein soll.
> "Möglichst klein" wäre hier ein PIC oder AVR uC im 6 Pin SOT Gehäuse...
>
>> möglichst klein sein soll.
> Ist das die einzige Rahmenbedingung? Welche Versorgung hast du? Wie
> werden die Taster angeschlossen? Mit welchen Leitungslängen und
> Störungen ist zu rechnen?

PIC/AVR würde ich zu diesem Zeitpunkt ausschliessen (wenn auch 
interessant!). Wäre auf meinem Stand vielleicht etwas zu ambitioniert. 
Mir würde momentan etwas "simples" als POC schon reichen. Wenn das läuft 
drehe ich noch ne weitere Runde zum verkleinern/verfeinern. Schon ok, 
will ja auch was dabei lernen. Zu den Fragen:
Versorgung mit 5V Schaltnetzteil 25W im zentralen Kasten.
Leitungslängen jeweils 5-10m, jeweils einzelne Leitungen.
Wie die Taster eingebunden sind steht eigentlich schon im Text: 
Klassische Taster mit Netzspannung schalten Relais. Zusätzliches 5V 
Relais simuliert weiteren Taster und wird gesteuert.
Entprellen in Software falls notwendig. Anfängliche Störungen der 
Version des Relais (schnarren) liessen sich mit Pulldowns beseitigen 
(Lektion gelernt). Steuerleitungen gehen schonmal an der Decke an einem 
Netzkabel vorbei. Für die geplanten niedrigen Frequenzen des Pulsend 
stelle ich mir das unkritisch vor.

4-fach NAND Lösung sieht recht gut aus! Probier ich und melde mich.

gvs schrieb:
> Blackbox als diskrete Logik
>
> switch1 = A
> switch2 = B
> or1 = Ausgang
>
> osz1 muss als AMV aus den zu besorgenden Teilen gewonnen werden, bei
> denen eh noch Gatter frei sind (üblich sind 4 Gatter mit 2 Eingängen pro
> IC).
>
> Der vorhandene Schmitt-Trigger taugt hier nur als Inverter.

Vielen Dank für die (diskussionsanstossende) Logik. Kombinierte Bauteile 
hatte ich schon aufgegeben zu suchen - fein, dass es da was gibt. 
Variante mit 74HC51 baue ich auch auf. Den AMV müsste ich ja schon mit 
meinen Inv-Schmitt-Triggern doch noch hinbekommen - dann wäre auch die 
Variante bei 2 ICs. Denke, das wäre unterhalb der kritischen Größe.

Werner schrieb:
> Christian G. schrieb:
>> Es gibt EIB-Kabel (also 4 Leitungen) vom Pi in die Verteilerdosen jeder
>> Lampe in den Zimmern.
>
> Wenn du schon EIB-Verkabelung hast, warum steuerst du dann nicht über
> KNX und tauscht Datentelegramme aus?

Hatte EIB genommen, um diese Möglichkeit offen zu halten, das stimmt! 
Ich war bislang der Meinung, dass KNX (zumindest in Reinform) furchtbar 
kostspielig ist. Für ein-zwei Nischen in meiner Welt könnte ich mir 
sowas aber schon vorstellen. Hast du einen guten KNX-Bastel Einstieg für 
mich?

von Christian G. (Firma: privat) (dotti)


Lesenswert?

Lothar Miller schrieb:
>> Ich habe momentan Probleme überhaupt den Schmitt-Trigger zum Schwingen
>> zu bringen mit Niederfrequenz.
> Das ist eine recht einfach Aufgabe und löst sich mit einer Google Suche
> eigentlich im Nu:
> https://www.google.de/search?q=Oszillator+Schmitttrigger+Inverter
> Da findet sich dann gleich auch sowas wie dort im Bild 6:
> http://users.ics.forth.gr/~kateveni/120/10f/extra03_osc.pdf

Die Schaltungen kenne ich - vielleicht macht CMOS da den Unterschied... 
Hatte nur paar ICs mit plain-old Transistortechnik gekauft. Macht 
wahrscheinlich kein Mensch mehr?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian G. schrieb:
> vielleicht macht CMOS da den Unterschied...
Das kommt auf den Rückkopplungswiderstand an. TTL-Eingänge sind 
niederohmig (und auch asymmetrisch), und deshalb funktioniert der 
Oszillator nicht mit hochohmigen Mitkopplungswiderständen. Bei CMOS muss 
man da nicht nachdenken, da funktioniert die Schaltung auf jeden 
Fall...

von Christian G. (Firma: privat) (dotti)


Lesenswert?

Lothar Miller schrieb:
> Oder mit nur 1 IC: ein 4-fach Schmitttrigger NAND tut die ganze Arbeit
>
1
> 
2
> 
3
>     A -------------|   |
4
>         .--|   |   | & |o--------|   |
5
>         |  | & |o--|   |         | & |o----- Out
6
>         o--|   |             .---|   |
7
>         |                    |
8
>     B --o----------|   |     |
9
>                    | & |o----o
10
>                 .--|   |     |
11
>                 |    ___     |
12
>                 o---|___|----'
13
>                 |+
14
>                ===
15
>                 |
16
>                ---
17
>

Mhh, tut er tatsächlich! Ganz schön smart. Kann ja dann zusätzlich auch 
auf meinen inv. Schmitt-Trigger (den vor B, siehe Augsangspost) gleich 
ganz verzichten und stattdessen das erste NAND Gatter in deinem 
Vorschlag (das als Inverter beschaltete) direkt vor den AMV ziehen, etwa 
so:
1
    A -------------|   |
2
                   | & |o--------|   |
3
        .----------|   |         | & |o----- Out
4
        |                    .---|   |
5
    B --o--|   |             |
6
        |  | & |o--|   |     |
7
        .--|   |   | & |o----o
8
                .--|   |     |
9
                |    ___     |
10
                o---|___|----'
11
                |+
12
               ===
13
                |
14
               ---
Damit gibts dann nur noch ein IC plus RC-Glied plus Optokoppler und 
Pull-R.
Zur Sicherheit nachgefragt: CD4093BC wäre grundsätzlich geeignet?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.