Donnerstag, 11. Juli 2013

Musik - Schritt für Schritt (Teil 6): Einzug ins neue Gehäuse

Die Puzzleteile wurden zusammengefügt und an manchen Ecken musste noch gefeilt werden, damit es funktioniert - sowohl bei der Hardware, als auch bei der Software.



Die Frontplatte mit den Bedienelementen besteht aus Sperrholz und neigte zum Verbiegen unter Belastung. Eine umlaufende Einfassung in Alu-Profile gibt nun Stabilität und erleichtert das Befestigen an den Seitenteilen. Die Längsseiten habe ich noch offen gelassen, damit ich in der Testphase die Frontplatte nach oben aufklappen kann. 2 von 4 Befestigungsschrauben dienen als Scharnier.
Die Seitenteile sind vorerst aus MDF Plattenresten gefertigt. Wenn sich die Konstruktion als tauglich erweist, werde ich sie durch Massivholz ersetzen.



Beim Zuklappen des Gehäuses zeigt sich Widerstand durch die vielen Kabel am SPI-Board. Evtl. werde ich dieses Board durch eine gedruckte Schaltung ersetzen.



Während das SPI-Board an der Frontplatte verschraubt ist, sind Encoder-Board, Arduino und MIDI-Board am Boden verschraubt.
Auf dem Arduino ist ein Connector Board aufgesteckt, über das die Verkabelung der Komponenten erfolgt:





Schaltplan:



Bestückungsplan:




Ein Testprogramm sollte die Funktionen aller Komponenten prüfen und kann in die Step Sequencer Software als "Service Programm" integriert werden.



Bereits beim Erstellen fielen die ersten Hardwarefehler auf:

 1. Dank fehlender Masseverbindung versagten die Oktave-Taster und -LEDs ihren Dienst - schnell behoben. 

2. Das Connector Board hatte korrodierte Kontakte und entsprechend Kontaktprobleme. Die sogenannten "stackable Header" für den Arduino waren dann wohl doch nicht vergoldet, sondern eine preiswertere Legierung. Ich habe das Board gegen ein neues mit soliden vergoldeten Stiftleisten ersetzt.


 


3. Ein fehlender Pull-Up Widerstand an der RESET Leitung des SPI-Boards bewirkte unvorhersehbare Reaktionen der SPI ICs.

Kniffliger war das Problem mit  der MCP23S17 Library. Aber dank Hilfe auch das lösbar.

   


Um die weitere Programmierung zu vereinfachen, habe ich zuerst eine Header-Datei mit der Pin-Belegung des Arduino Megas erstellt. Abschließend ergab sich folgendes Programm zum Testen der gesamten Hardware:  Download

Hier ein Testablauf:





Tests erfolgreich bestanden! 
Nun kann die eigentliche Programmierung der Step Sequencer Routinen erfolgen.

[... wird fortgesetzt]