mikrocontroller.net

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


Autor: Martin H. (Firma: FH Brandenburg) (martin28)
Datum:

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

Autor: MarioT (Gast)
Datum:

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

Autor: Hc Zimmerer (mizch)
Datum:

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

Autor: STK500-Besitzer (Gast)
Datum:

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

Autor: Esko (Gast)
Datum:

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

Autor: Uwe N. (ex-aetzer)
Datum:

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

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

mfg

Autor: STK500-Besitzer (Gast)
Datum:

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

Autor: Rene B. (themason) Benutzerseite
Datum:

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

Autor: \0 (Gast)
Datum:

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

Autor: \0 (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: Rene B. (themason) Benutzerseite
Datum:

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

Autor: hermy (Gast)
Datum:

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

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.