Autor |
24V Signal einlesen am PC ueber Parallel Port oder USB |
|
|
|
|
BID = 177401
tysonie79 Gerade angekommen
Beiträge: 5 Wohnort: New Jersey, USA
|
|
Hallo Leute,
ich brauche eine Moeglichkeit ein 24V Signal aus einem unserer Maschinen einzulesen um damit einen Zaehler hochlaufen zu lassen. Mit jedem 24 V Impuls soll der Zaehler um eins hoch zaehlen. Das Programm wuerde in VB geschrieben werden und stellt kein Problem dar. Anders sieht es da mit der Hardware aus. Weiss jemand, wie ich es realisieren kann, meine 24V Signalquelle an den Computer anzuschliessen (am einfachsten???)? Waere wirklich super.
Habe eine kleine Loesung gefunden, ist mir aber zu "gross":
http://www.apogeekits.com/usb_interface.htm
Vielen Dank
Heiko |
|
BID = 177510
Dracos-Carazza Gesprächig
Beiträge: 185
|
|
nimm nen optokoppler mit nem vorwiderstanf auf der 24V seite. auf der anderen seite schließt du den LPT (druckerport) gegen masse. schon kannst du ihn zum einlesen nutzen.
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht ! |
|
BID = 177523
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Das dürfte in der Tat die beste Lösung sein.
Im englischen heißen die Optokoppler übrigens opto-isolator.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 177962
tysonie79 Gerade angekommen
Beiträge: 5 Wohnort: New Jersey, USA
|
Vielen Dank leute.
Habt ihr mir vielleicht noch nen schaltplan? Oder mehr infos wegen dem Parallelport anschluss??? Vielen Dank
seemh äht bizerbausa.com (automatisch editiert wegen spamgefahr)
|
BID = 178040
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Na, ein Waagenbauer sollte das ja eigentlich auch ohne Hilfestellung hinbekommen, aber wir wollen mal nicht so sein.
Du solltest uns wenigstens sagen, welchen Typ von Optokoppler du dir ausgesucht hast.
Außerdem klappt das natürlich nur, wenn nicht etwa ein Drucker am LPT hängt.
Andernfalls könnte man auch eine der COM-Schnittstellen dafür mißbrauchen. Dann könnte man den Anschluß auch ohne Optokoppler nur über zwei Widerstände realisieren, da die COM-Schnittstelle ohnehin gewohnt ist, mit Pegeln bis zu +15V und -15V umzugehen.
Wie willst du den Zähler programmieren ? Wenn du dafür auch Hilfe benötigst solltest du Angaben zum Betriebssystem machen.
Außerdem:
Ist das ein +24V Signal gegen Masse ? Wie belastbar ?
Oder etwa vielleicht Wechselspannung ?
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
[ Diese Nachricht wurde geändert von: perl am 24 Mär 2005 11:58 ]
|
BID = 178046
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Im Prinzip sowas, siehe unten.
- Falls das Eingangssignal auch negativ werden kann, Schutzdiode antiparallel zur LED.
- Falls die Flankensteilheit des Signals nicht ausreicht oder falls die 24V-Quelle nicht den LED-Strom liefern kann, Verstärker mit Schmitt-Trigger vor die LED. Mit eigener Spannungsversorgung.
Zwischen Elektrik und Druckeranschluss liegen meistens zwei, drei Meter Kabelweg; daher die Pufferung mit den 4049-Treibern.
Statt der "PE"-Leitung (Paper Empty) lassen sich auch die anderen eingehenden Signalleitungen des Statusports benutzen. Im Fall von "ACK" könnte die Einlesung auch per Interrupt geschehen.
Leitung "PE" liegt auf Bit 5 im Statusport-Register; der Statusport selbst liegt auf Adresse(Basisport)+1, also 0x379 oder 0x279. Auf Assemblerebene also Einlesen z.B. mit
Code : |
mov dx,379h
in al,dx
and al,20h
jz is_low
is_high:
...
is_low:
...
|
|
Leitung "BUSY" ist invertiert im Vergleich zu den anderen.
D.
|
BID = 178064
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Falls das Eingangssignal auch negativ werden kann, Schutzdiode antiparallel zur LED. |
Oder die LED eines zweiten Optokopplers antiparallel schalten, die Ausgangstransistoren parallel.
Dann ist die Polarität des Eingangssignals egal und man kann sogar Wechselspannung verwenden.
Es geht natürlich auch mit einem Brückengleichrichte vor dem OK, aber manchmal hat man dafür nicht genug Spannung.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 178067
Dracos-Carazza Gesprächig
Beiträge: 185
|
zum einlesen wäre vieleicht auch dieser thread recht hilfreich, falls du das daten register nimmst. aber normal sollte es auch über die eingänge ackn., status...usw gehen
greetz Carazza
_________________
Es ist nicht deine Schuld, dass die Welt ist wie sie ist, es ist nur deine Schuld wenn sie so bleibt !
Wer seinen Trieb verleugnet, verleugnet das was ihm zum Menschen macht !
|
BID = 178107
tysonie79 Gerade angekommen
Beiträge: 5 Wohnort: New Jersey, USA
|
Vielen Dank an alle erstmal.
@perl: Scheint, dass du unsere Firma kennst
Also, folgendes nochmals als mehr Details:
Das Signal ist normal 0V oder offen und bei aktivem Signal geht es auf 24V (gemessen gegen Masse). Belastet kann es werden bis etwa 100mA.
Ich denke nicht, dass ich einen A/D Wandler (Schmitt-Trigger) brauche, da das Signal ziemlich sauber kommt.
Was den Optokoppler anbelangt: Habe ich hier mal einen zur auswahl: SFH610A. Ansonsten koennte ich evtl einen 4N28 bekommen (Schwer zu kriegen hier) oder einen MOC3010 Optocoupler von Radioshack (link zum Datasheet: http://support.radioshack.com/support_supplies/doc66/66249.pdf )
Programmiert werden soll es in VB - da das fuer mich am einfachsten ist. Also hier noch die Anleitung was ich machen will:
Unsere Maschine etikettiert Packungen im Durchlauf. Ich will ein programm auf dem PC schreiben, dass mir die Durchsatzgeschwindigkeit ausrechnet. Dazu verwende ich den Packungstrigger unserer Maschine um auf dem PC eine Realtime zu starten solange bis man auf dem PC "Stop" drueckt. Dann geht das Programm hin und berechnet den Durchsatz aus den Impulsen (Triggern) und der Zeit, die abgelaufen ist.
Vielen lieben Dank nochmals...
Heiko
PS: Anbei noch ein Schaltbild des Ausganges den ich von meiner Maschine verwenden will. Ich will aber nicht die Standard-Bruecken aendern, d.h. ich muss mit den 24V von meiner Maschine arbeiten - keine ext. Spannung.
|
BID = 178108
tysonie79 Gerade angekommen
Beiträge: 5 Wohnort: New Jersey, USA
|
Sorry, das bild war schlecht zu erkennen. hier nochmals:
|
BID = 178145
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Nimm den SFH, das ist vermutlich auch der, der auch in deiner Maschine steckt.
Der MOC ist ungeeignet, denn das ist ein Phototriac.
Zwar verleugnet die Firma Saumselig und Habgierig mittlerweile ihre Kinder, sodaß man das Datenblatt wohl nur noch für teures Geld von asiatischen Raubkopierern bekommt, aber wozu hat man alte CDs.
Die LED betreibst du über 2,2kOhm von deinen 24V (Plus an 2),
der Emitter des Ausgangstransistors (3) kommt an einen der zahlreichen Massepins des LPT,
und der Kollektor (4) an den betreffenden Portpin.
Das sollte reichen.
Die Anordnung invertiert, dh. wenn die 24V zugegen sind, liest du eine 0.
Die Ein- und Aus-zeiten des Signals sollten nicht unter 10ms liegen, und das Verbindungskabel sollte dabei nicht länger sein als etwa 3m, sonst muß man sich etwas wegen der Kabelkapazität einfallen lassen.
Zitat :
| Ich denke nicht, dass ich einen A/D Wandler (Schmitt-Trigger) brauche, da das Signal ziemlich sauber kommt. |
Brauchst du auch nicht, die PC-Schnittstellen haben das eingebaut.
Wenn du den LPT benutzt, solltest du ihn im Setup auf SPP stellen. Mit den ECP und EPP Einstellungen soll es beim Einlesen Probleme gegeben haben.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 178189
tysonie79 Gerade angekommen
Beiträge: 5 Wohnort: New Jersey, USA
|
Vielen Dank fuer deine schnelle Antwort, Perl. Ich glaube, dass ich aber Pin 1 als 24V anlegen muss und Pin 2 auf meinen Ausgangs GND (das Datenblatt von dir zeigt den 611 welcher genau anders rum die Diode hat.
Somit duerfte das kein problem sein. Mein problem ist nun, ich habe auf der http://www.activevb.de/tutorials/tut_parallel/parallel.html
Seite eine anleitung zur programmierung gefunden. Leider bekomme ich irgendwie nicht die Signale zurueck ueber diese Programme. Ich habe die Inpout32.dll fuer winxp benutzt. aber leider bekomme ich das signal nicht rein. Vielleicht mach ich was falsch. Mein Laptop laesst sich leider nicht umstellen, somit ist der LPT auf default eingestellt....
Waere dir fuer weitere infos Dankbar...
Heiko
PS: Anbei die Schaltung, wie ich sie verstanden habe anhand deiner Anleitung. Kannst du dir das mal bitte ansehen? Vielen lieben Dank.
|
BID = 178316
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Was "default" beim Parallel Port heißt, weiß ja nun niemand ohne genauere Angaben. Es muss der SPP- bzw. SPM-Modus sein (Standard Parallel Port, Standard Printer Mode). ECP und EPP sind hier völlig ungeeignet.
Mach dir erst mal ein einfaches Programm, das den Inhalt des Statusregisters kontinuierlich darstellt. Wenn du dann per Drahtbrücke von GND her die Statusleitungen antippst, musst du die Änderungen sofort sehen können. Brauchbare Pullups werden wohl vorhanden sein.
D.
|
BID = 178475
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
@tysonie79: Deine Schaltung ist soweit ok.
Zitat :
| Ich glaube, dass ich aber Pin 1 als 24V anlegen muss und Pin 2 auf meinen Ausgangs GND (das Datenblatt von dir zeigt den 611 welcher genau anders rum die Diode hat. |
Du hast völlig Recht.
Die Belegung des 610 ist auch in der Zeichnung versteckt und ich hatte sie überlesen, obwohl ich sie gesucht hatte.
Es geht eben nichts über übersichtliche Datenblätter.
Zitat :
| Brauchbare Pullups werden wohl vorhanden sein. |
Gemäß Norm müssen sie das, denn die Leitungen werden laut Centronics Specs von Open-Kollector Ausgängen getrieben.
tysonie79 kann aber auch mal nachsehen: Am PE Eingang sollten mindestens 3,5V vorhanden sein (ich messe 4,3 V). Wenn die LED des Optokopplers arbeitet, muß das auf weniger als 1V zusammenbrechen.
Zitat :
| Leider bekomme ich irgendwie nicht die Signale zurueck ueber diese Programme |
Schau mal in der Systemsteuerung von Windows nach, ob der LPT überhaupt auf der angenommenen Adresse liegt. Meistens stimmt 378h, aber eben nicht immer.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 178512
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Zitat :
| Gemäß Norm müssen sie das, denn die Leitungen werden laut Centronics Specs von Open-Kollector Ausgängen getrieben. |
Hmm, ja. Aber ich habe sie zusammen mit den C's gegen Masse eher als Leitungsabschluss aufgefasst, denn dies ist ja die Empfängerseite. Also Frage: Soll der HIGH-Pegel auf den Statusleitungen erst durch Anschluss des Druckers an den PC hergestellt werden oder bereits im Drucker selber? Wobei das gewissermaßen eine theoretische Frage ist: Ein Drucker im Standalone-Betrieb ist ja ziemlich sinnfrei.
D.
|