www.mikrocontroller.net

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


Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

MfG Spess

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I2C braucht nur 2 Leitungen

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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/pr...

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

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Tcf Kat (tcfkat)
Datum:

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

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Carbolo Crb (carbolo)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Codesammlung gibts ein fertiges Beispiel:

Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"


Peter

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcel_wob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.