DuckMini: Difference between revisions

From BlinkenArea Wiki
Jump to: navigation, search
No edit summary
No edit summary
Line 49: Line 49:
Die ATtiny804/814 unterstützen die ISP-Schnittstelle nicht, daher ist die 2x3-Stiftleiste mit diesen Controllern nutzlos. Eine Programmierung im System ist dennoch möglich, indem ein Kabel an den ungenutzten Pin 10 angelötet und mit einem UPDI-Programmer verbunden wird. Zusätzlich muss der Programmer natürlich noch mit Masse verbunden werden.  
Die ATtiny804/814 unterstützen die ISP-Schnittstelle nicht, daher ist die 2x3-Stiftleiste mit diesen Controllern nutzlos. Eine Programmierung im System ist dennoch möglich, indem ein Kabel an den ungenutzten Pin 10 angelötet und mit einem UPDI-Programmer verbunden wird. Zusätzlich muss der Programmer natürlich noch mit Masse verbunden werden.  


Die PWM-Pins liegen beim ATtiny804/814 auch anders als beim ATtiny84. Pin 6 (PA7/OC0B beim ATtiny84) unterstützt per PORTMUX das PWM-Signal WO0, so dass eine einfache Register-Einstellung am Beginn des Programms ausreicht. Auf Pin 5 (PB2/OC0A beim ATtiny84) ist jedoch gar kein PWM-Signal verfügbar, daher wird das CCL-Modul verwendet, um intern das WO1-Signal mit LUT1-OUT zu verbinden, welches auf Pin 5 gelegt werden kann.  
Die PWM-Pins liegen beim ATtiny804/814 auch anders als beim ATtiny84. Pin 6 (PA7/OC0B beim ATtiny84) unterstützt per PORTMUX das PWM-Signal WO0, so dass eine einfache Register-Einstellung am Beginn des Programms ausreicht. Auf Pin 5 (PB2/OC0A beim ATtiny84) ist jedoch gar kein PWM-Signal verfügbar. Stattdessen wird das CCL-Modul verwendet, um intern das WO1-Signal auf LUT1-OUT durchzureichen, was dann auf Pin 5 ausgegeben werden kann.  


* [[:Media:Duck-tn84-2022-07-25.zip|Firmware Version 2022-07-25]] für ATtiny84
* [[:Media:Duck-tn84-2022-07-25.zip|Firmware Version 2022-07-25]] für ATtiny84

Revision as of 19:53, 3 January 2024

zur Projektübersicht
English Version of this Page
DuckMini.jpg
Jahr 2019
Anzahl Pixel 34
Graustufen / Farben 8 Graustufen
Leuchtmittel SMD-LEDs
Leistungsaufnahme
Kontaktperson Arne Rossius
Projekt-Website

Die DuckMini ist die SMD-Ausführung der THT-Duck (Ente). Schaltung und Software sind weitgehend identisch. Details zu Schaltung und Software sind auf der Projektseite der Duck zu finden.

Version 1.0

Hardware

Die Schaltung ist bis auf den Microcontroller-Typ identisch mit der "großen" Ente. Aus Preisgründen wurde der ATmega8 durch einen ATtiny88 ersetzt, welchen es ausschließlich im SMD-Gehäuse gibt. Anstelle eines losen Batteriehalters mit 3 Mignon-Zellen (AA) wird ein auf der Platinenrückseite angelöteter Batteriehalter für 3 Micro-Zellen (AAA) eingesetzt. Es empfiehlt sich, den Batteriehalter zusätzlich mit einem Stück doppelseitigem Schaum-Klebeband (Spiegel-Montageband) an der den Pins gegenüberliegenden Ecke auf der Platine festzukleben. Über dem Batteriehalter ist die Platine gerade groß genug, um den großen Tantal-Kondensator und eine Stiftleiste für die ISP-Schnittstelle unterzubringen.

Anstelle des großen Batteriehalters kann die Platine auch einen Knopfzellenhalter für eine CR2032 aufnehmen. Durch die geringere Spannung und den hohen Innenwiderstand der Knopfzelle ist das Quaken der Ente jedoch sehr leise und die LEDs sind etwas dunkler. Für eine Ente ohne Ton, die nicht tagelang eingeschaltet bleibt, ist die Knopfzelle dennoch eine sinnvolle Alternative.

Firmware

Version 2.0

Hardware

In Version 2 wurde der Controller durch einen 14-Pin-Typ ersetzt, es können entweder ATtiny84 oder ATtiny804/814 eingesetzt werden.

Die LEDs werden jetzt mit Charlieplexing angesteuert, so dass sie nur 7 Pins benötigen. Die Transistoren sind nun als Emitterfolger verschaltet, um kompatibel mit dem Charlieplexing-Verfahren zu sein, und die Basiswiderstände können auch entfallen. Eine Spalte der LEDs wird ausgewält, indem der Microcontroller den dazugehörigen Pin high steuert und der Transistor so die LED-Anoden mit Spannung versorgt. Die Kathoden-Pins aller LEDs in dieser Spalte, die aufleuchten sollen, werden low gesteuert, alle anderen Pins bleiben hochohmig (Eingang). Dieser Ablauf erfolgt für alle 6 Spalten und wiederholt sich dann (wie beim Multiplexing auch).

Firmware

Da sich die ISP-Schnittstelle in dieser Version die Pins mit den LEDs teilt, ist der Immer-An-Jumper wie in Version 1 nicht mehr möglich. Stattdessen kann man den Taster beim Einlegen der Batterien gedrückt halten, um den Immer-An-Modus zu aktivieren. Ein automatisches Einschalten beim Anlegen der Spannung ist nicht möglich.

Die ATtiny804/814 unterstützen die ISP-Schnittstelle nicht, daher ist die 2x3-Stiftleiste mit diesen Controllern nutzlos. Eine Programmierung im System ist dennoch möglich, indem ein Kabel an den ungenutzten Pin 10 angelötet und mit einem UPDI-Programmer verbunden wird. Zusätzlich muss der Programmer natürlich noch mit Masse verbunden werden.

Die PWM-Pins liegen beim ATtiny804/814 auch anders als beim ATtiny84. Pin 6 (PA7/OC0B beim ATtiny84) unterstützt per PORTMUX das PWM-Signal WO0, so dass eine einfache Register-Einstellung am Beginn des Programms ausreicht. Auf Pin 5 (PB2/OC0A beim ATtiny84) ist jedoch gar kein PWM-Signal verfügbar. Stattdessen wird das CCL-Modul verwendet, um intern das WO1-Signal auf LUT1-OUT durchzureichen, was dann auf Pin 5 ausgegeben werden kann.

Fotos

Mehr Fotos unter http://arne.blinkenarea.org/duck-mini/gallery.htm.