Basteleien

Weihnachtsbaum deluxe

Hier (Weihnachtsbaum mit Lichtern) hatte ich bereits mit meinem Weihnachtsbaum aus Holz herumgespielt.

Hier

Projekt: STM8S105 6×8 Bits Output Teil 1a

Projekt: STM8S105 6×8 Bits Output Teil 1b

Projekt: STM8S105 6×8 Bits Output Teil 2

Projekt: STM8S105 6×8 Bits Output Teil 3

habe ich längere Zeit mit einer neuen Version geliebäugelt. Dann war er lange Zeit vergessen. Weihnachten 2015 leuchtete die alte Version.

Jetzt aber ist es soweit, er ist in neuer Schönheit 😉 wieder da.

Weihnachtsbaum
Weihnachtsbaum

Das bereits kommentierte Programm werde ich noch hinzufügen, es muss für die Webseite doch noch etwas aufgehübscht werden.

VIM878 HT1621B Display Teil 2

Die Platinen von Oshpark (18.08.2016) und Elecrow (16.08.2016) sind da, es kann losgehen mit dem Displaymodul.

oshpark_elecrow
links oshpark, rechts elecrow

Der silkscreen ist leider verpfuscht. Ich habe aus Bequemlichkeit die Eagle-Dateien geschickt, so dass der Hersteller auch die tnames (Kurznamen z. B. JP1 o.ä.) mitgedruckt hat, eigentlich  sollten es nur die tvalues (Bauteilewerte) und die tplaces (Umrisse der Bauteile) sein.

Es folgt die teilbestückte Platine, am schwierigsten ist die Bestückung des HT1621B, wobei nicht das Löten (mit breiter meißelförmiger Spitze, viel Flußmittel und zügigem Überstreichen) schwierig ist, sondern die richtige Platzierung und Fixierung des Chips:

teilbestückt
teilbestückt

 

teilbestückt
teilbestückt

 

vollbestückt
vollbestückt

 

vollbestückt
vollbestückt

 

vollbestückt
vollbestückt

 

in Funktion
in Funktion (Charakterdarstellung)

 

in Funktion
in Funktion (Zähler)

Leider habe ich erst jetzt gesehen, dass schon jemand vor mir praktisch genau diese Platine gebaut hat:

TWI Display at www.akafugu.jp

Schade, das wäre eine gute Inspiration gewesen.

VIM878 HT1621B Display Teil 1

Seit einiger Zeit gibt es bei Pollin ein LC-Glas zu kaufen, das VIM878 von Varitronics:

www.pollin.de LCD_Modul_VARITRONIX_VIM878

Der HT1621B reicht gerade noch aus, um dieses Glas mit 4 Commons und 32 Segmenten anzusteuern.

Besonders erklärungsbedürftig ist die hierfür konstruierte Hardware nicht, man schließt alle COM-Anschlüsse des HT1621B an die passenden Pins des Displays. Die Segmente 1 .. 16 werden an die Segmentanschlüsse 0 bis 15 des HT1621B angeschlossen, die Segment 32 bis 17 an die Segmentanschlüsse 16-31.

Letzteres ist bewußt in umgekehrter Reihenfolge angeordnet, um die Programmierung zu vereinfachen. Durch die gespiegelte Reihenfolge werden nämlich die Segmente im Speicher des HT1621B in derselben Reihenfolge angeordnet wie die Segmente 1 bis 16. Näheres verrät das Datenblatt des VIM 878 bei analytischer Betrachtung. 😉 (siehe auch meinen Beitrag vom 25.06.2016)

Dieses Mal habe ich auch noch den Buzzer-Anschluß (JP2) mit vorgesehen, für alle Fälle.

Schaltplan:

Schaltplan
Schaltplan

Layout:

Layout
Layout

(bestellt am 31.07.2016 bei oshpark -3 Stück- und am 02.08.2016 bei elecrow -10 Stück-)

VIM878 8 Stellen 14 Segment Display Glas

Bei Pollin gibt es mit dem VIM878 ein spannendes 8-stelliges 14-Segment LC-Display mit Datenblatt zu kaufen. Das möchte ich gern mit meiner HT1621B-Universalplatine testen. Also Datenblatt gründlich lesen:

Datenblattausschnitt Datenblattausschnitt_2

Wenn man die Pins des LCD fortlaufend mit dem HT1621B verdrahtet, werden zunächst die Segmentteile der Digits 1 bis 8 und dann wieder rückwärts laufend von 8 bis 1 den Speicherstellen des Display-RAM zugeordnet. Segmentblock/Pin 1 (1D, 1E, 1F, CA1) liegt dann also auf Adresse 0, Segmentblock/Pin 32 (1M, 1N, 1G, 1H) auf Speicherstelle 31. Das könnte für die Programmierung umständlich werden, da zum Schreiben eines Digit alle zu diesem Digit gehörenden Segmente angeschaltet werden müssen. Man müßte für zwei Teile des Digits aufwärts zählen, für die weiteren zwei Teile dann rückwärts und das mit jeweils unterschiedlichen Abständen im Speicher.

Deshalb habe ich anders verdrahtet. Ich habe die Segmentblöcke 1 bis 16 den Speicheradressen 0 .. 15 zugeordnet und dann die Segmentblöcke 32 bis 21 den Speicheradressen 16 .. 31. Der Abstand zwischen den zusammengehörigen zwei Segmentblöcken (Pin 1, 2, und Pin 32, 31) im Speicher des HT1621B ist jetzt konstant. (Besser wäre natürlich, eine universellere Softwarelösung zu finden, weil es sicher auch Displays geben wird, bei denen die Segmente nicht so strukturiert den Pins zugeordnet sind. Aber Zeit ist wie immer knapp.)

Alles schnell verdrahten und los geht es. Eine Arduino-Bibliothek zum schnellen Testen ist bereits vorhanden, wenn auch für 7-Segment-Displays.

Ein paar Bilder vom Aufbau:

VerkabelungVerkabelung_2 Verkabelung_3 Verkabelung_4 Verkabelung_5

Testplatine mit dem WS2811 Chip

Nachdem die WS2811 chips bereits seit längerem eingetroffen sind und herumliegen, war es heute an der Zeit, einen Test zu machen. Als Basis diente eine SOP20-Adapterplatine, auf die eine PLCC6-5050-RGB-LED gelötet wurde.

WS2811 Testboard oben
WS2811 Testboard oben

 

WS2811 Testboard seitlich
WS2811 Testboard seitlich

 

WS2811 Testboard unten
WS2811 Testboard unten

 

WS2811 Testboard seitlich unten
WS2811 Testboard seitlich unten

Der WS2811 wurde daneben platziert und gemäß Datenblatt verschaltet.

WS2811 Datenblatt
Beschaltung des WS2811 gemäß Datenblatt

Die Schaltung läuft dem Anschein nach auf Anhieb.

Im Vergleich zu den integrierten WS2812B-LEDs fällt jedoch bei Nutzung eines Adafruit-Testprogrammes auf, dass Rot und Grün vertauscht sind. Die Verkabelung ist korrekt gemäß Datenblatt. In einer Reihe mit WS2812B geschaltet, geht trotzdem Grün statt Rot an und umgekehrt. Blau ist richtig. Ist das nun ein Fehler der WS2812B oder des WS2811? Es liegt, sofern man meinen google-Ergebnissen trauen kann, an den verschiedenen Chip-Versionen des WS281x. Das heißt aber auch, dass man diese Chips nicht einfach mischen kann oder die Verkabelung anpassen muss.

EDIT: Verkabelung geändert, es läuft ohne einen Unterschied zu den WS2812B

Pollin Display HB10401

Pollin verkauft derzeit o.g. Display aus der Siemens Logo 12/24RC.

Siemens Logo
Siemens Logo

 

Siemens Logo Aufbau
Siemens Logo Aufbau

Leider sind im Internet keine Anschlußbelegungen zu finden. (Oder ich habe nicht gründlich genug gesucht 😉

Tasten
Tasten

 

Stecker
Stecker

Anbei eine erste Untersuchung der Belegung der auf dem Display vorhandenen Buchse:

Buchse beschriftet
Buchse beschriftet

Hierbei meint T_xx den jeweiligen Anschluß des Tastenfeldes, D0 .. 7 sind die Datenleitungen des LCD, CONx meint die LCD-Steuersignale (Diese Leitungen gehen alle zum LCD_Controller)

 

EDIT: Im Mikrocontroller-Forum war jemand schneller und hat bereits die vollständige Belegung herausgefunden und getestet.

Bausatz bicolor LED-Matrix 32×16 Pixel aus China

Bei Ebay gibt es derzeit von verschiedenen Anbietern einen Bausatz für eine Bicolor-Anzeige mit 32 x 16 Punkten. Präziser gesagt, es gibt zwei verschiedene Bausätze.

Der hier Besprochene verwendet acht 74HC595 und zwei 74HC138 als aktive Bauelemente. Der Bausatz kommt mit einer vorgefertigten Platine, es geht also nur noch um das Zusammenlöten. Das sollte eine einfache Samstagsbeschäftigung werden. Zunächst lief alles routinemäßig ab, beim Test jedoch ging nichts so, wie es sollte. Einige Pixel leuchteten immer, andere gar nicht, völlig unabhängig von der Ansteuerung.

Die optische Analyse brachte zunächst nichts, außer, dass ein IC etwas seitlich verrutscht war, weil die Leiterpads für die IC auf beiden Seiten deutlich länger als nötig waren. Anhand der zu sehenden Fehler bei der Anzeige war irgendwann klar, dass dieser IC schuld sein muss. War er auch. Das gesamte Layout ist löttechnisch nicht sehr anfängerfreundlich, siehe Bild:

Layout, markierte Problemstellen
Layout, markierte Problemstellen

Durch den seitlich (im Bild: nach unten verschoben) verschobenen IC (leider habe ich diesen im eingebauten Zustand nicht fotografiert) wurden Pads mit den benachbarten Vias kurzgeschlossen, was sogar zu einem Total-Ausfall des IC führte:

Lötproblem
Lötproblem

Ein passender Ersatz war noch in der Bastelkiste, so dass dieses Problem mit einer kritischen Nachkontrolle aller anderen IC-Lötungen zu lösen war. Jetzt funktionierte die LED-Matrix, es waren jedoch noch immer Pixelfehler (nicht leuchtende LED) zu erkennen:

Pixelfehler rot
Pixelfehler rot

 

Pixelfehler grün
Pixelfehler grün

Nachdem ich diese Stellen mit der Lupe untersucht habe, stellte sich heraus, dass es sich vermutlich um Transportschäden handelt. Die defekten Pixel waren kaum erkennbar mechanisch beschädigt. (Einstichloch) Die jeweils andere Farbe funktionierte jedoch.

Wenn ich so etwas nochmals aufbaue, werde ich die Bauelemente vorher einzeln testen müssen. Zum Glück fallen die Fehler bei dynamischem Betrieb (Laufschriften) nicht so sehr auf.

Insgesamt gesehen ist der Bausatz für diesen Preis (10,78 € inkl. Versand aus China) jedoch in Ordnung.

Weihnachtsstern mit WS2812

Weihnachten ist gerade erst vorbei, allerdings hatte ich schon lange mal ein WS2812-Projekt vor. Bei Osh-Park fand ich bei den shared-projects ein Layout von ronsholidaylights.com, was mir gefiel. Allerdings ist die Fertigung in dieser Größe bei Oshpark zu teuer. Also hab ich den Stern unverändert (auch wenn das Layout nicht perfekt war: fehlende Kondensatoren und der Data-out-Pin des letzten WS2812 wurde nicht herausgeführt) bei elecrow produzieren lassen und gestern erhalten. Heute wurde der Protoyp gelötet, da die bei Ebay bestellten WS2812 passenderweise ebenfalls eintrafen. Die Effekte kommen per Arduino (pfuipfui ;-)) und ganz hervorragender ALA-Arduino-Bibliothek in den Stern. Ein sehr schnelles Projekt mit hohem WAF und schnellem Bastelerfolg.

WS2812 Star Stern
WS2812 Star Stern
WS2812 Star Stern
WS2812 Star Stern
WS2812 Star Stern
WS2812 Star Stern

STM32F030F4P6 breakout neues Layout

Gestern habe ich die neuen Platinen für den STM32F030-breakout erhalten. An der Schaltung wurde nichts geändert, lediglich das Layout wurde verbessert.

das neue Layout für den STM32F030-breakout
das neue Layout für den STM32F030-breakout

Einen kleinen Schönheitsfehler im Bestückungsdruck gibt es aber auch hier: C3 muss ein 100nF Kondensator sein, C1 ein 4,7µ Kondensator, denn der Stützkondensator sollte näher am Pin sein. Im Schaltplan ist es genau umgekehrt gezeichnet.