Schrankensteuerung für Modellbahn
Schrankensteuerung für Modellbahn
Schrankensteuerung für Modellbahn
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