TPS steuert Fischertechnik-Schiebetür        

von Stefan Hamm                  
              
Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS



https://youtu.be/HFAaAAEmw3Y

 

Die nachfolgende Schaltung basiert auf dem TPS-Modul aus dem Projekt „TPS steuert Fischertechnik-Karussell“ und kann mit dem unten stehenden Programm z.B. das Modell „Schiebetür“ aus dem Baukasten „Profi Electronics“ von Fischertechnik steuern. Die erweiterte TPS übernimmt dabei die Steuerungsaufgaben des electronics-Modul aus dem Baukasten.
Hinweis: Das Programm ist eine eigenständige Entwicklung, in Anlehnung an die Funktionalität des electronics-Moduls. Das Fischertechnik-Modell wird nur als Beispiel verwendet, um die Möglichkeiten des TPS-Moduls zu demonstrieren. Der Hardware-Aufbau und die Software des Fischertechnik-Moduls sind dem Autor unbekannt.

 

Allgemeine Funktionsweise TPS-Modul: siehe Projekt „TPS steuert Fischertechnik-Karussell

Allgemein Funktionsweise Schaltung/Modell

An den Eingängen ID1 (I1: Endschalter Tür geschlossen) und ID2 (I2: Endschalter Tür geöffnet) wird jeweils ein Taster als Schließer angeschlossen, ID3 wird mit dem Fototransistor I3 und ID4 mit dem Ausgang des Berührungsschalters (Anforderung zum Öffnen der Tür) verbunden, IA2 bleibt unbeschaltet. IA1 wird auf +9V gelegt, um das Potentiometer am analogen Eingang des TPS-Moduls nutzen zu können. Die Schiebeschalter DIP3 und DIP4 werden (nach dem Programmstart) in Stellung „ON“ gebracht. Am Ausgang M1 wird der Motor angeschlossen, am Ausgang M2 werden zwei parallel mit umgekehrter Polarität geschaltete LEDs, LED1 und LED2, für die Türampel angeschlossen. Die LED3 für die Lichtschranke wird direkt mit der 9V-Spannungsversorgung verbunden.

Sobald das Programm gestartet wird, wird die LED1 (rote Leuchtkappe) eingeschaltet und die Tür geschlossen. Berührt man die beiden Eingänge T1 und T2 des Berührungsschalters (ggf. Finger etwas anfeuchten) gleichzeitig mit einem Finger, öffnet die Tür, und in Endstellung wird die LED2 (grüne Leuchtkappe) eingeschaltet. Mit dem Potentiometer kann man die Verzögerungszeit bis zum automatischen Schließen der Tür im Bereich von 0,5 bis 8 s in 0,5 s-Inkrementen einstellen. Wird während des Schließens die Lichtschranke unterbrochen, öffnet die Tür wieder. Ggf. muss die Polarität am Motor umgekehrt werden.

 

Der nachfolgende Schaltplan zeigt den Anschluss der Sensoren und Aktoren an das TPS-Modul sowie die Stellung der DIP-Schalter nach Programmstart:




 

 

Hardware TPS-Modul: siehe Projekt „TPS steuert Fischertechnik-Karussell“

 

Hardware Berührungsschalter:

Statt den Berührungsschalter aus den einzelnen Bauteilen (zwei Transistoren, zwei Widerstände) wie im Fischertechnik-Baukasten vorgesehen aufzubauen, wurden alle Bauteile auf eine Platine gelötet, die in das Fischertechnik-Elektronikgehäuse passt. Die Verkabelung des Modells wird dadurch deutlich übersichtlicher. Das Elektronikgehäuse ist bei Fischertechnik für einen Transistor auf einer Platine vorgesehen. Da am Ausgang Out des Berührungsschalters ständig ein (+)-Signal anliegt, welches beim gleichzeitigen Berühren der Punkte T1 und T2 auf GND wechselt, muss die Funktion des Eingangs ID4 über seinen zugehörigen DIP-Schalter DIP4 umgekehrt werden.

Schaltplan und Platinenlayout (von oben, Leiterbahnen auf der Unterseite) des Berührungsschalters:






Für J1 und J2 wurden Bundhülsen (erhältlich bei z.B. santjohanser.de oder fischerfriendswoman.de) eingelötet, die Fischertechnik-Stecker aufnehmen können, an J3 wurde direkt ein zweiadriges Kabel gelötet.




 

Software: siehe nachfolgende Tabellen
Die im TPS-Mikrocontroller bereits programmierte Sprungtabelle (Adressen 00 bis 2F) mit sechs möglichen Programmen, die adressiert werden können, wurde auf drei Programme gekürzt. Dadurch wurde eine zusätzliche Programmseite gewonnen, der Programmcode kann bereits ab Adresse 10 hinterlegt werden:


Adresse

Befehl

Daten

Kommentar

00

6

4

A = Din

01

5

1

B = A

02

4

E

A = 14 “1110”

03

8

0

AdrHi = 0 (Seite 0)

04

C

3

Skip if A = B

05

9

8

Springe 08

06

8

4

AdrHi = 4 (Seite 4)

07

9

5

Springe 45 “Schiffschaukel ohne Blinker”

08

4

D

A = 13 “1101”

09

8

1

AdrHi = 1 (Seite 1)

0A

C

3

Skip if A = B

0B

9

0

Springe 10 “Basisprogramm”

0C

8

6

AdrHi = 6 (Seite 6)

0D

9

5

Springe 65 “Schiebetür”

0E

F

F

leer

0F

F

F

leer

 

Der Einfachheit halber beginnt das Programm für die Schiebetür ab Adresse 10 an der Position, die für das Basisprogramm (siehe Projekt „TPS steuert Fischertechnik-Karussell“) vorgesehen ist. Wer möchte, kann aber das Basisprogramm, das Programm „Schiffschaukel ohne Blinker“ und das Schiebetür-Programm gleichzeitig im Controller programmieren (sollte rechnerisch gerade passen, alle Adressen sind dann belegt, wurde nicht getestet). Für diesen Fall müssen beim Starten des TPS-Moduls oder nach einem Reset für die Auswahl des Schiebetür-Programms die DIP-Schalter wie nachfolgend gestellt werden:

 

Programm

DIP1

DIP2

DIP3

DIP4

DIP5

DIP6

Schiffschaukel

0

0

1

0

X

X

Hinweis: X: 0 oder 1 (ohne Einfluss)

 

Das Schiebetür-Programm ist soweit kommentiert, dass es nicht schwer fallen sollte, es nachzuvollziehen. Es kommt ohne Einzel-Bit-Verarbeitung aus.


 

Programm „Schiebetür“:

 

Adresse

Befehl

Daten

Kommentar

 

 

 

Programm Schiebetür als Basisprogramm

10

4

F

A = 15

11

5

9

PWM.1 = A

12

8

2

AdrHi = 2 (Seite 2)

13

C

8

Skip if Din.0 = 0

14

9

3

Springe 23

15

1

4

Port = 4 (0100) “rote LED an”

16

C

B

Skip if Din.3 = 0 “Warten auf Anforderung (Berührungsschalter)”

17

3

1

Springe -1

18

1

6

Port = 6 (0110) “rote LED an, Motor an - öffnen”

19

C

9

Skip if Din.1 = 0 “Warten auf Endschalter I2 geschlossen“

1A

3

1

Springe -1

1B

1

8

Port = 8 (1000) “grüne LED an, Motor aus”

1C

8

2

AdrHi = 2 (Seite 2)

1D

C

9

Skip if Din.1 = 0

1E

9

3

Springe 23

1F

6

9

A = ADC.1 “Poti einlesen”

20

5

2

C = A

21

2

8

Warte 500 ms “Inkrement Verzögerungszeit”

22

A

1

C-mal 21

23

1

5

Port = 5 (0101) “rote LED an, Motor an - schließen“

24

8

1

AdrHi = 1

25

C

4

Skip if Din.0 = 1 “Warten auf Endschalter I1 geschlossen“

26

9

2

Springe 12

27

C

A

Skip if Din.2 = 0 “Lichtschranke unterbrochen?”

28

3

3

Springe -3

29

9

8

Springe 18 “Tür wieder öffnen”

 

 

 



Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS