ATmega in einem Mischpult (Umrüstung)

OP (Firma: FH Brandenburg) #1689547
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).
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.
Gast
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.
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
Gast
>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
Persönliche Seite
@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.
Gast
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
Gast
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
Gast
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!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.