Layout und Anschluss

Inzwischen sind wir uns über den Aufbau des Geräts einig geworden. Es wird so aussehen:

Ein Klick auf das Bild führt zu einer PDF-Version, welche größtenteils die original Bauteilmaße verwendet. Sie passt leider nicht ganz auf Din A3.

Das Gerät setzt sich aus folgenden Einheiten zusammen:

  • Das Instrumentenwahl- und Einstellungsrad: Ein Drehimpulsgeber dient im normalen Zustand der Auswahl eines der Instrumente. Die Wahl wird auf den daneben angebrachten LEDs angezeigt. Zusätzlich wird der Name des Instrumentes auf dem Display eingeblendet. Das Rad kann wie ein Knopf gedrückt werden, um in den Konfigurationsmodus zu wechseln. Auf dem Display wird dann ein Menü angezeigt, mit welchem das Midi-Kanalmapping, die Taktquelle (Midi-Clock oder Intern), und der Pattern-Speicher verwaltet werden können.
    Zur Ansteuerung der LEDs kommt ein 1-of-8-Encoder zum Einsatz, wodurch diese Einheit mit 7 Pins am Mainboard angeschlossen werden muss (3 für den Drehimpulsgeber, 3 für die Wahl des Ausgangs am 1-of-8-Encoder und 1 zum aktivieren/deaktivieren der gewählten LED).
  • Die Mute- und Solo-LEDs und Buttons: Rechts neben dem Rad befinden sich 8 Mute Buttons, 8 Solo-Buttons und dazu je eine LED. Hier kommen wieder 4x 1-of-8-Encoder zum Einsatz, je 2 für die Buttons und 2 für die LEDs. Die Encoder teilen sich ihre 3 Ausgangs-Wahlleitungen miteinander und werden am Mainboard auch mit den 3 Leitungen der Instrumentenwahl zusammengeschaltet. Dadurch werden nur 4 zusätzliche Leitungen am Mainboard belegt: je eine gemeinsame für die 8 Buttons/LEDs je Encoder.
  • Parameter-Potentiometer: Unter den Mute-/Solo-Buttons befinden sich die 32 Parameter-Potis. Diese werden über 4x 1-of-8-Analog-Multiplexer beschaltet. Dadurch belegen sie nur 4 analoge Pins, die 3 Wahlleitungen werden mit den Wahlleitungen aus den anderen Einheiten parallel geschaltet.
  • Das LCD-Display: Verbaut wird ein Text-Display mit dem üblichen HD44780 Chip. In diesem Fall kommt ein 4×20 Orange-Negativ-Display zum Einsatz, weil es eine außergewöhnliche Farbe hat und nicht so hell und daher für den Einsatz in düsteren Räumen geeignet ist (Blaue Displays brennen einem Löscher in die Augen). Da der Controller aber ziemlich universell ist, kann fast jede Displaygröße und Farbe verwendet werden (z.B. 2×16 Blau). Der LCD-Controller belegt 6 Pins am Mainboard (DB5-DB8, E und RS).
  • Buttons unter und neben dem Display: Hier ist noch nicht ganz klar, welche Funktion einen eigenen Button bekommt und was über das Menü gesteuert wird (z.B. kann es sein, dass aus OK ein Tap-Button wird). Das Layout sieht hier 5 Buttons vor (incl. dem Scale-Button), welche mit 5 Pins angeschlossen werden. Ein Multiplexing eigent sich hier wenig, da kaum Adern gespart werden könnten (4 statt 5).
  • Takt-LEDs: Über den 16 Step-Select-Buttons sind 16 Taks-LEDs, die den aktuellen Schritt anzeigen. Diese werden mit 2x 1-of-8-Encodern angeschlossen. Wie üblich werden auch hier die selben 3 Wahlleitungen verwendet, so dass nur 2 Pins am Mainboard belegt werden.
  • Step-Select-Buttons mit LEDs: Zu unterst sind 16 Buttons mit je einer LED angeordnet, über welche die Zuordnung der Instrumente zu einzelnen Taktschritten gesteuert wird. Hier kommen 4 weitere 1-of-8-Encoder zum Einsatz, welche 4 Leitungen am Mainboard belegen.
  • Midi-Brücke: Die Midi-Brücke belegt 2 UART-Leitungen, welche daher nicht als I/O-Pins benutzt werden können.
  • Programmieradapter: Ich habe meine Schaltungen gerne auch nach dem Zusammenbauen noch programmierbar, weshalb die Pins MISO, MOSI und SCK auch nicht belegt werden können (man kann sie zwar theoretisch trotzdem belegen, aber ich hab schon einige male erlebt, dass man dann doch erst Lötbrücken auflösen musste, bevor man wieder programmieren konnte)

In der Summe kommt man so auf 33 Pins. Im Prinzip würde also ein ATmega32 ausreichen, wenn man die Programmierpins mit beschaltet. Da ich aber ungern so knapp kalkuliere (und man doch lieber noch ein paar Pins für zukünftige Erweiterungen übrig hat – z.B. noch 4 weitere Instrumente zum dazustecken, ein Grafikdisplay oder ein SD-Kartenslot zum vergrößern des Pattern-Speichers oder zum aufzeichnen von Midi-Dateien), habe ich mich stattdessen für einen ATmega128 entschieden. Da ich mir das verlöten eines 64 beinigen SMD-Bausteins aber nicht zutraue, kommt statt dessen ein DFRobot-Board von Exp-Tech als Mainboard zum Einsatz, welches für 22,80€ schon die gesamte Taktgebung, Stromstabilisierung und einen USB-Programmieradapter mitbringt.

Eine detaillierte Bestelliste gibt’s im nächsten Post zusammen mit Fotos der gelieferten Teile.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s