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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jan (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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. (stefanus)


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

von Jens (Gast)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht lesenswert
So mein ich.

von Jan (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht lesenswert
Sorry - Nummern von Buchse vertauscht. Hier jetzt richtig.

von Curby23523 N. (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.