Project:Flip Dot Display: Difference between revisions

From CoMakingSpace Wiki

(added website to generate hex code)
(added some more history updates)
Line 1: Line 1:
An impulse acquisition we made at the Makerfaire Hannover – three 16x24 flip dot displays. The project will be to get them up and running for displaying stuff in and around the CoMakingSpace (hey!). Any aid (e.g. donations for parts) are very welcome! Talk to [[User:Pakue|Patrick]] for the most recent status of the project or have a glance in the [https://github.com/comakingspace/FlipDotDisplay GitHub repository].
An impulse acquisition we made at the Makerfaire Hannover – three 16x24 flip dot displays. The project will be to get them up and running for displaying stuff in and around the CoMakingSpace (hey!). Any aid (e.g. donations for parts) are very welcome! Talk to [[User:Pakue|Patrick]] for the most recent status of the project or have a glance in the [https://github.com/comakingspace/FlipDotDisplay GitHub repository].


==Stage 0.1 – The Purchase==
[[File:Flip_Dot_Displays_in_Box.jpg|thumb|140px|still in the box!]]


==Stage 0.2 – Basics and Proof of Concept==
== History ==
 
=== Stage 1.1 – Display in the Common Room ===
The 3 24x16 panels were combined into one 48x24 display and mounted on a wooden board to allow for better mounting.
 
 
=== Stage 1.0 – Driver on PCB ===
*imagine some more trial & error on breadboard since the last update*
 
The goal of the board was to squeeze all the driver ICs and a ATMEGA328P onto a 100x100mm board (because im cheap…). I decided on THT devices because it fits the old school style of the FDD panel. The circuit and layout design was made in [http://kicad-pcb.org KiCAD] and the PCBs were ordered from [https://dirtypcbs.com/store/pcbs DirtyPCBs].
 
[[File:FDD_PCB.jpeg|thumb|240px|FlipDotDisplay PCB]]
 
 
=== Stage 0.4 – Alternate Design ===
The triac circuit worked with some triacs (Z013MA) however it proved to be rather difficult to implement with higher current triacs (probably due to higher latch current). Therefore I started with a common H-bridge design (L293D). Also I found a cheaper source for them on eBay (~50 cent/piece).
 
 
=== Stage 0.3 – First Circuit Design ===
Usually FDDs are controlled via a half-H-bridge for each row/column, which then get powered once a dot has to be flipped. However this method is rather expensive in terms of parts needed to run a larger display. You could build a half-H-bridge for every line by yourself, but this would be insanely time consuming and hard to debug, or you could use a [https://www.conrad.de/de/pmic-motortreiber-steuerungen-stmicroelectronics-l293d-halbbruecke-4-parallel-powerdip-16-174003.html quad-motor-driver-chip], which costs 2 to 3 €. This is still not cheap but a reasonable option for a controller board.
 
Nevertheless I wanted to go for an even cheaper method of controlling the FDD with just a single H-bridge for current flow and a triac for each row/column. A [https://en.wikipedia.org/wiki/TRIAC triac] works roughly like a [[Transistors|transistor]] for alternating currents (AC). If you apply a current trough the gate of the triac, the impedance between the two anodes decreases drastically and allows flow of current through the triac. This is pretty much exactly what is needed to select a column and a row to flip a dot on the display.
 
To reduce the need of I/O ports of a microcontroller, a couple of shift registers ([https://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf 74HC595]) will serve as a digital I/O extender. This way only 3 pins are needed to control a (nearly) arbitrarily large flip dot display.
 
 
===Stage 0.2 – Basics and Proof of Concept===
The first steps were to run just a few pixels manually and then via a [[Arduino|microcontroller]]. With 12V voltage pulse over a column and a row you can make a pixel switch – pretty much like playing battleships. Depending the direction of the current the pixel either switches to yellow or black.  
The first steps were to run just a few pixels manually and then via a [[Arduino|microcontroller]]. With 12V voltage pulse over a column and a row you can make a pixel switch – pretty much like playing battleships. Depending the direction of the current the pixel either switches to yellow or black.  


Line 18: Line 42:
</gallery>
</gallery>


== Stage 0.3 – First Circuit Design ==
Usually FDDs are controlled via a half-H-bridge for each row/column, which then get powered once a dot has to be flipped. However this method is rather expensive in terms of parts needed to run a larger display. You could build a half-H-bridge for every line by yourself, but this would be insanely time consuming and hard to debug, or you could use a [https://www.conrad.de/de/pmic-motortreiber-steuerungen-stmicroelectronics-l293d-halbbruecke-4-parallel-powerdip-16-174003.html quad-motor-driver-chip], which costs 2 to 3 €. This is still not cheap but a reasonable option for a controller board.


Nevertheless I wanted to go for an even cheaper method of controlling the FDD with just a single H-bridge for current flow and a triac for each row/column. A [https://en.wikipedia.org/wiki/TRIAC triac] works roughly like a [[Transistors|transistor]] for alternating currents (AC). If you apply a current trough the gate of the triac, the impedance between the two anodes decreases drastically and allows flow of current through the triac. This is pretty much exactly what is needed to select a column and a row to flip a dot on the display.
===Stage 0.1 – The Purchase===
[[File:Flip_Dot_Displays_in_Box.jpg|thumb|140px|still in the box!]]


To reduce the need of I/O ports of a microcontroller, a couple of shift registers ([https://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf 74HC595]) will serve as a digital I/O extender. This way only 3 pins are needed to control a (nearly) arbitrarily large flip dot display.


== Stage 0.4 – Alternate Design ==
The triac circuit worked with some triacs (Z013MA) however it proved to be rather difficult to implement with higher current triacs (probably due to higher latch current). Therefore I started with a common H-bridge design (L293D). Also I found a cheaper source for them on eBay (~50 cent/piece).


== Generating display code ==
== Generating display code ==

Revision as of 22:05, 10 October 2018

An impulse acquisition we made at the Makerfaire Hannover – three 16x24 flip dot displays. The project will be to get them up and running for displaying stuff in and around the CoMakingSpace (hey!). Any aid (e.g. donations for parts) are very welcome! Talk to Patrick for the most recent status of the project or have a glance in the GitHub repository.


History

Stage 1.1 – Display in the Common Room

The 3 24x16 panels were combined into one 48x24 display and mounted on a wooden board to allow for better mounting.


Stage 1.0 – Driver on PCB

*imagine some more trial & error on breadboard since the last update*

The goal of the board was to squeeze all the driver ICs and a ATMEGA328P onto a 100x100mm board (because im cheap…). I decided on THT devices because it fits the old school style of the FDD panel. The circuit and layout design was made in KiCAD and the PCBs were ordered from DirtyPCBs.

FlipDotDisplay PCB


Stage 0.4 – Alternate Design

The triac circuit worked with some triacs (Z013MA) however it proved to be rather difficult to implement with higher current triacs (probably due to higher latch current). Therefore I started with a common H-bridge design (L293D). Also I found a cheaper source for them on eBay (~50 cent/piece).


Stage 0.3 – First Circuit Design

Usually FDDs are controlled via a half-H-bridge for each row/column, which then get powered once a dot has to be flipped. However this method is rather expensive in terms of parts needed to run a larger display. You could build a half-H-bridge for every line by yourself, but this would be insanely time consuming and hard to debug, or you could use a quad-motor-driver-chip, which costs 2 to 3 €. This is still not cheap but a reasonable option for a controller board.

Nevertheless I wanted to go for an even cheaper method of controlling the FDD with just a single H-bridge for current flow and a triac for each row/column. A triac works roughly like a transistor for alternating currents (AC). If you apply a current trough the gate of the triac, the impedance between the two anodes decreases drastically and allows flow of current through the triac. This is pretty much exactly what is needed to select a column and a row to flip a dot on the display.

To reduce the need of I/O ports of a microcontroller, a couple of shift registers (74HC595) will serve as a digital I/O extender. This way only 3 pins are needed to control a (nearly) arbitrarily large flip dot display.


Stage 0.2 – Basics and Proof of Concept

The first steps were to run just a few pixels manually and then via a microcontroller. With 12V voltage pulse over a column and a row you can make a pixel switch – pretty much like playing battleships. Depending the direction of the current the pixel either switches to yellow or black.

Things learned from testing:

  • the display is usually powered by a dual power supply (e.g. +12V/-12V)
    • this can be mediated by switching the voltage with an H-bridge
  • H-bridges are a pain in the a** to wire on a breadboard
  • a 500-600 microsecond pulse is sufficient to switch a pixel
  • the row and column selection will be done via a couple of shift registers (74HC595)


Stage 0.1 – The Purchase

still in the box!


Generating display code

The display runs on a simple byte array (1 = yellow). To "draw" an image there are websites like dot2pic. Select Monochromatic, 8 pixels per byte (horizontal) 24x16 draw.