MIDI zu Arduino mit einem 4N38 Optokoppler

Ich habe neulich einen Satz Optokoppler bestellt und war aufgeregt, als sie endlich ankamen. Leider habe ich ein bisschen Probleme, sie zum Laufen zu bringen. Einfache Ein-/Aus-Aufgaben funktionieren gut, aber wenn ich versuche, damit MIDI-Daten an ein Arduino Uno zu senden, bekomme ich keine Antwort. Ich vermute, dass das Problem in der Art des Optokopplers liegt, den ich verwende. Während die meisten Projekte im Internet den 6N138 zu verwenden scheinen, dachte ich, ich könnte ihn durch den ähnlichen 6N38 ersetzen. Momentan denke ich, dass das Problem die Schaltzeit ist. Der 6N138 ist ein Dioden-Optokoppler, während mein 4N38 ein Transistor-Optokoppler ist. Aber ohne ein Oszilloskop habe ich keine einfache Möglichkeit, sicher zu sein. Um die Dinge zu verkomplizieren, kann ich nicht viel findenSchaltung mit dem 4N38 trotz seiner Ähnlichkeit mit anderen Chips. Kann man mit diesem Chip MIDI-Daten übertragen? Soll ich einfach ein anderes kaufen?4N38 Schaltung

HINWEIS: VCC beträgt 5 V.

EDIT: Teilenummer korrigiert. BEARBEITEN: Spezifität. EDIT: Schema hinzugefügt.

Sie müssen uns Ihre Schaltung zeigen, damit wir Ihnen beim Debuggen helfen können.
Ihr Titel und Ihr Körper stimmen nicht überein.
@ignacio, wieso?
@Nick Ich werde die Schaltung auf jeden Fall hinzufügen, wenn ich später heute die Gelegenheit dazu bekomme.
Die Frage nach allgemeinen Erfahrungen mit dem Chip und Kommentaren ist für diese Site nicht spezifisch genug. Sie versuchen, eine Meinung einzuholen, und Sie sollten die Informationen zu den Arten von Fragen lesen, die Sie stellen können.
@Andyaka Ich bin anderer Meinung - er fragt speziell, warum dieser Chip bei ihm nicht funktioniert. Er liefert einfach nicht viele Details über die fragliche Strecke.
@NickJohnson las seinen vorletzten Satz und die Tatsache, dass es keinen Schaltplan gibt.
@Andyaka Ich werde die Frage aus Gründen der Genauigkeit bearbeiten.
Die 1 kOhm gegen Masse werden wahrscheinlich ein Problem sein.
Wie so? Ich dachte, es erhöht die Schaltzeit.

Antworten (2)

R2 ist zu groß. Die Spezifikation gibt 220 Ω an, um 5 mA zu erhalten; kleinere Ströme machen den Ausgangstransistor nur schwächer.

R3 ist falsch. Ein Basis-Emitter-Widerstand könnte verwendet werden, damit die Ladung beim Ausschalten schneller von der gesättigten Basis entfernt werden kann. Ein solcher Widerstand fügt jedoch auch eine Mindestschwelle für den Basisstrom hinzu (weil kein Strom in die Basis fließt, bis der Spannungsabfall über dem Widerstand größer als die Basis-Emitter-Spannung ist). Dies wäre bei einem Darlington-Optokoppler wie dem 6N138 aufgrund seiner hohen Verstärkung akzeptabel, aber bei einem einfachen Fototransistor ist dieser Strom so gering, dass es unwahrscheinlich ist, dass sich der Transistor jemals einschaltet. Entfernen Sie R3 ganz oder versuchen Sie es mit einem großen Wert wie 1 MΩ und gehen Sie davon herunter.

Der Pull-Up-Widerstand R1 sieht OK aus. Aber vielleicht möchten Sie einen kleineren Wert wie 100 Ω ausprobieren, nur um sicherzugehen.


Bei 31250 Baud hat ein Bit eine Länge von 32 µs. Für einen zuverlässigen Betrieb müssen die Anstiegs-/Abfallzeiten des Ausgangs Ihres Optokopplers viel kürzer sein; die MIDI-Spezifikation empfiehlt weniger als 2 µs.

Ein einfacher Transistor-Optokoppler ist wahrscheinlich nicht schnell genug.

Der 6N138 verwendet eine Fotodiode, aber sein Darlington-Ausgang ist zu langsam für MIDI, es sei denn, Sie fügen weitere Komponenten hinzu (z. B. einen Basis-/Emitterwiderstand), um ihn zu beschleunigen.

Der beste zu verwendende Optokoppler ist ein Hochgeschwindigkeits-Optokoppler mit einem Logikausgang. Verwenden Sie einfach die aus der MIDI-Spezifikation (Anmerkung: "PC900" ist Sharps Schreibweise für "H11L1", die von vielen Herstellern hergestellt wird).

Sie können auch einen nichtoptischen Isolator verwenden, beispielsweise einen aus der ADUM-Serie von Analog Device oder der ISO-Serie von TI.
@NickJohnson Diese Chips benötigen eine Stromversorgung für ihren Eingang; Wie würden Sie sie mit einem MIDI-Kabel verbinden?
WAHR; Ich kenne mich mit MIDI-Standards nicht aus.
Der Mangel an Geschwindigkeit war etwas, worüber ich mir Sorgen machte, als ich mir das Datenblatt ansah. Wie du aber erwähnt hast, ist selbst der 6N138 ohne externe Komponenten zu langsam. Ist es möglich, dass das Gleiche den 4N38 funktionsfähig machen könnte?
Der 6N138 hat nur das Problem langsamer Anstiegszeiten. Gegen die langsame Abfallzeit des 4N38 können Sie nicht viel tun.
Dank dafür. Ich werde Ihre Revisionen ausprobieren und wenn es immer noch nicht funktioniert (und das sieht ziemlich wahrscheinlich aus), kaufe ich einfach einen H11L1.
Yup, kein Glück sogar mit den Überarbeitungen. Ich habe mehrere H11L1-Chips bestellt. Danke.

Dies ist vielleicht nicht die Antwort, nach der Sie suchen, aber nachdem Sie persönlich versucht haben, eine Menge Sachen mit MIDI und Arduino zu machen, sollten Sie sich Teensy ansehen, wenn Sie etwas Ernsthaftes damit machen wollen. Teensy funktioniert mit den meisten MIDI-Sachen "out of the box"

Der Teensy ist ein großartiger Mikrocontroller, aber Sie müssen immer noch eine Optokopplerschaltung verwenden, wenn Sie MIDI-Eingabe akzeptieren. Dies beantwortet nicht die ursprüngliche Frage.