12 volt 7 segment display

Hi everybody,

I am new on this forum (and quite unexperienced with the Arduino itself), so I hope I follow the regulations of this forum.

The last couple of days I have been working on some sort of taximeter with four 7-segment displays, and it was working all quite nicely, until changed my four 7 segment displays (http://www.toplightusa.com/product/pdf/A-5101AS.pdf) into these
(https://www.kingbrightusa.com/images/catalog/spec/SC23-12EWA.pdf). I figured out that the displays were not working due to voltage, as I used 5 volt the turn on four leds in serie, which is obviously to low.
So I now thought of the following circuit (very simplified as attachment, only for two displays, one segment and without resistors). I use two 74hc595 microcontrollers, one which controls which segment lights up with the use of a npn transistor (BC547B), and one which determines which display lights up, also with the use of the same kind transistor. I use multiplexing to display all digits.

The circuit works when using the single led 7-segment display (SC23-12EWA), but not when using the SC23-12EWA. I also figured that it does not work as the voltage at the emitter does never exceed the the voltage of the base, so I do not really switch the 12 volt I need the power the 7 segment display.

I do not really know what to do, so hopefully you can help me out, as I am stuck at the moment.

Hi and welcome.

Your guess is correct, you can't use an npn transistor to do what you want like that; to switch the "high-side" using the npn in common-collector configuration. The collector voltage will never be higher than the base voltage.

You need to add some pnp transistors, like bc327. Don't connect the pnp bases to the '595, even with a resistor, because the 12V supply could damage the '595's outputs. Instead, use the npn to pull the pnp bases down, and 10K to pull the pnp bases up to 12V. Put a 1K-4K7 between the pnp base and the npn collector to limit th current, and another between the npn base and the '595 output.

So you will finish up with 2 x 74hc595, 12 x npn and 4 x pnp transistors, plus quite a few resistors.

Suggestion to make it all simpler: get an saa1064. It can deal directly with the 12V supply and drive 4 digits with only 2 extra npn transistors. It will do all the multiplexing for you and use only 2 Arduino pins (i2c bus).

Paul

Thank you for your answer and suggestion. However, it seems that I cannot get the SAA1064 here, and I did not find a suitable alternative on the internet. Isn't there a possibility to use something like the TPIC6C595? I am not sure if this is can work, as it is sinking and I think I need sourcing as I have a common cathode display.
Or is there a completely different method to drive these large 7-segment displays?

pofsok:
Isn't there a possibility to use something like the TPIC6C595? I am not sure if this is can work, as it is sinking and I think I need sourcing as I have a common cathode display.

Absolutely!

You use two - one to directly drive the cathodes with the current limiting resistors, and one to drive PNP transistors via suitable resistors, to switch the 12V positive.

pofsok:
it seems that I cannot get the SAA1064 here

Can't you order from China on eBay and have them delivered in the post?

Another suggestion would be 4 x tpic6c595. The advantages would be:

  • you would not need any transistors, just 32 series resistors
  • you could probably run your 12V displays off a 12V supply (with all those transistors switching high and low side, or an saa1064, you might need a few more volts, e.g. 15V from your power supply)
  • no multiplexing necessary, so sketch is simpler and displays are brighter
    .

Yeah, I could order the chip from China, but I would like to go on, so I am to impatient to wait.
I would like to use the tpic6c595, but I do not quite understand how I can use that chip as it is a sinking output, so I do not see how I can use a common cathode with it. Or would it be okay to just connect the drains of the tpic6c595 to the anodes of the segments?

You would still need the pnp transistors to source current to the common anodes. With 74hc595 you could not drive those pnp directly because of the reason I explained earlier. But with tpic6c595 you can drive the pnp directly (with 1~5K series resistor between the pnp base and tpic output and 10K pullup on the pnp base).

Alternatively, as I already said, use 4 x tpic chips, so no multiplexing and you can connect common anodes direct to 12V. I should have said you can only do this if each digit is a separate display. If it is a multi-digit display, you have to multiplex using pnp (or p-channel fet) as high-side switches.