Forum: Mikrocontroller und Digitale Elektronik Midi funktioniert nicht mit allen Geräten


von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe eine MBox2 und einen billigen USB-Midi Adapter hier. Die 
angehängte Midi-Out Schaltung funktioniert mit der MBox2 hervorragend, 
mit dem billigen Adapter jedoch gar nicht.

Woran könnte das liegen? Verbinde ich den Midi-Out der Mbox mit dem 
Midi-In des Adapters funktioniert das ebenfalls, es ist also nichts 
kaputt.

An der Basis des Transistors sehe ich beim Senden das Signal, 2.2V-3.3V. 
Am Collector sehe ich beim Senden auch ein Signal, welches sich jedoch 
nur schwer in Worte fassen lässt.

Tips? R3 auf 1k reduzieren bringt auch nichts. Ich bin etwas ratlos.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

War MIDI nicht eine Strom-Schnittstelle?

Ansonsten sieh Dir mal Beitrag "Midi Treiber?" an, 
da wird das irgendwie ... anders gelöst.

von Jim M. (turboj)


Lesenswert?

Jan schrieb:
> Am Collector sehe ich beim Senden auch ein Signal, welches sich jedoch
> nur schwer in Worte fassen lässt.

Dann häng halt ein Oszi Foto an...

von Jan (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> War MIDI nicht eine Strom-Schnittstelle?

Genau. In der Schaltung in deinem Link, muss der Ausgang des µC 
invertiert sein, was bei meinem nicht möglich ist. Da das Midi-In der 
MBox2 aber funktioniert kann ich nicht so falsch liegen.

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

Das erste Bild ist direkt am Ausgang von µC. Das zweite an der Basis des 
Transistors. Das dritte am Collector vom Transistor.

von Stefan F. (Gast)


Lesenswert?

Anscheinen fließt kein ordentlicher Laststrom. Hast du eventuell einfach 
die beiden Anschlüsse 4 und 5 vertauscht?

von Jens (Gast)


Lesenswert?

Bestimmte billige Midiadapter haben keinen Optokoppler. Die brauchen 
dann direkt 3/5V. Es fließt also kein merklicher Strom gegen GND.

Ich habe aber schon in Billigteilen OKs eingelötet. Die Leiterplatten 
sind meistens dafür ausgelegt.

von Jan (Gast)


Lesenswert?

Stefan U. schrieb:
> Hast du eventuell einfach
> die beiden Anschlüsse 4 und 5 vertauscht?

Siehe, dass es mit der MBox2 hervorragend funktioniert.

Jens schrieb:
> Bestimmte billige Midiadapter haben keinen Optokoppler. Die brauchen
> dann direkt 3/5V. Es fließt also kein merklicher Strom gegen GND.

Wenn ich den geschmeidig aufmachen könnte, würde ich mal reinschauen. So 
billig scheint der aber nicht zu sein, es ist ein Prodipe.

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Ist das so ein kleines ovales Ding, wo drei Kabel rauskommen - Midi In 
Out und USB?

Wenn ja, dann ist es genau das. Man bekommt die Dinger auf - irgendwie. 
Dann kann man dort einen SMD-OK einlöten und Widerstände.

Was auch geht, ist die Schaltung etwas umzubauen. Den MidiOut 1.3B mit 
220 Ohm direkt an Anschluss 5 ohne Transistor. Anschluss 4 mit 220Ohm 
gegen +5V.  Und GND an Anschluss 2. Dann funktionieren die Adapter auch 
ohne OK. Auch Deine MBox2 wird weiterhin laufen.

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

So mein ich.

von Jan (Gast)


Lesenswert?

Du machst hier aber die Widerstände ja noch größer als meine. Meinem 
Verständnis nach geht in meiner Schaltung mein Transistor voll in die 
SÄttigung, wenn ich 0V an R3 anlege. Dann habe ich 44Ohm 
Strombegrenzung, du hingegen 440Ohm.

Da sollte doch bei meiner garantiert mehr Strom fließen und das Ding 
eher durchschalten?

von Rolf M. (rmagnus)


Lesenswert?

Die 220Ω sind der übliche Wert für diese Widerstände, allerdings an 5V. 
Wenn dem murksige Interface(*) der Optokoppler fehlt, braucht es 
womöglich die 5V, um zu funktionieren. Und wie Jens zeigt, wird 
normalerweise auch Pin 5 per Transistor geschaltet und Pin 4 über einen 
Widerstand an die 5V gehängt. Kann gut sein, dass das Ding das auch so 
erwartet. Einem Optokoppler wär's natürlich egal.

* Ich würde so einen Schrott ja einfach entsorgen

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Das geht schon.

Ein Vorwiderstand von 660 Ohm (3 x 220 Ohm) insgesamt schaltet die Led 
im Optokoppler mit 3V und auch mit 5V.

Es soll ja für beide Teile funktionieren.

Wenn kein OK, dann ist Anschluss 5 (nicht 4) direkt an den Eingang (RxD) 
vom uC des Adapters verbunden. 3V reichen aus um 5V Logik zu schalten.
Die Daten müssen also über Anschl. 5 laufen.

Einfach vertauschen geht aber auch nicht. Du müsstest es so umbauen mit 
den Widerständen - das hab ich auch so gemacht und es läuft.
Oder ein zweiter Transistor ....

Am Ausgang TxD von 1.3P wird die meißte Zeit Hi sein. Die "Daten" sind 
dann "Lo-Impulse" und nur wenn TxD (1.3P) Lo ist, soll ein Strom durch 
den OK fließen. Wenn Hi, dann passiert nichts.

Der Adapter aber verlangt das gleiche SIgnal wie Dein 1.3P liefert - 
also muss das durchgegeben werden. Mit einem Transistor allerdings würde 
es invertiert sein, also Lo = Hi und umgekehrt.

von Thomas E. (picalic)


Lesenswert?

Servus,

was ist eigentlich so schwer daran, sich bei der Schaltung an die 
allseits bekannte (notfalls googeln) Standard-Schaltung für den MIDI Out 
zu halten? So kompliziert ist die doch nicht!
Wenn man das macht, muss man nicht rätseln, warum die eigene Kreation 
nicht funktioniert und muss auch nicht auf murksige Interfaces schimpfen 
oder diese gar entsorgen, weil sie dann nämlich mit ziemlicher 
Sicherheit auch funktionieren.

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Sorry - Nummern von Buchse vertauscht. Hier jetzt richtig.

von Curby23523 N. (Gast)


Lesenswert?

Thomas E. schrieb:
> Servus,
>
> was ist eigentlich so schwer daran, sich bei der Schaltung an die
> allseits bekannte (notfalls googeln) Standard-Schaltung für den MIDI Out
> zu halten? So kompliziert ist die doch nicht!
> Wenn man das macht, muss man nicht rätseln, warum die eigene Kreation
> nicht funktioniert und muss auch nicht auf murksige Interfaces schimpfen
> oder diese gar entsorgen, weil sie dann nämlich mit ziemlicher
> Sicherheit auch funktionieren.

Sie funktioniert ja scheinbar nur mit dem Gerät nicht, welches sich 
widerum nicht an den Standard hält (Optokoppler am Eingang). Ich kann 
bei der im ersten Post gezeigten Schaltung nichts falsches erkennen, 
denn bei einer "0" schaltet der Transistor durch und es sollte der Strom 
fließen.

Wenn die Gegenseite aber 5V haben möchte und sich nicht an den 
Midi-Standard hält, sehe ich das Problem eher dort.

Vermutlich würde das Interface auch nicht funktionieren, würde man 
direkt an/aus schalten mit 0-3.3V. Eben wegen den 3.3V.

von Jens (Gast)


Lesenswert?

3,3V schalten - ich glaube schon ab ca. 0,7V sieht der uC (ATM16 z.B.) 
die Sache als Hi.
Und in der Tat, der Adapter ohne OK braucht über Anschluss 5 ein Signal. 
Deshalb geht die Anfangsschaltung vom TO nicht, da ja dort Anschl. 5 
dauerhaft an GND liegt. Anschluss 5 geht im Adapter über einen 
Widerstand direkt auf RxD des uC.

von Stefan F. (Gast)


Lesenswert?

> ich glaube schon ab ca. 0,7V sieht der uC (ATM16 z.B.) die Sache als Hi

Nee, AVR Mikrocontroller wollen 2/3*VCC als High Pegel haben. Mit etwas 
Glück genügen schon knapp mehr als 1/2*VCC. Aber sicher nicht 0,7V. Ich 
kennen auch keinen anderen Mikrocontroller, bei dem das klappen würde.

Vielleicht einem einem Taschenrechner...

von Jan (Gast)


Lesenswert?

Jens schrieb:
> Deshalb geht die Anfangsschaltung vom TO nicht, da ja dort Anschl. 5
> dauerhaft an GND liegt

Das stimmt so nicht. 10 Ohm gegen Masse. Evtl. den Widerstand mal 
erhöhen?

von Jens (Gast)


Lesenswert?

Muss mich korrigieren: ATMega168 schaltet in der Tat erst bei ca. 2,5V 
nach Hi und bei 2V wird er Lo. Ca. Werte !!! Aber bei 3V schaltet er 
sicher. Auch wenn z.B. Wid. 10K zwischen TxD des einen und RxD des 
anderen uC liegen.

>>den Widerstand mal erhöhen?

es muss das Signal anliegen, nicht statisch GND. Siehe meinen Schaltplan 
- habs ja gemacht und es geht.

von Rolf M. (rmagnus)


Lesenswert?

Jan schrieb:
> Jens schrieb:
>> Deshalb geht die Anfangsschaltung vom TO nicht, da ja dort Anschl. 5
>> dauerhaft an GND liegt
>
> Das stimmt so nicht. 10 Ohm gegen Masse. Evtl. den Widerstand mal
> erhöhen?

Und dann? … kommt dort immer noch kein Signal vom µC an. Das ist 
unabhängig davon, wie hoch der Widerstand ist.

Thomas E. schrieb:
> Wenn man das macht, muss man nicht rätseln, warum die eigene Kreation
> nicht funktioniert und muss auch nicht auf murksige Interfaces schimpfen
> oder diese gar entsorgen, weil sie dann nämlich mit ziemlicher
> Sicherheit auch funktionieren.

Murksige Interfaces entsorgt man, weil sie eben Murks sind. Die bleiben 
Murks, auch wenn sie trotzdem funktionieren sollten. Der Optokoppler 
gehört zu einem vernünftigen MIDI-Interface dazu.
Und nein, das bedeutet nicht, das man dafür dann auf der Gegenseite 
murksen darf. Auch da sollte die Schaltung ordentlich aufgebaut sein.

von Clemens L. (c_l)


Lesenswert?

Jan schrieb:
> Jens schrieb:
>> Deshalb geht die Anfangsschaltung vom TO nicht, da ja dort Anschl. 5
>> dauerhaft an GND liegt
>
> Das stimmt so nicht. 10 Ohm gegen Masse. Evtl. den Widerstand mal
> erhöhen?

Dein Adapter misst die Spannung an Pin 5 (mit einem hochohmigen 
CMOS-Eingang), und ignoriert Pin 4. Da praktisch kein Strom fließt, ist 
der Spannungsabfall über R4 ungefähr 0 V. Ein größerer Widerstand hilft 
auch nicht.

Für deinen Adapter kannst du MIDI_OUT direkt mit Pin 5 verbinden.

Das funktioniert dann aber nur für diesen Adapter ohne Optokoppler; wenn 
du eventuell auch andere MIDI-Geräte verwenden willst, brauchst du einen 
5-mA-Treiber an Pin 5; siehe MIDI.

Wo kommt dein MIDI_OUT überhaupt her? Wenn der µC 5 mA bereitstellen 
kann, brauchst du keinen Extra-Treiber; andernfalls kannst du auch mit 
zwei Transistoren einen bastelen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.