Hallo, ist es möglich mit der SerialPort-Klasse von C# zu erkennen, ob ein Widerstand (1 Ohm oder 0 Ohm) am seriellen Ausgang vorliegt? Mit der Spannung funktioniert es. Vielen Dank Gallus
Gallus schrieb: > ist es möglich mit der SerialPort-Klasse von C# zu erkennen, ob ein > Widerstand (1 Ohm oder 0 Ohm) am seriellen Ausgang vorliegt? es ist mit gar keiner Programmiersprache mögliche, weil die Hardware das nicht ermitteln kann. > Mit der Spannung funktioniert es. was funktioniert mit Spannung?
Hallo, vielen Dank für die schnelle Antwort. Mit einem TTL-232RUSB to TTL SerialConverter Kabel (http://elmicro.com/files/ftdi/ds_ttl232r_v102.pdf) kann ich mit CTSHolding erkennen, ob eine Spannung am Kabel anliegt oder nicht. Das Gleiche möchte ich nun auch mit dem Widerstand können. Ich denke Hardwareseitig sollte es funktionieren, da Kopierer auf diese Weise gesperrt und entsperrt werden können.
Gallus schrieb: > CTS ist ja auch ein Eingang damit ist klar das man dort eine Spannung erkennen kannt. du willst aber am Ausgang Prüfen ob ein Widerstand vorhanden ist, der ausgang hat aber keine rückmeldung über den Strom der fließt.
Ich möchte am Eingang prüfen ob ein Widerstand vorliegt. Zur Verständlichkeit: Ein externes Gerät gibt Impulse in Form von 0 oder 1 Ohm an das TTL-232RUSB-Kabel. Am PC möchte ich erkennen, wann 0 Ohm oder 1 Ohm Widerstand vorhanden ist.
Der PC reagiert nur auf die Spannung! Der Strom ist hier unwichtig, solange er nicht zu klein ist. Das funktioniert nur mit einem Spannungsteiler.
Gallus schrieb: > Ein externes Gerät gibt Impulse in Form von 0 oder 1 Ohm an das > TTL-232RUSB-Kabel. Am PC möchte ich erkennen, wann 0 Ohm oder 1 Ohm > Widerstand vorhanden ist. dann sag das doch. Bist du sicher das du 0 Ohm und 1 Ohm meinst? Wenn ja wird das nicht ohne zustätzliche Bauteile gehen, weil man sonst viel zu viel Strom braucht. Kann es nicht 1 Ohm und undentlich sein?
Zusätzliche Bauteile sind kein Problem. Welche? Das Messgerät zeigt 0.00 und 1. an. Ist es damit 0 und unendlich - wegen dem Punkt nach der 1.
dann musst du den Pull-UP Widerstand wie in dem PDF verwenden. Damit ist der eingang immer auf +5V. dann kannst du den Eingang mit deinem Gerät verbinden, wenn er jetzt den eingang mit masse verbindet dann hast du 0V am Eingang. Aber ein kurzer Blick in die Doku von .net Serial zeigt das du damit nicht direkt den eingang abfragen kannst. Es gibt er c# klassen für den FTDI chip, damit müsste es gehen.
Gallus schrieb: > Das Messgerät zeigt 0.00 und 1. an. Ist es damit 0 und unendlich - wegen > dem Punkt nach der 1. Vergiss den Widerstand. Dein PC kann das nicht.
Samuel K. schrieb: > Vergiss den Widerstand. Dein PC kann das nicht. warum sollte ein PC das nicht können?
Peter II schrieb: > warum sollte ein PC das nicht können? Sein Messgerät kann Widerstände messen, aber sein PC kann das nicht. Er reagiert auf Signale zwischen -12 und 12V irgendwo liegt dann die Grenze (zw. 0 und 5V).
Ich denke es funktioniert. 0 Ohm und unendlich Ohm funktioniert dann wohl wie ein Relais. Wie Peter schon geschrieben hat, nutze ich 5V Groundspannung und das braun CTS-Kabel. 0 Volt bei unendlich Ohm und 5 Volt bei 0 Ohm..oder so.. Vielen Dank..Ich hätte eigentlich selbst drauf kommen können.
Gallus schrieb: > Zur Verständlichkeit: > Ein externes Gerät gibt Impulse in Form von 0 oder 1 Ohm an das > TTL-232RUSB-Kabel. Am PC möchte ich erkennen, wann 0 Ohm oder 1 Ohm > Widerstand vorhanden ist. Ohmsche Impulse ... nie gehört. Vermutlich meinst Du logische Impulse oder Pegel. Die werden gerne mit 0 und 1 bezeichnet. Ein PC kann keine Widerstände messen, schon gar nicht am seriellen Port. Die Logikpegel jedoch kannst Du abfragen.
Gallus schrieb: > 0 Ohm und unendlich Ohm funktioniert dann > wohl wie ein Relais. Die Spannung wird in keinem Fall geregelt. Ich weiß nicht wie empfindlich der PC ist. Aber 1MOhm könnte er noch erkennen: I = U/R = 5/1e6 = 5uA Man könnte den Strom so stark begrenzen, dass der PC das Signal nicht mehr erkennt. Die Beste lösung ist das aber nicht.
Gallus schrieb: > Zur Verständlichkeit: > > Ein externes Gerät gibt Impulse in Form von 0 oder 1 Ohm an das Das ist ja nun völliger Quatsch. Mit einem Ohmmeter kann man nicht an einem eingeschalteten Geät messen. Der Ausgang von deinem Gerät wird wahrscheinlich ein Open-Collector sein. mfg.
Sven H. schrieb: > Der konnte Widerstände messen... Unsinn. Das einzige, was man messen kann, ist Spannung. mfg.
Thomas Eckmann schrieb: > Sven H. schrieb: >> Der konnte Widerstände messen... > Unsinn. Das einzige, was man messen kann, ist Spannung. auch falsch, genaugenommen hat er zeit gemessen.
@Gallus Aber Du kannst natürlich auch einen Widerstand ausmessen. Zwar nur mit 1Bit Auflösung. Aber sollte reichen. Zum Beispiel, indem Du einen Ausgang und einen Eingang (RTS & CTS oder TXD und RXD) über den besagten Widerstand miteinander verbindest. Die Innenwiderstände liegen bei ca 3kOhm und die Schaltschwellen bei wenigen Volt. Also sollte bei ca. 0 .. 10k ein Signal wieder zurückgelesen werden. Ab 10k dann nicht mehr. So würde das in Software aussehen:
1 | setRTS(0); |
2 | int a = getCTS(); |
3 | setRTS(1); |
4 | int b = getCTS(); |
5 | |
6 | if (a==0 && b==1) { |
7 | machwas(); |
8 | |
9 | }
|
hvbjt schrieb: > Strom auch. Interessant. Und wie geht das? Peter II schrieb: > auch falsch, genaugenommen hat er zeit gemessen. In Verbindung mit einem Komparator, der bei Erreichen einer bestimmten Spannung die "Uhr" anhält. mfg.
Thomas Eckmann schrieb: > In Verbindung mit einem Komparator, der bei Erreichen einer bestimmten > Spannung die "Uhr" anhält. soweit ich mir erinner kann, wurde das ganze in software gemacht. Es wurde ein Bit auf 0 und dann wieder auf 1 gesetzt, dann wurde einfach in einer Schleife gewartet bis ein anders Bit auf 1 geht. Die Hardware bestand nur aus dem Widerstand im Joystick, einem Kondensator und einen Schmitt-Trigger.
Peter II schrieb: > aus dem Widerstand im Joystick, einem Kondensator und einen > Schmitt-Trigger. Über den Widerstand wird der Kondensator aufgeladen und der Schmitt-Trigger schaltet bei Erreichen der Schwellspannung durch. mfg.
>> Strom auch. >Interessant. Und wie geht das? Hier die typische Eingangsbeschaltung eines RS232 Receivers: http://www.farnell.com/datasheets/1361599.pdf Bipolartransistor in Emitterschaltung. Der Basisstrom wird gemessen und verstärkt und in einer späteren Stufe an einem Widerstand dann in eine Spannung gewandelt.
hvbjt schrieb: > Der Basisstrom wird gemessen Seit wann kann ein Transistor Strom messen? Seit wann kann ein Transistor überhaupt etwas messen? mfg.
ist doch scheiss egal. dann ersetze halt "messen" durch "fühlen" oder "erahnen" oder "Kasperle, den den Strom abließt und am Kollektor schraubt". Jedenfalls hat Gallus eine ganz normale Frage gestellt und hier wird wieder mit aller Gewalt versucht vom Thema abzulenken, weil keiner helfen kann oder will.
hvbjt schrieb: > ist doch scheiss egal. Nun werd' mal nicht ausfallend, weil du hier mit deinem Viertelwissen nicht mehr weiter kommst. Die gestellte Frage habe ich ihm schon vor vier Tagen beantwortet: Thomas Eckmann schrieb: > Der Ausgang von deinem Gerät wird wahrscheinlich ein Open-Collector > sein. mfg.
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.