24.04.2013 Aufrufe

4.2.6 Hauptplatine - Hans-Sachs-Berufskolleg

4.2.6 Hauptplatine - Hans-Sachs-Berufskolleg

4.2.6 Hauptplatine - Hans-Sachs-Berufskolleg

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.

Füllstandsregelung<br />

eines drei<br />

Behältersystems<br />

Projektteilnehmer:<br />

Patrick Prgjanac<br />

Stefan Fockenberg<br />

Projektdokumentation<br />

2007<br />

2008<br />

Projektbetreuung:<br />

Herr Grüger


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

Inhaltsverzeichnis:<br />

Seite 2<br />

Seite<br />

1 VORWORT 4<br />

2 PROJEKTBESCHREIBUNG 4<br />

3 AUFGABENSTELLUNG 5<br />

4 DURCHFÜHRUNG 6<br />

4.1 Untersuchung des zweiten Anlagenaufbaus 6<br />

4.2 neuer Anlagenaufbau 7<br />

4.2.1 Behälter Befestigung 7<br />

4.2.2 Festverrohrung 8<br />

4.2.3 Pumpen- und Motorenbefestigung 9<br />

4.2.4 Plattenkondensator 10<br />

4.2.5 Störgrößenpumpe und Motor 10<br />

<strong>4.2.6</strong> Aufnahme für das Leybold-System 11<br />

<strong>4.2.6</strong> <strong>Hauptplatine</strong> 12<br />

4.2.7 Relaisplatine 13<br />

5 Programm Änderungen 14<br />

6 SCHALTPLÄNE 23<br />

6.1 <strong>Hauptplatine</strong> 23


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.1.1 Behälter 1 24<br />

6.1.2 Behälter 2 25<br />

6.1.3 Behälter 3 26<br />

6.1.4 Füllstandserfassung 27<br />

6.2 Relaisplatine 28<br />

6.2.1 Hauptversorgung 28<br />

6.2.2 Hand/Auto Umschaltung 29<br />

6.2.3 Störgrößensteuerung 30<br />

6.2.4 Cassy Steuerung 1 31<br />

6.2.5 Cassy Steuerung 2 32<br />

7 Materialliste 33<br />

Seite 3


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

1 VORWORT<br />

Im Raum B 01 des <strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong>s befindet sich eine 3-Behälter-<br />

Füllstandsregelung zum Einhängen in das Stecksystem der Firma Leybold. Diese<br />

wurde von einer vorherigen Gruppe konzipiert, entsprach jedoch in ihrer Ausführung<br />

nicht den Anforderungen. Außerdem sollte sie in das entstehende Bussystem der<br />

Schule eingebunden werden, so dass sie von einem anderen Raum aus gefahren<br />

werden kann. Eine weitere Gruppe sollte den Versuchsaufbau optimieren, sie<br />

entwarf Schaltpläne um die Regelung über das entstehende Bussystem der Schule<br />

zu fahren, so dass sie von Raum 152 aus über die SPS gesteuert werden kann.<br />

2 PROJEKTBESCHREIBUNG<br />

Unsere Aufgabe ist es, eine neue Anlage zu bauen<br />

welche wie die alte Anlage in das vorhandene<br />

Stecksystem der Firma Leybold passt. Die<br />

Füllstandsregelstrecke erstreckt sich über drei Behälter,<br />

wobei Öl in den ersten Behälter gepumpt wird, von<br />

diesem über einen zweiten Behälter in den dritten fließt<br />

und zuletzt in den Auffangbehälter. Der Füllstand der<br />

einzelnen Behälter soll über Plattenkondensatoren<br />

ermittelt werden. Es sollen Störgrößen in den ersten<br />

(Versorgungsstörgröße) und in den dritten<br />

(Laststörgröße) Behälter zuschaltbar sein. Die<br />

Messergebnise werden analog oder auch digital über<br />

eine RS 232 Schnittstelle bzw. Bananenbuchsen<br />

ausgelesen, um auf einem Oszilloskop bzw. einem PC<br />

als Sprungantwort dargestellt werden zu können. Desweiteren soll über Cassy die<br />

Anlage in das Bussystem der Schule eingebunden werden. Ein sicherer<br />

Überlaufschutz soll das Beschmutzen des Aufstellortes vermeiden.<br />

Seite 4


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

3 AUFGABENSTELLUNG<br />

Es soll ein funktionsfähiger Prototyp der Anlage, für den Unterrichtsgebrauch<br />

gefertigt werden, welcher später Serienmäßig nachgebaut werden kann.<br />

Dabei sollten folgende Features in die Anlage eingebracht werden:<br />

1 Störgrößen Zugabe<br />

- In Behälter 1 (als Versorgungsstörgröße)<br />

- In Behälter 3 (als Laststörgröße)<br />

2 Über Cassy bzw Vorort steuerbar<br />

- Nullpunkt Taster<br />

- Störgrößen Zugabe<br />

- Auslesen der Plattenkondensatoren<br />

3 0 – 10 V Regelbar<br />

4 Fest verrohrt<br />

- Hauptkreis<br />

- Störkreis<br />

5 Störpumpe konstante Förderung<br />

Seite 5


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

4 DURCHFÜHRUNG<br />

4.1 Untersuchung des zweiten Anlagenaufbaus<br />

Der zweite Anlagenaufbau war leider nicht mehr zu gebrauchen, da die zusätzliche<br />

Ansaugleitung der Störpumpe, die wie die<br />

Hauptansaugleitung fest verrohrt werden sollte,<br />

nicht in die Behälterwand einzubringen war.<br />

Desweiteren mussten die Ablaufrohre<br />

umgesetzt werden, damit das Öl nicht mehr<br />

über die Kondensator-Platten der einzelnen<br />

Behälter laufen konnte. Als nächstes musste<br />

der zweite Behälter weiter nach rechts<br />

verschoben werden, da bei Betrieb das Öl auf<br />

der gegenüberliegenden Seite heraus spritzte.<br />

Als letztes und wichtigstes Manko stellten wir<br />

fest das die vorhandene Art die Behälter auf<br />

der Platte zu befestigen nicht dicht war.<br />

Seite 6


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

4.2 Neuer Anlagenaufbau<br />

4.2.1 Behälter Befestigung<br />

Die Abläufe mussten so angelegt werden, dass das Öl in den vorderen Bereich des<br />

nächsten Behälters fließen kann, um später nicht über die Kondensator-Platten zu<br />

fließen. Die obersten<br />

Behälter waren alle<br />

schon mit Abläufen<br />

versehen worden, jetzt<br />

musste dafür gesorgt<br />

werden, dass auch der<br />

oberste Ablauf in den<br />

vorderen Bereich des<br />

nächsten Behälters<br />

zielt. Hierfür wurden<br />

Platten geschnitten, die auf die Platte hinter den Behälter geklebt wurden, und so<br />

den Ablauf in die richtige Lage brachten. Nun galt es, die Behälter auf der Platte zu<br />

befestigen. Es waren Kunststoffschrauben vorgesehen, die durch ein Gewinde durch<br />

die Behälterwand geschraubt wurden und gleichzeitig als Kondensator-Platten<br />

Aufnahme vorgesehen<br />

waren, die Behälter<br />

sollten durch diese<br />

Verbindung dicht<br />

bleiben. Leider stellte<br />

sich heraus, dass die<br />

Behälter nicht ganz<br />

dicht blieben. Nach<br />

mehreren Überlegungen<br />

setzten wir Gummi-<br />

dichtungen zwischen Behälter und Platte ein, desweiteren kamen Dichtungen hinter<br />

die Platte unter die Köpfe der Schrauben. Dafür mussten Trägerplatten aufgeklebt<br />

werden die den richtigen Sitz der Dichtungen in den dafür vorgesehenen<br />

Vertiefungen garantieren sollen.<br />

Seite 7


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

4.2.2 Festverrohrung<br />

Für die Festverrohrung musste erst der Mindestdurchmesser festgelegt werden. Als<br />

nächstes entschieden wir uns, die Verrohrung in Kupfer durchzuführen, da Kupfer<br />

recht preiswert, ölbeständig und gut zu verarbeiten ist. Nun musste der Anschluss an<br />

die Pumpen realisiert werden, es<br />

sollten Anschlüsse sein, die man bei<br />

Bedarf auch lösen kann, um die Pumpe<br />

zu wechseln. Da es leider keine<br />

direkten Verschraubungen für diesen<br />

Zweck gab, mussten Überwürfe<br />

angefertigt werden, die an die Pumpen<br />

angeschraubt und mit Dichtungen<br />

versehen werden konnten. Hierzu<br />

wurden Heizungsverschraubungen<br />

verwendet, deren Falze entfernt<br />

wurden, so entstand eine glatte Fläche,<br />

die sich mit einer Dichtung an die<br />

Pumpe schrauben ließ. Die Bögen an<br />

den Verschraubungen wurden hart<br />

gelötet, um beim Lösen oder Fest-<br />

ziehen die Dichtigkeit der Anlage zu<br />

gewähren. Die restliche Verrohrung<br />

wurde in 16er Kupferrohr weich<br />

verlötet, um eine Änderung oder<br />

Anpassung leichter zu ermöglichen. Es<br />

musste des weiteren die Umschaltung<br />

der Störgröße von Behälter 1 auf<br />

Behälter 3 verrohrt werden. Das<br />

Magnetventil, welches schon<br />

vorhanden war, wies zwei 1/4“<br />

Anschlüsse und einen 1/8“ Anschluss auf. Hierfür wurden jeweils passende<br />

Anschlüsse gefertigt und mit Heizungsverschraubungen versehen.<br />

Seite 8


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

Um die Störkreislauf mit Öl zu versorgen und<br />

den normalen Betrieb nicht zu stören musste<br />

eine zweite Ansaugleitung eingebracht<br />

werden. Da die zusätzliche Ansaugleitung<br />

nicht neben die vorhandene Ansaugleitung, in<br />

den Behälter, eingebracht werden, und so<br />

auch nicht verlötet werden konnte wurden die<br />

Ansaugleitungen von oben in die Behälter<br />

geführt. Die Einläufe der Versorgung und<br />

der Störgröße wurden mit 90 Grad Bögen<br />

versehen um ein kontrolliertes einfließen zu<br />

gewährleisten.<br />

4.2.3 Pumpen- und Motorenbefestigung<br />

Die Pumpenbefestigung sowie die Motorenbefestigung wurden aus dem gleichen<br />

Material gefertigt wie die Frontplatte, um eine stabile Befestigung zu bekommen.<br />

Desweiteren bekamen alle Befestigungen eine Gummiplatte als Unterlage, zur<br />

Entkopplung der<br />

Geräuschübertragung. In die<br />

Platten der Pumpenbefestigung<br />

wurden Schrauben eingearbeitet<br />

und verklebt. So entstand eine<br />

Befestigung, die auch nach<br />

mehrfacher Montage und<br />

Demontage der Pumpe noch fest<br />

sitzt.<br />

Seite 9


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

4.2.4 Plattenkondensatoren<br />

Die Plattenkondensatoren der neuen Anlage wurden aus Aluminium gefertigt, so<br />

dass die Anschlüsse nicht wie in<br />

der alten Anlage angelötet werden<br />

konnten. Wir entschieden uns, an<br />

der Seite der Platten einen Schnitt<br />

vorzunehmen, um die aus dem<br />

KFZ-Bereich üblichen Steck-<br />

verbinder nutzen zu können.<br />

4.2.5 Störgrößenpumpe und Motor<br />

Für die Störgrößenpumpe war die Pumpe SR25-300S mit Schrittmotor und<br />

Ansteuerungsplatine vorgesehen, diese wurde aus Kostengründen abgelehnt.<br />

Nach einigen Versuchen und Messungen verwendeten wir die gleiche Pumpe die wir<br />

schon im Hauptkreislauf zum Einsatz gebracht haben, nur die Übersetzung des<br />

Motors beträgt nun 1:25 und die Spannungsversorgung wurde auf 12V festgelegt.<br />

Seite<br />

10


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

<strong>4.2.6</strong> Aufnahme für das Leybold-System<br />

Die Aufnahme für das Leybold<br />

Stecksystem wurde wie die Anlage<br />

aus grauen Kunststoffplatten gefertigt,<br />

diese wurde dann an das Holz<br />

geschraubt. In dieses Holz wurden<br />

wiederum die Aufnahmen für die<br />

Platinen gefräst, sie bekamen oben<br />

und unten Schlitze, in die die Platinen<br />

gesteckt werden und an einigen<br />

Stellen passende Ausschnitte für die<br />

Anschlüsse.<br />

Seite<br />

11


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

<strong>4.2.6</strong> <strong>Hauptplatine</strong><br />

Die <strong>Hauptplatine</strong> wurde technisch nicht verändert. Das Löten der Platine wurde, wie<br />

von der Vorgruppe vorgeschlagen, mit einem Fädelstift ausgeführt. Leider waren die<br />

Ergebnisse nicht zufriedenstellend. Man kann festhalten, dass von zehn Lötstellen<br />

durchschnittlich sechs nachgelötet werden mussten, da die Isolierung der auf dem<br />

Fädelstift aufgerollten Leitung nicht geschmolzen war. Den Durchgangsprüfer sollte<br />

man bei den Arbeiten mit dem Fädelstift immer griffbereit haben.<br />

Seite<br />

12


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

4.2.7 Relaisplatine<br />

Die Relaisplatine wurde nicht mit einem Fädelstift gefertigt, was einfacher und<br />

sicherer war. Auf der Platine befindet sich die Spannungsversorgung der<br />

<strong>Hauptplatine</strong>, die Hand / Automatik Umschaltung sowie die Ansteuerung über Cassy.<br />

Seite<br />

13


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

5 Programm Änderungen<br />

Um die Änderungen zu verdeutlichen, zeigen wir hier einen Teil des alten<br />

Programmcode mit den Änderungen in rot dahinter:<br />

;***************************************************************************<br />

;*<br />

;* Lese Daten vom EEPROM<br />

;* Programmcode aus Application Note "AVR100" von ATMEL<br />

;*<br />

;***************************************************************************<br />

EERstart:<br />

EERead:<br />

;<br />

;<br />

rdup:<br />

;<br />

clr ZH<br />

ldi ZL,3<br />

ldi tmp,0<br />

mov EEard,tmp<br />

sbic EECR,EEWE<br />

rjmp EERead<br />

out EEARL,EEard<br />

sbi EECR,EERE<br />

in EEdrd,EEDR<br />

mov tmp,EEard<br />

cpi tmp,0<br />

brne rdup<br />

mov tmp,EEdrd<br />

cpi tmp,0xFF<br />

breq leer // aus dem breq machten wir einen Sprung-<br />

Befehl nach leer, um in jedem Fall den von uns gewünschten<br />

Divisor zu laden<br />

st Z,EEdrd<br />

inc ZL<br />

inc EEard<br />

cpi ZL,12<br />

brne EERead<br />

rjmp start<br />

;***************************************************************************<br />

;*<br />

;* Schreibe Standarddaten wenn EEPROM leer ist<br />

;*<br />

;***************************************************************************<br />

Seite<br />

14


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

leer:<br />

;<br />

ldi tmp,10<br />

mov per,tmp ; setze Periodenanzahl = 10<br />

ldi tmp,3<br />

mov mulL,tmp ; setze Multiplikator = 3<br />

clr mulH<br />

ldi tmp,50<br />

mov divL,tmp ; setze Divisor = 50<br />

//diesen Divisor setzten wir auf 12<br />

clr divH<br />

Das ganze war nötig, um die analoge Ausgansspannung zu erhöhen, da diese zu<br />

Beginn unserer Testläufe höchstens 2,4 Volt erreichte, und das bei überlaufendem<br />

Behälter. Dabei machten die 2,4 Volt ca. ein viertel der gewünschten 10 Volt<br />

Ausgangsspannung aus, somit war klar das wir den Divisor ebenfalls vierteln<br />

mussten und so kamen wir auf die nun im Programmcode implementierten 12.<br />

Ansonsten blieb das Programm wie folgt:<br />

;***************************************************************************<br />

;* *<br />

;* *<br />

;* ,. *<br />

;* i:;; *<br />

;* :i .;: :,ii,: *<br />

;* :::::::::ii::: .GDW######Ei *<br />

;* ;f t: j;D####EGE#####: *<br />

;* ;f ;i ,D###WL..i:K####i *<br />

;* ;f ;: ;####W: ,#####: *<br />

;* ;f,,,;. i####K: f####L *<br />

;* it:::::::::K####; .D####L: *<br />

;* ;f .####W, .jW###KitDL, *<br />

;* ;f D#####EK####E; j###L: *<br />

;* :t;;;;;;;;;iL#######KLti;;D##Git. *<br />

;* .,iii:. .,: *<br />

;* *<br />

;* *<br />

;* *<br />

;* HANS-SACHS-BERUFSKOLLEG, OBERHAUSEN *<br />

;* AM FÖRDERTURM 5 *<br />

;* 46049 OBERHAUSEN *<br />

;* *<br />

;* *<br />

;* *<br />

;* *<br />

Seite<br />

15


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;* PROJEKT: FÜLLSTANDSREGELUNG EINES 3-BEHÄLTER SYSTEMS *<br />

;* *<br />

;* GRUPPE: THOMAS ROTHSTEIN *<br />

;* JENS JANSSEN *<br />

;* MARTIN SEKULAK *<br />

;* *<br />

;* Änderungen: *<br />

;* 2008 durch Stefan Fockenberg & Patrick Prgjanac *<br />

;* mit der freundlichen Unterstützung duch *<br />

;* OSTR W. GRÜGER *<br />

;* *<br />

;* PROJEKTLEITER: OSTR W. GRÜGER *<br />

;* *<br />

;* *<br />

;***************************************************************************<br />

;<br />

.NOLIST<br />

.INCLUDE "C:\Programme\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc"<br />

.LIST<br />

;<br />

;***************************************************************************<br />

;*<br />

;* Konstanten setzen<br />

;*<br />

;***************************************************************************<br />

.EQU fq=4000000 ; Quarzfrequenz<br />

.EQU baud=9600 ; Baudrate<br />

.EQU bdteiler=(fq/(16*baud))-1 ; Baud-Teiler<br />

;<br />

;<br />

main:<br />

rjmp main<br />

;***************************************************************************<br />

;*<br />

;* Register Impulswerterfassung u. Datenübertragung<br />

;*<br />

;***************************************************************************<br />

.DEF stRead=R0 ; Zykluszähler<br />

.DEF trans=R1 ; Transferregister<br />

.DEF n=R2 ; Periodenzähler<br />

.DEF per=R3 ; Anzahl zu erfassender Perioden<br />

.DEF mulL=R4 ; Umrechnungsmultiplikator Low-Byte<br />

.DEF mulH=R5 ; Umrechnungsmultiplikator High-Byte<br />

.DEF divL=R6 ; Umrechnungsdivisor Low-Byte<br />

.DEF divH=R7 ; Umrechnungsdivisor High-Byte<br />

.DEF fmulL=R8 ; Umrechnungsmultiplikator für PC Low-Byte<br />

.DEF fmulH=R9 ; Umrechnungsmultiplikator für PC High-Byte<br />

.DEF fdivL=R10 ; Umrechnungsdivisor für PC Low-Byte<br />

Seite<br />

16


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

.DEF fdivH=R11 ; Umrechnungsdivisor für PC High-Byte<br />

.DEF sw=R12 ; Protokollwechsel 1 2<br />

.DEF tmp=R23 ; Universalregister<br />

.DEF impw=R24 ; Periodendauer (Wortregister)<br />

.DEF impL=R24 ; Periodendauer Low-Byte<br />

.DEF impH=R25 ; Periodendauer High-Byte<br />

.DEF subw=R26 ; Periodendauerspeicher für Nullpunkt-Setzen (Wortregister)<br />

.DEF subL=R26 ; Periodendauerspeicher für Nullpunkt-Setzen Low-Byte<br />

.DEF subH=R27 ; Periodendauerspeicher für Nullpunkt-Setzen High-Byte<br />

;***************************************************************************<br />

;*<br />

;* Register Multiplikation<br />

;*<br />

;***************************************************************************<br />

.def mc16uL =r16 ;multiplicand Low byte<br />

.def mc16uH =r17 ;multiplicand High byte<br />

.def mp16uL =r18 ;multiplier Low byte<br />

.def mp16uH =r19 ;multiplier High byte<br />

.def m16u0 =r18 ;result byte 0 (LSB)<br />

.def m16u1 =r19 ;result byte 1<br />

.def m16u2 =r20 ;result byte 2<br />

.def m16u3 =r21 ;result byte 3 (MSB)<br />

.def mcnt16u =r22 ;loop counter<br />

;<br />

;***************************************************************************<br />

;*<br />

;* Register Division<br />

;*<br />

;***************************************************************************<br />

.def drem16uL=r14<br />

.def drem16uH=r15<br />

.def dres16uL=r16<br />

.def dres16uH=r17<br />

.def dd16uL =r16<br />

.def dd16uH =r17<br />

.def dv16uL =r18<br />

.def dv16uH =r19<br />

.def dcnt16u =r20<br />

;<br />

;***************************************************************************<br />

;*<br />

;* Register für Speichern in EEPROM<br />

;*<br />

;***************************************************************************<br />

.def EEdwr =r13;data byte to write to EEPROM<br />

.def EEawr =r14;address low byte to write to<br />

;<br />

;***************************************************************************<br />

;*<br />

Seite<br />

17


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;* Register für lesen aus EEPROM<br />

;*<br />

;***************************************************************************<br />

.def EEdrd =r13;result data byte<br />

.def EEard =r14;address low to read from<br />

;<br />

;***************************************************************************<br />

;*<br />

;* Initialisierung<br />

;*<br />

;***************************************************************************<br />

;<br />

clr stRead<br />

ldi tmp,0b11111010<br />

out DDRB,tmp ; Port B initialisieren<br />

ldi tmp,0b00000000<br />

out DDRD,tmp ; Port D initialisieren<br />

ldi tmp,bdteiler ; Baudgenerator<br />

out UBRR,tmp ; Teiler setzen<br />

ldi tmp,0b00011000 ; Enable TX und RX<br />

out UCR,tmp ; an UART Control Register<br />

;***************************************************************************<br />

;*<br />

;* Lese Daten vom EEPROM<br />

;* Programmcode aus Application Note "AVR100" von ATMEL<br />

;*<br />

;***************************************************************************<br />

EERstart:<br />

EERead:<br />

;<br />

;<br />

rdup:<br />

clr ZH<br />

ldi ZL,3<br />

ldi tmp,0<br />

mov EEard,tmp<br />

sbic EECR,EEWE<br />

rjmp EERead<br />

out EEARL,EEard<br />

sbi EECR,EERE<br />

in EEdrd,EEDR<br />

mov tmp,EEard<br />

cpi tmp,0<br />

brne rdup<br />

mov tmp,EEdrd<br />

cpi tmp,0xFF<br />

rjmp leer ;von breq leer geändert nach rjmp leer 2008<br />

st Z,EEdrd<br />

Seite<br />

18


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;<br />

inc ZL<br />

inc EEard<br />

cpi ZL,12<br />

brne EERead<br />

rjmp start<br />

;***************************************************************************<br />

;*<br />

;* Schreibe Standarddaten wenn EEPROM leer ist<br />

;*<br />

;***************************************************************************<br />

leer:<br />

;<br />

ldi tmp,10<br />

mov per,tmp ; setze Periodenanzahl = 10<br />

ldi tmp,3<br />

mov mulL,tmp ; setze Multiplikator = 3<br />

clr mulH<br />

ldi tmp,12<br />

mov divL,tmp ; setze Divisor = 12 von 50 auf 12 geändert 2008<br />

clr divH<br />

;***************************************************************************<br />

;***************************************************************************<br />

;**<br />

;** Hier beginnt das Hauptprogramm<br />

;**<br />

;***************************************************************************<br />

;***************************************************************************<br />

start:<br />

;<br />

inc stRead ; erhöhe Zykluszähler um eins<br />

mov tmp,stRead<br />

cpi tmp,250 ; vergleiche Zykluszähler mit 250<br />

brlo start2 ; springe bei weniger als 250 durchlaufenen Zyklen<br />

clr stRead ; setze zykluszähler = 0<br />

rjmp EERstart ; springe zum einlesen vom EEPROM<br />

;***************************************************************************<br />

;*<br />

;* soft-Reset<br />

;*<br />

;***************************************************************************<br />

start2:<br />

;<br />

ldi tmp,0 ; setze Universalregister auf 0<br />

mov n,tmp ; lade 0 ins Periodenzählregister<br />

ldi impl,0 ; setze Periodendauerregister Low-Byte auf 0<br />

ldi imph,0 ; setze Periodendauerregister High-Byte auf 0<br />

;***************************************************************************<br />

Seite<br />

19


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;***************************************************************************<br />

;**<br />

;** Steigende Flanke auswerten<br />

;**<br />

;***************************************************************************<br />

;***************************************************************************<br />

flwait0:<br />

flwait1:<br />

;<br />

sbic PINB,0 ; springe bei 0-Signal<br />

rjmp flwait0 ; warte auf Negative Flanke<br />

sbis PINB,0 ; springe bei 1-Signal<br />

rjmp flwait1 ; warte auf Positive Flanke<br />

;***************************************************************************<br />

;*<br />

;* Impulslänge PINB0=true erfassen<br />

;*<br />

;***************************************************************************<br />

cttrue:<br />

sbis PINB,0 ; springe bei 1-Signal<br />

rjmp ctfalse ; springe zur Überprüfung der neg. Periodendauer wenn PINB0=false<br />

nop ; nops = um die Bearbeitungszyklen von true und false<br />

glech zu halten<br />

ctrst:<br />

;<br />

nop<br />

nop<br />

adiw impw,1 ; erhöhe Periodendauer um 1<br />

rjmp cttrue ; springe zur Überprüfung ob PINB0 immer noch =true<br />

;***************************************************************************<br />

;*<br />

;* Impulslänge PINB0=false erfassen<br />

;*<br />

;***************************************************************************<br />

ctfalse:<br />

;<br />

sbic PINB,0 ; springe bei 0-Signal<br />

rjmp posfl ; springe zur Überprüfung der Periodenanzahl wenn PINB0=true<br />

nop<br />

nop<br />

nop<br />

adiw impw,1 ; erhöhe Periodendauer um 1<br />

rjmp ctfalse ; springe zur Überprüfung ob PINB0 immer noch =false<br />

;***************************************************************************<br />

;*<br />

;* Zu erfassende Periodenanzahl überprüfen<br />

;*<br />

;***************************************************************************<br />

posfl:<br />

mov tmp,n ; schiebe zu oberes Register<br />

Seite<br />

20


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;<br />

cp tmp,per ; vergleiche aktuelle Periodenanzahl mit abgespeicherter<br />

brsh tnull ; springe wenn zu erfassende Periodenanzahl erreicht<br />

inc n ; Periodenzähler um eins erhöhen<br />

rjmp ctrst ; springe zur Überprüfung der nächsten Periode<br />

;***************************************************************************<br />

;*<br />

;* Taster für Nullpunkt-Setzen auswerten<br />

;*<br />

;***************************************************************************<br />

tnull:<br />

;<br />

sbis PINB,2 ; springe wenn Taster nicht gedrückt<br />

rjmp save<br />

;***************************************************************************<br />

;***************************************************************************<br />

;**<br />

;** ANFRAGEN VOM PC EMPFANGEN<br />

;**<br />

;***************************************************************************<br />

;***************************************************************************<br />

;<br />

rloop:<br />

;<br />

sbis USR,RXC ; springe wenn Zeichen im Empfangspuffer vorliegt<br />

rjmp subw ; wenn nicht gehe weiter zur Berechnung<br />

in tmp,UDR ; lade Zeichen<br />

;***************************************************************************<br />

;*<br />

;* Head = r zum übermitteln der Sendeprotokolle 1+2<br />

;*<br />

;***************************************************************************<br />

;<br />

cpi tmp,'r' ; vergleiche Zeichen mit r<br />

brne rloop2 ; wenn nicht = r dann springe<br />

ldi tmp,1<br />

mov trans,tmp ; lade 1 in Transfermerker<br />

rjmp subw ; springe zur Berechnung<br />

;***************************************************************************<br />

;*<br />

;* Head = d zum übermitteln des Sendeprotokolls 2<br />

;*<br />

;***************************************************************************<br />

rloop2:<br />

;<br />

cpi tmp,'d' ; vergleiche Zeichen mit d<br />

brne rloop3 ; wenn nicht = d dann springe<br />

ldi tmp,2<br />

mov trans,tmp ; lade 2 in Transfermerker<br />

rjmp subw ; springe zur Berechnung<br />

Seite<br />

21


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

;***************************************************************************<br />

;*<br />

;* Head = s für Abspeicherung des aktuellen Periodenwertes<br />

;*<br />

;***************************************************************************<br />

rloop3:<br />

rloop4:<br />

cpi tmp,'s' ; vergleiche Zeichen mit s<br />

brne rloop5 ; wenn nicht = s dann springe<br />

sbis USR,RXC ; springe wenn Zeichen im Empfangspuffer vorliegt<br />

rjmp rloop4 ; wenn nicht dann warte bis eins vorliegt<br />

in tmp,UDR ; lade Zeichen<br />

cpi tmp,'i' ; vergleiche Zeichen mit i<br />

breq save ; wenn = i dann springe zum abspeichern<br />

rjmp subw ; wenn nicht springe zur Berechnung<br />

;***************************************************************************<br />

;*<br />

;* Head = e zum Empfang von Daten<br />

;*<br />

;***************************************************************************<br />

rloop5:<br />

;<br />

cpi tmp,'e' ; vergleiche Zeichen mit e<br />

breq empf ; wenn Zeichen = s dann empfange Daten<br />

rjmp subw ; wenn nicht gehe weiter zur Berechnung<br />

;***************************************************************************<br />

;***************************************************************************<br />

#<br />

Seite<br />

22


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6 SCHALTPLÄNE<br />

6.1 <strong>Hauptplatine</strong><br />

ISP-Schnittstelle Setztaster für Nullpunkt Umschalter RS-232<br />

Behälter 3<br />

Behälter 2<br />

Seite<br />

23<br />

Behälter 1<br />

Kondensatorplatten Analogausgang<br />

RS-232 Schnittstelle<br />

Spannungsstabilisation<br />

Versorgungsspannung


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.1.1 Behälter 1<br />

Seite<br />

24


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.1.2 Behälter 2<br />

Seite<br />

25


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.1.3 Behälter 3<br />

Seite<br />

26


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.1.4 Füllstandserfassung<br />

Seite<br />

27


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.2 Relaisplatine<br />

6.2.1 Hauptversorgung<br />

Seite<br />

28


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.2.2 Hand/Auto Umschaltung<br />

Seite<br />

29


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.2.3 Störgrößensteuerung<br />

Seite<br />

30


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.2.4 Cassy Steuerung 1<br />

Seite<br />

31


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

6.2.5 Cassy Steuerung 2<br />

Seite<br />

32


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

7 Materialliste<br />

Bestellung / Kostenvoranschlag<br />

Pos. Menge Bezeichnung / Material Artikelnummer<br />

1 1<br />

2 2<br />

3 1<br />

4 1<br />

5 1<br />

6 1<br />

7 1<br />

Boxen 110x50x90mm, Acrylglas<br />

6mm farblos<br />

Boxen 110x50x70mm, Acrylglas<br />

6mm farblos<br />

Boxen 250x50x140mm, Acrylglas<br />

6mm farblos<br />

Zuschnitte 570x500mm, Max<br />

6mm grau<br />

Zuschnitte 300x200mm, Max<br />

6mm grau<br />

Zuschnitte 250x200mm, Max<br />

6mm grau<br />

Getriebemotor MFA 540 50:1 4,5 -<br />

15 V 222365 - 62<br />

8 1 Alublech 400x200x0,8mm 297917-62<br />

9 2 Festspannungsregler 5V 179205-66<br />

10 1 Festspannungsregler 78S12<br />

11 3 Freilaufdiode IN4007 162272-66<br />

12 10 Submini- Relais<br />

Bananenbuchse grün 4mm<br />

G6K-2P 5V<br />

13 1 vollisoliert<br />

Bananenbuchse rot 4mm<br />

BB 4GN<br />

14 12 vollisoliert<br />

Bananenbuchse schwarz 4mm<br />

BB 4RT<br />

15 12 vollisoliert BB 4SW<br />

16 1 Stufenschalter 2x6<br />

Anschlussklemmensystem, 2pol,<br />

DS 2P<br />

17 27 RM5,08<br />

Anschlussklemmensystem, 3pol,<br />

AKL249-02<br />

18 3 RM5,08<br />

Wannenstecker für AKL 249, 2pol,<br />

AKL249-03<br />

19 27 RM5,08<br />

Wannenstecker für AKL 249, 3pol,<br />

AKL220-02<br />

20 3 RM5,08 AKL220-03<br />

D- Submin- Steckverbinder<br />

D-SUB ST<br />

21 1 gewinkelt<br />

O9GW<br />

22 2 Wannenstecker 10-polig, gerade<br />

Lochrasterplatine + SUB-D,<br />

WSL 10G<br />

23 1 160x100mm<br />

Lochrasterplatine Euro,<br />

RE224EP<br />

24 1 160x100mm UP913EP<br />

25 3 Controller ATtiny2313 2313DIP<br />

Seite<br />

33<br />

Einzelpreis Lieferant<br />

46,40 € Lobotec GmbH<br />

45,24 € Lobotec GmbH<br />

52,20 € Lobotec GmbH<br />

21,46 € Lobotec GmbH<br />

5,80 € Lobotec GmbH<br />

4,64 € Lobotec GmbH<br />

Conrad Electronic<br />

22,95 € GmbH<br />

Conrad Electronic<br />

3,75 € GmbH<br />

Conrad Electronic<br />

0,56 € GmbH<br />

0,10 €<br />

Conrad Electronic<br />

GmbH<br />

2,95 € reichelt elektronik<br />

0,25 € reichelt elektronik<br />

0,25 € reichelt elektronik<br />

0,32 € reichelt elektronik<br />

1,56 € reichelt elektronik<br />

0,32 € reichelt elektronik<br />

0,46 € reichelt elektronik<br />

0,15 € reichelt elektronik<br />

0,22 € reichelt elektronik<br />

0,52 € reichelt elektronik<br />

0,06 € reichelt elektronik<br />

4,20 € reichelt elektronik<br />

3,45 € reichelt elektronik<br />

1,65 € reichelt elektronik


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

Pos.<br />

Menge<br />

Bezeichnung / Material<br />

Seite<br />

34<br />

Artikelnummer<br />

27 12 IC- Fassung 8polig GS8<br />

28 1 IC- Fassung 16polig GS16<br />

29<br />

3<br />

IC- Fassung 20polig<br />

GS20<br />

30 3 Kondensator 1μF<br />

Keramik-Scheibenkondensator 33<br />

MKS-2-5 1,0μ<br />

31 6 pF Kerko 33p<br />

32 6 Kondensator 0,1μF MKS-2-5 100n<br />

33 4 Kondensator 10μF RAD 10/63<br />

34 3 Transistor BC548C<br />

35 3 Quarz 4MHz 4,000-HC49U-S<br />

36 1 Aufsteckkörper für TO220 V FI 343<br />

B80C1500<br />

37 3 Brückengleichrichter<br />

Rund<br />

B80C3700-<br />

38 1 Brückengleichrichter<br />

WW+<br />

39 4 Kohleschichtwiderstände 150Ω 1W 150Ω<br />

40 6 Kohleschichtwiderstände 8,2kΩ 1W 8,2kΩ<br />

41 6 Kohleschichtwiderstände 1MΩ 1W 1MΩ<br />

42 10 Kohleschichtwiderstände 10kΩ 1W 10kΩ<br />

43 3 Kohleschichtwiderstände 15kΩ 1W 15kΩ<br />

44 6 Kohleschichtwiderstände 47kΩ 1W 47kΩ<br />

45 3 Kohleschichtwiderstände 2,2kΩ 1W 2,2kΩ<br />

46 3 Kohleschichtwiderstände 39kΩ 1W 39kΩ<br />

47 1 Trimmpotentiometer 1KΩ 926-20 1k<br />

48 1 Taster Taster 1100gn<br />

49 1 Frontsätze für Taster Frontsatz<br />

Wippe<br />

50 1 Wippen<br />

1801.1146<br />

Wippe<br />

51 1 Wippen<br />

1808.1102<br />

52 1 ISP- Schnittstelle Max 232 N MAX 232 CPE<br />

53 1 Low - Cost - LED gelb, 5mm LED 5mm ge<br />

4 1 Magnetventile 12V 80003<br />

Einzelpreis<br />

Lieferant<br />

0,03 € reichelt elektronik<br />

0,04 € reichelt elektronik<br />

0,05 € relektronik<br />

0,43 € reichelt elektronik<br />

0,04 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,04 € reichelt elektronik<br />

0,04 € reichelt elektronik<br />

0,20 € reichelt elektronik<br />

1,30 € reichelt elektronik<br />

0,14 € reichelt elektronik<br />

0,72 € reichelt elektronik<br />

0,15 € reichelt elektronik<br />

0,15 € reichelt elektronik<br />

0,15 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,12 € reichelt elektronik<br />

0,43 € reichelt elektronik<br />

1,65 € reichelt elektronik<br />

0,30 € reichelt elektronik<br />

0,77 € reichelt elektronik<br />

1,25 € reichelt elektronik<br />

0,40 € reichelt elektronik<br />

0,05 € reichelt elektronik<br />

29,90 €<br />

www.yatego.com


<strong>Hans</strong>-<strong>Sachs</strong>-<strong>Berufskolleg</strong><br />

Projekt: Regelstrecke<br />

Teilnehmer: Patrick Prgjanac, Stefan Fockenberg<br />

Pos. Menge Bezeichnung / Material Artikelnummer Einzelpreis Lieferant<br />

56 6 Radiatorverschraubung 1/1"<br />

57 16 Kupferbogen 90 Grad 15mm<br />

58 2 Verschraubung 1/4"<br />

59 1 Verschraubung 1/8"<br />

60 2 Kupferbogen 90 Grad 18mm<br />

61 4 Kupferbogen 45 Grad 18mm<br />

Seite<br />

35

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!