Forum: Mikrocontroller und Digitale Elektronik 20 Schalter über wenig Leitungen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tobias Z. (tobias09)


Lesenswert?

Hallo,
Leider hab' ich dazu nicht viel gefunden.
Ein System besteht aus zwei Teilen:

Teil 1: 20 (Puls-) Taster. Diese schalten entsprechende 20 LEDs ein-und 
aus.

Teil 2: 20 LEDs, welche synchron zu Teil 1 ein-und ausgeschaltet sein 
müssen.

Das Problem dabei:
Teil 1 und Teil2 sollen mit möglichst wenig Drähten verbunden werden, 
Kabellänge <=3m.

Natürlich lässt sich dies mit einem oder zwei Controllern sauber lösen: 
RS232, CAN etc.

Wie aber kann ich dies ohne Controller lösen?

Danke vielmal für die Hilfe!

von Johannes F. (emitterfolger)


Lesenswert?

Tobias Z. schrieb:
> Wie aber kann ich dies ohne Controller lösen?

Mit ein paar Schieberegistern.

https://de.wikipedia.org/wiki/Schieberegister

Drei kaskadierte Parallel-In-Serial-Out a la 74HC165 und drei 
kaskadierte Serial-In-Parallel-Out a la 74HC595. Dazu brauchst du noch 
einen Taktgeber und ne Mimik, um die Latch-Clock-Signale zu erzeugen. 
Zwischen beiden Einheiten brauchst du drei Leitungen: Serial_Data, 
Serial_Clock und Latch_Clock.

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Johannes F. schrieb:
> Mit ein paar Schieberegistern.

Über RS232 Treiber o.ä.

von Rüdiger B. (rbruns)


Lesenswert?

Taster --> LED Leuchtet nur wenn gedrückt
oder
Taster drücken --> LED an , Taster wieder drücken --> LED aus
?????

von Tobias Z. (tobias09)


Lesenswert?

Rüdiger B. schrieb:
> Taster --> LED Leuchtet nur wenn gedrückt
> oder
> Taster drücken --> LED an , Taster wieder drücken --> LED aus
> ?????

Zweite Variante: Der Taster schaltet die LEDs abwechselnd an und aus.

von Tobias Z. (tobias09)


Lesenswert?

> Drei kaskadierte Parallel-In-Serial-Out a la 74HC165 und drei
> kaskadierte Serial-In-Parallel-Out a la 74HC595. Dazu brauchst du noch
> einen Taktgeber und ne Mimik, um die Latch-Clock-Signale zu erzeugen.
> Zwischen beiden Einheiten brauchst du drei Leitungen: Serial_Data,
> Serial_Clock und Latch_Clock.

Das ist mir schon bekannt, aber ohne µC?
Bin gespannt!  :-)

von Harald A. (embedded)


Lesenswert?

Tobias Z. schrieb:
>
> Wie aber kann ich dies ohne Controller lösen?

Darf man fragen, warum das eine Anforderung ist?

von Gerald B. (gerald_b)


Lesenswert?

Mit CMOS oder (LS-TTL) geht das schon, nur sind derartige IC-Gräber 
etwas aus der Mode gekommen.
So habe ich vor 30 Jahren gebastelt. Nur wenn man weder Programmieren, 
noch eine Logikschaltung erstellen kann, und eines von beidem eh lernen 
müßte, dann ist man mit Programmieren flexibler und hat vermutlich auch 
eine steilere Lernkurve.
Eine Logikschaltung aufzubauen dauert länger, als das Äquivalent mit 
Mikrocontroller und bei Logik gibt es noch ein paar mehr Fallen, in die 
man tappen kann.

von Michael B. (laberkopp)


Lesenswert?

Tobias Z. schrieb:
> möglichst wenig

Möglichst wenig heisst 2.

Etwas weniger Bauaufwand entsteht bei 3.

Aber apropos Elektronik: wenn ich deine schwammige Beschreibung richtig 
interpretiere, dann soll man ein Mal auf einen Taster drücken und seine 
LED geht an und bleibt an auch wenn man den Taster wieder loslässt. 
Drückt man zum zweiten Mal auf den Taster geht sie wieder aus. Dafur 
braucht man Elektronik, und nach der fragst du nicht. Hast du die schon 
? Wie wird sie gesteuert, wäre ja nicht ganz unwichtig.

Auch nicht ganz unwichtig ist die Frage, wie viele Taster gleichzeitig 
gedrückt werden und wie schnell. Wenn da 1000 mal pro Sekunde 
draufgehämmert wird taugt nicht jede Elektronik.

Also mit Mikrocontroller braucht man für deine 20 Taster und 20 LED 
genau 2 IC, einen an Senderseite und einen auf Empfängerseite, und nur 
ein paar passive Bauteile dazu, wie Widerstände und Kondensatoren.

Mit konventionellen IC braucht man alleine für 20 Toggle-Flip-Flops die 
die Zustände der LED speichern wohl schon 10 IC, dazu IC zur Entprellung 
der Taster. Der Aufwand, das ganze ohne uC zu machen, ist also 
GIGANTISCH höher.

Mit Spezial-IC aus alten Zeiten, z.B. Fernbedienungscontrollern wie 
SAA3007 und SAA3049 und vielleicht 3 74HC259 geht weniger Aufwand, aber 
man muss sich an die Einschränkungen der Teile anpassen.

Nimm uC, leg die Scheu ab, mal was dazuzulernen.

von Andrew T. (marsufant)


Lesenswert?

Johannes F. schrieb:

> Zwischen beiden Einheiten brauchst du drei Leitungen: Serial_Data,
> Serial_Clock und Latch_Clock.

Vier .
Auch wenn die Experten immer indirekt dran denken, aber GND muss hier 
der gleiche sein.


Ebenso bei der Versorgung drauf achten, das die H Pegel erreicht werden. 
Somit muss Vcc nicht zwingend aus dem gleichen Netzteil stammen.

von Andrew T. (marsufant)


Lesenswert?

Tobias Z. schrieb:

>
> Das ist mir schon bekannt, aber ohne µC?
> Bin gespannt!  :-)

Ist nicht spannend.
Ein Zähler bis 24,der beim erreichen der "24"  einen ein Bitcycle langen 
Puls abgibt.
Der takt ist sofern im KHz Bereich unspektakulär mit 1/4 4093. Oder 1/6 
40106 generiert.


Gibt's schon zig weitere Variationen, die Kernideen hat Johannes ja 
schon klar skizziert.

von Andrew T. (marsufant)


Lesenswert?

Sollte wohl allen klar sein: Tobias hat das als Hausaufgabe ;)

von Daniel S. (supernova01)


Lesenswert?

Tobias Z. schrieb:
> Wie aber kann ich dies ohne Controller lösen?

Zwei Handys mit Blue tooth verinden, zwei applikationen schreiben und an 
jedes Handy eine zwanzig kanal Schaltkarte.

Zwanzig opto zu LWL Konverter als Sendediode und zwanzig LWL 
Empfangsdioden. Dann mit zwanzig LWL Fasern Teil eins und zwei 
verbinden.

Vierzig Schalter mit Knebel und immer zwei Knebel mit einem 
Blechstreifen verbinden, sodass sie synchgron arbeiten.

Zwanzig zweipolige Schalter kaufen, die sind schon mechanisch 
verbunden....

Es gibt so viele Lösungen...

DS

von Tobias Z. (tobias09)


Lesenswert?

Danke allen!
Das sollte eine quick and dirty Schaltung sein, da nur einmal gebraucht.
Es hätte ja sein können, dass es - vielleicht noch aus alten Zeiten - 
irgend ein IC gibt, der einen Grossteil der Funktionalität erschlägt.

Vor zig Jahren gabs mal einen DTMF encoder / decoder, mit dem man 
zumindest schon mal 10 Tasten über eine einzelne (plus GND) Leitung 
übertragen konnte...

Dann muss halt ein µC aufs Brett, das geht auch...

von Jörg R. (solar77)


Lesenswert?

Tobias Z. schrieb:
> Das Problem dabei:
> Teil 1 und Teil2 sollen mit möglichst wenig Drähten verbunden werden,
> Kabellänge <=3m.

Weshalb muss bei <=3m eine Elektronik dazwischen? Verlege für die kurze 
Distanz doch einfach ein dünnes Steuerkabel mit entsprechend vielen 
Adern.


Tobias Z. schrieb:
> Bin gespannt!  :-)

Gespannt auf was? Etwa auf einen fertigen Schaltplan?🤔

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Tobias Z. schrieb:
> Es hätte ja sein können, dass es - vielleicht noch aus alten Zeiten -
> irgend ein IC gibt

Gibt es auch, aber: Aber nur mit 10 Kanälen und ohne Toggle-Flipflop. 
Der hätte nur mit Schaltern funktioniert.
https://www.velleman.eu/products/view/?id=341695&lang=de&country=ch

von Frank K. (fchk)


Lesenswert?

Tobias Z. schrieb:
> Danke allen!
> Das sollte eine quick and dirty Schaltung sein, da nur einmal gebraucht.
> Es hätte ja sein können, dass es - vielleicht noch aus alten Zeiten -
> irgend ein IC gibt, der einen Grossteil der Funktionalität erschlägt.

Na ja, so etwas in der Richtung gibt es tatsächlich. Das wird verwendet, 
um ein RGB-LCD-Display mit je 8 Bits für R, G und B plus HSYNC, VSYNC, 
DE und Pixel Clock an einen entfernten Controller anzuschließen, ohne 
ein dickes Kabel mit 30 Adern zu benötigen. Herausgekommen ist das hier:

https://www.ti.com/lit/an/slyt581/slyt581.pdf

Das arbeitet aber mit recht hohen Frequenzen und ist daher für Bastler 
eher nichts.

> Dann muss halt ein µC aufs Brett, das geht auch...

genau.

fchk

von Rene K. (xdraconix)


Lesenswert?

Naja, wenn er das übers One-Wire Protokoll fährt, dann reichen sogar 
zwei Adern. :-)

von Achim M. (minifloat)


Lesenswert?

Ich käme mit vier Leitungen und am LED-Tastenende nur mit Logik aus.

GND, VCC, Daten, Clock

Für die Tasten parallel in serial Out
Latch an ein retriggerbares Monoflop
Wenn der Takt länger als die Monozeit aussetzt wird parallel geladen. 
Serial Out geht über einen Widerstand an die Datenleitung.

Für die LEDs ein Serial in parallel out Schieberegister. Wenn die LEDs 
beim schieben nicht blitzen sollen, gleiche Mimik mit dem Monoflop.

Trick ist, nach einem Taktpuls den Treiber des Datenpins am 
Mikrocontroller abzuschalten (DDR = 0), den Pegel zu lesen (PIN/IDR), 
Treiber wieder an, Pegel in Ausgangsregister schreiben (PORT/ODR), 
nächster Taktpuls.

Nachdem ein Zyklus rum ist, den Takt für länger als die Monozeit ruhen 
lassen.

Besser geht sowas aber eher mit I2C-Portexpandern.

mfg mf

von Bauform B. (bauformb)


Lesenswert?

Taster wie in der Schreibtischlampe, mit Kugelschreibermechanik (oder 
wie nennt die?). Zwei Gruppen zu je 10 auf zwei 10-Bit-DACs. Zwei 
Signaladern 0 bis 5V. Am anderen Ende zwei 10-Bit-ADCs und an jedem 
Ausgangsbit eine LED.

: Bearbeitet durch User
von Uli S. (uli12us)


Lesenswert?

Gelegentlich wurde sowas mit abgestuften Widerständen gemacht. Anhand 
denen wurden dann die Schalter betätigt. Leider ist die 
Auswerteschaltung nicht ganz einfach.

von Tobias Z. (tobias09)


Lesenswert?

Danke für die Hinweise.
Das Teil von TI ist schon ziemlich overkill, hätte ja sein können, dass 
es da etwas einfacheres "pfannenfertig" gibt.
Mir scheint, vor 20, 30 Jahren gab es noch mehr solche Spezial-ICs, z.B. 
von Maxim - aber klar, heute macht man das natürlich besser mit einem 
Controller.

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


Lesenswert?

Michael B. schrieb:
> Tobias Z. schrieb:
>> möglichst wenig
> Möglichst wenig heisst 2.
"Möglichst wenig" heißt konsequenterweise 0, ist also eine eine 
drahtlose Verbindung vulgo Funk oder Licht oder Ultraschall oder so.

Tobias Z. schrieb:
> Teil 1 und Teil2 sollen mit möglichst wenig Drähten verbunden werden
> Wie aber kann ich dies ohne Controller lösen?
Das sind die einzigen Forderungen? Warum müssen es "möglichst wenig 
Drähte" sein?

> (Puls-) Taster.
Du willst von jemandem den Puls abtasten?

Ich würde eine 6x2 Steuerleitung (12 Adern) nehmen und es etwa so 
machen:
1
                           Leitung
2
  o------------------------ ~ ~ ~ ------------------------------. 
3
 AC                                                             |
4
  o--.  LEDs                                  Dioden   Taster   |
5
     |                                                   __     |
6
     o---|<--R--.                            .--|<-------oo-----o    
7
     |          o------------ ~ ~ ~ ---------o           __     |
8
2    o--->|--R--'                            '-->|-------oo-----o
9
     |                                                   __     |
10
3    o---|<--R--.                            .--|<-------OO-----o    
11
     |          o------------ ~ ~ ~ ---------o           __     |
12
4    o--->|--R--'                            '-->|-------OO-----o
13
     |                                                          |
14
5    :                                                          :
15
:    :                                                          :
16
20   :                                                          :
https://www.conrad.de/de/p/kabeltronik-steuerleitung-paarig-6-x-2-x-0-08-mm-hoechstflexibel-geschirmt-806191052.html

: Bearbeitet durch Moderator
von Bauform B. (bauformb)


Lesenswert?

Jetzt aber: 20 normale Taster, dazu je 1 Widerstand, alle mit 
wohldefinierten unterschiedlichen Werten. Eine analoge Signalader plus 
GND. Am anderen Ende ein Spannungsteiler aus einem Widerstand hier und 
dem Taster-Widerstand am anderen Ende. Der geht auf einen ADC0802 
(notfalls 0804), am parallelen Ausgang ein 1-aus-20 Dekoder (z.B. drei 
74HC138), dahinter 20 Toggle-Flip-Flops.

Bonus: auf der Taster-Seite ist keine Stromversorgung nötig, nur 2 
Adern, der ADC hat ein unglaublich ausführliches Datenblatt.

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


Lesenswert?

Bauform B. schrieb:
> Bonus: ...
Malus: es darf nur 1 Taster zur gleichen Zeit gedrückt sein.

> 20 normale Taster, dazu je 1 Widerstand ...  Eine analoge Signalader
Kleiner Tipp: in der Praxis funktioniert das in keinster Weise 
zuverlässig. Ich kann das aus vieltausendfacher Erfahrung sicher sagen.

> alle mit wohldefinierten unterschiedlichen Werten.
Lass mal den Taster ein wenig älter werden und einen höheren oder gar 
variablen Kontaktwiderstand bekommen.

: Bearbeitet durch Moderator
von Bauform B. (bauformb)


Lesenswert?

Lothar M. schrieb:
> Malus: es darf nur 1 Taster zur gleichen Zeit gedrückt sein.

Bedienfehler. Außerdem, wo steht das? Glaub' keinem Pflichtenheft, das 
du nicht selber gefälscht hast ;)

> Lass mal den Taster ein wenig älter werden und einen höheren oder gar
> variablen Kontaktwiderstand bekommen.

OK, s/normale Taster/gute Taster/

von Michael B. (laberkopp)


Lesenswert?

Bauform B. schrieb:
> Außerdem, wo steht das?

Nirgends, wie so vieles nicht, der TO ignoriert auch Rückfragen, 
typisches Trollverhalten, vergiss es dir über den Unsinn noch weiter 
Gedanken zu machen, lohnt nicht.

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.