Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage: MUX / DEMUX


von Marcel_wob (Gast)


Lesenswert?

Hallo zusammen,

was Elektronik angeht bin ich leider noch ein Laie, aber das soll sich 
jetzt ändern...
Ich möchte den Schaltzustand von 11 Tastern über 4 Leitungen übertragen. 
Meine bescheidenen Kenntnisse sagen mir, dass das mit einem Multiplexer 
zu lösen sein muss.

Hat hier jemand eine schnelle Hilfe für mich?

Danke schonmal.

von Spess53 (Gast)


Lesenswert?

Hi

Mit einen Multiplexer brauchst du 5 Leitungen. 4 für die Adressierung 
und eine für den Tastenzustand.

MfG Spess

von Marcel_wob (Gast)


Lesenswert?

Danke schonmal für die schnelle Antwort. Ich habe leider nur 4 Leitungen 
zur Verfügung. Und davon brauche ich ja mit Sicherheit schon 2 für die 
Spannungsversorgung.

Welche Alternativen habe ich denn?

Ach ja, es genügt wenn immer nur ein Taster gedrückt werden kann. 
Zumindest solange ich Prioritäten zuordnen kann, falls doch mehrere 
gleichzeitig gedrückt werden.

von Carbolo C. (carbolo)


Lesenswert?

Nimm doch mal nen kleinen uC, ein ATmega48 reicht mehr als aus.

Die Schalter direkt an die Ports gehängt (mit Pullups), den Zustand 
kannst du dann wahlweise über I2C, SPI, UART oder eben über 4 Leitungen 
übertragen...

Gruss

von Carbolo C. (carbolo)


Lesenswert?

I2C braucht nur 2 Leitungen

von Marcel_wob (Gast)


Lesenswert?

Mensch, mit so schneller Hilfe habe ich nicht gerechnet. Danke schonmal 
dafür.

Wie gesagt, ich bin absoluter Anfänger in der Thematik. Kannst Du mir 
vielleicht eine "Beispielschaltung" oder einen Tipp für erklärende 
Literatur geben?

von peter-neu-ulm (Gast)


Lesenswert?

Mit dem AD-Wandler eines Mikrokontrollers kommt man mit ZWEI Leitungen 
aus: an der Tastatur eine Kette von gleichen Widerständen anschalten. 
Erster Schalter schließt den untersten Widerstand kurz, zweiter Schalter 
die zwei untersten, dritter Schalter die drei untersten usw. Der 
Widerstand zwischen den beiden Leitungen an Masse und an dem obersten 
Widerstand ändert sich dadurch typisch für jede Taste anders.

von Carbolo C. (carbolo)


Lesenswert?

Aber klar doch :-)

www.reichelt.de

Folgendes brauchst du:

- ATmega48
- 12* 10k Widerstand (11+1 fürs Reset am ATmega)
- 2* 100 nF Kondensator (1 fürs Reset, 1 als Abblockkondensator)
- Lochrasterplatine
- Wannenstecker 2*5 (fürs ISP)


Lötzeug, Kabel etc. evtl. auch. Einen Programmer brauchst du ebenfalls. 
Ich habe diesen hier:

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&products_id=41

Aber es gibt jede Menge davon, auch zum selberbauen. Siehe z.B. hier:

http://rumil.de/hardware/avrisp.html

Software:

AVRStudio4 von www.atmel.com:  (Assembler)

http://atmel.com/dyn/products/tools_card.asp?tool_id=2725

AVR-GCC: (C)

http://winavr.sourceforge.net/

PonyProg zum übertragen:

http://www.lancos.com/prog.html

Jetzt brauchst du nor noch das entsprechende Wissen:

http://www.mikrocontroller.net/articles/AVR-Tutorial

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Gruss

von Marcel_wob (Gast)


Lesenswert?

Das klingt logisch und ist sogar für mich nachzuvollziehen.
Da stellt sich mir nur die Frage, wie ich aus dem digitalen Signal 
wieder 11 Schaltzustände rausbekomme. (Wie gesagt, ich bin da Anfänger)

Sorry wenn ich hier so blöde Fragen stelle, aber mit der Suche bin ich 
nicht weitergekommen.

von Carbolo C. (carbolo)


Lesenswert?

Mit dem AD-Wandler geht es natürlich auch, aber für einen totalen 
Anfänger ist vermutlich das simple I/O einfacher.

Vorteil: es wird auch erkannt, wenn mehrere Tasten gleichzeitig gedrückt 
werden.

Gruss

von Mike (Gast)


Lesenswert?

Eine Variante wären zwei 8 Bit Schieberegister (74x165 z.B.). Die kann 
man auch kaskadieren.

Den Ladevorgang könntest du über einen längeren Clockpuls oder über 
einen Puls auf der Betriebsspannung auslösen.

von Carbolo C. (carbolo)


Lesenswert?

Marcel_wob wrote:
> Das klingt logisch und ist sogar für mich nachzuvollziehen.
> Da stellt sich mir nur die Frage, wie ich aus dem digitalen Signal
> wieder 11 Schaltzustände rausbekomme. (Wie gesagt, ich bin da Anfänger)


mal so gefragt: was soll danach mit den Signalen passieren? Sollen diese 
Angezeigt werden?

von Marcel_wob (Gast)


Lesenswert?

Konkret geht es bei der ganzen Aktion um ein nachgerüstetes 
"Multifunktions-Lenkrad" im Auto. Sprich die Tasten sind die 
Fernbedienung für Radio, Tempomat, etc. Ideal wäre es also, wenn ich 
wieder 11 geschaltete Ausgänge hätte.

von Tcf K. (tcfkat)


Lesenswert?

Der Vorschlag von peter finde ich am besten, hat auch eine automatische 
Priorisierung drin (die "höchste" Taste gewinnt).

@Marcel_wob: Wohin sollen die ausgewerten Taster gehen? Gibt es bereits 
einen µC? Ein paar mehr Infos wären nicht schlecht...

von Tcf K. (tcfkat)


Lesenswert?

Ach so, dann nimm was mit UAA170 oder UAA180, habe es gerade nicht genau 
im Kopf...

von Carbolo C. (carbolo)


Lesenswert?

Oioioioioioioioiiiiii........  Auto Bordnetz?? Mit Spikes und Surges? 
Zusatzschaltung am Tempomat?

Böse, böse....   :-)))

Bist du dir sicher, dass du dir das als Anfänger aufhalsen willst???

Gruss

von Marcel_wob (Gast)


Lesenswert?

Die Ausgänge will ich in die bestehende, konventionelle Elektrik des 
Autos einbinden. Für die meisten Funktionen sind ja bereits Schalter 
irgendwo im Auto vorhanden, die ich dann mittels Transistor oder Relais 
überbrücken kann.

Momentan hoffe ich noch, dass ich ohne µC auskomme.

von Carbolo C. (carbolo)


Lesenswert?

Mal so ein kleiner Ausblick, was dich am Bordnetz erwartet:

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

Also im Klartext: wenn dir nicht mal paar Sachen unbeabsichtigt losgehen 
sollen, wenn mal ein Relais abfällt, so solltest du es sauber 
aufbauen...

auch ohne uC

von Marcel_wob (Gast)


Lesenswert?

Zumindest habe ich mir das erstmal vorgenommen.

Ich habe Kfz-Elektrik gelernt, im Maschbau-Studium ist zu den 
Kenntnissen dann nur nicht mehr viel dazugekommen. Deshalb meine Frage 
hier.

Tempomat dürfte eigentlich nicht das Problem sein. Es handelt sich um 
einen aktuellen Polo, der hat die Regelund "serienmäßig", nur 2 Taster 
für die Bedienung fehlen...

von Marcel_wob (Gast)


Lesenswert?

Genau aus dem Grund, dass ich Anfänger bin UND ich mit weiteren 
Problemen durch diverse Störungen im Auto rechne suche ich eine 
"narrensichere" Lösung.

Auch wenn ich mich schon immer mal genauer mit der uC-Thematik 
beschäftigen wollte (ein ISP und ein Atmega8 liegen hier schon ne ganze 
Weile rum), brauche ich doch sicher einige Zeit, bis ich meine Problem 
damit gelöst habe.
Gibt es vielleicht einen Weg, wie ich ohne programmierbare IC's 
auskomme?

Könnte ich nicht auch den Ansatz mit dem Widerstandsnetzwerk nehmen und 
das Signal ohne A/D-Wandler durch die Lenksäule führen, um den 
jeweiligen Widerstandswert bzw. die daraus resultierende Spannung zu 
nutzen, um mit "konventioneller" Elektronik 11 Transistoren anzusteuern? 
Genau habe ich das zwar noch nicht vor den Augen, aber das sollte doch 
machbar sein.

Sorry übrigens, wenn ich mit meinen Beiträgen hinterher hänge, ihr 
schreibt schneller als ich antworten kann.

von Tcf K. (tcfkat)


Lesenswert?

Rein analog, ohne µC, geht es mit UAA170. Dann musst Du aber für 
Störfreiheit sorgen. Das Problem mit den Schleifringen schon gelöst, 
oder willst Du das Kabel immer aufwickeln lassen?

von Peter D. (peda)


Lesenswert?

In der Codesammlung gibts ein fertiges Beispiel:

Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"


Peter

von holger (Gast)


Lesenswert?

>Ich habe Kfz-Elektrik gelernt, im Maschbau-Studium ist zu den
>Kenntnissen dann nur nicht mehr viel dazugekommen. Deshalb meine Frage
>hier.

Dann sagen dir folgende Begriffe sicherlich etwas:
Erlöschen der Betriebserlaubnis
Erlöschen des Versicherungsschutzes

Besorg dir einen Kosmos Elektronikbaukasten.
Da lernst du mehr und es ist für deine Mitmenschen ungefährlich.
Aber fummel nicht an deiner Autoelektrik rum wenn du keine
Ahnung hast. Es gibt schon genug Tote auf unseren Strassen !

von Marcel_wob (Gast)


Lesenswert?

>Rein analog, ohne µC, geht es mit UAA170. Dann musst Du aber für
>Störfreiheit sorgen. Das Problem mit den Schleifringen schon gelöst,
>oder willst Du das Kabel immer aufwickeln lassen?

Danke für den Tipp, ich werde mich mal daran versuchen.
Ja, das Schleifring-Problem habe ich gelöst. Es sind noch einige 
Leitungen unbenutzt, deshalb versuche ich das ganze ja.


@holger: Habe ich Dir was getan dass Du so unfreundlich bist?
 Ich behaupte mal dass ich nicht ganz auf den Kopf gefallen bin ich baue 
auch garantiert nichts ins Auto wovon ich mir nicht sicher bin, dass es 
funktioniert. Das lass mal meine Sorge sein.

An alle Anderen: Vielen Dank für Eure Hilfe und Geduld.

von Tcf K. (tcfkat)


Lesenswert?

Aber so ganz Unrecht hat er nicht, sicherheitsrelevante Funktionen würde 
ich außen vor lassen, es sei denn, Du arbeitest mit Redundanz, z.B. 
abgesicherte Protokolle - was mit der Analoglösung NICHT der Fall ist. 
Unangenehm, wenn in einer kritischen Situation auch noch die Karre 
anfängt zu spinnen...

von holger (Gast)


Lesenswert?

>@holger: Habe ich Dir was getan dass Du so unfreundlich bist?
> Ich behaupte mal dass ich nicht ganz auf den Kopf gefallen bin ich baue
>auch garantiert nichts ins Auto wovon ich mir nicht sicher bin, dass es
>funktioniert. Das lass mal meine Sorge sein.

Wieso unfreundlich ? War nur ein Tip.

>  Das lass mal meine Sorge sein.

Das ist aber auch mein Problem ! Wenn dir deine
Schaltung abraucht und du beim rechtsabbiegen versuchst
das Feuer zu löschen, könnte ich unter die Räder kommen.

Wenn du ein wenig mit Elektronik basteln möchtest, dann
mach das bitte Zuhause bis du soweit bist es mal im
Auto zu versuchen.

von Marcel_wob (Gast)


Lesenswert?

Ich habe ja auch nur vor, parallel zu bereits vorhandenen Schaltern zu 
arbeiten. Und das auch nur bei reinen Komfort-Funktionen. Der Tempomat 
ist da schon das einzige, was sich wirklich auf das Fahren selbst 
auswirkt. Und der schaltet sich ja bekanntlich ab, wenn Kupplung oder 
Bremse getreten werden. Ganz unüberlegt gehe ich da also auch nicht ran.
Mir ist nur die Wortwahl unangenehm aufgefallen. Das war alles. Aber 
lasst uns hier lieber sachlich bleiben.

Ich bin gerade dabei mir zu überlegen wie das Ganze funktionieren würde, 
wenn ich nur über Widerstandsnetzwerke mit entsprechenenden 
Spannungsteilern codieren würde. Das ist bei 11 Schaltern vielleicht 
etwas aufwändig, aber dafür sollte es robust und störunanfällig sein. 
Oder nicht?

von holger (Gast)


Lesenswert?

>Das ist bei 11 Schaltern vielleicht
>etwas aufwändig, aber dafür sollte es robust und störunanfällig sein.
>Oder nicht?

Nein, es sollte wackelig im Aufbau und absolut störanfällig
sein. Liest du auch mal das was du schreibst ?

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.