Go Down

Topic: Multiplexing a big 7-seg display with MAX7219 (Read 2199 times) previous topic - next topic

f_giorgio

I've a problem with this circuit, it should drive 2 (or more) big 7-segment display using a MAX7219 and the relative Arduino's library. It uses ULN2003 and UDN2981 to use +12V and a series of 5 led per segment (in the image I simplify with only one led for segment).

The CD40106 is used as logic NOT adapting the inpupts for the ULN2003.

The problem is during the MAX7219 test example code, loaded into the arduino uno. The leds slightly turn on when they should stay off. A video will show better the problem.

More info about MAX7219 library and test code here

http://www.youtube.com/watch?v=x6qTVJJ2dqw

CrossRoads

Look at the output drive specs of the CD40106 vs the input drive current requirement of the ULN2003.
http://www.ti.com/lit/ds/symlink/cd40106b.pdf
http://www.ti.com/lit/ds/symlink/uln2003a.pdf
The CD40106 is really marginal to drive the ULN2003.
Find a better part.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

f_giorgio


Look at the output drive specs of the CD40106 vs the input drive current requirement of the ULN2003.
http://www.ti.com/lit/ds/symlink/cd40106b.pdf
http://www.ti.com/lit/ds/symlink/uln2003a.pdf
The CD40106 is really marginal to drive the ULN2003.
Find a better part.


I'm not very skilled, where I do exactly look for?
I've tested the circuit without the MAX7219, setting manually the input pins of CD40106 and UDN2981, and all works fine. I tried another MAX7219 but same problem.

CrossRoads

Yes, manually it might. MAX7219 multiplexes at 800 Hz tho, and marginal signals will show up at higher speeds.

Look at the output drive capability - something like 0.4mA at 4.5V power supply.
Look at what's needed to be recognized as 0/1 - something like 0.5mA.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

CrossRoads

Page 3-389 - output low(sink) current IOL min, Vdd = 5V.
+25, 0.51min mA
output high (source) current in same area of the chart.

Page 5,  Input current, couple of places.
Vin = 3.85V, Iin = 0.93mA to 1.35mA
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

f_giorgio

Thank you, I'm going to buy a SN74HC04 the next week, It should had the right parameters for the ULN2003. Hoping to solve the problem.

Datasheet

Quote
±4-mA Output Drive at 5 V

PaulRB

Hi,

If you only need 4 digits and you can get common cathode displays, saa1064 may be easier to work with. It can deal with 12V without extra driver ics.

Paul

f_giorgio


Thank you, I'm going to buy a SN74HC04 the next week, It should had the right parameters for the ULN2003. Hoping to solve the problem.

Datasheet

Quote
±4-mA Output Drive at 5 V



Same problem with 74HC04  =(

CrossRoads

Try putting a 10K pullup to 12V on the ULN2803 outputs to help bring the cathodes high.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

f_giorgio


Try putting a 10K pullup to 12V on the ULN2803 outputs to help bring the cathodes high.


I put 10K pullup resistors to 12V on the two outputs of the ULN2003, the result is visible in this video, when I connect and disconnect them to show the difference.

http://www.youtube.com/watch?v=uakxvn1fjSI

f_giorgio

A user from another forum told me to try with a diode after the UDN2981, or a 1K pulldown resistor after the MAX7219 digits output, but they can't solve the problem.  =(

f_giorgio

I simplify the code on Arduino so now is easy to identify the problem.

Any suggestions?

http://www.youtube.com/watch?v=lv2nJOK6U0Q

Go Up