Ich habe bereits mehrere Platinen frei nach dem ELO-Flasher gebaut. Eine praktische Anwendung fand eine Platine mit grüner LED in einer Funkprojektionsuhr. Die Uhrzeit wird alle 4 Sekunden an die Decke geblinkt, sie ist damit unabhängig vom Netz. Ein anderer blinkt seit fast fünf Jahren in einem Petling fröhlich vor sich hin. Da ich auch mehrere "ewige Binker" von Ihrer Hompage nachgebaut habe, kam mir die Idee, dass beim Blinker mit ATtiny13V noch mehr geht. Nach einer Skizze mit Papier und Bleistift baute ich die Schaltung auf einer Steckplatine auf und programmierte den ersten ATtiny13V für eine blaue LED. Das Ergebnis ist mit einer blauen, weißen oder grünen LED überzeugend.
Ich habe für den Blinker mit ATtiny13V ein Layout in Eagle erstellt, welches man wahlweise für einfachen oder doppelten Boost verwenden kann. Für einfachen Boost bestückt man nur R1 und C1, ansonsten ritzt man die Brücke in R2 durch und bestückt zusätzlich R2 und C2. Bis zum Einbau in einen Petling habe ich anstatt einer LED IC-Fassungen eingelötet. Man sieht es den Platinen an, dass viele Bauelemente aus anderen Schaltungen wiederverwertet wurden und die Lötstpitze hinüber ist. Empfehlen möchte ich die grüne LED von Reichelt "LED 5-22000" mit 15° Winkel und 22000 mcd.
Download: Die Eagle-Dateien
Dabei sind auch Platinen für den Ewigen Blinker mit Transistoren, diehe http://www.b-kainka.de/bastel59.htm
$regfile = "ATtiny13.DAT"
$crystal = 128000 'Reale Frequenz des internen 128kHz-Oszillators
Config Portb = &B00000001 'Pinb.0 auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = &B11111110 'Pullups zuschalten, außer für Pinb.0
Stop Adc 'A/D-Wandler abschalten, um Strom zu sparen
Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen
Enable Interrupts
Do
Portb.0 = 1
Wdtcr = &B11000000 'watchdog auf 16ms setzen
Reset Watchdog
Powerdown
Portb.0 = 0
Wdtcr = &B11000111 'watchdog auf 2s setzen
Reset Watchdog
Powerdown
Loop
End
'Quelle: http://www.roboternetz.de/community/threads/62930-Ewiger-Blinker-ATtiny13?s=cd945cd355634da1279a1e11af345887
' Nutzer "PsychoDreams":
Meine Version Blinker_020.bas:
$regfile = "ATtiny13.DAT"
$crystal = 128000 'Reale Frequenz des internen 128kHz-Oszillators
$hwstack = 2 'aus Kochbuch_V3.pdf Seite 7
$swstack = 8 'aus Kochbuch_V3.pdf Seite 7
$framesize = 24 'aus Kochbuch_V3.pdf Seite 7
Config Portb = &B00000001 'Pinb.0 auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = &B11111110 'Pullups zuschalten, ausser fuer Pinb.0
Stop Adc 'A/D-Wandler abschalten, um Strom zu sparen
Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen
Enable Interrupts
Do
Portb.0 = 1
Wdtcr = &B11000000 'watchdog auf 16ms setzen
Reset Watchdog
Powerdown
Portb.0 = 0
Wdtcr = &B11000111 'watchdog auf 2s setzen
Reset Watchdog
Powerdown
Loop
End
Blinker_020 - doppelt.bas:
$regfile = "ATtiny13.DAT"
$crystal = 128000 'Reale Frequenz des internen 128kHz-Oszillators
$hwstack = 2 'aus Kochbuch_V3.pdf Seite 7
$swstack = 8 'aus Kochbuch_V3.pdf Seite 7
$framesize = 24 'aus Kochbuch_V3.pdf Seite 7
Config Portb = &B00010001 'Pinb.0 und Pinb.4 auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = &B11101110 'Pullups zuschalten, ausser fuer Pinb.0 und Pinb.4
Stop Adc 'A/D-Wandler abschalten, um Strom zu sparen
Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen
Enable Interrupts
Do
Portb.0 = 1
Portb.4 = 0
Wdtcr = &B11000000 'watchdog auf 16ms setzen
Reset Watchdog
Powerdown
Portb.0 = 0
Portb.4 = 1
Wdtcr = &B11000111 'watchdog auf 2s setzen
Reset Watchdog
Powerdown
Loop
End
' Blinker doppelt (blaue LED)
'
' Schaltung:
' IC = ATTINY13V
' C LED C C = 100 µF
' ---||---o--|<|--o---||--- R = 10 kOhm
' | | | | U_B = 1.0 ... 1.5 V
' | - - |
' | R | | R | | |
' | - - | Kondensator laden:
' | | | | u_c = u_0 * (1 - e^(-t/tau))
' | ---- ---- |
' | | | | Zeitkonstante:
' | | ---- ---- | | tau = R * C
' | | -| 1 U 8 |---o |
' | | -| 2 7 |- | | Aufladeniveau:
' ---|---| 3 6 |- | | 1 tau = 63 %
' o---| 4 5 |---|--- 2 tau = 86 %
' | --------- | 3 tau = 95 %
' | | 4 tau = 98 %
' (-) (+) 5 tau = 100 %
Blinker_020 - doppelt Doppelblitz.bas:
$regfile = "ATtiny13.DAT"
$crystal = 128000 'Reale Frequenz des internen 128kHz-Oszillators
$hwstack = 2 'aus Kochbuch_V3.pdf Seite 7
$swstack = 8 'aus Kochbuch_V3.pdf Seite 7
$framesize = 24 'aus Kochbuch_V3.pdf Seite 7
' Config Portb = &B00000001 'Pinb.0 auf 'Ausgang', Rest auf 'Eingang' schalten
' Portb = &B11111110 'Pullups zuschalten, ausser fuer Pinb.0
Config Portb = &B00010001 'Pinb.0 und Pinb.4 auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = &B11101110 'Pullups zuschalten, ausser fuer Pinb.0 und Pinb.4
Stop Adc 'A/D-Wandler abschalten, um Strom zu sparen
Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen
Enable Interrupts
Do
Portb.0 = 1
Portb.4 = 0
Wdtcr = &B11000000 'watchdog auf 16ms setzen
Reset Watchdog
Powerdown
Portb.0 = 0
Portb.4 = 1
Wdtcr = &B11000010 'watchdog auf 64ms setzen
Reset Watchdog
Powerdown
Portb.0 = 1
Portb.4 = 0
Wdtcr = &B11000000 'watchdog auf 16ms setzen
Reset Watchdog
Powerdown
Portb.0 = 0
Portb.4 = 1
Wdtcr = &B11000111 'watchdog auf 2s setzen
Reset Watchdog
Powerdown
Loop
End
' Schaltung:
'
' C LED C
' ----||--o--<|---o--||----
' | | | | IC = ATTINY13V
' | - - | C = 100 µF
' | |R| |R| | R = 10 kOhm
' | - - | U_B = 1.2 --- 1.5 V
' | | | |
' | ---- ---- |
' | | | |
' | | ---- ---- | |
' | | -| 1 U 8 |---o |
' | | -| 2 7 |- | |
' ---|---| 3 6 |- | |
' o---| 4 5 |---|---
' | --------- |
' | |
' (-) (+)
'ELO-Flasher-3, Test mit Tiny85Das Programm läuft hier testweise ohne den Watchdog in einer Do-Loop-Schleife, damit ich es besser am Oszilloskop untersuchen kann.
$regfile = "attiny85.dat"
'$crystal = 600000
$crystal = 8000000
$hwstack = 8
$swstack = 4
$framesize = 4
'Watchdog Reset nach ca. 2 s
'Config Watchdog = 2048
'Start Watchdog
do
Ddrb = &B11111111
Portb = &B00000111
Waitms 5
Portb = &B00011000
Waitms 100
loop
' Powerdown
End