Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Multiple 3X1 sevensegment display connection with PIC microcontroller

Status
Not open for further replies.

Mithun_K_Das

Advanced Member level 3
Joined
Apr 24, 2010
Messages
896
Helped
24
Reputation
48
Reaction score
25
Trophy points
1,318
Location
Dhaka, Bangladesh, Bangladesh
Activity points
8,227
How to connect 32pcs of 3 digit seven segment display with a single microcontroller? Displays are multiplexed, and all different number need to display in each of 32pcs of 3X1 segment.

Should I use shift register? or any other suggestion?

32 pcs of his display images.jpg
 

Try and see if it works without flickering.
 

Hi,

How do you decide to arrange them?
32 PCBs?

One possible solution:
32 PCBs
Each PCB:
* 3 x HC595 daisy chained.
* 3 inputs for the columns. They drive the column for the display as well as the OE of the HC595s.
(Only one OE active per time)
* Maybe you need a driver IC to drive the segments.
* Use a small MOSFET per column.

This makes multiplexing easy for the microcontroller. It just needs to activate the OEs sequentially.

Klaus
 
I'm planning to put all these 32 displays in a single PCB. HC595 may be a better solution. but as it is 3 digits multiplexed I'm afraid if it flicker.
 

Use the MAX7219 solution then, it will do the multiplexing for you are take the burden off your processor.

Brian.
 

Hi,

HC595 may be a better solution. but as it is 3 digits multiplexed I'm afraid if it flicker.
flicker depends on multiplex frequency and multiplex rate.

* with HC595 the multiplex rate is 1:3, With MAX7219 the mux rate is 1:8 --> a point for HC595
* with HC595 the frequency is determined by the OE signals coming form microcontroller. Very flexible.

Klaus
 

It's well possible to operate a processor controlled flicker-free mux display. As one prerequisite, the segment shift register should be driven by a hardware SPI interface.

My favorite driver is a recent segment driver like TLC5926, as it's used in big LED walls. Considerably cheaper than MAX7219, but fewer parts as with HC595 shift register.
 
Hi,

before you asked about 32 displays, now there are only 3 pieces.

And you keep the microcontroller busy: I recommend (interrupt driven) sending 3 bytes (column) per 2.5ms. Continously. this gives a 100Hz update rate.
For sure you may go down to 50Hz but it is flickery.

This way I say it is about impossible to drive 32 displays.
32 bytes per 2.5ms over a lengthy SPI bus with high bus load.

With 100kHz SPI bus clock rate a small microcontroller is at 100 processing load.

Klaus
 

Hi,

Who told you I'm doing only 3 displays? I said I'm just following that circuit. This never mean I'm doing only 3 displays.
You showed a schematic with three displays and 4 digits per display.
OK.. still you want 32 displays with 3 digits per display.

--> But 32 pieces are even worse.
--> and I wonder how you want to "address" the other 29 displays
--> and I wonder how you want to manage the multiplexing

****
Did you read our posts? We give recommendations but you seem to go the other direction.

Klaus
 

With 100kHz SPI bus clock rate a small microcontroller is at 100 processing load.
Yes, you'll rather use 10 MHz SPI clock.


I'm following this circuit configuration. Using hardware SPI. Lets see what happen next...
Using the same lines as for SPI and digit mux might work under circumstances for three displays (with respective duty cycle loss). It's simply useless for a larger digit count.

What happens next? Design restart.
 

So it is really not possible driving 32 pcs of 3 digit multiplexed 7segment? using single segment display for 32X3 pcs and shift register for each of the display will be a large circuit diagram as well as complex to make mistake too...

- - - Updated - - -

Hi,

How do you decide to arrange them?
32 PCBs?

One possible solution:
32 PCBs
Each PCB:
* 3 x HC595 daisy chained.
* 3 inputs for the columns. They drive the column for the display as well as the OE of the HC595s.
(Only one OE active per time)
* Maybe you need a driver IC to drive the segments.
* Use a small MOSFET per column.

This makes multiplexing easy for the microcontroller. It just needs to activate the OEs sequentially.

Klaus

Even with this solution, it will require at least 96 pins to drive all the displays. Isn't it? So it will become a single MCU solution.
 

So it is really not possible driving 32 pcs of 3 digit multiplexed 7segment?
It's surely possible. Daisy-chained shift registers for segment data with sufficient high SPI data rate is a usual solution.
 

Hi,

Yes, you'll rather use 10 MHz SPI clock.
I don't see a good chance for 10MHz with a load of 64 IC inputs paralleled ...and the cabling.
I expect rather dirty signals.

So it is really not possible driving 32 pcs of 3 digit multiplexed 7segment?
Not your way.
But we already gave suitable recommendations. Read our posts.

using single segment display for 32X3 pcs and shift register for each of the display will be a large circuit diagram as well as complex to make mistake too...
The schematic for using a dedicated multiplexing display controller is as simple as yours....but doesn't need high data throughput
The schematic with three HC595 is just "copy and paste". This is simple. And again...it doesn't need that high data throughput.
Board space and cost shouldn't be the problem...

With low data throughput you need lower SPI clock frequency and the timing and the dirty_signals are relaxed.

Even with this solution, it will require at least 96 pins to drive all the displays. Isn't it? So it will become a single MCU solution.
I wonder how you come to 96 pins.
Using a binary decoder needs only 5 (plus 1) inputs for 32 outputs...

But we don't know your requiremens...like mux rate, dimming, data update rate, cable length, hardware skills, software skills, what you main display controller is, where the values come from....

Did you calculate your power supply? 15mA per LED, 7 or 8 LEDs per digit, 3 digits per display, 32 displays...is about 10A. You can't use thin wires for this. And I don't recommend synchronous dimming of all the display. 10A ON, OFF, ON...but maintain voltage constant...

Klaus
 

I don't see a good chance for 10MHz with a load of 64 IC inputs paralleled ...and the cabling.
I expect rather dirty signals.
It depends. Nothing's been said yet about distributed design and cable length. You see however multi MHz SPI signals with the popular LED wall modules distributed over ribbon cables, utilizing just a few buffers for high fan-out signals.

But even 100 kHz clock would work for the requested 96x8 segments with an interrupt driven SPI send routine.
 

I've done some according to your recommendation. Also done coding. Its working. I don't know how long this chain of HC595 ca be used. But tried and its still working well. Hope to go up to 32 displays of 3 digit.

- - - Updated - - -

View attachment shift display test.pdf

Circuit diagram for previous upload in pdf format.
 

Attachments

  • Shift Register Display.rar
    16.7 KB · Views: 103

Hi,

impossible for me to read this unknown file (type).
--> Use a more common data format if you want some feedback.

Klaus
 

It is Proteus 7.x format file.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top