DuckMini
zur Projektübersicht | |
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), die Entstehungsgeschichte ist dort erklärt. Schaltung und Software sind weitgehend identisch.
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 den ausschließlich im SMD-Gehäuse erhältlichen ATtiny88 ersetzt. 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.
- Schaltplan (PNG)
- Schaltplan (EAGLE 4.x)
- Platinenlayout (EAGLE 4.x)
- Bausatz-Anleitung Rev. 1.1 für Platine Rev 1.0 (englisch)
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).
- Schaltplan (PNG)
- Schaltplan (EAGLE 4.x)
- Platinenlayout (EAGLE 4.x)
- Bausatz-Anleitung Rev. 2.0 für Platine Rev 2.0 (englisch)
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.
- Firmware Version 2022-07-25 für ATtiny84
- Firmware Version 2022-07-24 für ATtiny804 und ATtiny814
Fotos
Mehr Fotos unter http://arne.blinkenarea.org/duck-mini/gallery.htm.