Forum: Mikrocontroller und Digitale Elektronik MIDI Input kommt nicht an (Atmega328P)


von Chris T (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum,

ich versuche gerade, den MIDI-Eingangsteil von der Schaltzeichnung von 
einem 5V Arduino (bei dem es funktioniert hat) auf einen Canique MK2 
(Atmega328P, 3.3V) zu portieren.

Als Allererstes habe ich den Optokoppler 4N28 mit 3.3V direkt vom Board 
betrieben, jedoch hat das nicht funktioniert, sprich am Serial Port 
kamen keine Signale durch.
Dann habe ich es mit 5V und einem Level-Shifter von Sparkfun (5 to 3.3V 
damit mir der Controller nicht abraucht) versucht. Auch ohne Erfolg.

Leider habe ich gerade kein Multimeter zur Hand, aber habe folgende 
Dinge festgestellt:
- Wenn ich ohne den Optokoppler 4N28 an D1 parallel eine LED halte, 
"sehe" ich das schwache MIDI-Signal.
- Stecke ich den Optokoppler ein, ist das Signal nicht mehr zu sehen und 
an Pin 5 des Optokoppler liegt eine konstante Spannung an (LED flackert 
hier nicht).

Folgende Vermutungen habe ich:
- Es ist schlicht der falsche Optokoppler für diesen Microcontroller
- Der Widerstand R3 hat irgendetwas damit zu tun (Leider verstehe ich 
den Aufbau der Schaltung auch nicht ganz)

Hat jemand hier eine Ahnung, woran es liegen könnte?

Viele Grüße und ein schönes Wochenende,
Chris

von c-hater (Gast)


Lesenswert?

Chris T schrieb:

> Als Allererstes habe ich den Optokoppler 4N28 mit 3.3V direkt vom Board
> betrieben

Damit dürftest du ihn bereits zerstört haben.

Weder die Fototransistoren noch die LEDs von Optokopplern sind darauf 
ausgelegt, sehr viel Leistung verheizen zu können. Du hast aber alle 
verfügbare Leistung der Versorgung darin verheizt...

> Leider habe ich gerade kein Multimeter zur Hand

Dann kauf' dir gefälligst eins. Ohne wenigstens ein Multimeter geht in 
der Praxis garnix. Oszi/Logicanalyser ist auch sehr nett, aber ein 
Multimeter ist absolut unverzichtbares Grundwerkzeug, wenn man irgendwie 
mit Hardware hantiert.

> - Der Widerstand R3 hat irgendetwas damit zu tun

Natürlich hat der damit zu tun. Der schützt u.a. den Fototransistor vor 
der Sitation, den gesamten verfügbaren Strom verheizen zu müssen. Er hat 
aber auch Einfluß auf die Ausgangsspannung Richtung Controller und auf 
die Grenzfrequenz des Optokopplers.

> Hat jemand hier eine Ahnung, woran es liegen könnte?

Ja, daran, dass du halt keinerlei Ahnung hast. Das kannst du ändern. Das 
Zauberwort heisst: LERNEN.

Im konkreten Fall:
1) Multimeter kaufen
2) rausfinden, wie man damit überprüfen kann, ob der Optokoppler noch
   funktioniert oder bereits Elektronikschrott ist.
3) Optokoppler ggf. tauschen

von Chris T (Gast)


Lesenswert?

Genau deswegen bin ich ja hier: Zum Lernen :)

Danke auf jeden Fall für deinen Input. Beschäftige mich hobbymäßig damit 
und lerne Einiges durchs experimentieren. Wie die Beschaffung der 
Materialien und deren Eigenschaften im Detail sind, wird mir durch das 
Lesen der Datenblätter nicht sofort ersichtlich.
Genauso wie ich nicht wirklich weiß, wie ich passende Teile für meine 
Projekte finde/zusammenstelle. Aber das ist eine andere Baustelle.

Das Multimeter lag auf Grund der Umstände nicht in meinem aktuellen 
Wohnsitz, habe es aber jetzt mal hergeholt. Teste ihn morgen dann mal.

von Clemens L. (c_l)


Angehängte Dateien:

Lesenswert?

Chris T schrieb:
> Es ist schlicht der falsche Optokoppler für

... MIDI. Analoge Optokoppler sind eigentlich zu langsam für 31250 baud, 
insbesondere bei einem großen Pull-Up-Widerstand. (Und für einen 
kleineren Widerstand liefert er nicht genug Strom.) Wenn es mal läuft, 
dann gerade an der Grenze.

Mit der Schaltung oben kann man sie beschleunigen. (Für den 4N28 könnte 
es notwendig sein, R1 zu vergößern.)

Du solltest einen digitalen Optokoppler nehmen, den in der 
MIDI-Spezifikation empfohlenen (PC900 = H11L1) oder einen 6N137.

von c-hater (Gast)


Lesenswert?

Clemens L. schrieb:

> Analoge Optokoppler sind eigentlich zu langsam für 31250 baud,

Ach watt. Der angegebene kann das bissel MIDI-Scheiß locker. Er muß halt 
nur geeignet beschaltet werden. Und vor allem nicht mit der vollen 
Versorgung gegrillt werden, denn wenn er erstmal kaputt ist, kann er 
weder MIDI noch sonst irgendwas...

von Chris T (Gast)


Lesenswert?

Clemens L. schrieb:
> Du solltest einen digitalen Optokoppler nehmen, den in der
> MIDI-Spezifikation empfohlenen (PC900 = H11L1) oder einen 6N137.

Danke, ich werde es mal damit probieren!
Mit einem Arduino konnte ich mit dem 4N28 MIDI empfangen. Wie sehr er am 
Limit lief, weiß ich leider nicht. Ich habe mir dennoch die Teile von 
deinem Plan mal bestellt und werde alles mal genau analysieren :)

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.