Mein Treppenhausautomat

Gerade vergessen zu schreiben

Der Triac ist ein Standarttriac Typ TIC 226 D
Funktion der MOC 3041:
Werden beide MOC`s angesteuert leuchtet das Licht mit voller Helligkeit.
Nach Ablauf der Zeit wird nur noch MOC 2 angesteuert (Nachlaufzeit), MOC 1 ist gesperrt somit kann über das Poty die Helligkeit der Nachlaufzeit eingestellt werden.
Nach Ablauf der Gesammten Zeit werden beide MOC`s gesperrt und die Beleuchtung ist ausgeschaltet.

http://pdf1.alldatasheet.com/datasheet-pdf/view/20139/POINN/TIC226D.html

Gruß Ernst
 
Sorry Ernst, wieder falscher Typ. Bleibt nur noch der Diac. Sortiere gerade meine Kisten was vorhanden ist, deshalb die Fragen.
achim
 
Hi Achim,

Sorry Ernst, wieder falscher Typ. Bleibt nur noch der Diac. Sortiere gerade meine Kisten was vorhanden ist, deshalb die Fragen.
achim

Du benötigst auf jeden Fall einen MOC der sofort durchschaltet. Also ohne Nulldurchgangsschalter.
Der DIAC den ich kenne hat irgendwas mit 400 hinter der Buchstabenbezeichnung gehabt. War mal in einem alten Oppermann-Katalog drin ;) Lang ists her :p

Gruß
Dino
 
Lang ist es her, stimmt genau. Leider konnte ich in den verschiedenen Katalogen und Shops im Netz keinen Diac, ausser DB3, nichts mehr finden. Scheinen ausgestorben zu sein. Kennt jemand einen Ersatz typ oder eine Möglichkeit einer anderen Version der Schaltung oder Bauteil?
achim
 
Ich hätte jetzt noch'n NTE6408 gefunden, aber das ist ja quasi auch'n DB3 (oder?). Ansonsten alles DB3.
Alles? Nein. Einen DB4 konnte ich finden.
 
Habe einen ER900 bei Re. gefunden. Steht wie üblich ganz wo anders. Egal, hauptsache funktion
Noch ne Frage dazu. Es sind X1 Kondensatoren nach IEC 60384-13 angegeben. Konnte aber nur C nach IEC 60384-14 mit X2 finden. Sind die soweit gleich? Sind mit 275 V AC angegeben.

achim
 
...Leider konnte ich in den verschiedenen Katalogen und Shops im Netz keinen Diac, ausser DB3, nichts mehr finden...
Habe einen ER900 bei Re. gefunden. Steht wie üblich ganz wo anders...
???
Da steht doch aber direkt im Titel "...DB3, DO35, ..."
Ich dachte, Du wolltest keine DB3...
Ich hatte einfach auf der Hauptseite von Reichelt im Suchfeld "Triggerdiode" eingegeben -> einziger Treffer.
 
wieder gefunden

einen schönen Gruß von mir.
Ich habe das Programm vom Treppenhausautomaten auf einen alten Stick wieder gefunden.
Das Programm ist noch aus meiner Programmieranfangszeit heute würde ich es anders machen
aber was soll es es funktioniert. Ich versuche mal es hier einzufügen und hoffe das es klappt.
Gruß Ernst



CodeBox Assembler
;|--------------------------------------------------------------------------
;| Title            : Treppenhausautomat 
;| Funktion         :
;|Starten des Treppenhausautomaten:
;|
;|Wird Treppenlichttaster ca 1 Sekunde lange betätigt, Tasterled leuchtet
;|und Treppenhausautomat schaltet Kurzzeitlicht je nach Stellungen der
;|Codierschalter (1 bis 4) ein. Ist kein Codierschalter eingeschaltet
;|schaltet der Treppehausautomat nach Ablauf von 10 Sekunden (Testzeit)
;|um auf Nachlaufzeit ( halbe Helligkeit durch Poty einstellbar) um dann
;|nach Ablauf der Nachlaufzeit (15 Sekunden) die Beleuchtung auszuschalten.
;|
;|Wird der Treppenhaustaster beim Starten 2 Sekunden lang betätigt
;|schaltet der Treppenhausautomat von Kurzzeitlicht auf Dauerlicht um
;|das jedoch auf 15 Minuten begrenzt ist danach beginnt noch für 15 Sekunden
;|Die Nachlaufzeit mit halber Helligkeit.
;|
;|Treppenhaustaster Betätigung während des Zeitablaufes:
;|
;|Wird der Treppenhaustaster während des Zeitablaufes (Kurzzeitlicht oder
;|Dauerlicht) betätigt dann kann man damit die Beleuchtung sofort ausschalten.
;|Wird der Treppenhaustaster während der Nachlaufzeit betätigt startet
;|der Treppenhausautomat erneut mit Kurzeitlicht oder bei längerer
;|Betätigung des Tasters mit Dauerlicht
;|
;|Achtung, wird der Treppenhaustaster länger als 4 Sekunden lang betätigt
;|wertet das der Treppenhausautomat als Blockierung des Treppenhaustasters
;|aus. Das Licht wird ausgeschaltet die Led Treppenhaustaster beginnt zu
;|blinken bis Störung beseitigt ist.
;|
;|Bedienung der Codierschalter:
;|S1 ein = 0,5 Minuten
;|S2 ein = 1 Minute
;|S3 ein = 2 Minuten
;|S4 ein = 4 Minuten
;|Durch Kompination der 4 Codierschalter können belibige Zeiten eingestellt
;|werden.
;|
;|Codierschalter S5 ein = Dauerlicht unbegrenzt ein. Led Dauerlicht leuchtet
;|Led Taster blinkt bis S5 wieder ausgeschaltet wird
;|
;|
;| Schaltung        : Eingang Port D2 Schiebeschalter 1
;|                  : Eingang Port D3 Schiebeschalter 2
;|                  : Eingang Port D4 Schiebeschalter 3
;|                  : Eingang Port D5 Schiebeschalter 4
;|                  : Eingang Port D6 Schiebeschalter Reserve
;|                  : Eingang Port D7 Schiebeschalter Reserve
;|                  : Eingang Port B0 Schiebeschalter Dauerlicht
;|                  : Eingang Port C4 Lichttaster Treppenhaus über OC 3
;|                  : Ausgang Port B1 Licht halbe Helligkeit über OC 2
;|                  : Ausgang Port B2 LED 1 Kurzzeitlicht + OC 1 über D1
;|                  : Ausgang Port B3 LED 2 Dauerlicht
;|                  : + OC 1 über D2
;|                  : Ausgang Port B4 LED 3 Nachlaufzeit
;|                  : Ausgang Port B5 LED 4 Taster Treppenhaus
;+----------------------------------------------------------------------
;| Prozessor        : ATmega8
;| Takt             : 3,6864 MHz
;| Sprache          : Assembler
;| Datum            : 13.06. 2012
;| Autor            : Ernst
;+----------------------------------------------------------------------
.include    "AVR.H"
;------------------------------------------------------------------------
;Reset and Interrupt vector             ;VNr.  Beschreibung
            rjmp    main                ;1   POWER ON RESET
            reti                        ;2   Int0-Interrupt
            reti                        ;3   Int1-Interrupt
            reti                        ;4   TC2 Compare Match
            reti                        ;5   TC2 Overflow
            reti                        ;6   TC1 Capture
            reti                        ;7   TC1 Compare Match A
            reti                        ;8   TC1 Compare Match B
            rjmp    time                ;9   TC1 Overflow
            reti                        ;10  TC0 Overflow
            reti                        ;11  SPI, STC Serial Transfer Complete
            reti                        ;12  UART Rx Complete
            reti                        ;13  UART Data Register Empty
            reti                        ;14  UART Tx Complete
            reti                        ;15  ADC Conversion Complete
            reti                        ;16  EEPROM Ready
            reti                        ;17  Analog Comparator
            reti                        ;18  TWI (IC) Serial Interface
            reti                        ;19  Store Program Memory Ready
;------------------------------------------------------------------------
;Start, Power ON, Reset
main:       ldi     r16,lo8(RAMEND)
            out     ioSPL,r16
            ldi     r16,hi8(RAMEND)
            out     ioSPH,r16
            rcall   Wd
;--- Port Eingänge + Pullup ---
            cbi     ioDDRD,2
            sbi     ioPORTD,2
            cbi     ioDDRD,2
            sbi     ioPORTD,2
            cbi     ioDDRD,2
            sbi     ioPORTD,3
            cbi     ioDDRD,3
            sbi     ioPORTD,4
            cbi     ioDDRD,4
            sbi     ioPORTD,5
            cbi     ioDDRD,5
            sbi     ioPORTD,6
            cbi     ioDDRD,6
            sbi     ioPORTD,7
            cbi     ioDDRD,7
            sbi     ioPORTB,0
            cbi     ioDDRB,0
            sbi     ioPORTD,2
            cbi     ioDDRC,4
            sbi     ioPORTC,4
;--- Port Ausgänge ---
            sbi     ioDDRB,1
            sbi     ioDDRB,2
            sbi     ioDDRB,3
            sbi     ioDDRB,4
            sbi     ioDDRB,5
;--- Alle Ausgänge auschalten ---
            cbi     PORTB,1
            cbi     PORTB,2
            cbi     PORTB,3
            cbi     PORTB,4
            cbi     PORTB,5
            ldi     r16,0b00000101
            out     TCCR1B,r16
            ldi     r24,0xf1
            ldi     r25,0xf0
            out     TCNT1H,r24
            out     TCNT1L,r25
            ldi     r16,0b00000101
            out     TIMSK,r16
            cli                         ;Timer sperren
;------------------------------------------------------------------------
mainloop:   wdr
            cli                         ;Timer sperren
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
;------------------------------------------------------------------------
;--- warte auf Treppenhaustaster betätigt ---
Warteschleife:      wdr
;------------------------------------------------------------------------
;---Schalter für Dauerlicht abfragen ---
            cbi     PORTB,5             ;Tasterled aus
            sbis    ioPINB,0            ;Codierschalter Dauerlicht ein?
            rjmp    Dauerlicht_ein      ;ja, dann Dauerlicht ein
            sbic    ioPINB,0            ;Codierschalter Dauerlicht aus?
            rcall   Dauerlicht_aus      ;nein,dann Dauerlicht aus
;------------------------------------------------------------------------
;--- warte auf Treppenhaustaster betätigt ---
            sbis    ioPINC,4            ;Treppenhaustaster betätigt?
            sbi     PORTB,5             ;ja, dann LED Taster ein
            sbis    ioPINC,4            ;Treppenhaustaster betätigt?
            rjmp    weiter              ;ja, dann weiter
            rjmp    Warteschleife       ;sonst zurück zur Warteschleife
weiter:     rcall   Licht_ein           ;Kurzzeitlicht ein
            rcall   warte               ;warte kurz
            sbic    ioPINC,4            ;Treppenhaustaster betätigt?
            cbi     PORTB,5             ;nein, dann Tasterled aus
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            sbis    ioPINC,4            ;Treppenhaustaster immer noch
            rjmp    wieder_weiter       ;betätigt dann wieder weiter ansonsten
;Codierschalter Zeit abfragen
            rjmp    Codierscalter_abfragen
;------------------------------------------------------------------------
;--- Umschaltung von Kurzzeitlicht auf Dauerlicht begrenzt ---
wieder_weiter:
            rcall   Dauerlicht_Zeit_ein ; umschalten auf Dauerlicht Zeit
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
            rcall   warte               ;warte kurz
;------------------------------------------------------------------------
;--- prüfen ob Treppenhaustaster blockiert ist ---
Taster_blockiert:
            sbic    ioPINC,4            ;Treppenhaustaster blockiert?
            cbi     PORTB,5             ;nein, dann Tasterled aus
            sbis    ioPINC,4            ;Treppenhaustaster blockiert?
            rjmp    Tasterled_blinkend  ;ja, dann zum Blinkprogramm
;Tasterled
            rjmp    Zeitablauf_Dauerlicht   ;nein, dann weiter zum
;Zeitablauf Dauerlicht begrenzt
;------------------------------------------------------------------------
;--- Codierschalter für Zeiteinstellung abfragen ---
Codierscalter_abfragen:
            ldi     r21,0               ;Register für Zeit auf 0 setzen
            sbis    ioPIND,2            ;Codierschalter 0,5 Minuten ein?
            rcall   s1                  ;ja, springe zum Unterprogramm
;und lade Zeit eine halbe Minute
            sbis    ioPIND,3            ;Codierschalter 1 Minute ein?
            rcall   s2                  ;ja, springe zum Unterprogramm
;und lade Zeit eine Minute
            sbis    ioPIND,4            ;Codierschalter 2 Minuten ein?
            rcall   s3                  ;ja, springe zum Unterprogramm
;und lade Zeit zwei Minuten
            sbis    ioPIND,5            ;Codierschalter 4 Minuten ein?
            rcall   s4                  ;ja, springe zum Unterprogramm
;und lade Zeit vier Minuten
            cpi     r21,0               ;ist schon eine Zeit vorgegeben?
            brne    Zeitablauf_Licht    ;ja, dann springe zum Zeitablauf
;Kurzzeitlicht
            ldi     r21,2               ;nein, dann lade Testzeit 10 Sekunden
;------------------------------------------------------------------------
;--- starte Kurzzeitlicht ---
Zeitablauf_Licht:
            cbi     PORTB,5             ;Tasterled aus
            ldi     r22,0               ;Timer auf 0 setzten
            sei                         ;Timer freigeben
Zeitschleife_Licht_1:
            sbis    ioPINC,4            ;Treppenhaustaster betätigt?
            sbi     PORTB,5             ;dann Tasterled ein
            sbis    ioPINC,4
            rcall   alles_aus           ;und alles auschalten und
            sbis    ioPINC,4
            rjmp    mainloop            ;zum Programmanfang zurück
            wdr
            cpi     r22,5
            brne    Zeitschleife_Licht_1
            ldi     r22,0               ;Timer auf 0 setzen
            dec     r21
            cpi     r21,0
            brne    Zeitschleife_Licht_1
            cli                         ;Timer sperren
            ldi     r22,0               ;Timer auf 0 setzen
            rcall   Licht_aus           ;Kurzzeitlicht auschalten
            rjmp    Zeitablauf_Nachlauf ;und weiter zur Nachlaufzeit
;------------------------------------------------------------------------
;--- starte begrenztes Dauerlicht ---
Zeitablauf_Dauerlicht:
            ldi     r21,180             ;lade 180 ins Register für Zeit
;(180 x 5 Sekunden = 15 Minuten)
            ldi     r22,0               ;Timer auf 0 setzten
            sei                         ;Timer freigeben
Zeitschleife_Dauerlicht_1:
            sbis    ioPINC,4            ;Treppenhaustaster betätigt?
            sbi     PORTB,5             ;dann Tasterled ein
            sbis    ioPINC,4
            rcall   alles_aus           ;und alles auschalten und
            sbis    ioPINC,4
            rjmp    mainloop            ;zum Programmanfang zurück
            wdr
            cpi     r22,5
            brne    Zeitschleife_Dauerlicht_1
            ldi     r22,0               ;Timer auf 0 setzen
            dec     r21
            cpi     r21,0
            brne    Zeitschleife_Dauerlicht_1
            cli                         ;Timer sperren
            ldi     r22,0               ;Timer auf 0 setzen
            rcall   Dauerlicht_Zeit_aus ;Dauerlicht Zeit ausschalten
            rjmp    Zeitablauf_Nachlauf ;und weiter zur Nachlaufzeit
;------------------------------------------------------------------------
;--- starte Nachlaufzeit ---
Zeitablauf_Nachlauf:
            rcall   Nachlauf_ein
            ldi     r21,3               ;lade 3 ins Register für Zeit
;(3 x 5 Sekunden = 15 Sekunden)
            ldi     r22,0               ;Timer auf 0 setzen
            sei                         ;Timer freigeben
Zeitschleife_Nachlauflicht_1:
            rcall   Nachlauf_ein
            sbis    ioPINC,4            ;Treppenhaustaster betätigt?
            sbi     PORTB,5             ;dann Tasterled ein und
            sbis    ioPINC,4
            rjmp    weiter              ;und zurück zur Schleife "weiter"
            wdr
            cpi     r22,5
            brne    Zeitschleife_Nachlauflicht_1
            ldi     r22,0               ;Timer auf 0 setzen
            dec     r21
            cpi     r21,0
            brne    Zeitschleife_Nachlauflicht_1
            cli                         ;Timer sperren
            ldi     r22,0               ;Timer auf 0 setzen
            rcall   Nachlauf_aus        ;Nachlauflicht ausschalten
            rjmp    mainloop            ;zurück zu Programmanfang
;------------------------------------------------------------------------
;--- Zeiteinstellungen von Codierschaltern abfragen
;--- 0,5 Minuten ---
s1:
            ldi     r20,6               ;lade 6 in Register 20
            add     r21,r20             ;addiere es zum Zeitregister
            ret
;------------------------------------------------------------------------
;--- 1 Minute ---
s2:
            ldi     r20,12              ;lade 12 in Register 20
            add     r21,r20             ;addiere es zum Zeitregister
            ret
;------------------------------------------------------------------------
;--- 2 Minuten ---
s3:
            ldi     r20,24              ;lade 24 in Register 20
            add     r21,r20             ;addiere es zum Zeitregister
            ret
;------------------------------------------------------------------------
;--- 4 Minuten ---
s4:
            ldi     r20,48              ;lade 48 in Register 20
            add     r21,r20             ;addiere es zum Zeitregister
            ret
;------------------------------------------------------------------------
;--- Dauerlicht ein ---
Dauerlicht_ein:
            sbi     PORTB,3             ;LED Dauerlicht + OC 1 ein
            sbi     PORTB,1             ;Optokoppler 2 ein
            cbi     PORTB,2             ;LED Kurzzeitlicht aus
            cbi     PORTB,4             ;LED Nachlauf aus
            sbi     PORTB,5             ;LED Taster ein
            rcall   warte               ;zum blinken der Taster LED
            cbi     PORTB,5             ;LED Taster aus
            rcall   warte               ;zum blinken der Taster LED
            rjmp    Warteschleife
;------------------------------------------------------------------------
;--- Dauerlicht aus ---
Dauerlicht_aus:
            cbi     PORTB,3             ;LED Dauerlicht + OC 1 aus
            cbi     PORTB,1             ;Optokoppler 2 aus
            cbi     PORTB,5             ;LED Taster aus
            ret
;------------------------------------------------------------------------
;--- OC 2 ein, Led Kurzzeit + OC 1 ein ---
Licht_ein:
            sbi     PORTB,2             ;LED Kurzzeitlicht + OC 1 ein
            sbi     PORTB,1             ;Optokoppler 2 ein
            cbi     PORTB,3             ;LED Dauerlicht + OC 1 aus
            cbi     PORTB,4             ;LED Nachlauf aus
            ret
;------------------------------------------------------------------------
;--- Led Kurzzeit + OC 1 aus ---
Licht_aus:
            cbi     PORTB,3             ;LED Dauerlicht + OC 1 aus
            cbi     PORTB,2             ;LED Kurzzeitlicht + OC 1 aus
            ret
            ret
;------------------------------------------------------------------------
;--- OC 2 ein, Led Dauerlicht Zeit + OC 1 ein ---
Dauerlicht_Zeit_ein:
            sbi     PORTB,3             ;LED Dauerlicht + OC 1 ein
            sbi     PORTB,1             ;Optokoppler 2 ein
            cbi     PORTB,2             ;LED Kurzzeitlicht + OC 1 aus
            ret
;------------------------------------------------------------------------
;--- Led Dauerlicht Zeit + OC 1 aus, Led Nachlauf ein ---
Dauerlicht_Zeit_aus:
            cbi     PORTB,3             ;LED Dauerlicht + OC 1 aus
            ret
;------------------------------------------------------------------------
;--- LED Nachlaufzeit ein ---
Nachlauf_ein:
            sbi     PORTB,4             ;LED Nachlauf ein
            ret
;------------------------------------------------------------------------
;--- LED Nachlaufzeit aus ---
Nachlauf_aus:
            cbi     PORTB,4             ;LED Nachlauf aus
            cbi     PORTB,1             ;Optokoppler 2 aus
            ret
;------------------------------------------------------------------------
;--- alles ausschalten ---
alles_aus:
            cbi     PORTB,2             ;LED Kurzzeitlicht + OC 1 aus
            cbi     PORTB,3             ;LED Dauerlicht + OC 1 aus
            cbi     PORTB,1             ;Optokoppler 2 aus
            cbi     PORTB,4             ;LED Nachlauf aus
            ret
;------------------------------------------------------------------------
;--- Tasterled blinken Anzeige Treppenhaustaster blockiert ---
Tasterled_blinkend:
            wdr
            sbi     PORTB,5             ;Tasterled ein
            rcall   warte
            cbi     PORTB,5             ;Tasterled aus
            rcall   warte
            rcall   alles_aus
            sbis    ioPINC,4            ;Treppenhaustaster ein damm weiter
            rjmp    Tasterled_blinkend
            rjmp    Taster_blockiert
;------------------------------------------------------------------------
;--- Warteroutine im Sekundenbereich
warte:      push    r16                 ;r16 retten
            push    r17                 ;r17 retten
            push    r18                 ;r18 retten
            ldi     r16,30              ;Laufvariable loop1
loop1:      ldi     r17,100             ;Laufvariable loop2
loop2:      ldi     r18,100             ;Laufvariable loop3
            wdr
loop3:      dec     r18                 ;Zähler 3 -1
            brne    loop3               ;Solange nicht NULL
            dec     r17                 ;Zähler 2 -1
            brne    loop2               ;Solange nicht NULL
            dec     r16                 ;Zähler1 -1
            brne    loop1               ;Solange nicht NULL
            pop     r18                 ;r18 wiederherstellen
            pop     r17                 ;r17 wiederherstellen
            pop     r16                 ;r16 wiederherstellen
            ret                         ;Rücksprung
;------------------------------------------------------------------------
;--- Timer Zeit ein Sekundentakt ---
time:       push    r16
            push    r24
            push    r25
            in      r16,SREG
            push    r16
            inc     r22
            ldi     r24,0xf1
            ldi     r25,0xf0
            out     TCNT1H,r24
            out     TCNT1L,r25
            pop     r16
            ldi     r26,0x53
            out     TCNT0,r26
            out     SREG,r16
            pop     r25
            pop     r24
            pop     r16
            reti
;------------------------------------------------------------------------
;--- Wadchdog starten ---
Wd:         push    r17
            wdr
            ldi     r17,0b00011000
            out     WDTCR,r17
            ldi     r17,0b00001111
            out     WDTCR,r17
            pop     r17
            ret
 
Danke Dino und Ernst
Arbeite leider mit C und muss bei ASM vollständig passen. Da werde ich wohl es allein machen. Hatte wenigstens gehofft ein paar Anregungen zu bekommen, egal. Wenn ich fertig habe, stelle ich es rein.
achim
 
Hallo Dino

Ich danke dir für die Übersetzung. Ich hatte schon versucht es mit dem my AVRworkpad das ich benutze hier einzufügen aber das hat gar nicht geklappt so habe ich es ins Word und dann hierher herein kopiert. Deine Version schaut natürlich super aus. Das Programm ist halt aus meiner programmier Anfangszeit deshalb habe ich nur einfache Befehle verwendet. Auch wenn das Programm ziemlich lange ist so glaube ich doch das es mit meinen Kommentaren doch einfach zu verstehen ist.
Gruß Ernst
 
Hi Ernst,

Ich danke dir für die Übersetzung. Ich hatte schon versucht es mit dem my AVRworkpad das ich benutze hier einzufügen aber das hat gar nicht geklappt so habe ich es ins Word und dann hierher herein kopiert. Deine Version schaut natürlich super aus.

ich habe lediglich deinen Quelltext markiert und im erweiterten Editor des Forums die ASM-Codetags (#ASM) angeklickt. Dann werden am Anfang und Ende des markierten Bereichs die Tags eingefügt. Den Rest macht die Forensoftware. ;) Probier es einfach mal aus. :D

Gruß
Dino
 
Guten Morgen an alle
Es kam der Wunsch den Treppenhausautomat in ein Gehäuse zu packen, damit er auf eine Hutschiene kommen kann. Habe mir mal ein paar Gedanken dazu gemacht. Eine Steuerplatine könnte so aussehen:

Treppe Steuerung Foto 1_(1024_x_768).jpg

Verwende einen ATtiny 2313 mit einem 16M Quarz. Leider habe ich nur Platz für 4 LED und 2 Codierschalter. Zur Programmierung verwende ich einen 6 polg. ISP Anschluss. Ansonsten ist alles der Niederspannungsseite drauf. Bauart ist dem Gehäuse Hu2 von reichelt angepasst. Einge änerungen könnten sich noch ergeben. Einiges fehlt aber noch.
Das Programm ist auch halb fertig. Ein paar Sachen dazu:

- Tasterentprellung nach PD
- Timerbetrieb
- 9 verschiedene Zeiten
- 9 verschiedene Betriebsarten

schaut es euch mal an.
achim
 
Hi,
  • ist die Aufgabenstellung vom Timing her so kritisch, daß der interne Oszillator nicht mehr hinreichend genau ist? Der würde Platz und 2 Pins einsparen...
  • Man könnte den PDIP durch einen SOIC ersetzen, der ist etwas schmaler und nur noch halb so lang (allerdings wirds mit dem Layouten etwas komplizierter).
  • Wenn Du mit weniger Beinen auskommst, wäre ein kleinerer Tiny 'ne Überlegung wert (statt 20 -> 14 Beine): der 24/44/84 zB. (die 20er-SOICs sind üblicherweise 0,3' breit, kleinere (wie der 14er) nur 0,15' (also 4mm))
  • Ich steige bei meinen Projekten mit dem ISP auf 6Pin-MicroMatch-Verbinder um. Die sind auch verpolsicher, und deutlich kleiner als'n Wannenstecker (allerdings muß man sich dann 'n entsprechenden Stecker an den Programmer schneid-klemm-pressen)
  • Du scheinst da ein externes Widerstandsnetzwerk als Pullup für die Codierschalter einzusetzen - warum nicht die internen Pullups?
  • D0 und D1 werden über Dioden verORrt auf OC2 geführt. Das könnte auch in der Software verORrt werden, würden die Dioden wegfallen. Und ein Pin weniger.
  • (wie groß ist eigentlich Dein eingestellter Isolationsparameter zwischen der Dimension (Also die Kontur) und Kupfer?)

Soll keine Kritik sein - nur Anregungen;)
 
Hallo LotadaC
Keine Angst, jeder baut anders. Ist aber ganz einfach.
Ich verwende vorrangig immer die selben IC. Ist einfacher beim Kauf und habe nicht zuviel auf Lager. Kann fast immer die selben Bausteine bei der Software nehmen und bestimmte Sachen einfach kopieren. Es sind erprobte Sachen.
Nehme bei allen Projekten (fast immer) IC mit Sockel. Musste leider schon schmerzhaft erfahre, wie es ist IC auszulöten. Wenn ich gerade keinen passenden IC habe, ziehe ich ihn von einem anderen Projekt ab. Der 2313, 2313A und 4313 passen zusammen (gleiche Belegung) und können ohne Probleme getauscht werden.
Beim ISP Stecker habe ich einen Norm, den 6 poligen Stecker mit Rand (verpolsicher). Ist an meinem AVRISP mk2 dran und verwende deshalb diesen Typ. Erspart mir Adapter oder anderes. Die Belegung und Anschlüsse sind erprobt und laufen ohne Probleme. Eigentlich könnte ich einen kleineren IC nehmen. Es sind ein paar Beine über. überlege aber noch einen Taster auf der sekündär Seite und eine LED dazu als Anzeige einzubauen. Bei den RN und den Codierschaltern verwende ich immer externe Bauteile. Ist zwar mehr Aufwand aber sicherer, kann nichts vergessen. Beim Quarz gilt wieder das mit den erprobten Sachen. Gerade bei der Tastenentprellung kommt es ja auf die Zeit an. Die Software dazu ist erprobt und zuverlässig. Und es hat alles reingepasst (hoffentlich)
achim
 
Sorry, noch was vergessen. Verwende nur einseitige Platinen (wegen Nachbau). Der Abstand zwischen Netzspanung und Steuerung ist grundsätzlich > 5mm oder besser sogar >7mm. Es gibt auch keine Masseflächen zur Begrenzung. Nach Abschluss werde ich die Isolation messen. Müsste >1000V ergeben bzw >10MOhm. Vom Aufbau erfolgt eine Grundsätzliche Trennung zwischen Netzspannung und Steuerung.
 
...Gerade bei der Tastenentprellung kommt es ja auf die Zeit an...
erklär mal genauer. Warum ist es bei der Entprellug so entscheidend daß der Takt 62,5ns dauert und nicht vielleicht 61,378ns?

Der 2313/2313A/4313 ist toll, keine Frage. Allerdings besitzt er keinen ADC.
Warum legst Du Dich stattdessen nicht auf einen besser ausgestatteten Universal-Tiny fest? Der 441/841 ist zB recht interessant. Bei den 20ern bin ich in meiner Übersicht noch nicht angekommen - mal sehen
 
Ob die Zeit so oder anders ist, ist egal. Arbeite im 10ms Raster. Möchte aber jeden Impuls vom Taster erkennen. Das andere ist das Erkennen ob ich kurz oder lang drücke. Benutze dazu meine Bausteine aus der Software. Bei diesem Projekt brauche ich kein ADC, dadurch reicht er. Mit dem 441 oder 841 habe ich keine Erfahrung gemacht -bisher. Der 2313 ist nicht fest, spätere änderungen sind durchaus möglich. Habe gerade diesen Typ hier zu liegen, deshalb nutze ich ihn.
achim
Vielleicht kannst du mir eine Frage beantworten:
Wie hoch könnte die Stromaufnahme des 2313 sein? es werden dabei 3 x LED mit jeweils ca. 2 mA angsteuert und die Optokoppler
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)