26.10.2012 Aufrufe

Schrankensteuerung für Modellbahn

Schrankensteuerung für Modellbahn

Schrankensteuerung für Modellbahn

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Bahnübergangssicherung mit<br />

Reed-Kontakt und<br />

Schrittmotoren<br />

Matthias Blauert, Tino Frauendorf und Christopher Siercks G04<br />

Bearbeitungszeitraum:<br />

03.02.2009 - 30.06.2009


Inhaltsverzeichnis<br />

1Information und Planung....................................................................................................................1<br />

1.1Lastenheft....................................................................................................................................1<br />

1.2Pflichtenheft................................................................................................................................2<br />

1.3Lösungsansatz.............................................................................................................................3<br />

1.3.1Beschreibung des Lösungsansatzes im Überblick..............................................................3<br />

1.3.2Technologieschema.............................................................................................................3<br />

1.3.3Blockschaltplan...................................................................................................................4<br />

1.4Arbeitsplanung............................................................................................................................5<br />

1.5Kostenplanung............................................................................................................................6<br />

1.5.1Entwicklungskosten (Prototyp)...........................................................................................6<br />

1.5.2Fertigungskosten (Serienproduktion)..................................................................................7<br />

2Durchführung.....................................................................................................................................8<br />

2.1Hardware.....................................................................................................................................8<br />

2.1.1Schaltungsbeschreibung......................................................................................................8<br />

2.1.2Schaltplan............................................................................................................................9<br />

2.1.3Schaltungssimulationen....................................................................................................10<br />

2.1.4Bestückungsplan <strong>für</strong> Prototypen (Fädeltechnik)...............................................................10<br />

2.1.5Bauteilliste........................................................................................................................11<br />

2.1.6Platinenlayout <strong>für</strong> Serienfertigung ( mit EAGLE)............................................................12<br />

2.1.7Bestückungsplan <strong>für</strong> Serienfertigung ( mit EAGLE)........................................................13<br />

2.1.8Verdrahtungs- und Anschlussplan....................................................................................14<br />

2.2Software....................................................................................................................................15<br />

2.2.1Entwicklungsumgebung / Programmiersprache...............................................................15<br />

2.2.2Programmbeschreibung....................................................................................................15<br />

2.2.3Programmablaufplan / Struktogramm...............................................................................16<br />

2.2.4Quelltext............................................................................................................................17<br />

3Kontrolle und Dokumentation..........................................................................................................25<br />

3.1Inbetriebnahme, Mess- und Prüfprotokolle..............................................................................25<br />

3.2Bedienungsanleitung.................................................................................................................26<br />

3.3Fotos..........................................................................................................................................27<br />

3.3.1Gesamtaufbau....................................................................................................................27<br />

3.3.2Bestückungsseite der Platine (beschriftet)........................................................................28<br />

Seite 2


3.4Kritik der eigenen Projektplanung und – durchführung...........................................................29<br />

3.4.1Zeitplanung.......................................................................................................................29<br />

3.4.2Kostenplanung, tatsächliche Kosten.................................................................................29<br />

3.4.3Gewählter Lösungsansatz..................................................................................................29<br />

4Quellenverzeichnis...........................................................................................................................29<br />

4.1Datenblätter...............................................................................................................................29<br />

Seite 3


1 Information und Planung<br />

1.1 Lastenheft<br />

Deutsche Bahn AG 10.02.2009, Irgendwo<br />

Postfach: 312<br />

12345 Irgendwo<br />

An<br />

Firma CMT<br />

58664 Da<br />

Geht Gut Klar 3<br />

Zu Händen Herrn Matthias Roland Otto Blauert<br />

Lastenheft<br />

1. Zielbestimmung: Es soll eine Anlage zur Bahnübergangsabgesicherung gebaut<br />

werden. Dies ist in einem Model zu veranschaulichen.<br />

2. Produkteinsatz: Dieses Model ist zur Absicherung jeglicher Übergänge einer<br />

Bahn und zur Veranschaulichung der Arbeitsweise im realen<br />

Alltag.<br />

3. Produktfunktionen: Die Anlage soll erkennen ob die Bahn von rechts oder von links kommt<br />

dann eine Ampel auf rotes Blinklicht schalten, auf rotes Dauerlicht<br />

schalten und die Schranken senken. Nach Passieren eines gewissen<br />

Abstands die Schranke öffnen und die Ampel ausschalten.<br />

4. Produktdaten: Die Anlage soll über einen Trenntrafo ihre Spannung<br />

beziehen. Bevor die Schranke runter geht, soll eine blinkende<br />

Ampel dies signalisieren.<br />

Wir hoffen auf eine gute Zusammenarbeit.<br />

Mit freundlichen Grüßen<br />

Klaus Peter Petersen (Sachbearbeiter der Deutschen Bahn AG)<br />

Seite 1


1.2 Pflichtenheft<br />

Firma CMT<br />

Da 3<br />

58664 Geht Gut Klar<br />

14.03.2009, Geht Gut Klar<br />

Zielbestimmung:<br />

Das Modell wird zur Veranschaulichung der Arbeitsweise einer Bahnübergangsicherungsanlage<br />

erstellt. Das Modell soll erkennen aus welcher Richtung der Zug kommt, es soll von jeder Seite des<br />

Bahnübergangs eine rote LED beginnen zu blinken und danach dauerhaft leuchten, es werden die<br />

beiden Bahnschranken gesenkt.<br />

Produkteinsatz:<br />

Unser Modell wird zur Veranschaulichung der Bahnsicherungsanlage auf den Einsatz auf Messen<br />

gefertigt.<br />

Produktumgebung:<br />

Die Anlage ist <strong>für</strong> den Gebrauch in geschlossenen Räumen gefertigt.<br />

Unsere Anlage benötigt eine Gleichspannung bzw. eine Wechselspannung mit einer Spannung<br />

von 12V die über Bananenbuchsen eingespeist wird.<br />

Produktinformationen:<br />

Das Modell zeigt wie ein Bahnübergang gesichert wird, es erkennt aus welcher Richtung der Zug<br />

kommt, es beginnt eine Rote LED als Anzeige zu Blinken und senkt die Schranken, wenn die<br />

Schranken vollständig gesenkt wird aus dem Blinken ein durchgehendes Leuchten der roten LED.<br />

Wenn der Zug den Bahnübergang Vollständig passiert hat öffnen sich die Schranken und die Rote<br />

LED erlischt. Die Logik des Modells wird mit einem Atmega 48 realisiert der über ein<br />

Festspannungsregler mit 5V Versorgungsspannung versorgt wird.<br />

Das Modell wird <strong>für</strong> nachträgliche Änderungen in der Logik mit einem 6 poligem Wannenstecker<br />

<strong>für</strong> ICSP bestückt.<br />

Produktdaten:<br />

Unser Modell<br />

-kann mit einer Spannung von 15V/DC bis 25V/DC und 12V/AC bis 20V/AC<br />

betrieben werden.<br />

-es besitzt einen Brückengleichrichter<br />

-besitzt eine Logik die mithilfe eines Atmega 48 realisiert wird<br />

-ICSP (In Circut Serial Programmring- programmieren in der Schaltung)<br />

-die Schranken werden über Schrittmotoren realisiert<br />

-als Sensoren dienen Reedkontakte<br />

-die Anzeige wird über rote LEDs gewährleistet<br />

Seite 2


1.3 Lösungsansatz<br />

1.3.1 Beschreibung des Lösungsansatzes im<br />

Überblick<br />

Das Projekt wird mithilfe von Bahnschienen auf einer Holzplatte befestigt und durch ein<br />

entsprechendes Programm im ATmega da<strong>für</strong> sorgen, dass, das Auslösen eines Reedkontakts dazu<br />

führt, dass eine LED zu blinken beginnt und nach einer gewissen Zeit dauerhaft leuchtet. Außerdem<br />

wird eine Schranke gesenkt und erst nach auslösen eines anderen Reedkontakts dazu führen das sich<br />

die Schranke wieder hebt. Währendessen wird die LED wieder gelöscht. Das Projekt erkennt aus<br />

welcher Richtung der Zug kommt und reagiert entsprechend.<br />

1.3.2 Technologieschema<br />

Seite 3


1.3.3 Blockschaltplan<br />

Reed-Kontakt1<br />

ausgelöst?<br />

ja<br />

Ampel blinkt<br />

Ampel leuchtet<br />

Schranke senkt sich<br />

Reed-Kontakt2<br />

ausgelöst?<br />

ja<br />

Schranke hebt sich<br />

Ampel erlischt<br />

Seite 4<br />

nein<br />

nein


1.4 Arbeitsplanung<br />

Seite 5


1.5 Kostenplanung<br />

Die Kostenplanung teilt sich in zwei wichtige Bereiche auf.<br />

Zum Einen in die Entwicklungskosten, die es kostet dieses Projekt<br />

so vorzubereiten, dass es in die Serienfertigung gehen kann und<br />

zum Anderen in die Fertigungskosten, die es kostet dieses Projekt in Serie herzustellen.<br />

1.5.1 Entwicklungskosten (Prototyp)<br />

Seite 6


1.5.2 Fertigungskosten (Serienproduktion)<br />

Seite 7


2 Durchführung<br />

2.1 Hardware<br />

Die Hardware des Projekts wird durch ein Modell dargestellt. Es besteht aus einer Grundplatte der<br />

Maße 1100mm x 245mm auf die die Komponenten aufgebracht sind. Eines dieser Komponenten ist<br />

die Steuereinheit, eine kleine Platine der Maße 80mm x 60mm. Auf dieser befinden sich<br />

Komponenten zur Ansteuerung von Schrittmotoren, Reedkontakten, Lichtschranken und<br />

Leuchtdioden. Die anderen Komponenten der Hardware sind die Schrittmotoren, die Reedkontakte,<br />

die LEDs, die Lichtschranken und der Schalter der die Betriebsspannung einschaltet und<br />

ausschaltet.<br />

2.1.1 Schaltungsbeschreibung<br />

Die Schaltung wird unabhängig von Gleichspannung oder Wechselspannung an den<br />

Anschlussklemmen gleich betrieben, da die Wechselspannung durch den Brückengleichrichter<br />

gleichgerichtet wird. Die Gleichspannung an den Anschlussklemmen wird außer acht gelassen und<br />

vom Gleichrichter einfach durchgeschleift. Die dadurch erzeugte Betriebspannung wird über den<br />

Lade-Elko C8 bereitgestellt. Als nächstes wird die Betriebspannung <strong>für</strong> die weitere Verwendung<br />

auf 12V mit Hilfe des Festspannungsreglers IC3 (7812) herunter geregelt und danach auf 5V mit<br />

IC4 (7805). Die 12V-Spannungsversorgung wird <strong>für</strong> die Schrittmotoren und das Treiber-IC IC2<br />

(L293D) benötigt. Die 5V-Spannungsversorgung wird <strong>für</strong> den Mikrocontroller Atmega 48P, die<br />

Lichtschranken V1 und V2, die LEDs B1, B2, B3 und B4 und die Reedkontakte RKL und RKR<br />

benötigt. Die Schaltung wird über einen ICP-Sockel so erweitert das der Atmega nicht mehr aus der<br />

Schaltung heraus genommen werden muss um ihn zu programmieren. Der AtMega ist das zentrale<br />

Bauteil in dieser Schaltung denn dieser steuert alles. Der AtMega liest die Eingabe, die durch die<br />

Reedkontakte und Lichtschranken definiert sind, ein und gibt dem Programm entsprechend die<br />

Ausgabe der Ausgänge aus. Die gelbe LED B4 gibt an das das Programm sich noch in der<br />

Initialisierung befindet und noch nicht betriebsbereit ist. Die Betriebsbereitschaft wird durch eine<br />

grüne LED B3 dargestellt. Die LEDs B1 und B2 sind <strong>für</strong> die Ampeln des Bahnübergangs und<br />

zeigen beim Blinken an das sich bald die Schranken durch die Schrittmotoren senken werden wenn<br />

die LEDs leuten.<br />

Seite 8


2.1.2 Schaltplan<br />

Seite 9


2.1.3 Schaltungssimulationen<br />

Es stehen drei Testprogramme zur Verfügung. Eines zum Testen<br />

der Funktion und der richtigen Verdrahtung der Schrittmotoren<br />

und Zwei zum Testen des Auslöseverhaltens und der Funktion der<br />

Lichtschranken und der Reedkontakte. Zum Schluss ist noch ein<br />

fertiges Programm <strong>für</strong> die Schaltung vorhanden mit dem das Projekt dann den Rest seine Leben<br />

läuft.<br />

2.1.4 Bestückungsplan <strong>für</strong> Prototypen (Fädeltechnik)<br />

Seite 10


2.1.5 Bauteilliste<br />

Seite 11


2.1.6 Platinenlayout <strong>für</strong> Serienfertigung ( mit<br />

EAGLE)<br />

Seite 12


2.1.7 Bestückungsplan <strong>für</strong> Serienfertigung ( mit<br />

EAGLE)<br />

Seite 13


2.1.8 Verdrahtungs- und Anschlussplan<br />

RK-L1 Reedkontakt links Pin 1<br />

RK-L2 Reedkontakt links Pin 2<br />

RK-R1 Reedkontakt rechts Pin 1<br />

RK-R2 Reedkontakt rechts Pin 2<br />

A-B1 Anode der roten LED B1 der Ampel<br />

K-B1 Kathode der roten LED B1 der Ampel<br />

A-B2 Anode der roten LED B2 der Ampel<br />

K-B2 Kathode der roten LED B2 der Ampel<br />

A-B3 Anode der gelben LED B3<br />

K-B3 Kathode der gelben LED B3<br />

A-B4 Anode der grünen LED B4<br />

K-B4 Kathode der grünen LED B4<br />

E-V1 Emitter der Lichtschranke V1<br />

K-V1 Kathode der Lichtschranke V1<br />

A-V1_C-V1 Anode und Kollektor der Lichtschranke V1<br />

E-V2 Emitter der Lichtschranke V2<br />

K-V2 Kathode der Lichtschranke V2<br />

A-V2_C-V2 Anode und Kollektor der Lichtschrank V2<br />

UB+ rote Bananenbuchse<br />

UB- schwarze Bananenbuchse<br />

S1-E Schalter S1 Eingang<br />

S1-A Schalter S1 Ausgang<br />

SM-1-1 Schrittmotor weißes Anschlusskabel<br />

SM-1-2 Schrittmotor grünes Anschlusskabel<br />

SM-2-1 Schrittmotor braunes Anschlusskabel<br />

SM-2-2 Schrittmotor rotes Anschlusskabel<br />

Seite 14


2.2 Software<br />

2.2.1 Entwicklungsumgebung /<br />

Programmiersprache<br />

Das Programm wurde im AVR Studio 4 in der Programmiersprache Assembler geschrieben. Diese<br />

Entscheidung <strong>für</strong> Assembler und nicht <strong>für</strong> die Programmiersprache C kam aus dem Grund das die<br />

Programmierung in C <strong>für</strong> komplexe und hoch genaue Berechnungen am Besten geeignet ist.<br />

2.2.2 Programmbeschreibung<br />

Das Programm besitzt einen Urzustand in den es sich erst versetzt bevor es Informationen von<br />

außen aufnimmt. Solang sich das Progamm im Urzustand befindet leuchtet die gelbe<br />

Initialisierungs-LED. Dieser Urzustand wird hervorgerufen indem die Schrittmotoren die Schranken<br />

nach unten drehen solange die Lichtschranken noch nicht unterbrochen wurden. Danach drehen die<br />

Schrittmotoren die Schranken nach oben und der Ablauf kann beginnen. Nach Auslösen des ersten<br />

Reedkontakts blinken die roten LEDs und leuchtet nach einer gewissen Zeit auf. Danach gehen die<br />

Schranken mithilfe der Schrittmotoren hinunter und das Programm wartet auf das Auslösen des<br />

anderen Reedkontakts. Der erste Reedkontakt hat auf den weiteren Verlauf des Programms keinen<br />

Einfluss mehr, dieser wird außer Acht gelassen. Nach Auslösen des zweiten Reedkontakts gehen<br />

die roten LEDs aus und die Schranken heben sich wieder an. Dieser Vorgang funktioniert in jede<br />

Richtung, da beim Auslösen des ersten Reedkontakts nur der zweite Reedkontakt das weitere<br />

Fortschreiten des Programms auslösen kann.<br />

Seite 15


2.2.3 Programmablaufplan / Struktogramm<br />

Seite 16


2.2.4 Quelltext<br />

;Programm von Gruppe 4<br />

;<br />

_______________________________________________________________________________<br />

.include "m48def.inc"<br />

.def tempB = R16 ; Variabel zur Ein-und Ausgangsbestimmung<br />

.def tempD = R17<br />

.def blink = R18<br />

.def Schritte = R19 ;Variabel der Schrittanzahl der Schrittmotoren<br />

.def Zeit = R20<br />

.def null = R21<br />

.def Zeiten1 = R22<br />

.def Zeiten2 = R23<br />

.def Motor = R24<br />

.org 0x0000<br />

rjmp INIT<br />

;_______________________________________________________________________________<br />

;PINbelegung<br />

;PortB 0 ---> Lichtschranke1<br />

;PortB 1 ---> Lichtschranke2<br />

;PortB 2 ---> grüne LED (betriebsbereit)<br />

;PortD 0 ---> ReedKontakt links<br />

;PortD 1 ---> ReedKontakt rechts<br />

;PortD 2 ---> gelbe LED (initialisieren)<br />

;PortD 3 ---> SchrittMotor 3A / Rot<br />

;PortD 4 ---> SchrittMotor 4A / Braun<br />

;PortD 5 ---> SchrittMotor 1A / Weiß<br />

;PortD 6 ---> SchrittMotor 2A / Grün<br />

;PortD 7 ---> rote LEDs (Ampeln)<br />

;_______________________________________________________________________________<br />

Seite 17


INIT:<br />

sbi PortB, 2 ;\<br />

sbi PortD, 2 ; } Alle LEDs ausschalten<br />

sbi PortD, 7 ;/<br />

ldi tempB, 0b00000100 ;1 <strong>für</strong> Ausgabe<br />

out DDRB, tempB<br />

ldi tempD, 0b11111100 ;0 <strong>für</strong> Eingabe<br />

out DDRD, tempD<br />

cbi PortD, 2 ;gelbe LED (initialisieren)<br />

rcall NULL_STELLUNG ;Sprung zum Nullstellungsprogramm<br />

;_______________________________________________________________________________<br />

VOR_MAIN:<br />

MAIN:<br />

ldi Schritte, 6<br />

rcall MOTOR_HOCH ;Schranken nach oben drehen<br />

sbi PortD, 2 ;gelbe LED (initialisieren)<br />

cbi PortB, 3 ;grüne LED (betriebsbereit)<br />

sbis PinD,0 ;Reedkontakt links \<br />

rjmp VON_LINKS ; } welcher Reedkontakt<br />

sbis PinD,1 ;Reedkontakt rechts / wird ausgelöst<br />

rjmp VON_RECHTS<br />

rjmp MAIN<br />

NACH_MAIN:<br />

sbi PortD, 7 ;rote LEDs (Ampeln)<br />

rjmp MAIN<br />

;_______________________________________________________________________________<br />

;Unterprogramme<br />

;_______________________________________________________________________________<br />

Seite 18


NULL_STELLUNG:<br />

sbis PinB,0 ;Lichtschranke1<br />

rjmp VOR_MAIN<br />

sbis PinB,1 ;Lichtschranke2<br />

rjmp VOR_MAIN ;Lichtschrankenabfrage:<br />

ldi Schritte, 1 ;bei 1 Signal Lichtschranken nicht durchbrochen<br />

rcall MOTOR_RUNTER ;also sind die Schranken noch nicht unten<br />

rjmp NULL_STELLUNG ;bei 0 Signal Schaltung betriebsbereit<br />

;_______________________________________________________________________________<br />

MOTOR_HOCH:<br />

ldi Motor, 0b00101100 ;\<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

ldi Motor, 0b00110100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

ldi Motor, 0b01010100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; \ Ansteuerung um die Schrittmotoren<br />

; / nach oden zu steuern<br />

ldi Motor, 0b01001100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

dec Schritte ; |<br />

cp Schritte, null ; |<br />

brne MOTOR_HOCH ; |<br />

; |<br />

ldi Motor, 0b01111100 ; |<br />

out PortD, Motor ; |<br />

ret ;/<br />

;_______________________________________________________________________________<br />

Seite 19


MOTOR_RUNTER:<br />

ldi Motor, 0b11010100 ;\<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

ldi Motor, 0b10110100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

ldi Motor, 0b10101100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; \ Ansteuerung um die Schrittmotoren<br />

; / nach unten zu steuern<br />

ldi Motor, 0b11001100 ; |<br />

out PortD, Motor ; |<br />

ldi Zeit, 1 ; |<br />

rcall WARTE ; |<br />

; |<br />

dec Schritte ; |<br />

cp Schritte, null ; |<br />

brne MOTOR_RUNTER ; |<br />

; |<br />

ldi Motor, 0b11111100 ; |<br />

out PortD, Motor ; |<br />

; |<br />

ret ;/<br />

;_______________________________________________________________________________<br />

Seite 20


VON_LINKS:<br />

rcall BLINKEN ;erst Blinken dann leuchten<br />

cbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi ZEIT, 5 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

ldi Schritte, 6<br />

rcall MOTOR_RUNTER<br />

ENDE_VON_LINKS:<br />

sbic PinD,1 ;ReedKontakt rechts<br />

rjmp ENDE_VON_LINKS<br />

ENDE_LINKS:<br />

sbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi ZEIT, 10 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

ldi Schritte, 6<br />

rcall MOTOR_HOCH<br />

rjmp MAIN<br />

;_______________________________________________________________________________<br />

Seite 21


VON_RECHTS:<br />

rcall BLINKEN ;erst Blinken dann leuchten<br />

cbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi ZEIT, 5 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

ldi Schritte, 6<br />

rcall MOTOR_RUNTER<br />

ENDE_VON_RECHTS:<br />

sbic PinD,0 ;ReedKontakt links<br />

rjmp ENDE_VON_RECHTS<br />

ENDE_RECHTS:<br />

sbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi ZEIT, 10 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

ldi Schritte, 6<br />

rcall MOTOR_HOCH<br />

rjmp MAIN<br />

;_______________________________________________________________________________<br />

Seite 22


BLINKEN:<br />

ldi Blink, 10<br />

MITTE_BLINKEN:<br />

cbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi Zeit, 2 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

sbi PortD, 7 ;rote LEDs (Ampeln)<br />

ldi Zeit, 2 ;Variabel pro Zahl 100ms Verzögerung<br />

rcall WARTE<br />

dec Blink<br />

cp Blink, null<br />

BREQ ENDE_BLINKEN<br />

rjmp MITTE_BLINKEN<br />

ENDE_BLINKEN:<br />

ret<br />

;_____________________________________________________________________________<br />

WARTE:<br />

ldi Zeiten2, 21 ;Zeitschleife <strong>für</strong> 100ms pro Einheit<br />

ldi Zeiten1, 139 ;in Variabel "Zeit"<br />

;bei Zeit = 1 100ms<br />

;bei Zeit = 2 200ms usw.<br />

WARTEN:<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

Seite 23


nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

nop<br />

dec Zeiten1<br />

cp Zeiten1, null<br />

brne WARTEN<br />

dec Zeiten2<br />

cp Zeiten2, null<br />

brne Warten<br />

dec Zeit<br />

cp Zeit, null<br />

breq ENDE_WARTEN<br />

rjmp WARTE<br />

ENDE_WARTEN:<br />

nop<br />

nop<br />

nop<br />

nop<br />

ret<br />

;_______________________________________________________________________________<br />

Seite 24


3 Kontrolle und<br />

Dokumentation<br />

3.1 Inbetriebnahme, Mess- und<br />

Prüfprotokolle<br />

Spannungsüberprüfung:<br />

Betriebsspannung:<br />

(15-25V DC / 12-20V AC) i.O. / nicht i.O.<br />

12V nach dem 7812 i.O. / nicht i.O.<br />

5V nach dem 7805 i.O. / nicht i.O.<br />

Atmega48-P Pin [7] 5V i.O. / nicht i.O.<br />

Pin [8, 21, 22] GND i.O. / nicht i.O.<br />

L293D Pin [1, 9, 16] 5V i.O. / nicht i.O.<br />

Pin [8] 12V i.O. / nicht i.O.<br />

Pin [4, 5, 12, 13] GND i.O. / nicht i.O.<br />

Testen sie ob die Reedkonktakte schalten i.O. / nicht i.O.<br />

Testen sie ob die Lichtschranken auslösen i.O. / nicht i.O.<br />

Testprogramme <strong>für</strong> den µ-Controller:<br />

Motoransteuerung i.O. / nicht i.O.<br />

Lichtschranken i.O. / nicht i.O.<br />

Reedkontakte i.O. / nicht i.O.<br />

Test mit dem Programm<br />

Initialisierung i.O. / nicht i.O.<br />

Unterbrechung durch Reedkontakte i.O. / nicht i.O.<br />

Unterbrechung durch Lichtschranke i.O. / nicht i.O.<br />

Seite 25


3.2 Bedienungsanleitung<br />

Dieses Modell dient zur Darstellung der Funktionsweise eines Bahnübergangs. Der Zug der<br />

sich auf den Schienen bewegt löst durch überfahren eines Reedkontakts Eine Kette von<br />

Funktionen aus. Der Reedkontakt reagiert auf den Magneten unter dem Zug und schaltet im<br />

AtMega die Logik und ein logischer Ablauf folgt. Dieser Ablauf ist die roten LEDs<br />

beginnen zu blinken und nach einem Moment leuchten sie auf. Danach senken sich die<br />

Schranken und der AtMega wartet auf ein weiteres Auslösen eines Reedkontakts und zwar<br />

das Auslösen des anderen Reedkontakts. Der erste Reedkontakt hat auf die Funktion keinen<br />

Einfluss mehr. Danach heben sich die Schranken wieder und die roten LEDs erlöschen.<br />

Seite 26


3.3 Fotos<br />

3.3.1 Gesamtaufbau<br />

Seite 27


3.3.2 Bestückungsseite der Platine (beschriftet)<br />

Seite 28


3.4 Kritik der eigenen Projektplanung<br />

und – durchführung<br />

3.4.1 Zeitplanung<br />

Die Zeitplanung war recht genau, wir hatten leichte Differenzen bei der Programmierung die<br />

allerdings durch das verlängern des Projektes um einen Schultag gut abgedeckt wurde.<br />

3.4.2 Kostenplanung, tatsächliche Kosten<br />

Die Kostenplanung hat gepasst.<br />

3.4.3 Gewählter Lösungsansatz<br />

Beim Lösungsansatz ist uns ein Fehler aufgefallen, wir haben zwar zwei Lichtschranken aber<br />

sobald eine auslöst, halten beide Schranken an.<br />

Dies ist durch unser Programm nicht zu verändern, da wir uns <strong>für</strong> eine parallele Ansteuerung der<br />

Schrittmotoren entschieden hatten, bevor wir auf dieses Problem gestoßen sind.<br />

4 Quellenverzeichnis<br />

Kataloge:<br />

Reichelt<br />

Conrad<br />

Polin<br />

Internet:<br />

reichelt.de <strong>für</strong> die Datenblätter<br />

http://de.wikipedia.org/wiki/Punktf%C3%B6rmige_Zugbeeinflussung<br />

4.1 Datenblätter<br />

➢ 7805.pdf (Festspannungsregler 5V)<br />

➢ 7812.pdf (Festspannungsregler 12V)<br />

➢ Atmega48p.pdf (MikroController)<br />

➢ l293d.pdf (Schrittmotortreiber)<br />

➢ Schrittmotor Howard Ind. 1-19-4202.pdf<br />

➢ CNY37(Lichtschranke).pdf<br />

Seite 29

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!