Power für die serielle Maus vom RS232

  • Hallo, es gab ja diese ominösen PS/2->RS232 Maus Adapter und eine der größten Beschwerden darüber war ja, dass es zusätzliche Stromversorgung via USB braucht. Nun, als ich mich damals mit beschäftigt habe, war es schnell klar, dass die RS232 zu schwach ist um etwas mehr, als nur eine Maus mit Strom zu versorgen. Zum allgemeinen Wissen habe ich natürlich gelesen, wie es funktioniert hat und wie die Mäuse mit Strom versorgt wurden und das ganze ad acta gelegt.


    Jetzt Jahre später wollte ich doch Mal etwas mehr darüber wissen und habe mir da auf dem Breadboard was zusammengesteckt. Also grundsätzlich, die Mäuse wurde durch DTR alleine, oder per Bündelung von DTR und RTS, versorgt. Man hat da je eine Diode und ein VR geschaltet und gut ist. Nun, das Problem, welches ich gerade habe, ist, dass DTR bzw. RTS beide normalerweise eine Logische 1 haben und nur kurz auf die 0 gehen und dann wieder auf 1 zurückfallen, wenn der Maustreiber aktiviert wird. So weit so gut, aber eine logische 1 auf RS232 ist -3 bis -12V. Das heißt man kann damit keine positive Spannung generieren. Kann mich da jemand erleuchten, wie das funktioniert hat? Ich habe mir auch ein Paar Bilder von geöffneten seriellen Mäusen im Netz angeschaut und ich sehe da tatsächlich die zwei Dioden und den Rest, wie etwa auf dem Bild unten. Meiner Logik nach dürfte es nicht gehen, aber ich muss irgendwo falsch liegen, denn scheinbar muss es so gegangen sein.


    Das Bild ist von hier: https://www.epanorama.net/circuits/rspower.html

  • Die Statussignale wie DTR und RTS sind offenbar nicht invertiert. Bzw. wenn, dann doppelt.


    http://wilsonminesco.com/RS-232/RS-232primer.html

    Da steht, sie würden negative Logik verwenden. D.h. RTS = 1 entspricht /RTS = 0 und in RS-232-Sprache wohl +12V, so meine Interpretation.


    In ganz vielen Guides steht halt nur was vom Logikwert, nicht Spannung … ein bisschen ist das verwirrend.

    Highscreen Colani BlueNote II 486DX4 100 MHz ⋮ Highscreen Colani Tower VL 486DX2 66MHz, Details (klick) ⋮ Highscreen InduS 500ZE-90 Pentium 90 MHz
    Toshiba Satellite 320CDT Pentium MMX 233 MHz ⋮ Apple iMac G3 (Early 2001) Blue Dalmation PowerPC 750cx 600 MHz

  • Zumindest habe ich mit einem Multimeter direkt am RS232 gemessen und RTS/DTS stehen konstant auf etwa -11V. Wenn ich den Maustreiber aktiviere geht es kurz hoch auf +11V und dann wieder auf -11V. Der Schaltung nach zu urteilen, hätte ich eigentlich komplett umgekehrte Verhalten erwarten müssen.....

  • Muss nicht, aber kann. Da die PS/2 bzw. USB Mäuse eine normale 5V Stromversorgung haben, müssen die nicht darauf achten, dass die Stromsparend sind. Da kommt es darauf an, welche LEDs zum Einsatz kommen, wie die angebunden sind usw. Also pauschal leider kaum zu beantworten.....


    Hat zwar nichts mit Deiner Frage zu tun, aber auf jeden Fall ist es so, dass RS232 extrem wenig Strom liefern kann und das reicht für eine Maus und Adapter (Arduino), vorn und hinten nicht. Ein MAX232 IC braucht etwa 10mA, eine übliche Maus auch etwa so viel. Ich habe hier zwei, drei Controller, die mit 3mA auskommen könnten. Damit wäre man insgesamt bei 23mA und wenn man theoretisch DTR und RTS bündeln könnte, wie es überall beschrieben ist, dann bekäme man bis zu 25mA, je nach verwendetem Seriellen Controller. Manche liefern deutlich weniger. Jedenfalls, könnte man theoretisch einen Adapter machen, der zumindest mit einigen PCs und Mäusen passiv arbeiten würde. Ein Versuch wäre es auf jeden Fall wert, warum nicht. Aber dafür muss ich die Geschichte mit DTR/RTS verstehen.....

  • Eine Optische Maus braucht teils 100ma,

    wenn man einen Kaputten Serial Port will kann man das gerne machen.


    Am besten mit 7805 damit die Verluste auch ordentlich sind :mittelfinger: :mittelfinger: :mittelfinger:


    Strom kommt neben dran aus dem DIN Port

    Das stimmt, keine Frage, und wie Du weißt, der Adapter, den ich gebastelt habe hat auch separate Stromversorgung, genau aus dem Grund. Trotzdem, allein schon aus Neugierde, wie funktioniert das?

  • Ein Signal wird ja für die Serielle Maus benutzt das fällt ja auch schon weg.


    Naja siehst du doch die Pins geben permanent Strom aus, er läd die Kondensatoren damit und betreibt damit den 78L05.

    Die 1k sind vermutlich um den RS232 Port zu schützen.

  • Ich glaube, wir reden da an einander vorbei. Also, es geht mir erst mal um die Maus. Die RTS/DTR Signale sind normalerweise auf logische 1 (-12V) geschaltet. Dann startet man den Maustreiber und der schaltet DTR/RTS kurz auf 0 (+12V) und dann wieder auf 1 (-12V). Das ist der Signal für die Maus ihre Daten zu schicken (M, 3, etc). Das Problem ist, oder wo ich gerade auf dem Schlauch stehe, dass bei einer logischen 1 auf DTR/RTS die Spannung wieder auf -12V steht und damit wir die Maus nicht mehr versorgt und müsste tot sein (klingt lustig). Ich meine, wie soll jetzt die Maus antworten, wenn die Spannung weg ist? Dass man bei einer eigenen Applikation die RTS/DTR auf logisch 0 schalten kann ist, denke ich, so weit verständlich. Aber ein Maustreiber macht das offensichtlich nicht, also, was habe ich übersehen? Der Fehler muss eindeutig bei mir liegen, denn alle sprechen davon, dass es so, wie oben abgebildet funktioniert und viele Quellen sprechen dafür. Aber wie?

  • Zunächst mal, Du weißt doch, dass es keinen weiteren Pegel geben wird. RTS wird dafür verwendet die Maus zu initialisieren, daher gibt es den Pegel nur ein mal, wenn der Treiber gestartet wird. Außerdem ist die Schaltung da oben, so weit ich verstanden habe, in etwa das, was die Maus drin hat. Die meisten Bilder der geöffneten seriellen Mäuse im Netzt bestätigen das mehr oder weniger. Leider habe ich keine serielle Maus um selbst nachzuschauen. Jedenfalls, sieht es für mich nicht so aus, als ob das Überstehen mit Kondensator wirklich die Erklärung ist.... also, das ärgert mich jetzt echt, dass ich es nicht raffe.....

  • Ja, TXD (vom Computer weg) wird bei Mäusen mit zur Spannungsversorgung benutzt, die senden nur und einzige Kommunikation zur Maus hin ist idR. der Reset über RTS. Kann zwar sein, dass es später noch Mäuse gab, die man umkonfigurieren konnte per besonderem Treiber, aber das ist proprietär und nicht im MS/Logitech-Standard.


    Hier gibt es von Microchip eine Appnote zum Bau einer seriellen Maus mittels PIC:

    http://ww1.microchip.com/downloads/en/AppNotes/00519c.pdf


    Ausschnitt:

    Highscreen Colani BlueNote II 486DX4 100 MHz ⋮ Highscreen Colani Tower VL 486DX2 66MHz, Details (klick) ⋮ Highscreen InduS 500ZE-90 Pentium 90 MHz
    Toshiba Satellite 320CDT Pentium MMX 233 MHz ⋮ Apple iMac G3 (Early 2001) Blue Dalmation PowerPC 750cx 600 MHz

  • Keine Sorge. Habe mit meinem Freund (Hauptberuflich Elektroniker) mehrere Stunden lang versucht zu verstehen, woher eine serielle Maus ihre Power wirklich bekommt. Am Ende hatten wir eine grobe Vermutung. Und TXD spielte eine große Rolle ;) Unser Fazit war: Den PS/2-Mausanschluss gab es nicht ohne Grund.

    Highscreen Colani BlueNote II 486DX4 100 MHz ⋮ Highscreen Colani Tower VL 486DX2 66MHz, Details (klick) ⋮ Highscreen InduS 500ZE-90 Pentium 90 MHz
    Toshiba Satellite 320CDT Pentium MMX 233 MHz ⋮ Apple iMac G3 (Early 2001) Blue Dalmation PowerPC 750cx 600 MHz

  • Guten Tag

    scorp


    Hättest du mir ein paar Bilder, von einer geöffneten Maus wo man ggf. die Baustein Bezeichnung des Microcontroller erkennen kann,


    Die gezeigte Schaltung wird wie anfangs geschrieben nur bedingt 10-20mA liefern, du musst zum Verständnis auch noch den Board Controller, ggf. auch noch die ganze parasitäre Kapazitäten berücksichtigen,

    Für die ungefähre Funktion, wobei man dann auch alle Parameter, C, R, im umschaltmoment wissen sollte Einschaltverhalten, Betriebsmodus des Microcontroller, ggf Zusätzliche Bufferung über Elkos, Typ ob 7805 ca 1A, bei 78S05 wären wir bei 2A, 78H05 bei 5A, oder nur der kleinste 78L05 100mA Ausgangstrom


    SCHEMATIC Diagramm


    Jeder Schaltvorgang erzeugt Lastspitzen, die gebuffert, kontinuierlich geladen werden, gespeichert in den beiden Elkos,

    Woraus dann eine variable Gleichspannung dem Festspannungsregler zugeführt wird, und dieser anhand seiner Regeleigenschaften 5V geniert, (nur für den Microcontroller vermutlich am unteren Wirkungsgrad Limit, die Dioden dienen entweder als Sperrdioden, 0,5 - 0,7 V so dass nur minimales Potenzial zurück geht,


    An den anderen Endpunkten haben wir dann 5-12V,



    Sollte auch so ähnlich auf deinem Steckboard funktionieren


    ÄNDERE MAL die Kapazitätwerte, oder die Belastung, dann kann evt. die Schaltung schon ins Straucheln kommen


    Die Dimenisierung der Bauteile Werte in der Serie wurden so gewählt das auch alle Betriebsarten gewährleistet sind,

  • Hallo Fanhistorie, vielen Dank dafür, wie immer, aber mir geht es nicht ein mal um die Details, wie Kriechströme und sowas. Mich interessiert erst mal grundsätzliche Frage, wie es im Groben funktioniert. Langsam wird mir klar, dass die obere Schaltung einfach nichts mit den Mäusen zu tun hat und ich habe Fotos von Mausplatinen aus dem Internet einfach nur falsch interpretiert. Die Dokumente auf die H.EXE verweist sind sehr interessant und zeigen, dass es wohl anders funktioniert haben muss. Auf jeden Fall kann man eine Maus nicht ohne weiteres vom RTS/DTR speisen. Die Schaltung muss viel komplizierter gewesen sein und zeigt noch mal tatsächlich, warum PS/2 eine viel bessere Alternative war :) Maus an der seriellen Schnittstelle ist offensichtlich ein Megahack von damals gewesen.... ich wünschte, ich hätte eine echte serielle Maus zum studieren der Schaltung.

  • Guten Abend

    scorp


    Wenn dich das Thema interessiert schaue ich nächste Wochen nach, ob ich eine serielle Maus entbehren kann für dein Studium,


    Da sich früher aber wohl untereinander alle Hersteller sich untereinander irgendwie verständigt haben, funktionierte es



    Ggf. Ist dies Xerox, oder später Apple oder Microsoft auch die Definition zu verdanken,


    Mal sehen was sich finden läßt,

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!