Hallo, ich habe eine MIDI IN und OUT Schaltung aufgebaut. Die Schaltung funktioniert prima. Aber das Hochladen vom Sketch geht nur wenn RX vom 6N139 Pin 6 getrennt ist. Ich verwende ein Arduino Nano V3 mit einem CH340G USB Konverter der ist zur Einfachheit nicht gezeichnet. Welche Möglichkeit gibt es den Sketch hochzuladen ohne die RX Leitung zu trennen? Ein Schalter geht ist aber nicht schön. Kann man überhaupt ein Sketch über USB hochladen wenn RX mit dem Optokoppler verbunden ist. Der RX PIN am Nano ist dann ja wenn nix empfangen wird auf HIGH oder? Würde mich über eure Hilfe freuen. Gruß Michael
Michael K. schrieb: > mit einem CH340G USB Konverter der ist zur Einfachheit nicht gezeichnet Genau diese Anschaltung wäre aber interessant. Es scheint ja so zu sein dass der Optokoppler da was blockiert. Dann helfen wahrscheinlich Dioden.
:
Bearbeitet durch User
Hallo Michael, Nimm ein ATMega32U4 basiertes Board (Pro Micro ATmega32U4 5V 16MHz), der hat einen USB-Serial Port und einen unabhängigen Hardware UART Port. Wichtig ist auf die Spannung die Taktfrequenz zu achten, es gibt zwei Varianten: 1. 5V mit 16MHz 2. 3.3V mit 8MHz Wenn ein Verkäufer dies nicht klar ausweist und die Frequenz des Quarzes im Bild nicht klar erkennbar ist, dann kauf bei einem anderen Händler. Kostet 2,50Euro bei Aliexpress.com Du sparst dir auch noch den Ärger mit den CH340 Treibern (siehe Linux patches der letzten Monate)... Der Code bleibt fast identisch, nur dass du nicht "Serial" sondern "Serial1" verwenden musst, wenn du mit MIDI redest. Über "Serial" redest du mit dem PC. Michael
Michael K. schrieb: > Der RX PIN > am Nano ist dann ja wenn nix empfangen wird auf HIGH oder? Ob der auf HIGH ist kann ich dir nicht sagen (ich kenne den Ruhezustand von MIDI IN nicht). Aber wenn das so ist (du kannst es ja selber messen) hast du einen Ziehwiderstand von 220Ω nach +5V. Das ist wahrscheinlich viel zu niederohmig für den CH340G. Du kannst es ja mit größeren Werten probieren. Andersherum: wird der MIDI-Empfang nicht auch durch den CH340G gestört? Dann hilft nur eine Oder-Schaltung.
Dietrich L. schrieb: > wird der MIDI-Empfang nicht auch durch den CH340G gestört? Wenn ich das Datenblatt des CH340 richtig gelesen habe, hat er einen Push-Pull-Ausgang. Dann dürfte dein MIDI gar nicht laufen - oder du zwingst dem CH340-Ausgang mit den Optokoppler und dem R4 mit 220Ω ausreichende Pegel auf. Dann dürfte mit einem größeren R4 aber MIDI nicht mehr gehen... Also dann müsste man doch einen ODER-Schaltung mit Dioden oder Logik-Gattern dazwischen bauen; dabei die Ruhepegel beider Ausgänge beachten!
Wenn am M2 nichts eingesteckt ist, ist der Optokoppler hochohmig, so dass er nicht stören sollte. Aber R4 stört, denn er bildet zusammen mit dem 1k Widerstand am USB-UART einen Spannungsteiler, der das Signal zu stark hoch zieht. Siehe http://actrl.cz/blog/wp-content/uploads/nano_ch340_schematics-rev1.pdf
1 | 1k R4 220Ω |
2 | USB-UART Tx o---[===]---+-------------[===]----o VCC |
3 | | |
4 | +----|<|------[===]----o VCC |
5 | | Rx LED 1k |
6 | | |
7 | AVR Rx |
Schon ohne deinen 220Ω Widerstand kommt beim AVR kein sauberer LOW Pegel an, weil die LED das Signal hoch zieht. An dem 1kΩ Widerstand (links oben) fallen 1,5V ab. Der Low Pegel ist damit genau auf der Grenze zum undefinierten Bereich. Meistens geht es noch so gerade eben, manchmal aber nicht. Ich musste schon bei einigen Modulen die Rx LED entfernen, damit sie zuverlässig Daten vom USB Port empfangen konnten. Mit deinem 220Ω Widerstand verschärfst du das Problem noch, weil der ja noch stärker hoch zieht. Lasse den mal einfach weg! Du brauchst ihn nicht, denn der USB-UART zieht den Pin im Ruhezustand bereits auf High.
Einfach statt des SW1 eine Diode einsetzen, so dass sie nur den Low-Pegel des Optokopplers durchlässt.
STK500-Besitzer schrieb: > Einfach statt des SW1 eine Diode einsetzen, so dass sie nur den > Low-Pegel des Optokopplers durchlässt. Das wird auch gehen. Ich würde SW1 und den Pull-Up Widerstand weg lassen. Das sind zwei verzichtbare Bauteile.
Warum so kompliziert. Nimm ein Board welches einen getrennten UART für den Midi Anschluss hat, so wie ich oben geschrieben habe (Stichwort "ATMega32U4"). Dann musst du nix verodern oder Umschalten.
Wenn kein MIDI angeschlossen ist ist der Pegel am RX Pin auf HIGH 5.12V auf dem OSSI. Vmin ist 640 mV wenn MIDI Signale über RX reinkommen, Ohne R4! Mit R4 ist Vmin 880mV aber ganz auf LOW geht der Pegel leider nicht aber MIDI wird PC empfangen. Ein anderes Board geht in meinem Fall nicht da die PCB schon fertig ist. Muss der Pegel ganz auf 0 mV? Gruß Michael Ist der R3 und R5 richtig gewählt?
:
Bearbeitet durch User
Michael K. schrieb: > Muss der Pegel ganz auf 0 mV? Nein, bei 5V Versorgungsspannung "sollte" alles unter 1V OK sein. Warum es bei Dir mit 640 und 880mV nicht funktioniert, ist mir ein Rätsel. Deine Messwerte deuten darauf hin, dass auf deinem Board wohl andere Widerstände verbaut sind, oder vielleicht LEDs mit mehr als 2V Spannungsabfall. Vielleicht ist die Schaltung des Boardes noch in anderen Punkten anders. Dir 640/880mV hast du außen an der Stiftleiste gemessen, nehme ich an. Kannst du direkt am Mikrocontroller die gleichen Werte messen?
Ich habe am Breadboard gemessen nicht am Nano direkt. Werde es später nochmal versuchen. Wie gesagt MIDI wird Fehler frei empfangen. Mich nervt nur das ich jedes Mal, wenn ich den Sketch neu updaten möchte ich den Nano aus seiner Halterung nehmen muss. Dann ist ja auch nix angeschlossen und der neue Sketch wird sauber hochgeladen mit der Meldung (Hochladen abgeschlossen). Ist der Nano in seinem Sockel und kein MIDI Kabel ist angeschlossen. Wird der Sketch nicht hochgeladen und bleibt hängen. Ist die RX Leitung unterbrochen (da wo der Schalter in der Zeichnung ist) geht es wieder. Was kann ich da machen? Mit der Diode hat es bis jetzt noch nicht funktioniert. Ich glaube soweit ist alles richtig oder? Den R4 Widerstand kann ich ja noch ändern aber sonst ist alles so wie in der Zeichnung. Bis auf den Schalter den könnte ich noch irgendwie auf dem PCB einbauen. Gruß Michael
Michael K. schrieb: > Ich habe am Breadboard gemessen nicht am Nano direkt. Werde es später > nochmal versuchen. Messe direkt am Mikrocontroller-Pin. Michael K. schrieb: > Was kann ich da machen? Mit der Diode hat es bis jetzt noch nicht > funktioniert. Das mich wundert. Aber deine Messung klärt das vielleicht auf. Messe die Spannung am Mikrocontroller-Pin während S1 offen ist. Baue dann die Diode anstelle von S1 ein und messe die Spannung auf beiden Seiten der Diode (ich erwarte High). Lege dann eine Spannung an den Midi EIngang, damit der Optokoppler durch schaltet und messe nochmal die Spannungen an beiden Seiten der Diode. Ein Oszilloskop hast du wohl nicht, nehme ich an? Es billiges DSO138 wäre bereits sehr hilfreich. Vielleicht legst du dir so ein Ding mal zu - für die Zukunft.
Hallo Stefan ich habe den R4 durch ein 1k Widerstand ersetzt und jetzt gehts auch ohne Diode. Das MIDI IN Kabel muss allerdings raus vor dem Upload. Danke euch allen. Gruß Michael
Michael K. schrieb: > Hallo Stefan ich habe den R4 durch ein 1k Widerstand ersetzt und jetzt > gehts auch ohne Diode. Das MIDI IN Kabel muss allerdings raus vor dem > Upload. Danke euch allen. Gruß Michael
Mit den 320mV bist du auf der sicheren Seite.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.