Zählwerk

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

 

Computing Experimental und Zählwerk

1974 kam der Zusatzkasten em6 : 
Zählwerk (30 242) ins fischertechnik Angebot. Das ist ein Relais dessen Anker bei jeder Betätigung (ein/aus) eine Zählscheibe um eine Position weiterrückt. Zählwerk aus hobby4 Band1Wenn man keins besitzt, kann man es naturlich auch selber bauen. Hier ein Bild aus "fischertechnik hobby : Experimente+Modelle" hobby 4 Band 1 (39 541).

Hier ein Einsatzbeispiel mit dem Original und Programmen in VBScript, VB6, Delphi4 und LLWin3.0 :

In der Bauanleitung zu Computing Experimental wird auf den Seiten 10/11 eine

Gabellichtschranke
Fork Light Barrier
Barrage photoeléctrique de transmission

beschrieben :

Computing Experimental : Gabellichtschranke

wenn man sie mit dem Zählwerk em6 (30 242) ausrüstet, kann das in etwa so aussehen :

Motor an M1, Lampe an M3 und das Zählwerk an M2. Als Photowiderstand wurde hier der alte, große eingesetzt : M3. Die gelbe Lampe ist parallel zum Zählwerk geschaltet. Das Scheibenrad wurde mit rotem Samt abgeklebt, nur ein Schlitz bleibt frei.

Dazu wurde ein Programm erstellt (in VBScript / FishFa30.DLL, auch in Delphi4 und LLWin), das über die Gabellichtschranke die Runden zählt, die das (abgeklebte) Scheibenrad so dreht. Pro Runde wird das Zählwerk um eins weitergeschaltet und die gelbe Lampe blinkt dazu, mehr nicht :

Option Explicit
Dim ft
Const ftiEin = 1, ftiAus = 0
Const mMotor = 1, mZahler = 2, mLampe = 3, ePhoto = 1

Set ft = CreateObject("FishFa30.FishFace")
ft.OpenInterface("COM1")
MsgBox "Modellbetrieb gestartet (Ende ESC)"

ft.SetMotor mLampe, ftiEin
ft.SetMotor mMotor, ftiEin
Do
  If ft.GetInput(ePhoto) Then ft.SetMotor mZahler, ftiEin _
  Else ft.SetMotor mZahler, ftiAus
Loop Until ft.Finish

ft.CloseInterface
MsgBox "Modellbetrieb beendet"

Was tut sich da :

  • CreateObject : Eine Instanz von der Klasse FishFace der FishFa30.DLL wird erstellt (FishFa30.DLL wird zusammen mit vbFish30Setup.EXE registriert).
  • Verbindung zum Interface herstellen, ggf. COM1 ändern!
  • Lampe für Lichtschranke an, Motor an
  • Do - Loop Schleife, Abbruch durch die ESC-Taste
  • Verbindung zum Interface schließen
  • MsgBox : Nachrichten an den Bediener, damit man auch etwas von der Sache mitbekommt (der Start erfolgt durch Klick auf die *.VBS-Datei).

Wenn man denn kein Zählwerk hat, keins bauen will und auch moderner eingerichtet ist, läßt man das Zählwerk einfachweg und blinkt dann nur noch :

Gabellichtschranke mit Blinker

Das Programm ist das gleiche, da das Scheibenrad hier nicht abgeklebt ist, werden aber keine Umdrehungen sondern Schlitze im Rad angezeigt.

Wenn man mehr vom Blinken haben will, kann man es verlängern :

statt 

 If ft.GetInput(ePhoto) Then ft.SetMotor mZahler, ftiEin _
 Else ft.SetMotor mZahler, ftiAus

heißt es dann

 If ft.GetInput(ePhoto) Then
   ft.SetMotor mZahler, ftiEin
   ft.Pause 1000
   ft.SetMotor mZahler, ftiAus
 End If

Wenn mans gern elegant hätte (und gleichzeitig die genaue Schlitzbreite lang gelb sehen möchte) geht das so :

 If ft.GetInput(ePhoto) Then
   ft.SetMotor mZahler, ftiEin
   ft.WaitForLow ePhoto
   ft.SetMotor mZahler, ftiAus
 End If

WaitForLow hält das Programm solange an, bis die Lichtschranke wieder unterbrochen ist.

Wenn man schon auf das Zählwerk verzichtet, kann man auch den Spieß umdrehen und das Scheibenrad per Programm (VBScript und Delphi4) steuern :

Option Explicit
Dim ft
Const ftiEin = 1, ftiAus = 0, ftiLinks = 1, ftiRechts = 2
Const mMotor = 1, mZahler = 2, mLampe = 3, ePhoto = 1

Set ft = CreateObject("FishFa30.FishFace")
ft.OpenInterface("COM1")
MsgBox "Modellbetrieb gestartet (Ende ESC)"

ft.SetMotor mLampe, ftiEin
Do
  ft.SetMotor mMotor, ftiLinks
  ft.SetMotor mZahler, ftiEin 
  ft.WaitForChange ePhoto, 6
  ft.SetMotor mMotor, ftiRechts
  ft.SetMotor mZahler, ftiAus
  ft.WaitForChange ePhoto, 12
Loop Until ft.Finish

ft.CloseInterface
MsgBox "Modellbetrieb beendet"

Was tut sich da :

  • Das meiste ist bekannt (s.o.), neu ist der Inhalt der Do-Schleife
  • Dem Motor wird nicht mehr vor der Schleife pauschal angestellt, sondern in der Schleife mal links- und mal rechtsrum. Dann wird mit WaitForChange auf 3 bzw. 6 Schlitze in dem Scheibenrad gewartet (WaitForChange zählt sowohl ein wie aus der Lichtschranke) und dann die Richtung gewechselt. Damits nicht zu langweilig ist, wird auch noch die Lampe, ggf. auch das Zählwerk, geschaltet.

Die oben vorgestellten VBS-Programme sind in zahler.zip zusammengefaßt. Enthalten sind Versionen für  VBScript, VB6, Delphi4 und LLWin. Zusätzlich ist vbFish30Setup.EXE bzw. delphiFish30Setup.EXE erforderlich. Eine installierte Version 20 tuts auch, in den Sources ist dann die 30 durch eine 20 zu ersetzen.


Wo hier schon soviel Verzicht geleistet wurde, noch eine Lösung ganz ohne Computer, aber sehr schönen Einstellmöglichkeiten : Die Elektronik-Bausteine aus den Jahren 1973 ... :

Zählwerk betrieben mit den Elektronik-Bausteinen der 70er

Von links :

  • Der dicker rote Trafo (die grauen mit Drehknopf gehen auch, aber mühsam) mit Anschluß von Gleichrichter, Motor und Lampe für Lichtschranke.

  • Grundbaustein mit Anschluß des Photowiderstandes (Drehknopf ca. 5) an E1 und 3, Verbinden von 7 - 9. Drehknopf ca. 6 bei Leuchten der Lampe auf dem Zähler für eine halbe Runde.

  • Monoflop mit Sp von A2(Grundbaustein) und  Zeit - kurz.

  • Relais mit E von Q(Monoflop) und Anschluß des Zählers an a3, b3, Strom von +/- des Bausteins an a1, b1.

Und jetzt noch eine verblüffend einfache Lösung mit dem Siemens LOGO! Steuerrelais :

Bei Verzicht auf den Hauptschalter (bei der Lösung mit den Elektronik-Bausteinen gibt es keinen) würden noch die Blöcke I1 und B01 samt Verbindungen entfallen. B02 ist eine Ausschaltverzögerung von 1 Sek., die die Lampe am Zähler nachleuchten läßt.