bieler11
Goto Top

Gerät an Seriellem Port anschliessen

Ich bin mit meinem Latein am Ende.
Bin leider kein Stromer, daher wohl auch die Probleme.

Ich habe hier ein Gerät welches ein Signal sendet. Ja=12V nein = 0V.. dies ist jedenfalls das was ich mit einem Messgerät messe.
Schliesse ich dieses Gerät nun an den Seriellen Port des PC's (Pin 5 + Pin 9) habe ich auf dem PC immer ein Signal, egal ob das Gerät 12V liefert oder nicht.
Ich kann mir dies einfach nicht erklähren. Ich hoffe hier hats Stromer unter euch die mir da helfen können.

Content-Key: 56804

Url: https://administrator.de/contentid/56804

Printed on: April 25, 2024 at 06:04 o'clock

Member: cykes
cykes Apr 17, 2007 at 06:44:34 (UTC)
Goto Top
Hi,

was macht dieses Gerät genau, bzw. was wird damit angesteuert?
Hast Du einen Schaltplan oder zumindest ein Foto von der Platine, worauf man die Bauteile
erkennen kann?

Also bei der Standard 9pol seriellen Schnittstelle ist Pin5 GND und Pin9 Ring Indicator (Eingang)
Bist Du Dir bei der Beschaltung sicher? Wenn ich die Funktion in Deiner Beschreibung richtig verstanden habe, soll doch am PC irgendwas passieren und dann die 12V eingeschaltet werden, oder?

Gruß

cykes
Member: aqui
aqui Apr 17, 2007 at 09:09:10 (UTC)
Goto Top
......habe ich auf dem PC immer ein Signal

Das ist doch auch völlig normal, oder ??? Dein Gerät sendet ja irgendeinen Zustand mit der Pegeländerung, der ja vermutlich von deinem PC über die serielle COM Schnittstelle ausgewertet werden soll. Deine Beschreibung ist hier mehr als diffus und unvollständig so das man sich leider das meiste denken muss....

Der 12 V Pegel liegt am Ring Indicator Pin der COM Schnittstelle an, was normalerweise dem PC signalisiert das das Modem klingelt, also ein Anruf reinkommt.
Aus dieser Natur siehst du ja unschwer das dieser Pin ein Signal Eingang !! ist. Also ist es doch vollkommen logisch das dort weiterhin messbar der Signalpegel anliegt oder ???

Was genau du mit deiner Fragestellung willst oder welches Problem du hast ist vollkommen unklar...
Member: bieler11
bieler11 Apr 17, 2007 at 10:38:26 (UTC)
Goto Top
Sorry, habs wahrscheinlich zu unklar erläutert.

Zu erklähren was dieses gerät macht wäre sinnlos, dann müsste ich weit ausholen.
Wichtig ist, dass ich am PC eigendlich auslesen muss ob das Gerät ein Signal sendet oder ob es kein Signal sendet. Aufgrund dieses zustandes muss ich im Programm darauf reagieren.

"Wenn ich die Funktion in Deiner Beschreibung richtig verstanden habe, soll doch am PC irgendwas passieren und dann die 12V eingeschaltet werden"

Genau umgekehrt. Wenn das Gerät 12V sendet sollte etwas in der Software passieren.

Platine oder Schaltplan hab ich nicht, das Gerät liefert einfach 12V oder es liefert keine 12V. Und diesen Zustand muss ich irgendwie über den Seriellen Port erfassen.
Member: bieler11
bieler11 Apr 17, 2007 at 11:55:52 (UTC)
Goto Top
Ich bin einwenig weiter gekommen.
Laut definition der Seriellen Schnittstelle ist eine Logische 1 alles zwischen +3Volt und +15Volt und eine Logische 0 -3Volt bis -15Volt. Signale zwischen -3 und +3 Volt bedeuten nichts.
Nun habe ich aber das Problem das dieses Gerät entweder +12Volt sendet, oder 0Volt sendet. Also keine -12Volt.
Heisst ich brauche irgend etwas elektrotechnisches was -12 Volt sendet wenn das Gerät keine +12 Volt sendet. Villeicht könnt ihr mir da weiterhelfen...
Member: cykes
cykes Apr 17, 2007 at 12:10:48 (UTC)
Goto Top
Hi,

ich glaub das hast Du genau falschrum verstanden, mal von Deinen Spannungswerten ausgehend:
eigentlich sind Signale von +12V logisch 0 und -12V waären dann logisch 1.
Du brauchst also zumindest einen Spannungsinverter.

Wenn ich nachher zu Hause bin, schaue ich mal in einem uralten Buch über RS232, vielleicht finde ich dort die Lösung Deines Problems.

Gruß

cykes
Member: bieler11
bieler11 Apr 17, 2007 at 12:14:49 (UTC)
Goto Top
Jo ob dies dann 0 oder 1 ist würd ich dann bei der programmierung der Software merken, das wäre dann zweitrangig.
Ein Spannungsinverter wandelt +12V in -12V um, ich müsste aber etwas haben was 0V in -12V umwandelt, oder "nicht +12V" in -12V.
Member: cykes
cykes Apr 17, 2007 at 12:21:18 (UTC)
Goto Top
Vom Gerät her kommen doch - so wie Du es beschrieben hast - +12V, das sollte doch logisch 1 sein,
also muss das als -12V gewandelt werden. Di 0V vom Gerät in +12V = logisch 0.
Oder hab ich das nu falschrum verstanden?
Ist halt bei der seriellen Schnittstelle etwas "merkwürdig", negative Spannung = 1 udn postive = 0
Member: bieler11
bieler11 Apr 17, 2007 at 12:25:43 (UTC)
Goto Top
Vom Gerät kommen +12V oder eben 0V. Ich muss dies lediglich in der Software unterscheiden können. Da ists mir Egal was 1 oder was 0 ist, wichtig ist dass ich eben sagen kann dies ist der eine und dies ist der andere Zustand.

+12Volt in -12Volt umzuwandeln sollte ja gehen, aber 0Volt in +12Volt hab ich keine Ahnung wie.
Member: aqui
aqui Apr 19, 2007 at 20:58:21 (UTC)
Goto Top
Was du welchem logischen pegel zuweist kannst du doch später per SW machen das ist doch nicht das Problem.
cykes hat Recht das die Com Schnittstelle die ja ein RS232 ist mit +12V (log.1) und -12V (log.0) arbeitet. Ein 0 Volt Pegel wird nicht immer sicher als logisch 0 erkannt, das ist oder kann ein Lotteriespiel werden. Deshalb nimmt man für solche Art der Pegelerfassung auch besser die Printerschnittstelle die mit den Steuerports für den Drucker ja auch bidirektional ist aber mit 0V und +5V Pegel arbeitet also eindeutig ist.

Ob die COM Schnittstelle das macht kannst du ja mit einem kleinen VBS Script sehen indem du sie zyklisch abfragst und mal mit einer 9V Batterie Masse oder eben +9V auf den RI Port gibst und dir den Zustand ausgeben lässt. Erkennt er es sicher ist gut. Wenn nicht drehst du die 9V Batterie mal um nimmst +9V an Masse und hälst den Massepol der Batterie an den RI Port. Dann hast du da -9V drauf und der Pegel sollte sicher umschalten.

Ein IC was solche asymetrischen Pegel in symetrische für die RS-232 wandelt ist überigens das MAX 232 vom Maxim
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1798
Member: bieler11
bieler11 Oct 12, 2007 at 08:55:18 (UTC)
Goto Top
Noch rasch zur entgültigen Lösung:

Der tipp mit dem MAX232 war genau der richtige. Die Schaltung besteht nun aus 2 Optokopplern, einem MAX232 mit den entspreichenden Kondensatoren ect. . Wer den Schaltplan möchte soll mich anschreiben.
Dieses Modul wird nun zwischen das Gerät welches 12V und 0V liefert gehängt, kriegt einen separaten 5V stromanschluss und hat einen Ausgang für den RS232 wo +/- 8-9V ausgang geliefert werden. Funktioniert einwandfrei...hab hat einges gebraucht bis das alles soweit war.

Ich danke euch für eure Hilfe face-smile