Physik

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Geschwindigkeitsbestimmung mit einer Doppellichtschranke

Die Firma Cornelsen Experimenta hatte in den 90er Jahren den CVK-fischertechnik Baukasten "Computing Messen-Steuern-Regeln" im Angebot. Er ist auch heute noch in Schulen zu finden. Hier ein Beispiel - transportiert in die heutige Windows Umgebung - :

Modellaufbau : Doppellichtschranke unter Nutzung des parallelen Interfaces

Die Cornelsen Versuchsbeschreibung dazu lautete :

Doppellichtschranke als Geschwindigkeitsmesser

Über die beiden Ausgänge M1 und M2 und die beiden Eingänge E1 und E2 werden zwei Lichstschranken angesteuert. Ein Gegenstand (etwa ein Spielzeugauto) durchfährt zuerst die Schranke 1 und dann die Schranke 2. Die Passierzeiten werden gemessen. Über die Gegenstandslänge können die Passiergeschwindigkeiten durch die Schranken und über den Lichtschrankenabstand die Geschwindgkeit zwischen den Schranken bestimmt werden.

Der Versuchsablauf sieht dann so aus :

Durchgeführt und ausgewertet wird der Versuch mithilfe des Programms CVKGeschwind :

Das Programm wurde neu mit Visual Basic 6 unter Nutzung der FishFa30.DLL erstellt.

Das kompilierte Programm und die Source ist in LichtProg.ZIP enthalten, die zusätzlich erforderliche DLL in vbFish30Setup.EXE.

Ich verdanke die Anregung zu dieser Seite Herrn H-J. Maier (Physiklehrer, Erweiterte Realschule).

VB2008 Console und ROBO TX Controller

Als Kontrast - 7 Jahre später - eine einfache Lösung, nur mit der Auswertung der Durchfahrtgeschwindigkeit, als VB2008 Console-Programm für den ROBO TX Controller :

Imports System.Environment
Imports
FishFaceTX

Module
GeschwindEins
  Const AbstandSchranken = 435
  Dim   tx As New  Const Lampen As  Const SchrankeL As  Const SchrankeR As  Sub Main()
    Dim StartZeit As     Dim Fahrzeit, Geschwindms, Geschwindkmh As Single
    tx.OpenController("COM4")
    tx.SetLamp(Lampen, Dir.On)
    tx.Pause(1234)
    Console.WriteLine("Messung kann gestartet werden")

    tx.WaitForLow(SchrankeL)
    StartZeit = TickCount
    tx.WaitForLow(SchrankeR)
    Fahrzeit = (TickCount - StartZeit) / 1000
    
    tx.CloseController()

    Console.WriteLine("Fahrstrecke : {0:000} mm", AbstandSchranken)
    Console.WriteLine("Fahrzeit : {0:0.00} sec", Fahrzeit)
    Geschwindms = AbstandSchranken / 1000 / Fahrzeit
    Console.WriteLine("Geschwindigkeit : {0:0.00} m/s", Geschwindms)
    Geschwindkmh = Geschwindms * 3.6
    Console.WriteLine("Geschwindigkeit : {0:0.00} kmh", Geschwindkmh)
    
    Console.ReadLine()
   End Sub
End
Module

Durchfahrt (mit einem Spielzeugauto) durch die SchrankeL und SchrankeR von links nach rechts, Messung der Zeit zwischen den Lichtschranken und Bestimmung der Geschwindigkeit.

- Imports System.Environment für die Zeitmessung mit TickCount in MilliSekunden.
- Imports FishFaceTX Zugriff auf die FishFaceTX.DLL. Zusätzlich unter My Projects | Verweise ein entsprechender Eintrag erforderlich.
- AbstandSchranken : Konstante mit der Streckenlänge zwischen den Lichtschranken in mm
- tx As New FishFace() : Instanzierung der Klasse FishFace und Zuordnung der verwendeten Ein- und Ausgänge
- tx.OpenController("COM4") : Herstellen einer Verbindung zum TX Controller, hier an COM4 (Com-Anschluß mit RoboTxTest.EXE ermitteln).
- tx.SetLamp und tx.Pause : Einschalten der Lampen für die Lichtschranken und "Anwärmen"
- tx.WaitForLow ... Fahrzeit : Warten auf Unterbrechung der linken und dann der rechten Lichtschranke, Bestimmung der Fahrzeit.
- tx.CloseController() : Beenden der Verbindung zum TX Controller
- Console.WriteLine : Formatierte Ausgabe der Messergebnisse (Abstandschranken [mm], Fahrzeit [sec], Geschwindigkeit [m/s] und [kmh]).
- Console.ReadLine() : Mit Return-Taste quittieren um DOS-Fenster zu schließen

Download

Sources enthalten in DrehzahlD

Stand : 21.01.2010