Lichtschranke am PC

Hallo,

ich hoffe ich bin hier richtig. Ich möchte an oder besser in meinem Tischfussball im Tor zewi Lichtschranken einbauen um damit dann die Ballgeschwindigkeit zu messen. Jetzt stehe ich vor dem Problem die Lichtschranke am PC anzuschliessen. Das Programm zur Auswertung bzw. Messung zu schreiben stellt mich nicht vor große Probleme. Eignet sich der Printerport dafür oder besser die serielle Schnittstelle? Bei USB wirds wohl langsam utopisch. Vielleicht hat ja jemand mal etwas ähnliches gemacht...

viele gruesse sven

Reply to
Sven Schoenfelder
Loading thread data ...

Der Parallelport oder auch der Gameport sind mit Sicherheit dafür die einfachsten zu verwendenden Schnittstellen.

cu, Manfred

Reply to
Manfred Schmitz

Manfred Schmitz schrieb:

Eher die COM! Zumindest wenn es interruptgesteuert sein soll. Bei der COM sind mehr Interrupts möglich.

Allerdings dürfte das eine sehr zeitkritische Sache werden! Und deshalb nicht unter Windows funktionieren.

Eher im DOS-Modus und einem reinen Polling irgendwelcher Signalleitungen. Dann allerdings geht auch der LPT-Port gut.

Gruss Wolfgang

Reply to
Wolfgang Gerber

Hallo Sven,

"Sven Schoenfelder" schrieb im Newsbeitrag = news:blsh59$5ss$01$ snipped-for-privacy@news.t-online.com...

Dann lass uns zuerst mal kopfrechnen :-). Der Ball fliegt mit maximal =

20m/s. Deine Lichtschranken sind maximal 10mm auseinander, sonst werden = Winkelfehler zu gross. Damit erreichen wir eine minimale Messzeit von = 10/20000 =3D 0,5ms.
0,5ms zu messen ist mit jeder der genannten Schnittstellen ein Problem. = Zumal Du ja um 10% Genauigkeit zu erhalten auf 50us messen musst. Also: = kleinen Prozessor, 2 Lichtschranken und das an die serielle = Schnittstelle.

Gruss, Kurt

--=20 MBTronik, Kurt Harders

formatting link

Reply to
Kurt Harders
[...]

Unfug! Am Parallelport kann man das problemlos, besonders wenn man so anschliesst dass jede Lichtschranke an !ACK einen interrupt ausluest und z.B. an !BUSY angezeigt wird, welche der Beiden nun aktiv war. Dann kann man dich in der Interruptroutine die Zeit geben lassen (mit einer Mikrosekundenaufoesung...) und fertig. Aus einem kleinen Treiber fuer diesem Zweck (kernel 2.0...): static void lpirq_interrupt(int irq, void *dev_id, struct pt_regs *regs) { lpirq_data.read_data = inb(LPIRQ_BASE+1); do_gettimeofday(&lpirq_data.irqtime); lpirq_data.nof_missed_interrupts++; wake_up_interruptible(&lpirq_wait); }

Das hat eine genauigkeit von etwa 1us....

Reply to
Juergen Hannappel

"Kurt Harders" schrieb im Newsbeitrag news:bltp48$gcdbl$ snipped-for-privacy@ID-20141.news.uni-berlin.de... Hallo Sven,

"Sven Schoenfelder" schrieb im Newsbeitrag news:blsh59$5ss$01$ snipped-for-privacy@news.t-online.com...

20m/s. Deine Lichtschranken sind maximal 10mm auseinander, sonst werden

Woher weißt du das so ein Ball nicht schneller wird ? 20m/s sind gerade mal

72km/h ! Ich könnte mir vorstellen das so ein kleiner Ball ähnlich wie beim Golf viel schneller wird.

Zumal Du ja um 10% Genauigkeit zu erhalten auf 50us messen musst. Also:

Gruss, Kurt

Reply to
Jens Orf

Hallo Juergen,

"Juergen Hannappel" schrieb im = Newsbeitrag news: snipped-for-privacy@lisa2.physik.uni-bonn.de...

Stimmt. Ich wollte dem OP nur klarmachen, dass wir nicht von einer = Abfrage der Schnittstelle im gemuetlichen Basic-Takt sprechen :-). Mit = einem Treiber laesst sich sowas oft realisiseren, aber oft koennen die = Fragenden keine Treiber realisieren :-).

Gruss, Kurt

--=20 MBTronik, Kurt Harders

formatting link

Reply to
Kurt Harders

Juergen Hannappel schrieb:

Hallo,

aber nur wenn da die Bearbeitung anderer Interrupts wie Uhr, Platte und=20 Schnittstellen nicht dazwischen kommt. Diese anderen Interrupts kann man =

ja nicht einfach sperren w=E4hrend der Lichtschranken Interrupts. Also m=FCsste man daf=FCr sorgen das der Interrupt von den Lichtschranken= =20 mit der h=F6chsten Priorit=E4t bedient wird. Was aber immer noch nicht=20 verhindert das zwischen den Interrupts von beiden Lichtschranken=20 irgendein anderer Interrupt niedrigerer Priorit=E4t bearbeitet wird und=20 dann mal kurz in der Interruptroutine alle Interrupts gesperrt werden.

Bye

Reply to
Uwe Hercksen

Hatte vor das Programm in Pascal oder C zu schreiben, welches die Ergebnisse in einer DB ablegt. Als Programmierer stellt mich das nicht vor große Probleme. Wenn ich mir aber den Hardwareaufwand ansehe, scheint mir das ganze doch sehr sehr sehr schwierig. Vielleicht sollte ich doch mit einem einfachen Torzähler anfangen. Dann könnte ich auch auf einfache Lösungen von ELV zurückgreifen und das Ding unter DOS laufen lassen. Hatte ursprünglich vor einen kleinen PC in den Tisch zu bauen (Tisch lässt sich aufklappen) und dann ein paar Gimmicks zu realisieren (Ballgeschw., Torzähler, Timer etc.)

der Schnittstelle im >gemuetlichen Basic-Takt sprechen :-). Mit einem Treiber laesst sich sowas oft realisiseren, aber oft >koennen die Fragenden keine Treiber realisieren :-).

Reply to
Sven Schoenfelder

Hallo, Sven,

Du (viruz) meintest am 07.10.03:

So isses: 4020 oder 4040 oder 4060, der im Start-Stop-Betrieb läuft. Anschliessend hast Du alle Zeit der Welt, um den Zählerstand auszulesen.

Viele Grüße! Helmut

Reply to
Helmut Hullen

Hallo Sven,

"Sven Schoenfelder" schrieb im Newsbeitrag news:bluejn$59k$03$ snipped-for-privacy@news.t-online.com...

ursprünglich

aufklappen) und

Wenn Du programmieren kannst, dann mach das doch mit nem kleinen Atmel oder Pic und schieb das ueber die serielle zum Rechner.

Gruss, Kurt

Reply to
Kurt Harders

"Uwe Hercksen" schrieb im Newsbeitrag news: snipped-for-privacy@mew.uni-erlangen.de...

Klar kann man das!

Arne

Reply to
Arne Binder

(Kurt Harders) 07.10.03 in /de/sci/ing/elektrotechnik:

Pah! Du schliesst die einfach an den Dateneingang der Seriellen an! Sobald der Pegel wechselti (z.B. ein Startbit vom USART erkannt wird) rennt das Teil mit bis zu 1Mbaud(je nach Chip geht das, steht nur nicht immer auf dem Board drauf) und sampelt den Dateneingang typ. 4fach über. Das sollte wohl reichen... Ideal ist natürlich ein USART das die Wert automatisch nach rd. 9 bit Framess den Wert seinem Fifo ablegt und dann weiter sampelt bis dsa Fifo voll ist.

Verschiebt nur das Problem.

Reply to
Rainer Zocholl

(Sven Schoenfelder) 07.10.03 in /de/sci/ing/elektrotechnik:

Am einfachsten in Form zweier Microphone! je eines pro Tor. Du könntest dann eine Fourier-Analyse des Einschlags machen und vmtl. daraus die Geschwindigkeit bestimmen. Evtl. auch die die "Klacks" zwischen "Abschuss" und "Einschlag" ausmessen und so die Geschwindigkeit ermitteln, wenn Du den Abschusspunkt ermitteln kann (sind ja 2 Mics, 4..6 wäre besser (diagonale Schüsse).).

Das klingt sehr nach "Mini-ITX.org" ;-)

"Toooooooor"rufer, Laola-Simulation?

Reply to
Rainer Zocholl

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.