Schaltung
Die internen FETs an den Ausgangsports besitzen einen
Bahnwiderstand in der Größenordnung von 200 Ω bei einer Betriebsspannung von
1,5 V. Dieser Widerstand liegt praktisch in Reihe zur LED und begrenzt den
LED-Strom. Wenn die Spannung weiter absinkt steigt der ON-Widerstand der FETs
auf ca. 500 Ω. Wenn man einen hohen Impulsstrom erzielen will können zwei oder
bis zu fünf Ports parallel geschaltet
werden. Sie liefern dann einen entsprechend größeren Strom. Denkbar ist auch
eine Anwendung mit mehreren LEDs unterschiedlicher Farbe, wobei jede LED einen
eigenen Elko und einen eigenen Ladewiderstand erhält.
Vergleich mit dem
LM3909
Der
Tiny13 dagegen ist ein kompletter Mikrocontroller in CMOS-Technik und mit
unendlich vielen Transistoren, sodass man nur noch ein Blockschaltbild
darstellen kann.
Man
könnte meinen, dass hier mit Kanonen auf Spatzen geschossen wird. Eingebaut
sind auch ein AD-Wandler, ein Zähler, ein EEPROM und vieles mehr. Der
Mikrocontroller kann ja viel mehr als eine LED antreiben! Aber letzten Endes
enthält der Tiny13 auch nur ein Stück Silizium, vermutlich in ähnlicher Größe
wie im LM3909. Was man zusätzlich kauft ist das geballte Know-How des Herstellers,
das wiederum auf die gesamte Auflage umgerechnet wird. Weil ein Mikrocontroller
für so viele unterschiedliche Aufgaben eingesetzt werden kann verkauft Atmel
sehr viele davon und kann einen geringen Preis festlegen. Deshalb geht die
Tendenz immer weiter in diese Richtung: Man setzt einen universellen
Mikrocontroller auch für eine sehr einfache Aufgabe ein und spart dabei eigene
Entwicklungszeit.
Der
Tiny13 ist laut Datenblatt ab 1,8 V einsetzbar. Es gibt die V-Version, die
speziell für kleine Spannung getestet ist. Tatsächlich kommen die C-Typen und
die anderen Controller vom gleichen Waver und werden nur unterschiedlich
getestet, der eine auf kleine Spannung, der andere auf höchste Taktfrequenz.
Mit hoher Wahrscheinlichkeit können aber alle Versionen beides, unabhängig
davon ob ein V drauf gedruckt ist oder nicht. Atmel führt die Tests einfach nach
der aktuellen Bedarfssituaton aus. Und dabei wird alles bis ins kleinste
geprüft, z.B. auch ob der AD-Wandler bei 1,8 V noch seine spezifizierte
Genauigkeit erreicht. Hier wird der Controller deutlich unterhalb der
spezifizierten Spannung eingesetzt. Dann kann man natürlich nicht mehr
garantieren dass auch das EEPROM und der AD-Wandler noch richtig arbeiten. Aber
die benötigten einfachen Funktionen wie Taktgenerator und Ports arbeiten
einwandfrei. Tests mit vielen Controllern haben gezeigt, dass alle bis etwa 1 V
noch arbeiten.
Programmierung
Die
Firmware des ELO-Flasher wurde mit Bascom entwickelt. Die wesentlichen
Grundlagen der Low-Power-Anwendung unter Verwendung des Watchdog wurde bereits
in ELO vorgestellt.
'ELO-Flasher-2, 9,6 MHz / 8
$crystal = 1200000
'Watchdog Reset nach ca. 1 s
Config Watchdog = 1024
Start Watchdog
Ddrb
= 255
Portb
= 255
Waitms 10
Portb
= 0
Powerdown
End
Downlaod: Quelltext und HEX-File
Mit
dieser Version des Programms kann jeder Besitzer eines Lernpakets
Mikrocontroller seinen eigenen ELO-Flasher brennen. Verwenden Sie dazu das
Programm LPmikroISP.exe und flashen Sie das Programm EloFlasher2.hex in den
fabrikneuen Controller. Vermeiden Sie auf jeden Fall die Fuses zu verändern!
Das Problem ist die vorgegebene Verwendung des Brownout-Detektors bei 2,7 V.
Der Chip kann dann nicht mehr mit kleiner Spannung arbeiten.
Optimierung
Wenn
es auf höchste Sparsamkeit ankommt, lässt sich noch etwas optimieren. Dafür
benötigt man allerdings einen universellen Programmer wie z.B. das STK500. Die
Das
Programm ELOflasher2 verwendet andere Einstellungen der Fuses mit einer
effektiven Taktrate von nur 600 kHz, die kleinste Startup-Time, die halbe Blitzfrequenz
von ca. 0,5 Hz und zusätzlich verkürzte Blitzimpulse von nur 5 ms Länge. In
dieser Form wird der Chip programmiert und im ELO-Shop angeboten.
'ELO-Flasher-2, 4,8 MHz / 8
$regfile = "attiny13.dat"
$crystal = 600000
'Watchdog Reset nach ca. 1 s
Config Watchdog = 2048
Start Watchdog
Portb
= 255
Waitms 5
Portb
= 0
Powerdown
End
Download: ELO-Flasher 2
Für
diese Anwendung müssen die Fuses passend eingestellt werden:
In
dieser Version läuft der ELO-Flasher unter gleichen Testbedingungen an einem
1000-µF-Elko länger als eine Minute, also dreimal länger als in der Version 1. Ohne
Selbstentladung könnte er also ca. 30 Jahre mit nur einer Batterie arbeiten!
Damit bietet sich auch ein sinnvoller Einsatz mit kleineren Batterien wie z.B.
Knopfzellen.
Technische
Daten
* ATtiny13
* Firmware
ELOflasher2
* Betriebsspannung
1 V … 1,5 V
* Mittlerer
Betriebstrom < 10 µA
* Blitzfrequenz
0,5 Hz