[Help] externe Schaltung via USB steuern

OP #4186691
Lesenswert?

Hallo zusammen,

Umgebung:

- Zwei PCs ( PC1 und PC2)
- USB-Switch mit externem Schalter zum wechseln der Geräte
- USB-to-RS232 Adapter + NPN + Relais


Anforderung:

- Betätigen des Schalters vom USB-Switch mittels Software über USB.
- Die jeweilige USB-Steuerung wird mit am USB-Switch umgeschalten.


Status:

Die derzeit verwendete Schaltung besteht aus einem USB-to-RS232 Adapters 
der über die DTR Leitung einen NPN-Transistor ansteuert welcher dann das 
Relais schaltet und dieses Betätigt dann den externen Schalter des 
USB-Switches.


Problem:

Diese Lösung funktioniert im Grunde auch gut, unter Linux. Unter Windows 
7 x64 wird beim Zuschalten des Adapters während der Erkennung des 
Gerätes die DTR-Leitung getriggert wodurch das Relais erstmals schaltet 
und alles wieder zum ersten System zurückschaltet. Unter Linux passiert 
das wie gesagt nicht.


Nun die Frage lässt sich dieses Verhalten im Windows erklären / 
abstellen?


-----

Plan B:

Zwei Adapter die beide das gleiche Relais schalten um die initiale 
Ansteuerung beim Erkennen zu unterbinden. => nicht bevorzugt.
Evtl. hat ja aber jemand eine Idee wie ich einen einfachen Adapter bauen 
kann der lediglich diese Funktion erfüllen muss.
Da 15€+ für einen USB-to-RS232 einfach zu teuer sind um ein Relais zu 
schalten, zumal ich zwei davon bräuchte (siehe Problem).


Plan C:

Jemand hat eine einfachere Idee wie man diese Anforderung lösen könnte.



Vielen Dank, John.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #4186728
Lesenswert?

John N. schrieb:
> Nun die Frage lässt sich dieses Verhalten im Windows erklären
Anderer Treiber, anderer Programmierer...

> abstellen?
Mehr Intelligenz: der PC sendet ein RS232-Kommando, ein uC wertet es aus 
und schaltet das Relais.

> Unter Windows 7 x64 wird beim Zuschalten des Adapters während der
> Erkennung des Gerätes die DTR-Leitung getriggert
Wann ist das genau? Beim Systemstart?
Noch beim Booten oder später, wenn Windows an den Treibern herumwerkelt?

> besteht aus einem USB-to-RS232 Adapters
Dem "einen"?
Oder anders: welcher Hersteller (FTDI, Prolific...)?
OP #4186736
Lesenswert?

Hallo Lothar,

>> Unter Windows 7 x64 wird beim Zuschalten des Adapters während der
>> Erkennung des Gerätes die DTR-Leitung getriggert
> Wann ist das genau? Beim Systemstart?
> Noch beim Booten oder später, wenn Windows an den Treibern herumwerkelt?

Das System läuft bereits und das Phänomen tritt beim Erkennen des 
Gerätes auf. Sowie ich den Adapter anstecke, wird die DTR kurz 
geschalten und es fliesen 6,xx Volt.

>> besteht aus einem USB-to-RS232 Adapters
> Dem "einen"?
> Oder anders: welcher Hersteller (FTDI, Prolific...)?

Habe es mit einem PL2303 sowie mit einem FT232 versucht. Beide zeigen 
das selbe Verhalten.
OP #4186764
Lesenswert?

Joachim B. schrieb:
> John N. schrieb:
>> Das System läuft bereits und das Phänomen tritt beim Erkennen des
>> Gerätes auf. Sowie ich den Adapter anstecke, wird die DTR kurz
>> geschalten und es fliesen 6,xx Volt.
>
> kann man nicht auf RTS ausweichen?

Habe es eben auf RTS versucht, mit dem selben Ergebnis.
Nachvollziehbar ist dies einfach, indem man folgendes tut:

- Messleitung an GND und RTS(9-pol SUB-D Pin7) od. DTR(9-pol SUB-D Pin4)
- USB-to-RS232 Adapter im Device-Manager deaktivieren

-> Beim erneuten Aktivieren des Adapters im Device-Manager (was einem 
erstmaligem Einstecken entspricht) sieht man die Spannung am jeweilig 
gewähltem Pin von -6Volt auf +6Volt und zurück springen
#4186777
Lesenswert?

John N. schrieb:
> Habe es eben auf RTS versucht, mit dem selben Ergebnis.
> Nachvollziehbar ist dies einfach, indem man folgendes tut:
>
> - Messleitung an GND und RTS(9-pol SUB-D Pin7) od. DTR(9-pol SUB-D Pin4)
> - USB-to-RS232 Adapter im Device-Manager deaktivieren
>
> -> Beim erneuten Aktivieren des Adapters im Device-Manager (was einem
> erstmaligem Einstecken entspricht) sieht man die Spannung am jeweilig
> gewähltem Pin von -6Volt auf +6Volt und zurück springen

ja OK ABER

Das kurze Toggeln kann ich ja austricksen mit einem Resetcontroller oder 
retrigerbaren Monoflop, erst wenn der Zustand statisch wird und bleibt 
wird umgeschaltet.

Ich hoffe das geht so, es ist zu warm hier, Gehirn schmilzt schon.

Mal überlegen, nix dran, ein PC soll an sein?
Es wird umgeschaltet der andere soll angehen, aber da beim Stecken oder 
hochfahren getoggelt wird muss das ignoriert werden, d.h. erst wenn sich 
der Zustand dauerhaft über 1s möglicherweise ändert kann umgeschaltet 
werden.

Oder wie hier schon gesagt wurde, kleiner Tiny der auf serielles 
Kommando umschaltet.

Der braucht u.U. so wenig Saft das er aus der RS232 gespeist werden 
kann, kleine Diodenmatrix an alle Leitungen diese nach + und - aufteilen 
und einen kleinen 7805 TO92 zur Versorgung des Tinys
OP #4186787
Lesenswert?

Joachim B. schrieb:

> Oder wie hier schon gesagt wurde, kleiner Tiny der auf serielles
> Kommando umschaltet.
>
> Der braucht u.U. so wenig Saft das er aus der RS232 gespeist werden
> kann, kleine Diodenmatrix an alle Leitungen diese nach + und - aufteilen
> und einen kleinen 7805 TO92 zur Versorgung des Tinys

Tiny? hier bereits erwähnt?

Ich bin wie gesagt für alle Vorschläge offen. Das Ziel ist hier der 
Fokus - Schalten via USB und das so einfach wie möglich.
Moderator (Firma: Titel) Persönliche Seite #4186817
Lesenswert?

John N. schrieb:
> Sowie ich den Adapter anstecke, wird die DTR kurz geschalten und es
> fliesen 6,xx Volt.
Na gut, die Volt fließen nicht, sie liegen an. Aber halb so schlimm: 
nimm ein RC-Glied, dann machen kurze Impulse nichts aus...

John N. schrieb:
> sieht man die Spannung am jeweilig gewähltem Pin von -6Volt auf +6Volt
> und zurück springen
Wie lange wird der "falsche" Zustand eingenommen?

Stefan U. schrieb:
> Probier mal einen Kondensator (z.B. 10µF) parallel zu D2.
Ich würde aber auch noch einen 100kOhm Widerstand von B nach E schalten. 
Zudem scheinen mir die 100k Basiswiderstand recht hochohmig. Ich hätte 
da bestenfalls 10k angesetzt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren