Pullup-Widerstand 6N137 bestimmen

  • Guten Morgen,


    ich hab nochmals eine Frage über DMX etc. Bei DMX beträgt die Bautrate ja 250kBaud, da es nur zwei Zustände gibt kann man diese auch gleich der Bitrate setzen...


    jetzt möchte ich gern für den 6N137 (open collector) einen Pullup-Widerstand (zwischen Kollektor und VCC) installieren - nur welche Größe??


    Schaltgeschwindigkeit Ts = 1/250kbit/s = 4µs


    Datasheet:
    - Leakage Current: max. 1µA
    - Voltage, High Level min. 2.0V
    - Voltage, Low Level max. 0.8V (recommend)
    - Versorgungsspannung VCC = 5V
    - R (Pullup) = (5-2)V / 1µA R = 3 MOhm


    - Schaltgeschwindigkeit aus dem Diagramm Tr/Tf, Ta:
    wenn man dort überhaupt was ablesen kann: dann vielleicht Tr (4µS) ergibt ca. R = 50Ohm???


    Irgendwie komm ich damit noch nicht zurecht :cry:


    Bernd

  • Hi Bernd,


    was möchtest du mit dem Optokoppler denn genau machen??
    Hast du eine Oszi bei der Hand? Wenn ja, würde ich einfach mal mit 1k Ohm anfangen, und dann schauen, wie sich das Rechteck verhält.
    50 Ohm sind meiner Meinung nach deutlich zu niedrig.


    Tomy

    SIM II Operator and Dante Level I-II-III (alles sogar zweimal :)
    Jugendschwimmabzeichen, Rettungsschwimmabzeichen in Bronze
    Meine kommerziellen Softwareprodukte SATlive und LevelCheck

  • Hallo Tomy,


    ich möchte gern DMX-Signale empfangen und galvanisch mit dem Optokoppler trennen --> an den µC schicken...


    Ich hab mir die Widerstände noch nicht besorgt... wollte eigentlcih zuerst die Schaltung in Eagle aufbauen und richtig dimensionieren.. 50 Ohm sind mir auch zu niedrig (hab aber nicht so ganz das gefühl, wieviel man denn so benötigt, um die Schaltzeit auch einhalten zu können)


    rechnerisch gibt es da keine weiteren möglichkeiten?? Aus dem Diagramm von dem Datasheet kann man leider nicht wirklich was ablesen (die Einheiten der Achsen sind sehr groß)...


    Bernd

  • Hi,


    also im Farchibald Datenblatt messen sie alles mit 350Ohm. Ich würde also zu 390 Ohm tendieren.
    Willst du direkt mit dem DMX auf den Optokoppler?
    Das DMX Protokoll, speziell die Synchronisation mit dem 'überlangen' byte kennst du?


    Grüße


    Tomy

    SIM II Operator and Dante Level I-II-III (alles sogar zweimal :)
    Jugendschwimmabzeichen, Rettungsschwimmabzeichen in Bronze
    Meine kommerziellen Softwareprodukte SATlive und LevelCheck

  • hello,


    DMX-Schnittstelle (XLR) --> LTC485 (Pegelwandler) --> 6N137 Optokoppler --> µC


    war eigentlich mein plan; wüsste jetzt nicht wie man es sonst machen würde?


    das überlange Byte?? Du meinst den Zeitraum bis etwas gesendet wird, welches aus 000000 (und ich glaub 12Bits oder länger ist)? hmm stellt ein Problem dar bei der Synchronisation, das stimmt, weil man nicht weiß wielange der zeitraum ist... d.h. man muss die Flanken erkennen zum ersten Bit 1;


    Bernd

  • Hi,


    planst du eine galvanisch getrennte Stromversorgung für den Eingangswandler? Wenn nein, dann kannst du den Optokoppler auch gleich weglassen.
    Das mit dem Format hab ich gefragt, weil das öfters vergessen wird, und es halt nicht so einfach mit der Seriellen Schnittstelle geht.
    Was man hier so liest lässt sich die Synchronisation wohl mit 'Hilfe' des Framingerrors erkennen.


    Tomy

    SIM II Operator and Dante Level I-II-III (alles sogar zweimal :)
    Jugendschwimmabzeichen, Rettungsschwimmabzeichen in Bronze
    Meine kommerziellen Softwareprodukte SATlive und LevelCheck

  • ja die stromversorgung für die LTC485 ist galvanisch getrennt zu dem rest der Schaltung. Sonst hat der Optokoppler wie du schon sagst, keinen sinn...


    Framing Error klingt nach Try & Error bis man ein Startbit gefunden hat... mal anschauen (zuerst aber die hardware und dann die software entwickeln)....


    Was ich allerdings schon gesehen habe ist, dass eine "Transceiver_Enab" Line vom µC über einen Transistor an einen DC-DC Converter gelegt wird und über diesen alle Bausteine 6N137 vor dem Converter und nach dem Converter die Pegelwandler LTC485 mit Spannung versorgt werden... was mich etwas stört, ist dass man dadurch drei Pins vom µC statt nur zwei benötigt... und die vorteile sind mir auch nicht ganz klar... man kann die VCC ja auch über die gleiche Line laufen lassen wie die VCC vom µC (sind ja eh stets 5V)


    die DMX-Inputs müssen dann erst über die Software freigeschaltet werden, damit überhaupt Daten gesendet werden können an den µC?


    Bernd

  • Hi,


    das mit dem Disablen des DMX Converters könnte schon Sinn machen, evtl. zieht ja sonst das EingangsIC ohne Versorgungsspannung die DMX Leitungen irgendwo hin über Schutzdioden o.ä.
    Also mal den Fall 'Gerät hängt an DMX und ist ausgeschaltet' durchdenken bzw. simulieren.
    Vor der Hardwareentwicklung sollte man aber schon wissen, ob man für die Erkennung der Lücke evtl. zusätzliche Hardware braucht.


    Tomy

    SIM II Operator and Dante Level I-II-III (alles sogar zweimal :)
    Jugendschwimmabzeichen, Rettungsschwimmabzeichen in Bronze
    Meine kommerziellen Softwareprodukte SATlive und LevelCheck

  • und wie wird erkannt ob ein Gerät angeschlossen ist am DMX-Input? Das muss ja auch irgendwie hardware-mäßig zu realisieren sein, oder?


    ich weiß nur beim USB-Bus ist es so, dass nach 2.5 ns (wenn kein High-Pegel) da ist, man auch weiß, dass kein Gerät angeschlossen ist.


    mit der Hardware- und Software-entwicklung hast du natürlich recht; war etwas voreilig..


    Bernd

  • Das mit dem "Transceiver_Enab" erinnert mich doch stark an Michaels DMX-Interface (Digital Enlightenment) :D
    Da dient das hauptsächlich dazu, den USB-Standard einzuhalten - denn USB-Geräte dürfen erst >100mA ziehen, wenn sie sich angemeldet haben. Daher wird der Tranciever-Teil erst später zugeschaltet. Wenn du deine 5V wo anders her hast, kannst du dir das natürlich sparen...


    Zu den Optokopplern: Im Datenblatt ist doch der mögliche/normale Diodenstrom angegeben? Ich hätte den Widerstand einfach so dimensioniert, dass dieser fließt...


    Stefan

  • das stimmt, das hab ich unter anderem vorliegen als schaltplan :)


    der diodenstrom IF (Eingangsseite) kann z.b. 10mA sein, daraus resultiert dann eine Spannung von 1.4V - aber was hat dieser Strom mit dem Pullup-Widerstand auf der Kollektorseite zu tun?


    Bernd

  • Zitat von "bernd schuster"

    aber was hat dieser Strom mit dem Pullup-Widerstand auf der Kollektorseite zu tun?


    Ääääh :oops: - nix? :oops:
    Das kommt davon, wenn man noch was dazu schreibt ohne die ursprüngliche Fragestellung noch mal zu lesen :roll: Wenigstens der Rest der Antwort war sinnvoll ;)


    Stefan

  • Beachte, dass der 6N137 für bis zu 10MBit geeignet ist, wir aber hier nur 250KBit brauchen, da kann auch der Pullup bischen grösser werden... Aber wenn du da Sorgen hast, dann halte dich doch einfach an den Wert vom Datenblatt.
    Ob ein Break vorliegt kann man entweder aus nem Framingerror erkennen oder man nutzt als Format 9N1 statt 8N2 und zieht das 9. Bit zur erkennung heran. Beides ist kein Try & Error sondern erkennt zuverlässig Zusände auf der Leitung, die 10 oder mehr Bittimes low sind (bevor jemand verwirrt ist: 9 Bittimes low gibts im normalen Betrieb, denn das Startbit ist ja auch low). Auf diese Weise kann man nur nicht die genaue Länge des Breaks erkennen. Wie du das genau machst hängt von deinem Controller und dem UART dadrin ab, es gibt auch welche, die extra eine Breakerkennung haben, z.B. welche für LIN.