Präsentation herunterladen
Veröffentlicht von:Reto Heilig Geändert vor über 9 Jahren
1
Torsteuerung Marco Korrmann Dominik Sommer
2
Problemstellung Das manuelle Öffnen und Schließen eines Garagentors erfordert das Aussteigen aus dem Fahrzeug, welches oft als unbequem empfunden wird.
3
Funktionsübersicht ● Taster MA: Öffnen des Tores
● Taster MA: Öffnen des Tores ● Taster MS: Schließen des Tores ● Taster A : Öffnen und nach 10s Wartezeit automatisches Schließen ● Tastenfeld: Öffnen und nach 10s Wartezeit automatisches Schließen ● Ob das Tor "AUF" oder "ZU" ist wird durch zwei Endschalter abgefragt. ● Zum Schutz von Personen und anderen Objekten befindet sich im Torbereich eine Lichtschranke.
4
Blockschaltbild
5
Portbelegungsplan
6
Schaltplan
7
Struktogramm
8
;------------------------------------------------------------------------
; Interrupt-Vektoren org 002BH ; Interrupt Vektor Timer 2 clr TF2 ; Interrupt erkannt / TF2 Flag zurücksetzen call EEE ; Aufruf des Unterprogramms EEE reti ; Rücksprung aus Interrupt org 004BH ; Interrupt 2 = Lichtschranke call Lichtschranke ; Aufruf des Unterprogramms Lichtschranke org 01BH ; Timer 1 Overflow Interrupt call Timer0Schleife ; Sprung zur ISR Timer0Schleife
9
;------------------------------------------------------------------------
; Initialisierungsteil für On-Chip Peripherie mov IEN0,# B ; Interrupt Freigabe Register: ; EAL = Allgemeine Interrupt Freigabe ; ET2 = Überlauf Timer 2 freigeben ; ET1 = Freigabe Timer 1 Overflow mov T2CON,# b ; Timer 2 Einstellung: Modus 0->Reload bei Überlauf ; I2FR – Bit: Interrupt 2 = positiv flankengetriggert mov TMOD,# b ; Timer 1 auf Modus 1 ( 16 bit Timer ) mov CCEN,# b ; Compare Mode des CC1 freigeben mov CRCL,#PERIODE_LOW ; Low Byte von Compare Reload Capture Register mov CRCH,#PERIODE_HIGH ; High Byte von Compare Reload Capture Register mov CCH1,#PWMANH ; Pulsweitenmodulation Anfangswert ( 90° ) mov CCL1,#PWMANL mov IP0,# b ; Interrupt Priorität festlegen: mov IP1,# b ; Lichtschranke hat höchste Priorität
10
Programmauszug zur Funktion: Tor schließen
ABFRAGE: jnb P4.0,Tor_SCHLIESSEN ; Taster MS springe zu Tor_SCHLIESSEN jmp ABFRAGE ; Sprung zu ABFRAGE Tor_SCHLIESSEN: call SCHLIESSEN ; Aufruf des Unterprogramms Schliessen jmp ABFRAGE ; Sprung zu ABFRAGE SCHLIESSEN: call TIMER2_ZU ; Aufruf des Unterprogramms TIMER2_ZU Schleife2: jnb P1.3,WW ; Wenn Endschalter ZU betätigt, springe zu WW jmp Schleife2 ; zu Schleife 2 springen WW: clr T2I ; Timer 2 stop ret ; Rücksprung
11
TIMER2_ZU: mov R3,#1 ; in Register 3 die Zahl 1 laden mov R4,#3 ; in Register 4 die Zahl 3 laden setb EX ; Interrupt 2 für Lichtschranke einschalten setb T2I0 ; Timer 2 loslaufen --> Motor an ret ; Rücksprung EEE: ; wird aufgerufen vom Interrupt Timer 2 djnz R3,Auf_W ; R3 -1 , wenn nicht = 0 zu Auf_W springen djnz R4,ZU_W ; R4 -1 , wenn nicht = 0 zu ZU_W springen ret ; Rücksprung Lichtschranke: clr T2I ; Timer 2 ausschalten --> Motor aus Warte4: jb P1.4,Warte4 ; P1.4 auf High Pegel ( Lichtschranke ; unterbrochen ) --> in Schleife bleiben/warten setb T2I0 ; Timer 2 loslaufen --> Motor an ret ; Rücksprung
12
Fertiges Projekt
13
Verbesserungen Vorschläge:
mehrere Lichtschranken verwenden, die im Torbereich auf unterschiedlicher Höhe angebracht sind, um die Sicherheit zu erhöhen Einbau einer Induktionsschleife vor dem Tor zum Erkennen eines Fahrzeugs
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.