Platinen herstellen, Fortsetzung

Im letzten Artikel habe ich über meine Versuch der Platinenherstellung mit der Direkt-Toner-Methode berichtet. Wie ich nachträglich hinzu fügen musste, konnte ich mit meinem Drucker, meinen Transferpapier/Tranferfolien und meinem Bügeleisen/Laminator keinen Erfolg verbuchen. Andere mögen mehr Glück haben, jedoch habe ich mich entschieden auf UV-Belichtung umzusteigen.

Den dazu nötigen UV-Belichter habe ich nach der Anleitung von Frank Detlef Meier gerichtet. Bei eBay habe ich 50x 5mm ultrahelle UV-LEDs zum Preis von 5€ + Versandkosten gefunden. Die LEDs haben folgende Spezifikationen:

  • Betriebspannung: 2,8 – 3,6 Volt
  • Intensität: 2000mcd
  • Öffnungswinkel: ca. 20°
  • Wellenlänge: 400 – 415nm

Besonders wichtig ist die Wellenlänge um 400nm herum (UV-A). Dazu habe ich 16x 100 Ohm Widerstände mit bestellt. Die LEDs habe ich auf zwei 160x100mm Steifenraster-Platinen verteilt. Normalerweise bin ich kein Freund von Streifenraster, aber für diese Aufgabe eignen sie sich sehr gut.

Der prinzipielle Aufbau kann aus diesem Schaltplan abgelesen werden:

Es sind je 3 LEDs mit einem 100 Ohm Widerstand an 12V angeschlossen. Damit wird jede LED mit 3,3V gefahren und der Widerstand muss nur 40 mW vernichten – das ist effizienter, als wenn jede LED ihren eigenen Vorwiderstand bekommt. In der Summe zieht der ganze Block 340mA. Beim Nachbauen lohnt es sich die abgeschnittenen LED-Beinchen auf zu heben. diese können als sehr dünne Drähte später für Leiterbahnbrücken verwendet werden.

Bevor man mit dem Bau beginnt, sollte man sich außerdem einen passenden Augenschutz besorgen. Eine normale Brille oder eine einfache Schutzbrille reicht nicht aus! Ich habe mich für Uvex skyper Laborbrillen entschieden.

Als Grundgehäuse habe ich eine Sperrholz-Box von IKEA namens PRÄNT benutzt, der ich einen Deckel aus 1cm Holz mit Schanieren und einem Verschluss aus dem Baumarkt verpasst habe. Als Scheibe kommt ein Glas aus einem herunter gefallenen Bilderrahmen – ebenfalls von IKEA – zum Einsatz.

Neben der Schutzbrille sollten auch am Gerät Vorkehrungen für einen sicheren Betrieb getroffen werden. Dazu habe in den Klappweg des Deckels einen Schnappschalter integriert, der ein versehentliches Einschalten der LEDs bei geöffnetem Deckel verhindern soll. Außen habe ich Adressaufkleber angebracht, welche ich auf einem Farblaser mit entsprechenden Warn- und Weisungssymbolen bedruckt habe.

Bei 17-18cm Abstand zwischen LEDs und Glasplatte (Platinen sind mit Schrauben am Boden befestigt) zeigt ein aufgelegtes Blatt Papier eine gleichmäßige Ausleuchtung.

Für das Drucken der Filme mit meinem Brother HL2030 habe ich mich für die Verwendung von Overhead-Folien entschieden. Über die verwendeten Folien muss ein wenig mehr gesagt werden. Ich habe drei verschieden Folienarten von drei verschiedenen Herstellern versucht und nur mit einem einzigen Produkt erfolg gehabt: HP Transparentfolien für monochrome Laserjet-Drucker, die ich bei eBay für 20€ für 50 Blatt gekauft hatte. Das Produkt ist, glaube ich, schon einige Jahre alt.

Einige haben auch über gute Ergebnisse mit Transparentpapier berichtet, das werde ich ggf. ausprobieren, wenn die Folien aufgebraucht sind. Es hilft übrigens, zwischen den Foliendrucken je ein Blatt Normalpapier zu bedrucken. Dieses Blatt kann man als Endkontrolle für Bauteilgrößen, Skalierung, Platinenmaß usw. verwenden. Außerdem kann der ausgeschnittene Platinenplan als Schablone für den Zuschnitt der Platine verwendet werden.

Die gedruckten Folien werden mit Tonerverdichter besprüht und trockenen bei Zimmertemperatur zw. 30 und 60 Minuten. Danach ist die Schwarzdeckung (im Gegenlicht erkennbar) deutlich höher. Ich habe mit SOLVENT 50 Etikettenlöser sehr gute Erfahrungen gemacht, jedoch sollen andere Produkte schneller trocken. Der fertige Film schaut dann z.B. so aus:

Die Platine schneide ich mit einer einfachen, Handbetriebenen Gehrungssäge zu. Für Nicht-Grade Schnitte habe ich eine Bandsäge, die aber Probleme mit den Geraden zu haben scheint. Das Sägen auf der Handsäge ist ein wenig Mühselig, aber dafür bekommt man absolut grade Schnitte mit extrem wenig verschnitt und glatten Kanten.

Nach dem Zusägen wird der Platinenzuschnitt mit einem trockenen Tuch von Sägemehl befreit. Auch der Film wird gründlich mit einem Staubtuch von gereinigt, ebenso die Glasplatte des Belichters. Anschließend wird die Schutzfolie der Fotoplatine abgezogen, welche sie vor unbeabsichtigtem Kontakt mit UV-Licht schützt. und mit dem Film auf der Glasplatte des Belichters ausgerichtet. Die Platine reagiert auf normales Glühbirnenlicht gar nicht, auf Sonnenlicht nur schwach. Idealerweise wird diese Arbeit in einem nur künstlich beleuchteten Raum ausgeführt. Jetzt die Schutzbrille aufsetzen, den Deckel schließen, der die Platine fest auf den Film presst und die Platine mit UV-Licht bestrahlen.

Die genaue Belichtungszeit wird durch eine Belichtungsreihe ermittelt, wie von Frank Detlef Meier beschrieben. Die Vorlage liegt auch im Repository. Bei mir zeigt diese ein ideales Ergebnis bei 4 Minuten.

Die damit erzielten Ergebnisse sind nicht nur außerordentlich klar und scharf sowie ohne Löcher in den Masseflächen, sie sondern sind außerdem noch stabil reproduzierbar. So habe ich mit dieser Methode bereits zwei identische Platinen hergestellt und in beiden Fällen auf Anhieb hervorragende Ergebnisse erhalten.

Platinen herstellen

Kommando zurück: Außer den drei Tests habe ich keine vernünftigen Ergebnisse erhalten und schlussendlich ist der Rahmen des Laminators geschmolzen und das Gerät hat den Geist aufgegeben. Als nächstes werde ich mir einen UV-Belichter bauen.


Einen Monat gab es nun keinen Bericht mehr – aber nicht weil ich nicht weiter gearbeitet hätte, sondern weil der nächste Schritt mir besondere Schwierigkeiten bereitete. Um die vielen Bauteile in vernünftiger Zeit montieren zu können, hatte ich vor, selbst geätzte Platinen her zu stellen und für den Aufbau zu verwenden. Ich entschied mich, den Weg von Thomas Pfeifer und seiner Direkt-Toner-Methode zu gehen, da sich der Vorgang in Text und Video sehr einfach anhörte. Vorweg: es ist nicht ganz so einfach gewesen, aber ich bereue es nicht, mich für diesen Weg entschieden zu haben.

Ursprünglich startete ich mit meinem Brother HL-2030, einem Bügeleisen, Reichelt-Papier, Epoxydharz-Platinen und Aceton und erreichte damit nur minderwertige Ergebnisse. Der Grund dafür ist, dass (m)ein Bügeleisen die Hitze nur ungleichmäßig überträgt und der Toner daher auch extrem ungleichmäßig haftet.

Als nächstes wechselte ich den Drucker (ein älteres HP-Multifunktionsgerät) und das Transfermaterial (Laserdruckerfolie) ohne nennenswert bessere Ergebnisse zu erhalten. Im nächsten Schritt kaufte ich einen Olympus A330 Laminator bei Mediamarkt, doch auch das brachte keinen Erfolg. Zuletzt begann ich dann, die Temperatursteuerung von Thomas Pfeiffer nach zu bauen, um meinen Laminator von ~150°C auf 220°C zu verstärken – und das brachte den Erfolg.

Der Aufbau der Thermoregelung nach der Anleitung von Thomaspfeifer war im Prinzip recht einfach. Problematisch war die verwendung des ATtiny13, der weder einen eingebauten UART noch genügend Flash für die Floating-Point Bibliothek hat, wesshalb ein Software-UART geladen und alle Rechnungen mit Ganzzahlen ausgeführt werden mussten. Für den UART habe ich den Code von Thomas Martin und Colin Gittins verwendet, jedoch den Sende- und den Empfangsteil einzeln mit #define an- und ausschaltbar gemacht, weil das Programm sonst nicht in den ATtiny gepasst hätte. Außerdem habe ich einige nützliche Routinen wie softuart_puts_uint16 hinzugefügt, um unkompliziert Zahlen als BCD-Text ins Terminal senden zu können.

Um die fehlenden Floatingpoint-Routinen zu kompensieren, habe ich den Ziel-ADC-Wert experimentell ermittelt und direkt in das Programm geschrieben. Eine eigene Bestimmung des Ziel-Wertes war in jedem Fall nötig, da ich trotz gleichem Aufbau einen ganz anderen Wert als Thomas Pfeifer bekam.

Zum Messern der Themperatur habe ich ein PeakTech 1050 verwendet, welches mit dem beiliegenden Typ-K Thermoelement bis 1000°C verlässlich messen kann.

Wie man sieht, habe ich die Temperaturregelung auf einem Lochraster aufgebaut, da ich ja noch keine Platinen fertigen konnte.

Beim Aufbau des Hochvolt-Teils der Schaltung (Motor und Heizung) kann ich nur jedem Hobbyelektriker raten, äußerste Vorsicht walten zu lassen. Mit Aderendhülsen, berührungssicheren Klemmen und der Sorgfalt, an keiner Stelle die 230V berühren zu können lässt sich das Risiko doch deutlich reduzieren.

Nichts desto trotz wird hier mit potentiell tödlicher Netzspannung hantiert. Leider lässt sich der Optotriac auch nicht mit einem Multimeter testen – das geht nur mit angelegter Netzspannung. Hierzu am besten eine Steckdose anklemmen.

Beim Zusammenbau des Gerätes war eines der größeren Probleme die Befestigung der Diode im Glasgehäuse an der Heizeinheit. Nach viel Fummelei hält sie zwar, eingeklemmt unter einer kleinen Unterlegscheibe, aber optimal ist das nicht.

Nach einem ersten, erfolgreichen Test hatte der Laminator eine weitere Überraschung zu bieten. Auf der gegenüberliegenden Seite der Elektronik versteckte sich in einem hitzebeständigen Schlauch eine Temperatur-Schutzsicherung, die bei 196°C durchgebrannt war. Diese wurde erstmal durch eine Schraubklemme ersetzt, wird aber bei Gelegenheit noch durch eine T2A Schmelzsicherung ersetzt, um den Optotriac im Fehlerfall vor der Zerstörung zu bewahren.

Und so sieht die Thermoregelung zusammengebaut aus:

Aufgebaut auf einem Holzbrett ergibt sich ein praktisches und sicher verwendbares Werkzeug, mit welchem die Platinen der Microdrum hergestellt werden können.

Quellcode und Schaltplan gibt’s im Repo zum Download.

Bestellliste

Und so sehen die Bauteile aus, bevor sie zusammengesetzt sind:

Wenn ihr sowieso bestellt, tut euch selbst den Gefallen und bestellt die günstigen Sachen auf Reserve (z.B. 8 weitere Potis, 10 weitere LEDs je Farbe, 3 extra ICs je Sorte etc.). Es gibt kaum etwas frustrierenderes als Samstag Abend um 20 Uhr festzustellen, dass man einer LED das Bein zu kurz abgetrennt oder ein einzelnes IC durchgebrannt hat. Außerdem kommt das nächste Projekt bestimmt und die meisten verbauten Teile sind ziemlich universell einsetzbar.

Zu beachten ist außerdem, dass die Bestellliste keine Versandkosten ausweist und auch kein Verbrauchsmaterial (Platinen, Drähte, Flachbandkabel, Ätzmittel, Lötzinn) oder Werkstatt Ausstattung (Lötkolben, Hartmetallbohrer, Multimeter). Durch Überbestellung und Verbrauchs-/Werkstattmaterial kann sich der Preis locker verdoppeln. Bitte beachtet dies, bevor ihr Teile bestellt.

Um das Board zu bauen braucht man also mindestens folgende Teile:

Händler Artikel Link Beschreibung / Verwendung Einzelpreis Benötigte Anzahl Gesamtpreis
eBay LCD Display HD44780 4×20 chr 20×4 Orange neg Backlight ebay.de Debug- und Konfigurations-Display 9,00 € 1 9,00 €
Amazon MIDI USB 1X1 INTERFACE Kabel amazon.de MIDI-Konverter für Testing oder möglicherweise Deployment 6,74 € 1 6,74 €
Reichelt RK09K113-LIN100K reichelt.de Dreh-Poti für Parameter-Einstellung (6mm) 0,90 € 32 28,80 €
74HCT4051 reichelt.de 1-of-8 Analog Multiplexer für Dreh-Potis 0,30 € 4 1,20 €
GS 16 reichelt.de Sockel für 1-of-8 Analog Multiplexer 0,04 € 4 0,16 €
V 321 reichelt.de LEDs für die Instrumenten-Selektion 0,09 € 8 0,72 €
DTL 2 SW reichelt.de Takt-Selektor (Schwarz) 1,90 € 8 15,20 €
DTL 2 WS reichelt.de Takt-Selektor (Weiß) 1,90 € 8 15,20 €
V 321 reichelt.de LEDs für die Takt-Selektoren 0,09 € 16 1,44 €
V 321 reichelt.de Sequenz-Leds 0,09 € 16 1,44 €
DIT 1 RT reichelt.de Clear-Button (Rot) 1,90 € 1 1,90 €
DIT 1 WS reichelt.de Tap-Button (Weiß) 1,90 € 1 1,90 €
DIT 1 SW reichelt.de Prev- und Next-Button 1,90 € 2 3,80 €
DT 6 SW reichelt.de Mute-Button 0,53 € 8 4,24 €
DT 6 SW reichelt.de Solo-Button 0,53 € 8 4,24 €
V 320 reichelt.de Leds für Mute-Button 0,09 € 8 0,72 €
V 322 reichelt.de Leds für Solo-Button 0,09 € 8 0,72 €
DT 6 SW reichelt.de Scale-Switch-Button 0,53 € 1 0,53 €
V 321 reichelt.de LEDs für den Scale-Selector 0,09 € 4 0,36 €
STEC12E08 reichelt.de Drehimpulsgeber für Instrumenten-Rad 1,50 € 1 1,50 €
KNOPF 48-6 SW reichelt.de Riesiger Drehknopf für Instrumenten-Rad 2,50 € 1 2,50 €
DECKEL 48M SW reichelt.de Abdeckkappe für Drehknopf 0,32 € 1 0,32 €
RK09K113-LIN100K reichelt.de Dreh-Poti für Shuffle-Einstellung (6mm) 0,90 € 1 0,90 €
74HCT138 reichelt.de 1-of-8-Multiplexer 0,21 € 11 2,31 €
GS 16 reichelt.de Sockel für 1-of-8-Multiplexer 0,04 € 11 0,44 €
PFL 6 reichelt.de Pfostenbuchse 6-Pol 0,24 € 5 1,20 €
WSL 6G reichelt.de Wannenstecker 6-Pol 0,16 € 5 0,80 €
PFL 10 reichelt.de Pfostenbuchse 10-Pol 0,08 € 10 0,80 €
WSL 10G reichelt.de Wannenstecker 10-Pol 0,08 € 10 0,80 €
SL 1X40G 2,54 reichelt.de Pinheader 40-Pol 0,15 € 5 0,75 €
BL 1X20G 2,54 reichelt.de Pinbuchse 20-Pol 0,67 € 5 3,35 €
USB BG reichelt.de USB Buchse Typ B 0,26 € 1 0,26 €
AK 672/2-3,0 reichelt.de USB-Kabel 0,95 1 0,95 €
SSK M2,5X6-200 reichelt.de Platinenaufhängung (Schrauben) 2,00 € 1 2,00 €
SK M2,5-100 reichelt.de Platinenaufhängung (Muttern) 1,60 € 1 1,60 €
Pollin 410 067 pollin.de Knopf für Parameter-Poti 0,25 € 32 8,00 €
410 067 pollin.de Knopf für Shuffle-Poti 0,25 € 1 0,25 €
Exp-Tech DFRobot Mega exp-tech.de Mainboard 22,80 € 1 22,80 €
DFRobot Mega Prototyping Shield exp-tech.de Prototyping-Shield 7,00 € 1 7,00 €
Summe 156,79 €

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.

Prototyp

Nachdem mit der Midi-zu-Usb-Brücke die Verbindung zum Computer geklärt ist, folgt nun die Probe auf’s Exempel: Ein Prototyp soll beweisen, dass die Ansteuerung des Drum-Synthesizers von einem Atmel aus möglich ist.

Ich habe meinen Prototyp auf einem Breadboard aufgebaut, weil man so ohne den Lötkolben bemühen zu müssen schnell experimentieren kann. In der Mitte meines Steckbrett-Aufbaus schlägt ein ATmega8 der mit einem Quarzoszillator (linke Hälfte) auf 4 MHz betrieben wird. Für einfache Experimente reicht es auch, den internen Schwingkreis des ATmega zu benutzen, jedoch ist diese mit 1-5% Ganggenauigkeit zu ungleichmäßig für Serielle Kommunikation und damit auch für unsere Midi-Brücke.

Der Grundaufbau der Beschaltung richtet sich nach dem Vorschlag von mikrocontroller.net, wobei auf den Kondensator zur Stabilisierung der analogen Referenzspannung C2 verzichtet wurde, da diese in diesem Setup nicht benötigt wird. Die Stromversorgung kommt von der Midi-zu-Usb-Brücke.

In der rechten Hälfte habe ich ein einfaches LCD-Display untergebracht, weil es als guter Beweis dafür dient, dass der ATmega macht, was er soll und zum Ausgeben von Debug-Informationen sehr geeignet ist.

die Aufgesteckte Platine mit ist ein Adapter vom der 6-Köpfigen Pinheader aus der Grundbeaschaltung auf den 2×3-Köpfingen Anschluss meines Programmieradapters. Die Idee dafür habe ich von zovirl.com entliehen. Als Programmieradapter habe ich mir einen mySmartUSB light von myavr.de, welcher sich dank Usb-Achschluss und geringer Größe schmerzfrei an einem Notebook betreiben lässt (bei eBay lassen sich ein paar Euros sparen).

Zur Ansteuerung des Displays verwende ich grundsätzlich den Code von mikrocontroller.net, jedoch habe ich die Kommentare an mein Schema angepasst, so dass der Quellcode im finalen Projekt einheitlich ist. Angeschlossen ist es mit einem Flachbandkabel, weil ich dies deutlich übersichtlicher finde als ein halbes duzend freiliegender Kabel.

Der Code auf Github steuert die Hardware so an, dass diese über die Midi-zu-Usb-Brücke die für Drums definierte Noten 35 bis 59 an den Computer schickt und dabei auf dem LCD-Display anzeigt, was grade versendet wurde. Zusammen sieht das dann so aus:

Beim Nachbauen empfehle ich, erst ein einfacheres Programm zum laufen zu bekommen und z.B. eine LED blinken zu lassen. Wenn das klappt, kann mit dem Anschluss des LCDs weiter gemacht werden. Wenn sich das LCD nicht so verhält wie erwartet, lohnt es sich die Reihenfolge der Pins noch einmal zu checken. Ich hatte zunächst die Datenleitungen falsch rum angeschlossen. Im Zweifelsfall auch noch mal die Beschaltung der Kontrastspannung prüfen.

Wenn das LCD funktioniert aber die Midi-Ausgabe nicht so klappt, bringt ein Blick auf den Midi-zu-Usb-Adapter meist Klarheit. Die Power-Led muss leuchten, die In-Led sollte blinken oder Flackern, wenn Daten übermittelt werden.

Verwendete Bauteile

Tip: alles gleich zwei mal bestellen; braucht man immer wieder.

Midi-zu-Usb-Brücke

Neben dem Herzen der Schaltung, einem [noch zu bestimmenden] ATmega Mikrocontroller, ist eine der großen Herausforderungen der Anschluss an den Computer. Der Drum-Computer soll nach dem Anschluss vom Computer direkt als Midi-Gerät erkannt werden und ohne weitere Software einsetzbar sein. Die eleganteste Lösung ist die auf shiftmore vorgestellte Version mit einer fertigen Midi-zu-Usb-Brücke.

Den Adapter habe ich für 6,74€ + Versandkosten bei Amazon erstanden, es gibt diesen wohl aber auch bei eBay für noch weniger Geld.

Das Gehäuse des Adapters habe ich mit einem Schraubendreher vorsichtig geöffnet und da es nur gesteckt und nicht verklebt war, ging es auch problemlos auf.

Auf der linken Seite sieht man die Verbindung der Midi-Kabel. Von oben nach unten sind diese mit O-, O+, G, IN+ und IN- beschriftet, wobei G (Ground) nicht verbunden ist. Auf der rechten Seite ist der Usb-Stecker befestigt. Hier sind die Adern von oben nach unten mit D-, D+, G, V und S beschriftet (auch hier ist G nicht belegt). Anhand der Farben der Adern ist zu erkennen, dass V für die +5V-Leitung und S für Ground steht (Nachmessen ergibt: S ist mit G verbunden).

Nach dem Öffnen des Gehäuses habe ich die Midi-Seite des Adapters abgelötet. Die Usb-Seite habe ich vorerst dran gelassen, damit ich sicher sein konnte, dass wenigstens eine Seite ordnungsgemäß funktioniert. Bei meinem Adapter war die Pinbelegung anders, als im shiftmore-Artikel. Durch recherchieren und ausprobieren bin ich auf folgenden Anschluss gekommen:

Bitte vor allem die Pin-Bezeichnungen beachten, denn die Pin-Positionen können sich ändern. Wenn die Pins nicht beschriftet sind, geben die Farben der Adern Auskunft:

  • Auf der Midi-Seite ist rot jeweils plus, schwarz folglich minus.
  • Auf der Usb-Seite ist rot die +5v Leitung und schwarz die Masse.
  • Die Belegung der Usb-Datenleitung muss zwar erhalten bleiben, spielt für unsere Anwendung jedoch keine Rolle

Den 220 Ohm Pullup zwischen O+ und +5V habe ich direkt auf der Adapter-Platine untergebracht und mit einem Schrumpfschlauch isoliert. Wenn man keine 220 Ohm hat, tut’s auch ein anderer (ich verwende einen 180 Ohm Widerstand, weil ich den noch in der Schublade hatte). Die 220 Ohm gehören zum Referenz-Design der Midi-Beschaltung und wenn wir über einen Midi-Out-Port mit Fremdgeräten reden würden, müssten es wohl auch genau 220 Ohm sein. Unsere Schaltung muss aber nur mit genau einem Midi-Gerät funktionieren: dem Adapter.

Die Pins, die zum MCU (in meinem Experiment ein ATmega8) gehen, habe ich über ein Flachbandkabel geschickt, an dessen anderen Ende ich zwei 2x Pfostenleisten angelötet habe.

Über VCC und GND wird der ATmega8 von der Stromversorgung des USB-Anschlusses mit gespeist, die RX und TX-Pins können mit den UART-Pins des Chips verbunden werden, die genau diese Namen tragen. TX steht dabei für transmit (senden) und RX für receive (empfangen).

Über die Ansteuerung des UART zum Senden von Midi-Noten und Empfangen des Clock-Signals gibt’s im nächsten Beitrag was, in dem ich über meinen ersten Prototypen berichte.

Nachtrag:

Da ich bei meinen Anschluss-Experimenten scheinbar den Out-Port des Midi-Adapters zerstört habe, habe ich mir einen zweiten gekauft. Wie erwartet, sah er von außen absolut identisch aus, innen jedoch war ein ganz anderes Board mit anderen Kontakten vor zu finden. Interessant war, dass auf diesem Board I- und I+ anders herum beschaltet waren. Der PullUp musste also zwischen I- und +5V. Die gute Nachricht ist nun, dass hinter den beiden IN-Pins ein Optokoppler kommt (ein Phototransistor mit einer LED in einem Gehäuse), wobei die Eingangssignale die LED steuern. Der Optokoppler ist recht resistent, vor allem gegen Verpolung. Daher kann man ruhig mal beide Versionen ausprobieren.

Hier noch ein paar Fotos vom zweiten Adapter: