7 Segment Common Anode Display

115 views
Skip to first unread message

Christine Thompson

unread,
Nov 4, 2019, 4:52:36 PM11/4/19
to neonixie-l
Hi,

I am sure the group can help with this simple question.  I am building a clock using 8 x 7 Segment Common Anode
displays. The display uses a MAX6921AWI display driver chip and multiplexing to drive the displays. The
problem is that the above chip has a minimum output of 8V, however the 7 Segment Common Anode displays
are rated at 5V. This being confirmed by the testing of the displays using the 5V from an Arduino Uno via
a 220ohm in-line resistor and back to ground. 

Each display is 55m by 38mm and has 45mm x 25mm digits, 10 pins on the rear, with WLG marked on the back,
manufactured in 2008, ( these displays being recovered from two 4 digit 9V supply bedside clocks).

Can I use 8V to power these displays/what is the maximum input voltage? 

If not then how best  to use the MAX6921AWI allowing it  to supply 8V while the displays receive a maximum of 5V?

I am sure the above is simple to many however being new to using 7 segment displays I would
appreciate any help.


gregebert

unread,
Nov 4, 2019, 5:41:54 PM11/4/19
to neonixie-l
The Maxim part you mentioned is for VFD's, and it looks like it can run as low as 8V. If you use it to drive the anode of your LEDs, you run the risk of exposing the logic driving the cathodes (segments) to roughly 6 volts (the LED has about 2V of forward bias).

If the Arduino has 5V-tolerant I/O pins, you will have problems because there will be a current path through the LED to the 5V supply even if your LED is off; this is the parasitic-diode path in the IC that forms part of the ESD protection network for pins. 

Before going any further, do you have a datasheet for the LEDs ? You need to know how much current is required when running multiplexed in order to select the correct driver IC.





David Forbes

unread,
Nov 4, 2019, 10:48:40 PM11/4/19
to NeoNixie
There is no reason to use a fancy Maxim chip for an LED display. Two 74HC595 SPI shift registers and two 74AC245 octal buffer chips will do the job. One for the anodes, one for the cathodes.


--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/neonixie-l/9d125a65-17d8-4ca0-840c-0c22ddc04e05%40googlegroups.com.

Christine Thompson

unread,
Nov 4, 2019, 11:48:59 PM11/4/19
to neoni...@googlegroups.com

Hi David,

 

Thanks for the information. My last clock used 8 X ICL/1-1-8 VDF displays using the MAX6921 chip and works fine, silly me to assume that the same chip would also work with 7 segment displays, started to worry when I noticed in the MAX6921 datasheet that the minimum output voltage was 8V. In all the clocks I have made I have used either the MAX6921 multiplex method or K155 IC chip Direct drive method.

 

So I need to go back to basics for this clock. I can certainly purchase the shift registers and Octal buffers from E-Bay, however in the meantime could you suggest a link to an article / document that describes the basic method of how this system is constructed.

 

Regards,

 

Christine  

David Forbes

unread,
Nov 5, 2019, 12:40:10 AM11/5/19
to NeoNixie
Here is a schematic diagram that I just whipped up. It uses the SPI signals to shift data into the anode and cathode drivers. 
The software needs to write two bytes (digit then segments) to the SPI port, then write LOW then HIGH to the LD/ signal. 

The digit byte must have one bit low to select a digit. 



IMG_20191104_223342431.jpg

Christine Thompson

unread,
Nov 5, 2019, 12:54:20 AM11/5/19
to neoni...@googlegroups.com

Hi David,

 

WOW! thanks, I will review it fully and get the parts purchased asap. I will bread board the circuit. The 8 x 7 segment displays have been wired up in multiplex format

and I have written the software, based on my use of a Wemos D1 R2 board, all that I have to do is write an

interface between it and this new circuit.

 

If I have any further questions is it ok to contact you for help?

 

Regards,

 

Christine

 

P.S. If you look at the “Clocks! Picture Sharing” post you will see the clocks I have completed so far.

 

Image removed by sender.

Virus-free. www.avg.com

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/neonixie-l/00b801d59394%2452863e30%24f792ba90%24%40gmail.com.

--

You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.

image001.jpg

Michail Wilson

unread,
Nov 5, 2019, 6:48:06 AM11/5/19
to neoni...@googlegroups.com

Hello,

 

Since you mentioned the Wemos D1 R2, why not use something like this….

https://www.ebay.com/itm/MAX7219-LED-Dot-matrix-8-Digit-Digital-Display-Tube-Control-Module-Arduino-ASS/264312125880

 

That’s what I use, and the cost is smaller than buying 2x 595 by itself.

 

You can cascade 8 modules if you want.

 

Also…. If you really wanted to use the modules you have from clocks, I would suggest TCL5916 since you only need 1 resistor per chip instead of 8.  Not that the resistors are expensive, but 1 takes less space than 8.

 

 

Michail Wilson

206-920-6312

image001.jpg

John Rehwinkel

unread,
Nov 5, 2019, 8:39:03 AM11/5/19
to neoni...@googlegroups.com
> Here is a schematic diagram that I just whipped up. It uses the SPI signals to shift data into the anode and cathode drivers.
> The software needs to write two bytes (digit then segments) to the SPI port, then write LOW then HIGH to the LD/ signal.

You can also use an HT16K33 chip which controls both the anodes and cathodes and regulates the current so you can dispense with the resistors. It's a neat chip, and can optionally read a bunch of switches as a bonus.

- John

Christine Thompson

unread,
Nov 8, 2019, 1:48:42 AM11/8/19
to neoni...@googlegroups.com

Hi David,

 

I have made some progress, purchased the 74HC245 and 74HC595 chips and breadboarded the circuit you supplied.  I have two questions which I would

appreciate answers to:

 

  1. Your diagram shows lines LD,SCK, and MOSI on the lower 74AC595 and LD, and SCK on the upper 74AC595, how are these lines attached to the Arduino data lines?
  2. Do you have an example of a simple test Arduino program that I can examine to better understand the software I will need to write.

 

Once I get the above working I would like to create a PCB board rather than using my existing construction method, can you suggest suitable schematic / PCB layout software?

 

Image removed by sender.

Virus-free. www.avg.com

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/neonixie-l/00b801d59394%2452863e30%24f792ba90%24%40gmail.com.

--

You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.

image001.jpg

gregebert

unread,
Nov 8, 2019, 2:59:08 PM11/8/19
to neonixie-l
As long as you have direct software control of the 3 GPIO pins (shift, load, serial_data), it's fairly simple to write a routine to send serial data. Just make sure that you *never* change more than 1 GPIO pin in the same instruction, otherwise you run the risk of a logic race condition and can get unreliable operation. Always send onto the serial data line first, then wiggle the clk or load signal; since I use RasPi, I add a 1usec hardware-enforced delay to guarantee timing. Be careful when cascading multiple shift registers; fortunately the '595 has a specific data-out pin for cascading.

If you are ultra-paranoid like I am, bring the end of the serial chain back onto the Arduino so you can verify the data was sent-out correctly. I've used '595 shift-registers on 3 projects, and HV5530 and even '374 on 2 others, with zero problems. In the past, some folks on this forum have had problems with data-corruption with shift-registers, and it's usually caused by setup/hold time violations, or running logic-levels at a different voltage than specified in the datasheet.

Richard Scales

unread,
Nov 9, 2019, 11:31:29 PM11/9/19
to neonixie-l
If you are seeking code examples of how to drive the 74595 then see here; https://www.arduino.cc/en/tutorial/ShiftOut that should get you on the way, there should be an example of two 74595s cascaded together. It will show how to drive the three signals required on the 74595 to set up the DATA value, CLOCK it into the 74595 and LATCH it to the output pins (just my terminology).
For circuit design and pcb layout take a look at easyeda.com - everything you need is there.

To unsubscribe from this group and stop receiving emails from it, send an email to neoni...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.

To unsubscribe from this group and stop receiving emails from it, send an email to neoni...@googlegroups.com.

 

Image removed by sender.

Virus-free. www.avg.com

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.

To unsubscribe from this group and stop receiving emails from it, send an email to neoni...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.

To unsubscribe from this group and stop receiving emails from it, send an email to neoni...@googlegroups.com.

Reply all
Reply to author
Forward
0 new messages