Flip-Dot Spielereien - 2018

2016 habe ich fabrikneue und überarbeitete Flip-Dot Module aus dem letzten Jahrhundert erworben, weil mir diese Technik einfach große Freude bereitet. 2017 entwickelte ich dafür eine Platine und den notwendigen Arduino Programmcode. 2018 habe ich das ganze für meine New-Old-Stock 16x24 KRÜGER Flip-Dot Module aus dem Jahre 1997/8 angapasst. Es ist schon immer eine Freude, aus diesen Originalverpackungen die Gelben Klapp-Dots zum Leben zu erwecken! Wer mag kann bei mir Flip-Dot Module inclusive Arduino-Ansteuerung und Uhrenmodul erwerben. Schreibt mir einfach eine Mail und fragt, was ich abzugeben habe.

Wie funktioniert ein Flip-Dot?

Jedes einzelne Flip-Dot besteht aus einer magnetischen Platte die auf einer Seite gelb und auf der anderen Seite schwarz gefärbt ist. Die Platte ist über zwei kleine Plastikachsen in der Mitte frei drehbar gelagert. Unterhalb des Dots sind zwei Spulen mit Eisenkern angeordnet. Die Spulen sind als Doppelspule in Reihe geschaltet. Für jedes Dot gibt es somit zwei elektrische Anschlüsse. Durch einen Stromstoß von weniger als 1/1000 sec werden die Eisenkerne dauerhaft in eine Richtung magnetisiert und halten das Plättchen entsprechend der Kernpolung fest in einer Position. Gibt man danach einen zweiten Stromstoß mit umgekehrter Polung in die Doppelspule, wird das Magnetfeld der Eisenkerne umgekehrt und das Dot flippt in die entgegengesetzte Position.

Flip-Dot Basics

Flip-Dot Basics

Die Flip-Dot Technik ist sehr robust und störungssicher, solange man das Timing und den Spulenstrom beim Flippen im Griff hat. So weit mir bekannt ist, können diese Spulen dauerhaft an 5 Volt betrieben werden. Die kleinen 10 mm Dots haben beispielsweise einen Innenwiederstand von 16 Ohm, was an 5 Volt einem Strom von ca. 300 mA entspricht. Bei dieser Spannung flippen die Dots aber noch nicht betriebssicher. Die mir vorliegenden Flip-Dot Module wurden früher in Bussen mit 24 Volt angesteuert, was einem Spulenstrom von 1,5 A ergibt. Diesen hohen Strom halten die Spulen der Dots nur für kurze Zeit aus und flippen sonst ihr letztes mal 😉

Ich baue die Ansteuerelektronik meiner Module so um, dass die Logik komplett mit 5 Volt betrieben wird und eine Flipspannung von 9,5 - 12 Volt ausreichend ist. Die Flipspannung generiere ich mit einem Step Up Wandler aus den 5 Volt der USB Leitung. An einem moderne PC mit 1A USB-Strom kann das Modul direkt betrieben werden. Mag Euer USB-Ausgang das nicht, muss man einen USB Hub mit Netzteil oder ein Steckernetzteil mit mindestens 1A Leistungsabgabe verwenden.

Mit diesen Modulen "spiele" ich

Meine Flip-Dot Module stammen von der Firma Brose. Die Module werden alle nach dem gleichen Prinzip und über die gleiche elektrischen Schnittstelle angesteuert. Das größte mir bekannte Brose Modul ist mit 28x28 Flip-Dots ausgestattet.

Flip-Dot Modul Aufbau

Flip-Dot Modul Aufbau

Die Flip-Dots sind in einer Matrix verschaltet. Die Ansteuerung funktioniert ähnlich einer LED Matrix. Da Spulen im Gegensatz zu Leucht-DIODEN keine Sperrichtung aufweisen, ist jedes Flip-Dot in der Zeilensteuerung mit einer Doppeldiode versehen worden (z.B. BAV99LT). Ohne diese Dioden würden sich die Dots gegenseitig den Schaltstrom "weiterreichen".

Flip-Dot Matrix Doppeldiode

Flip-Dot Matrix Doppeldiode

Die Steuerung ist so dimensioniert, dass immer nur ein Dot gleichzeitig geschaltet werden darf. Das X/Y Koordinatensystem hat seinen Nullpunkt oben links - von vorne gesehen. Die bis zu 28 Spalten (x) werden über den auf dem Flip-Dot Modul befindelichen Chip direkt mit dem Schaltstrom versorgt. Der Zeilenstrom muss über den großen 60-poligen Stecker eingespeist werden. Über diesen Stecker bekommt auch der Spaltenchip seine Logikinformationen und seine Betriebsspannung.

Wenn für ein großes Display mehrere Module in Reihe geschaltet werden sollen, kann man die Module über die Dipschalter kodieren und dann über den Busstecker einzeln ansprechen. Da heutige Mikrocontroller sehr preiswert sind, empfehle ich allerdings jedes Modul mit einem eigenen Controller auszustatten. Dadurch kann man die Gesamtdarstellung auf den Modulen viel reaktionsschneller gesatalten.

Flip-Dot Spaltentreiber IC

Der große Chip auf meinen BROSE Modulen ist unterschiedlich gelabelt (z.B. BROSE oder ALCATEL) und trägt meist irgendwo die Nummer 2840. Unter diesem Link findet ihr das Datenblatt eines FP2800A, der elektrisch mit meinen "BROSE" Chips identisch zu sein scheint. Da dieser Chip direkt den Flip-Dot Strom schaltet, brennt er bei einer falschen Beschaltung auch mal durch. Wer meine Arduinoplatine und meine Library verwendet muss davor keine Angst haben! Bei ersten eigenen Experimenten mit solchen Modulen sollte man diesen Chip aber besser entfernern. Hergestellt wird dieser Chip angeblich nicht mehr? Er ist manchmal für ca. 5 bis 10 Euro bei Aliexpress.com als Ersatzteil zu finden - mir ist zum Glück noch keiner kaputt gegangen...

Flip-Dot Brose2840 = FP2800A, dieses Schaltbild habe ich aus dem Datenblatt kopiert

Flip-Dot Brose2840 = FP2800A, dieses Schaltbild habe ich aus dem Datenblatt kopiert

Über die 5 Adresspins A0, A1, A2, B0 und B1 wählt man einen der 28 Ausgänge 0A bis 3G aus. Die Wahrheitstabelle dazu steht in obigem Datenblatt. Die Ausgänge treiben direkt die Spalten 1 bis 28 der Flip-Dot Matrix. Über DATA legt man fest ob die Ausgänge mit GROUND oder der Spaltenspannung VS beschaltet werden sollen. Damit es flippt, müssen wir gleichzeitig die "Gegenspannung" auf dem Kreuzpunkt der Matrix durch den Busstecker auf die richtige Zeile schicken - siehe unten.

Brose Flip-Dotmodule - 60-poliger Stecker

Die Logikeingänge A0 bis ENABLE und die Modulauswahl Modul 1 bis Modul 8 sind auf der Originalplatine über Spannungsteiler und Trenndioden sowie einen 8-bit comparator zur Modulauswahl auf den Busstecker geführt. Ich habe diesen Schaltungsteil auf meinen Modulen so modifiziert, dass ich sie direkt mit einer Logikspannung von 5 Volt schalten kann. Die Möglichkeit einer Modulauswahl habe ich dabei ganz entfernt. Mehrere Module betreibe ich mit mehreren Mikrocontrollern.

Original-Belegung des 60-poligen Flip-Dot Steckers auf den BROSE Modulen "12V" muss im Original mit 24 Volt versorgt werden

Original-Belegung des 60-poligen Flip-Dot Steckers auf den BROSE Modulen "12V" muss im Original mit 24 Volt versorgt werden

Erste Hilfe für ausgeflipte Dots

Beim Transport und beim Handling der Module kann es schon mal vorkommen, dass ein Dot aus dem Rahmen flipt. Das macht überhaut nichts - man kann sie einfach wieder einclipsen - dabei geht nichts kaputt. Achtung! Dots nur mit sauberen und fettfreien Fingern einsetzen, damit es keine Abdrücke auf der mattschwarzen Dotfläche gibt.

Wenn die Module lange nicht benutzt wurden, einen langen Transport hinter sich hatten oder im Liegen betrieben werden haben manchmal einige Dots keine Lust mit zu flippen. Da ist dann nichts wirklich defekt, sondern es sitzt mechanisch etwas schief. Zunächst sollte man das ganze Modul oder das betroffene Dot ein paar mal hin und her flippen lassen und ggf. mit den Fingern nachhelfen. Nützt das nichts, kann man das Dot vorsichtig in den Achsen ein wenig hin und her drücken. Bleibt das Dot störrisch nimmt man es heraus, richtet die Achsen neu aus und flippt es wieder in die Halterung. Bei ganz störrischen Dots könnte man es im Programmcode 2x hintereinander in die gleiche Richtung flippen lassen - das war bei meinen Modulen bisher aber noch nicht nötig.

Ausgeflipte Dots können einfach wieder eingesetzt werden (Radow © 2017-03-27)

Ausgeflipte Dots können einfach wieder eingesetzt werden (Radow © 2017-03-27)



// **************************************************************************
// wwFlipdot-basic-test
// ===========================================================================
// ===========================================================================

Mit diesem Code kann man müde Kameraden wieder mobilisieren bzw. sehen, welche Dots ein wenig Nachhilfe benötigen. Zum optimalen Flippen sollten die Module senkrecht aufgestellt werden.

LED-Treiber

Auf einigen meiner Module ist jedem Flip-Dot auch eine Leuchtdiode zugeordnet. Diese sind in einer gesonderten Matrix miteinander verschaltet und werden über zwei zusätzliche Steckverbinder angesteuert. Eine dafür passende Ansteuerelektronik baue ich gerade auf.

Arduino Library für Flip-Dot Module

Zu meiner Arduino Flip-Dot Platine habe ich eine eigene Library geschrieben. Sie ist universell für alle meine Brose Module einsetzbar. Dieses Codebeispiel erläutert alle bisher implementierten Befehle: dotSetup(), dotPowerOn(), setAll(), resetAll() sowie setDot(x,y) und resetDot(x,y).

Mit diesem Code kann man müde Kameraden wieder mobilisieren bzw. sehen, welche Dots ein wenig Nachhilfe benötigen. Zum optimalen Flippen sollten die Module senkrecht aufgestellt werden.

Dieses Video zeigt den oben gelisteten Debug Code in Aktion.

16x24 KRÜGER Flip-Dot Module

Zusammenschalten von 3 Modulen mit den von mir entwickelten Platinen

Die 16 x 24 Module können stehend in beliebiger Anzahl seitlich aneinander gereiht werden. Die sich ergebende Dot-Matrix ist dann 24 Pixel hoch und n* 16 Pixel breit. Hier zeige ich einen Aufbau mit drei Modulen. Zunächst steckt man auf das linke Modul die Platine mit dem Arduino und der Uhr. Von hinten gesehen ist das dann natürlich das rechte Modul.

Krüger Flip-Dot Modul Rückseite

Krüger Flip-Dot Modul Rückseite

In die Mitte steckt man das Modul mit dem 5V DC/DC Wandler. Nur an dessen Rundstecker schließt man die Spannungeversorgung von 12 bis 24 Volt. So ist der Weg des Stroms zu allen Pixeln relativ gleich lang. Außen platziert man ein Modul ohne jegliche Aufsätze. Wenn man als Basis eine Platine mit Arduino UND Booster besitzt, verwendet man als Erweiterung zwei Module ohne weitere Aufsätze. Die Platine mit dem Arduino muss aber immer von hinten gesehen rechts sitzen, da diese das Schieberegistersignal an die Folgemodule ausssendet. Wenn alles schön ausgerichet steht, setzt man je einen Brückenstecker auf die Übergänge zu den Folgemodulen.

3x Krüger Flip-Dot Modul Rückseite

3x Krüger Flip-Dot Modul Rückseite

3 Stück 16x24 KRÜGER Flip-Dot Module

Achtung - Video bitte bis zum Ende schauen - es wird immer schneller. Im Video beträgt die Versorgungsspannung 24 Volt.

Software

Meine Brose Flip-Dot und Krüger Flip-Dot Arduino Software habe ich 2018 in einer gemeinsamen Library zusammengefasst. Die Hardwarekonfiguration stellt man vor der Benutzung 1x in der wwFlipConfig.h meiner wwFlip Library ein. Gerne helfe ich dabei! Man findet die Config Datei im "libraries" Ordner von Arduino. Dieser muss sich nicht unbedingt wie hier gezeigt unter "Programme" befinden, sondern wurde auch schon unter "user" - "Dokumente" - "Arduino" gesichtet - einfach mal auf dem PC suchen ;-)

Speicherort der wwFlipConfig.h

Speicherort der wwFlipConfig.h

Die Config Datei kann mit jedem Texteditor geöffnet und bearbeitet werden. Ich empfehle dazu das notepad++ .Neuere Versionen der wwFlipConfig.h können bezüglich der Zeilennummerierung von diesem Bild abweichen - das Prinzip bleibt aber das Gleiche.

wwFlipConfig.h zum Einstellen der Hardware

wwFlipConfig.h zum Einstellen der Hardware

In Zeile 13 definiert man, ob man ein BROSE (vollständig umklappende Flip-Dots) oder ein KRÜGER Display (halb umklappende rechteckige Flip-Dots) ansteuern möchte. Für die BROSE Displays kommentiert man Zeile 13 mit den zwei Strichen // aus. Für die KRÜGER Display entfernt man die zwei Striche // - das wars.

In Zeile 19 und 22 definiert man die Anzahl der in Reihe geschalteter Module. Über MODULANZAHLMAX wird ein entsprechend großes Array für die Datenhaltung erzeugt - das kostet Speicherplatz - wer nur ein Modul ansteuert, sollte für MODULMAX und MODULANZAHL jeweils eine 1 eintragen.

Für die BROSE Flip-Dot Module kann man in Zeile 38-43 die Größe der Matrix vorwählen - dann muss das später im Programmcode nicht mehr angeben werden. Wer KRÜGER Flip-Dot Module verwendet, muss sich an dieser Stelle um nichts kümmern.

Die Library ist speziell für den Arduino Nano geschrieben, da sie dessen Hardware-Timer zur Steuerung der Flip-Dauer verwendet. Bevor man die in der Library enthaltenen Beispiele in der Arduino IDE sehen kann muss man unter "Werkzeuge" den Nano auswählen.

Aber Achtung: in den neueren Arduino IDEs wird zusätzlich zwischen altem und neuem Bootloader unterschieden. Die meisten China Nanos haben (2018) bei ihrer Geburt den alten Bootloader erhalten - also muss der alten Bootloader gewählt werden. Der auffälligste Unterschied des neuen Bootloaders besteht in der doppelten Baudrate (115200) bei der Programmierung. Bricht die Programmierung nach dem Befehlt "Overriding Baud Rate: 115200" ab, sollte man es mal mit der Einstellung "Alter Bootloader" probieren!.

Für die wwFlip Library muss der Arduino Nano mit ATmega328P ausgewählt sein

Für die wwFlip Library muss der Arduino Nano mit ATmega328P ausgewählt sein

Jetzt kann man in der IDE unter "Datei" - "Beispiele" - "wwFlip" diverse Programmbeispiele in die Arduino IDE laden und auf dem Display laufen lassen.

Nach Auswahl des Nanos sind die Beispiele für die wwFlip Library in der IDE sichtbar (ich füge da laufend etwas Neues hinzu!)

Nach Auswahl des Nanos sind die Beispiele für die wwFlip Library in der IDE sichtbar (ich füge da laufend etwas Neues hinzu!)