Electronic – How to drive a 12V common cathode 7-segment display with 5V signals and BJT transistors

7segmentdisplay

I'm having trouble designing a driver for a large (5") 12V common cathode 7 segments display using a 74HC595 shift register and BJT transistors. Below are the schematics for the component (display) I want to drive.

12V common cathode 7-segments display schematics

Wiring diagram from the components shop - HS40101AS
(source: soldafria.com.br)

I have a working driver for a similar 12V common anode display using the shift register and 8 NPN transistors (BC547) (see schematics below). I've even seen folks replacing the transistors by darlington arrays sych as ULN2003 and ULN2803.

Schematics of my working driver for 12V common anode 7 segment display

But I can't seen to find the equivalent circuit for common cathode displays.

My first (failed) attempt at it is shown below.

My failed attempt at a PNP common cathode 7 display driver

The problem seem to be that the 5V signal is not enough to turn off the PNP transistor. I would have to raise the signal to 12V to turn the transistor off, but I don't have that voltage coming from the microcontroller or the shift register.

So, how can I drive common cathode displays? Can anyone point me in the right direction, please?

Best Answer

You need to put a NPN low-side drive in front of your PNP high-side drive.

schematic

simulate this circuit – Schematic created using CircuitLab