referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Dimmer

 

Realisierung einer mikroprozessorgesteuerten Dimmerschaltung über I2C-Bus mit VisualBasic.

  1. Inhaltsverzeichnis

2 AUFGABENSTELLUNG 3

3 THEORETISCHE GRUNDLAGEN 3

4 SCHALTUNGEN 4

 

4.1 Prinzipschaltung 4

4.2 Schaltung für Layout 4

4.3 Layout 5

 

5 BAUTEILWERTE 5

6 SCHALTUNGSERKLÄRUNG 6

7 DIMENSIONIERUNG 6

8 OSZILLOGRAMME 8

9 PROGRAMME UND FLUßDIAGRAMME 9

 

9.1 Programmversion von Bögner & Zeman 9

9.2 Weiterbearbeitung des Bögner & zeman – programmes 12

 

10 ABSCHLIEßENDE FEHLERBEHEBUNG 18

11 FEHLERANALYSE 19

12 NEUE SCHALTUNG 19

 

12.1 Prinzipschaltung 19

12.2 Schaltung für Layout 20

12.3 Layout 20

 

ANHANG 21

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  1. Aufgabenstellung

  28335rmn98fcg1u

Weiterbearbeitung der von Bögner & Zeman (5 HNA 97) entwickelten Schaltung einschließlich Fehlerbehebung. In weiterer Folge dann Ansteuerung über I2C-Bus und Benutzeroberfläche mit Visual Basic programmieren.

Nach Aufbau der Schaltung und Programmierung des vorhanden Programmes (aus der Dokumentation von Bögner & Zeman) stellten wir folgende Fehler fest :

·) Die Lampe flackerte in unregelmäßigen Abständen.

·) Die Routine für die Dünkler-Einstellung dauerte länger als jene für die Heller-Einstellung.

  1. Theoretische Grundlagen

  28335rmn98fcg1u

  28335rmn98fcg1u

Siehe ANHANG A.

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  1. Schaltungen

  28335rmn98fcg1u

    1. PRINZIPSCHALTUNG

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

  28335rmn98fcg1u

In der Prinzipschaltung wurde die Leitung und der R6 (Pull-Up) für die Resetschaltung des uP nicht berücksichtigt.

    1. SCHALTUNG FÜR LAYOUT

  28335rmn98fcg1u

    1. LAYOUT

  1. Bauteilwerte

  28335rmn98fcg1u

  28335rmn98fcg1u

Baut.
Wert
Baut.
Wert
R1
10k/10W
C1
1mF/16V
R2
390 k
C2
10 nF
R3
39 k
C3
10 mF
R4
330 E
C4
40 pF
R5
10 k
C5
40 pF
R6
10 k
Z1
5V6
R7
330 E
Z2
5V6
R8
10 k
D1
1N4004
R9
1 M
D2
1N4004
R10
100 k
D3
1N4004

  28335rmn98fcg1u

  1. Schaltungserklärung

 

Der erste Teil der Schaltung (R1, Z1, D1, C1) dient dazu, um die Versorgungsspannung für den Inverter zu erzeugen. Über die Zenerdiode werden die 5,6 V erzeugt und mit dem C1 geglättet. Der zweite Teil (R2, R3, Z2) dient dazu, um das Eingangssignal für den Inverter zu liefern (ca. 50 Hz-Rechteck) und gewährleistet die Nulldurchgangsdetektion. R4 und R6 sind die Vorwiderstände für die LED des Optokopplers bzw. Optotriacs. Über den Optokoppler bzw. Optotriac wird der Laststromkreis vom mP-Stromkreis getrennt. Da der Optokoppler einen Open-Kollektor-Ausgang hat, wurde R5 als Pull-Up-Widerstand verwendet. C3 wird auf Versorgungsspannung (325 V) geladen. R9 muß genügend groß sein, um zu gewährleisten, daß der Strom durch R9 unter dem Zündstromminimum bleibt. R8 muß so dimensioniert werden, daß der Strom IGT in dem vom Datenblatt gegebenen Bereich liegt. C2 wurde über die im Datenblatt angeführte Impulsbreite dimensioniert.

  28335rmn98fcg1u

  1. Dimensionierung

 

Für R4 und R6 :

Annahme : I = 10 mA

UD = 1,5 V Þ R4 = R6 = = 350 W Þ

 

R4 = R6 = 330 W

 

R5 gewählt als Pull-Up mit R5 = 10 kW

Dimensionierung des Laststromkreises :

Laut Datenblatt : Typische Haltezeit des Zündstromes : tGT = 2 ms. (Gewählt : 15 ms)

Bereich des Zündstromes : IGT = 1..35 mA. (Gewählt : 32,5 mA)

Berechnung : R7 = = 10kW R8 > = 326 kW gewählt R8 = 1 MW

R9 = C2 = = » 10 nF

Berechnung des C3 :

Annahme: t = 8 msec.....Zeit, welche der Kondensator hat, um sich auf 325 V aufzuladen.

U » 325 V (Kondensatorspannung)

= 230 × = 325,269 V (tatsächlicher Spitzenwert)

U = Þ t = = 9,665

t = R × C Þ C3 = = gewählt: C3 = 10 uF

  28335rmn98fcg1u


  1. Oszillogramme

  28335rmn98fcg1u

Diese Meßergebnisse wurden am 4.2.98 mit der Programmversion „dimmer5“ aufgenommen.

(Bei 200 V Versorgungsspannung)

  1. Programme und Flußdiagramme

    1. PROGRAMMVERSION VON BÖGNER & ZEMAN

***************************************** mc335r8298fccg

* PROGRAMM : dimmer1.asm *

***************************************** mc335r8298fccg

charin code 3027h ;Char in hide

port11 equ 91h ;Port-Pin 1.1

zeitv equ R3 ;Feineinstellung (Tastatur)

malzeitv equ 60d ;Grobeinstellung (Konstante)

;************************************* ISR ***************************************** mc335r8298fccg

org 8003h

jmp INTERRUPT

;****************************** HAUPTPROGRAMM *********************************

org 8200h

mov zeitv,#2d ;Maximale Helligkeit

setb port11 ;Finsterniss

orl tcon,#01h ;IT0 Flanken-aktiv (neg. Flanke)

setb ea ;Alle enabled

setb ex0 ;Externer Int. enabled

ABFRAGE:

call charin ;Zeichen einlesen

mov R0,A ;Zeichen ins Register retten

subb A,#64h ;Wenn Zeichen=d dann A=0

jz DUENKLER ;Wenn A=0 dann DUENKLER

mov A,R0 ;Gerettetes Zeichen wieder in Akku

subb A,#68h ;Wenn Zeichen=h dann A=0

jz HELLER ;Wenn A=0 dann HELLER

jmp ABFRAGE ;Wenn keines der beiden dann ABFRAGE

DUENKLER:

mov a,zeitv

subb a,#67d ;Kontrolle ob Lampe dunkel

jz ABFRAGE ;Wenn ja...ABFRAGE

mov a,zeitv

inc a ;zeitv um einen Wert vergrößern ® duenkler

mov zeitv,a ;wieder zurückschreiben

jmp ABFRAGE

HELLER:

mov a,zeitv

subb a,#2d ;Kontrolle ob Lampe voll leuchtet

jz ABFRAGE ;Wenn ja...ABFRAGE

mov a,zeitv

dec a ;zeit um einen Wert verringern ® heller

mov zeitv,a ;wieder zurückschreiben

jmp ABFRAGE

;******************************* UNTERPROGRAMM ********************************

INTERRUPT:

;=========

SPRUNG:

mov a,zeitv

TIME0:

dec a ;Zeitverzögerung abhängig von zeitv

mov r2,#malzeitv ;Allgemeine Zeitverzögerung (Konstante)

;R2 (Malzeitv) dient als konstante Zeitver-

;zögerung

TIME1:

djnz r2,TIME1 ;Malzeitkonstante decrementieren

;Wenn nicht Null dann TIME1

;Wenn Null dann Kontrolle ob A (zeitv) 0 ist

jnz TIME0 ;Wenn nicht Null dann TIME0

;Wenn A=0 und R2=0 dann :

clr port11 ;Ausgabe des Zündimpulses (Leuchtphase)

;(60*zeitv)

mov r4,#100d ;Konstante Zeitverzögerung

LOOP1:

djnz r4,LOOP1 ;Wenn Konstante Verzögerung abgelaufen, dann :

setb port11 ;Kein Zündimpuls (Dunkelphase) (100)

mov r5,#255d ;Allgemeine Zeitverzögerung

LOOP2:

mov r6,#16d

LOOP3:

djnz r6,LOOP3

djnz r5,LOOP2 ;Verschachtelte Zeitschleife (LOOP2/3)

clr port11 ;Zündimpuls (Leuchtphase) (16*255=4080)

mov r4,#100d ;Allgemeine Zeitverzögerung

LOOP4:

djnz r4,LOOP4

setb port11 ;Kein Zündimpuls (dunkelphase) (100)

RETI

END

    1. WEITERBEARBEITUNG DES BÖGNER & ZEMAN – PROGRAMMES

Dokumentation : Diese Version ist die ursprüngliche Version aus der Dokumentation von Bögner & Zeman.

Aufgetretene Fehler : ·) Lampe flackert in unregelmäßigen Abständen

·) Funktion DÜNKLER dauert länger als HELLER

Ursache: ·) Dadurch, daß die Lampe flackert, wurden über die Leitungen aufgetretene Spikes in den Beginn der Schaltung rückgekoppelt ® Lampe flackert.

·) Die Ursache warum DÜNKLER länger dauert als HELLER konnte noch nicht gefunden werden

Fehlerbehebungsversuch :

Zuerst versuchten wir, über einen Tiefpaß die Störimpulse wegzufiltern. Da die Spikes aber so kurz waren, daß der Tiefpaß sie nicht wegfiltern konnte, versuchten wir in einer neuen Version des Programmes die im System aufgetretenen Spikes softwaremäßig auszuschalten, indem wir zu Beginn des Interrupts eine Routine einfügten, in der bei einem High-Zustand am Port-Pin 3.2 (externer Interrupt) die Interrupt-Serviceroutine sofort verlassen wird. (Interrupt wird bei Low am Pin 3.2 ausgelöst). Bei einem Low-Zustand am Pin muß dieser mindestens so lange sein, daß der mP die in den Akku hineingeschriebene Konstante von 10d bis 0d dekrementieren kann ® kurze Spikes werden nicht anerkannt.

Einzufügende Routine nach INTERRUPT :

push acc ;damit Inhalt aus Akku nicht verloren geht

mov a,#10d

s: jb p3.2,r ;wenn Bit am Port gesetzt (kein Interrupt) - ISR verlassen

dec a

jnz s ;wenn Akku = 0 dann ISR weiter baerbeiten

Und am Ende des Programmes :

r: pop acc ;Inhalt aus Akku wiederherstellen

RETI ;ISR verlassen

Dokumentation : Das Flackern blieb trotz Softwareänderung bei 230V gleich. Durch Zufall stellten wir fest, daß die Schaltung bei nur 200V tadellos funktionierte. Daraufhin untersuchten wir, ob dieses Flackern sich auch bei der alten Programmversion durch eine 200V-Versorgung ausschalten läßt. Wir stellten fest, daß die Schaltung mit der alten Programmversion bei 200V-Versorgungsspannung trotzdem noch ein wenig flackerte Þ Softwaremäßige Spikefehlerbehebung war ein voller Erfolg

Zu behebende Fehler : ·) Spannungsversorgung 200V

·) DÜNKLER langsamer als HELLER

Fehlerbehebungsversuch

  28335rmn98fcg1u

Aufgrund der Tatsache, daß bei Tastendruck auf <d> die Routine für DÜNKLER aus irgendeinem unerklärlichen Grund langsamer durchlaufen wird als HELLER (Festgestellt am Oszilloskop durch die Phasenverschiebung der Impulse zur Netzfrequenz...bei <d> langsamer) ließen wir die Tastaturabfrage weg und ließen den mP intern von dünkler auf heller regeln. In diesem neuen Programm wurde die Routine ABFRAGE logischerweise gelöscht.

***************************************** mc335r8298fccg

* PROGRAMM : dimmer3.asm *

***************************************** mc335r8298fccg

charin code 3027h ;Char in hide

port11 equ 91h ;Port-Pin 1.1

zeitv equ R3 ;Feineinstellung (Tastatur)

malzeitv equ 60d ;Grobeinstellung (Konstante)

;*********************************** ISR **************************************

org 8003h

jmp INTERRUPT

;****************************** HAUPTPROGRAMM *********************************

org 8200h

mov zeitv,#3d ;Maximale Helligkeit

setb port11 ;Finsterniss

orl tcon,#01h ;IT0 Flanken-aktiv (neg. Flanke)

setb ea ;Alle enabled

setb ex0 ;Externer Int. enabled

DUENKLER:

mov a,zeitv

subb a,#67d ;Kontrolle ob Lampe dunkel

jz heller ;Wenn ja...wieder heller

mov a,zeitv

inc a ;zeitv um einen Wert vergrößern ® duenkler

mov zeitv,a ;wieder zurückschreiben

mov r0,#030h ;so oft <d> bis ganz dunkel

z11:

mov r7,#0ffh

z12: djnz r7,z12

djnz r0,z11

jmp duenkler

HELLER:

mov a,zeitv

subb a,#2d ;Kontrolle ob Lampe voll leuchtet

jz duenkler ;Wenn ja...wieder duenkler

mov a,zeitv

dec a ;zeit um einen Wert verringern -> heller

mov zeitv,a ;wieder zurückschreiben

mov r0,#030h ;so oft <d> bis ganz dunkel

z21:

mov r7,#0ffh

z22: djnz r7,z22

djnz r0,z21

jmp heller

;******************************* UNTERPROGRAMM ********************************

INTERRUPT:

;=========

push acc

mov a,#10d

s: jb p3.2,r

dec a

jnz s

SPRUNG:

mov a,zeitv

TIME0:

dec a ;Zeitverzögerung abhängig von zeitv

mov r2,#malzeitv ;Allgemeine Zeitverzögerung (Konstante)

;R2 (Malzeitv) dient als konstante Zeitver-

;zögerung

TIME1:

djnz r2,TIME1 ;Malzeitkonstante decrementieren

;Wenn nicht Null dann TIME1

;Wenn Null dann Kontrolle ob A (zeitv) 0 ist

jnz TIME0 ;Wenn nicht Null dann TIME0

;Wenn A=0 und R2=0 dann :

clr port11 ;Ausgabe des Zündimpulses (Leuchtphase)

;(60*zeitv)

mov r4,#100d ;Konstante Zeitverzögerung

LOOP1:

djnz r4,LOOP1 ;Wenn Konstante Verzögerung abgelaufen, dann :

setb port11 ;Kein Zündimpuls (Dunkelphase) (100)

mov r5,#255d ;Allgemeine Zeitverzögerung

LOOP2:

mov r6,#16d

LOOP3:

djnz r6,LOOP3

djnz r5,LOOP2 ;Verschachtelte Zeitschleife (LOOP2/3)

clr port11 ;Zündimpuls (Leuchtphase) (16*255=4080)

mov r4,#100d ;Allgemeine Zeitverzögerung

LOOP4:

djnz r4,LOOP4

setb port11 ;Kein Zündimpuls (dunkelphase) (100)

r: pop acc

RETI

END

Dokumentation : · ) Wie erwartet waren bei der automatischen Heller/Dünkler - Einstellung beide Routinen gleich schnell. Daraus folgerten wir, daß der Fehler in der Tastaturabfrage liegen muß (Wir probierten das alte Programm nochmals mit anderen Tasten als <h> und <d> aus, was aber den Fehler nicht beeinflusste). Da wir diesen Fehler aber nur als Feinheit ansahen, wollten wir uns damit nicht allzu lange aufhalten und begannen mit dem I2C-Bus-Programm.

Zu behebende Fehler : · ) Spannungsversorgung 200 V

· ) DÜNKLER langsamer als HELLER

 

  28335rmn98fcg1u

Programmvorbereitung zur I2C-Bus-Ansteuerung

  28335rmn98fcg1u

Nachdem eine andere Gruppe unserer Klasse sich schon seit Semesterbeginn mit dem I2C-Bus beschäftigt hat, übernahmen wir das Slave-Programm dieser Gruppe und fügten es in unserer Dimmer-Programm ein. Wir bemerkten, das der Empfang der vom Master geschickten Daten nicht korrekt war. Nach langen Überlegungen kamen wir zu dem Schluß, daß durch die am Ende des Programms vorhandenen Zeitschleifen das Programm ständig in der ISR bleibt und dadurch den Interrupt vom Master nicht bearbeiten kann. Aus diesem Grund versuchten wir, die Zeitschleifen durch Timer zu ersetzen, die dann bei einem Overflow in eine ISR springen. Da diese zweite ISR sehr kurz wäre, würde die Kommunikation zwischen Master und Slave nicht beeinflusst werden. Das Programm ist dem ursprünglichen Programm vom Ablauf her sehr ähnlich, bis auf die Tatsache, daß die Software-Verzögerung und die 10 msec-Verzögerung über das Timer 0 – Interrupt gesteuert werden. Die Einstellung der Impulsbreite erfolgt nach wie vor über die Zeitschleife.

***************************************** mc335r8298fccg

* PROGRAMM : dimmer5.asm *

***************************************** mc335r8298fccg

charin code 3027h ;Char in hide

port11 equ 91h ;Port-Pin 1.1

zeitv equ R3 ;Feineinstellung (Tastatur)

malzeitv equ 60d ;Grobeinstellung (Konstante)

n1 data 21h

n2 data 22h

;*********************************** ISR **************************************

;********** Exterener Interrupt

org 8003h ;Externer Interrupt /INT0

jmp inter1

;**** Timer0, Mode1 16bit

org 800bh ;Timer 0 overflow-Interrupt

ljmp inter2

;****************************** HAUPTPROGRAMM *********************************

org 8200h

mov zeitv,#0d ;Maximale Helligkeit

setb port11 ;Finsternis

orl tcon,#01h ;IT0 Flanken-aktiv (neg. Flanke)

setb ea ;Alle enabled

setb ex0 ;Externer Int. enabled

;Timer0 init

anl tmod,#11110000b ;Werte für Timer 1 beibehalten

orl tmod,#00000001b ;16-bit-Timer

anl tcon,#11001100b ;Werte für Timer 1 beibehalten

orl tcon,#00000010b ;Interrupt-Edge-Flag setzen

setb et0 ;Timer0 Interrupt enablen

ABFRAGE:

call charin ;Zeichen einlesen

mov R0,A ;Zeichen ins Register retten

mov A,R0

subb A,#64h ;Wenn Zeichen=d dann A=0

jz DUENKLER ;Wenn A=0 dann DUENKLER

mov A,R0 ;Gerettetes Zeichen wieder in Akku

subb A,#68h ;Wenn Zeichen=h dann A=0

jz HELLER ;Wenn A=0 dann HELLER

jmp ABFRAGE ;Wenn keines der beiden dann ABFRAGE

DUENKLER:

mov a,zeitv

subb a,#24d ;Kontrolle ob Lampe dunkel

jz ABFRAGE ;Wenn ja...ABFRAGE

mov a,zeitv

inc a ;zeitv um einen Wert vergrößern -> duenkler

mov zeitv,a ;wieder zurückschreiben

jmp ABFRAGE

HELLER:

mov a,zeitv

;Kontrolle ob Lampe voll leuchtet

jz ABFRAGE ;Wenn ja...ABFRAGE

mov a,zeitv

dec a ;zeit um einen Wert verringern -> heller

mov zeitv,a ;wieder zurückschreiben

jmp ABFRAGE

;**************************************

;************** Interrupts ***************

;**************************************

;********* Periode starten

org 8300h ;externer Interrupt...

inter1: push acc ;Akku in Stack retten

clr tr0 ;Timer 0 stoppen

clr tf0 ;Flag löschen

mov a,#5d ;Schleife für Spike-Fehlerbehebung

s: jb p3.2,aus ;

dec a ;

jnz s ;

clr ex0 ;externen Interrupt disablen

mov a,#0ffh ;Softwaremäßige Verzögerung :

subb a,zeitv ;In Timer-Register TH0/TL0 werden die neuen Werte geschrieben

mov th0,a

mov a,#0h

mov tl0,a

setb tr0 ;Timer starten

aus: pop acc ;Akkuinhalt wieder aus Stack holen

reti

;********* Zündimpuls positive Halbwelle + Warten zwischen den beiden Impulsen

org 8350h ;Timer 0 – Interrupt ...

inter2: push acc ;Akkuinhalt in Stack retten

clr tr0 ;Timer stoppen

clr tf0 ;Timer-Flag löschen

clr port11 ;Zündimpuls

mov n1,#100d ;Einstellung der Impulsbreite

LOOP2p: djnz n1,loop2p

setb port11 ;Zündimpulsende

mov th0,#0dch ;Einstellung der 10 msec Zeitverzögerung über Timer 0

mov tl0,#0efh

setb tr0 ;Starten des Timer 0

mov dptr,#800Ch ;Interrupt auf 8400h verbiegen

mov a,#84h

movx dptr,a

mov dptr,#800Dh

mov a,#00h

movx dptr,a

pop acc ;Akkuinhalt aus Stack holen

reti

;********* Zündimpuls positive Halbwelle

org 8400h

inter3: push acc ;Akkuinhalt in Stack retten

clr tr0 ;Timer 0 stoppen

clr tf0 ;Timer-Interrupt-Flag löschen

setb ex0 ;Externen Interrupt wieder zulassen

clr port11 ;Zündimpuls

mov n1,#100d ;Einstellung der Impulsbreite

LOOP2n: djnz n1,loop2n

setb port11 ;kein Zündimpuls

mov dptr,#800Ch ;Interrupt wieder auf 8300h verbiegen

mov a,#83h

movx dptr,a

mov dptr,#800Dh

mov a,#50h

movx dptr,a

pop acc ;Akkuinhalt wieder aus Stack holen

reti

END

  1. Abschließende Fehlerbehebung

Nach Abschluß der Vorbereitung des Programmes für die I2C-Bus – Ansteuerung traten trotzdem noch immer die bekannten 2 Fehler auf :

·) Die Versorgungsspannung durfte nicht höher als 215 V sein.

·) Die Funktion Dünkler war langsamer als Heller.

Wir programmierten zuerst einmal die Ansteuerung des mP-Boards über Visual Basic. Bei diesem Programm konnte über einen Regler die Helligkeit der Lampe verstellt werden. Bei diesem Programm trat der Heller-Dünkler-Fehler nicht auf. Da wir in Zukunft ohnehin nur über Visual Basic mit dem mP-Board kommunizieren werden, war dieser Fehler für uns hiermit ausgeschaltet.

Der Versorgungsspannungsfehler konnte nicht so einfach ausgeschaltet werden. Nach langwierigen Schaltungsanalysen bemerkte ich, daß die Leitung für die Gate-Ansteuerung des TRIAC´s wie bei der Prinzipschaltung über der 230 V-Leitung mit den beiden Dioden lag. Interessanterweise stellte ich fest, daß die Lampe auch flackerte, wenn das Programm gar nicht gestartet wurde, d.h. an das Gate des TRIAC´s gar keine Spannung kam. Ich folgerte daraus das das Gate von irgendwo genügend Spannung bekommen muß, daß der TRIAC zünden kann. Ich trennte den Diodenzweig (D2, D3) auf und stellte fest, daß der TRIAC jetzt nicht mehr zünden konnte. Das Gate des TRIAC´s braucht nur ca. 1,5 V, daß der TRIAC zünden kann. Ich nahm an, daß die notwendige Gatespannung über eben diese Leitung mit den beiden Dioden kommen mußte. Für die Fehlerbehebung konnte ich mit dem Versuchsaufbau auf Lochrasterplatte nicht mehr viel machen, daher entschloß ich mich, das Layout anzufertigen und die Schaltung dann nochmals aufzubauen und zu überprüfen.

  1. Fehleranalyse

Nachdem die Schaltung mit dem fertigen Layout aufgebaut wurde, stellte ich fest, daß das Verhalten der Schaltung genauso ist, wie bei dem Versuchsaufbau. Der einzige Ausweg erschien mir, die Schaltung mit dem neuen Opto-Triac BRT 12 H (siehe Datenblätter im Anhang) aufzubauen und dadurch die Ansteuerschaltung des Triac’s BTA 12 CW wegzulassen. Der BRT 12 H ist in der Lage, die Lampe direkt mit den von dem mP erzeugten Signal anzusteuern.

Nach dem Aufbau der Schaltung mit dem neuen Opto-Triac funktionierte die Schaltung auf Anhieb einwandfrei.

  1. Neue Schaltung

    1. PRINZIPSCHALTUNG

Bei der Prinzipschaltung wurde wieder auf die Einzeichnung der Resetleitung und des Reset-Pull-Up’s R6 verzichtet.

    1. SCHALTUNG FÜR LAYOUT


Anhang