PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierung eines ParallelPorts



nulltalker
30.09.2005, 18:00
Hallo,
ich möchte prüfen, ob beim ParallelPort ein Signal ankommt. Das heißt ich will ein kleinen Schalter an den Parallel-Anschluss anschließen und wenn dieser gedrückt ist, soll der PC das als ein high-signal intepretieren. Eigentlich gar nicht so schwer, aber beim Thema Elektrotechnik tue ich mir immer schwer.

Kann mir vielleicht wer sagen, was ich dazu so für Bauteile, neben PP-Stecker und Schalter, brauche? Ein Bekannter meinte, ich würde auch noch einen Vorwiderstand benötigen.
Und noch was: Kann ich die Schnittstelle über eine 4,5 Batterie betreiben?

Ich freue mich über jede weitere Hilfe.

nulltalker

hellraiser
30.09.2005, 18:22
Hi,

guckst du dir an: Parallelport Pinbelegung (http://www.hardwarebook.net/connector/parallel/parallelpc.html)

Pin 18-25 verbindest du sicherheitshalber mal alle miteinander - habe schon mainboards gesehen die nur auf 18 und/oder 25 GND liegen hatten...

Pin 1, 14, 16 oder 17 kannst du als "HIGH"-Versorgung verwenden (irgendeiner von den Pins wird schon +5V führen, wenn nicht kannst du die pins ja per Programm einschalten).

Was du auf jeden Fall machen solltest: an jeden der Pins 2-9 erstmal nen ca 1K-Ohm Widerstand löten.

Wenn du Wechsler als Taster/schalter hast kannst du dein Ergebnis ganz einfach erreichen:
1) PP-Pin #1-8 -> jeweils über besagte 1K-Widerstände auf den Mittelpunkt des Tasters/Schalters (weiss nicht wie man das sonst nennen soll)
2) Pins für ON-Positionen der Schalter/Taster gemeinsam auf zB. PP Pin1 legen
3) Pins für OFF-Positionen der Schalter/Taster gemeinsam auf PP Pin18-25 legen

Die Widerstände sind zum Schutz des ParPorts, denn dieser ist beim einschalten des Rechners imho auf "Ausgang" gestellt (je nach Schaltstellung der Taster gäbe es sonst nen Kurzschluss wenn du die Widerstände vergisst).
Den musst du im bios bidirektional einstellen (EPP / ECP) und per Programm die 8 Datenpins auf "Eingang" umstellen.

Hoffe das hilft dir weiter

elmar
30.09.2005, 21:05
Hi,

bei vielen Parports kannst Du auch einfach nur einen Taster nehmen, die Eingangspins ziehen sich selber auf HIGH. Das machen die deshalb, damit der PC bei nicht angeschlossenem Drucker denkt, der ist besetzt, hat kein Papier usw.

Die ACK Leitung ist invertiert, ein nicht angeschlossener Drucker (Aus HIGH wird LOW) meldet dann nicht, dass er was evrstanden hat.

Also kannst Du da einfach einen Taster zwischen Pin 10 (/ACK) und Masse löten.
Aber hier vorsicht, dass Du auch wirklich Pin 10 erwischst und nicht eine der Ausgangsleitungen. Der Parport ist zwar normalerweise sehr resistent, aber man kann nie wissen!

Drückst Du den Taster, so wird der Pin auf LOW gezogen und eine 1 erscheint an der Stelle /ACK im Druckerportregister.

Gruß
Elmar

nulltalker
02.10.2005, 14:47
Hi,
also vielen Dank schon mal für die ausführlichen Antworten. Hat mir sehr geholfen. Habe ich das richtig verstanden, dass ich keine externe spannungsversorgung brauche (wie z.b. 4,5 Batterie) um die Schnittstelle zu versorgen, weil die +5V von einem der Pins (1,14,16,17) kommen kann?

elmar
02.10.2005, 15:03
Hi,


genau. Dongles, die auf den parport gesteckt werden funktionieren ja auch ohne alles. Die versorgungsspannung wird da von den Datenleitungen abgegriffen. Diese sind zwar nicht besonders belastbar, aber für einen kleinen GAL oder µC im Dongle langt das. Ebenso, wenn Du nur ein paar Taster abfragen möchtest. Einfach die Datenleitungen per Dioden abgreifen und per Software auf '1' schalten, dann hast Du eine versorgungsspannung.

Brauchst Du hingegen mehr Saft, so kannst Du irgend eine andere Schnittstelle anzapfen. Am besten eignet sich USB, da das Strombegrenzt ist. Einfach einen Stecker irgendwo abschneiden (Alte Maus) und da die +5V für Dein Parport Projekt abgreifen.

Auf der Druckerschnittstelle gibt es einen Pin, der laut pinbelegung +5V führt. Aber leider nicht von der PC Seite aus, sondern ausschließlich vom Drucker aus. Das hat man eingeführt, um Interfaces am Drucker anschließen zu können, die keine eigene Stromversorgung brauchen. So kann man einen Drucker mit Centronics Schnittstelle mit einem Steckmodul RS232 tauglich machen. Also für Projekte am PC unbrauchbar, da nicht belegt.

Für Deinen einfachen Taster kannst Du aber ruhig auf eine Stromversorgung völlig verzichten. Einfach einen Taster zwischen Masse und Eingangsleitung schalten. Die Eingangsleitungen ziehen sich selber auf HIGH, wenn die offen sind, also der Taster nicht gedrückt wurde.
Für ein Bastelprojekt völlig ausreichend, für komerzielle Zwecke solltest Du aber schon einen Pullup einbauen, da nicht wirklich jeder Druckerporteingang sich auf HIGh zieht. Exotische Parports tun das nämlich nicht unbedingt.
Also ausprobieren, in 99% aller Fälle wird das zuverlässig funktionieren. Solange Du das nicht verkaufen willst, kannst Du prima damit leben.

Gruß
Elmar

elmar
02.10.2005, 15:11
Hi,


noch ein Tip:

Moderne Betriebssysteme erlauben den Anschluß von mehreren Tastaturen und Mäusen. Adapter PS/2 auf USB kosten deutlich unter 10 Euro und man kann damit eine zweittastatur bequem anschließen.

Man nehme eine alte Tastatur und schlachte diese. An dem Tastaturcontroller hängt eine Folie, die eine Matrix bildet. Statt der Folie kannst Du da auch Taster anschließen, der Controller glaubt dann, man hätte normal eine Taste gedrückt. Bei sog. Multimediatastaturen sind da zusatztasten, die einen ganz eigenen Scanncode haben, so dass die der normalen Tastatur nicht in die Quere kommt. Benutzt man eine normale Tastatur, so kann man Taster mit zwei Kontakten verwenden, der zweite Kontakt drückt dann z.B. die Strg-Taste.

Auf diese Weise kann man die Tastendrücke bequem abfragen, allerdings kann man nicht beliebig viele Taster gleichzeitig drücken, immer nur 3 pro Tastaturmatrixspalte werden erkannt, die meisten Tastaturcontroller geben nach einer bestimmten Anzahl an Tasten gleichzeitig auf.

Gruß
Elmar