Forum: Mikrocontroller und Digitale Elektronik ATmega in einem Mischpult (Umrüstung)


von Martin H. (Firma: FH Brandenburg) (martin28)


Lesenswert?

Hi.

Also dies ist mein erster Beitrag im diesem Forum und gleich hab ich 
auch einige Fragen.
Ich habe ein mittlelgroßes Lichtpult, welches ohne Funktion ist. Dieses 
möchte ich jetzt mit einem ATmega32 ausstatten. Dieser soll die 
einzelnen Fader und Taster abfragen und die Werte an einen PC senden. 
Hat jemand so etwas schon einmal gemacht?
Folgende Schritte habe ich (zusammen mit dem Dozenten) überlegt:
-durchtrennen der Leiterbahnen rund um die Fader und Taster
-verbinden der einzelenen Fader/Taster mit den AD-Eingängen
-Programm schreiben um die AD-Daten zu lesen (in AVRStudio)
-Programm erweitern um die Daten im PC zur Verfügung zu haben

Hier jetzt meine Frage dazu:
Gibt es eine einfache Methode, die Daten vom Mikrocontroller zum PC zu 
bekommen?
Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung. 
Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der 
Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp = 
64 Inputs). Ist sowas überhaupt möglich? Oder gibt es dort Alternativen?

Danke erst einmal.

Martin

PS. Ein paar Infos zu mir: Bin Student an der FH in Brandenburg, und 
habe im jetzigen Semester angefangen Mikrocontroller (genauer den 
ATmega) zu programmieren. Sonst habe ich sehr große Erfahrung in der 
Programmierung in Delphi (Programme jenseits von 20k Zeilen).

von MarioT (Gast)


Lesenswert?

Martin H. schrieb:
> Gibt es eine einfache Methode, die Daten vom Mikrocontroller zum PC zu
> bekommen?

Com Anschluß am PC "Ja"
kein Com nicht so einfach.(kostenfrage FTDI)

von Hc Z. (mizch)


Lesenswert?

Martin H. schrieb:

> Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der
> Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp =
> 64 Inputs). Ist sowas überhaupt möglich?

Kannst Du das als Schaltbild ausführen?  Ich würde so erst mal sagen: 
geht nicht, jedenfalls solange der nicht aktivierte Zweig nicht 
irgendwie entkoppelt wird.

von STK500-Besitzer (Gast)


Lesenswert?

Für die Fader sollte man Analog-Multiplexer und für die Taster 
Schieberegister benutzen.

von Esko (Gast)


Lesenswert?

Mal dir die Analog-Matrix mal auf und du wirst sehen, dass es nicht 
funktionieren kann.

Außerdem sind die PullUps als Spannungsteiler denkbar ungeeignet, weil 
sie nicht genau spezifiziert sind und es eigentlich keine Widerstände 
sondern eher Stromquellen sind.
Daher wie mein Vorposter schreibt: Analog-Multiplexer


Die Tasten kannst du in einer 6*6 Matrix abfragen oder mit 
Schieberegistern.

von Uwe N. (ex-aetzer)


Lesenswert?

Martin H. schrieb:
> Ich habe ein mittlelgroßes Lichtpult, welches ohne Funktion ist.

Kaputt ? Ausgedient ?

> Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung.
> Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der
> Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp =
> 64 Inputs).

Wie genau soll das funktionieren - falls da bei mir eine Bildungslücke 
ist - bitte mal erläutern.

Andere Variante:
Zwei 16-Kanal Analog Muxer (z.B. 4067=> 2 ADC Inputs) an der ATmega32 
anschliessen (Adressleitungen nicht vergessen ;-) ).
Die Potis per Muxer scannen und wenn sich ein Wert geändert hat über den 
UART zum PC senden.

Die Taster kann man über eine ähnliche Beschaltung abfragen, Stichwort 
"Matrix-Tastatur".

Gruss Uwe

von ich (Gast)


Lesenswert?

Hallo,

ein möglichkeit wäre die Fader mit Hilfe eines "PCF 8591" der über I2C 
angesprochen wird, einzulesen.

mfg

von STK500-Besitzer (Gast)


Lesenswert?

>ein möglichkeit wäre die Fader mit Hilfe eines "PCF 8591" der über I2C
>angesprochen wird, einzulesen.

Man könnte auch eine Bildverarbeitung einsetzen...
zickigiss

von Rene B. (themason) Benutzerseite


Lesenswert?

@Martin

ich würde für den analog-teil ganz ordinäre Analog-Multiplexer 
(4016/4066/4051) verwenden und die 27 Fader auf 8 "reduzieren". Die 
Erfassung der Taster lässt sich sehr einfach mit Schieberegistern machen 
(74HC165). Die Umschaltung der Analogeingänge kann man bequem mit ein 
paar Port-Pins machen. Ich habe bei meinem Selbstbau Synth 16 Potis, 11 
Taster und 24 LED's mit dem AVR verarbeitet. Gar kein Problem. Es wären 
sogar noch genug Reserven nach oben möglich gewesen.

von \0 (Gast)


Lesenswert?

Es könnte mit Dioden gehen. Die Fader, die an einen AD-Eingang des 
ATmega gehen, bekommen eine Diode an den Schleifer. Anoden an Schleifer, 
Kathoden zusammengeführt an AD-Pin. Die Anfänge der 
Widerstandsbahnen(Fader "unten") kommen alle an Masse. Die Enden (Fader 
oben) werden über ein paar Portpins geschaltet.

Falls jemand 'meckert', dass da doch 0,7V abfallen und der untere 
Bereich des Faders nicht ganz ausgenützt wird: pro Fader am Anfang der 
widerstandsbahn nicht direkt sondern über eine Diode nach Masse, und am 
AD-Pin einen Pulldown von sagen wir mal 1MegΩ vorsehen.

Eventuell kann man das auch per 
Vusb-Midi(http://cryptomys.de/horo/V-USB-MIDI/) machen, dann hast du ein 
MIDI-Gerät per USB. Für die Laptopfraktion oder so. Das genannte Projekt 
müsste natürlich um das Multiplexing erweitert werden.

\0

von \0 (Gast)


Lesenswert?

Nee, Pulldown muss größer sein, da laut Datasheet eine Quellimpedanz von 
10kΩ erstrebenswert wäre. Jedoch haben 100k-Potis zumindest bei mir noch 
keine Mucken gezeigt :)
Dependanzen bezüglich Master des Mischpultes kann man ja per Software 
implementieren.

Herzlichst, \0

von Peter D. (peda)


Lesenswert?

Matrix ist nicht so gut, wenn mehrere Tasten gedrückt (Dioden 
notwendig).

Ich würde 74HC4051 für analog nehmen und 74HC165 für die Tasten.

Oder je Taste+Poti ein ATTiny25 und dann alle parallel am I2C-Bus.

Das Thema hatten wird doch schonmal.


Peter

von Rene B. (themason) Benutzerseite


Lesenswert?

Anmerkung zu Peter :

Bei einem 4051 hätte man mit nur 4 AD Eingängen des AVR's und 3 
Steuerbits 32 Eingänge. Wenn man mehr braucht einfach einen 5. AD 
Eingang nehmen und man hat 40 Potis usw...
Erspart einem die Frickelei, ist einfach zu handeln und erweiterbar.

von hermy (Gast)


Lesenswert?

Martin H. schrieb:
> Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung.
> Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der
> Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp =
> 64 Inputs). Ist sowas überhaupt möglich? Oder gibt es dort Alternativen?

für mich riecht das formlich nach dem einsatz eines multiplexers!

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.