Go Down

Topic: Transistor selection (Read 655 times) previous topic - next topic

boileroo

Hi all

I am planning a project to create a fairly standard 8 row x 32 column led matrix (row scanning). The cathodes in each row will be connected and the abodes in each column will be connected. Before I ask my question let me explain what (I think) I already know!

The 32 columns will be driven by 8 daisy chained 74hc595 shift registers through current limiting resistors. This is acceptable as only 1 led in each column will be on at a given point in time, and so the current will be ~20mA.
The rows will also be driven by a single 74hc595 shift register, which in turn switches 8 transistors - one per row. This is because the rows may have up to 32 leds on at once for ~600-800mA.

My question is this - how do I go about spec'ing a suitable transistor for this case? And similarly, how do
I spec any current limiting resistors required?

Many thanks for your help

dannable

#1
Jun 19, 2013, 02:42 pm Last Edit: Jun 19, 2013, 02:44 pm by dannable Reason: 1
Your description seems sound to me.

The following page gives a comprehensive but easy to understand explanation of transistor selection and the associated calculations:

http://electronicsclub.info/transistorcircuits.htm
Beginners guide to using the Seeedstudio SIM900 GPRS/GSM Shield

dc42


My question is this - how do I go about spec'ing a suitable transistor for this case? And similarly, how do
I spec any current limiting resistors required?


Let' start with the LED current limiting resistors. These go between the 74HC595 outputs and the columns, because there is only one LED on per column at a time. Unfortunately, the 74HC595 has a maximum Vcc current limit of 70mA. So you should choose the current limiting resistors for 9mA per LED, not the 20mA you are aiming for. If you want more current than that, the simplest solution is to reverse the matrix (i.e. cathodes to column lines) and use TPIC6B595 shift registers to drive the columns instead of 74HC595. You will then need to switch the rows using high-side switches instead of low-side switches.

For the transistors, the important thing is to select one with good current gain and low saturation voltage at the current you will be using. Darlingtons are best avoided because of their high saturation voltage. If you want to switch as much as 800mA, then it would be better to use mosfets rather than BJTs.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

boileroo

Thank you both for your help.

It had bugged me that on paper the 74hc595 wasn't really up to the task, yet so many people online seem to use them for just this purpose?

I agree I would be better off flipping to 32 cathode columns and then scanning the rows using 8 high side switches, so 4 daisy chained TPIC6B595 would be best for that.

For the switching of the 8 rows, I am unfamiliar with mosfets and would ideally like to stick to BJTs if possible. Would something like the BC639 be unsuitable then due to the current gain?

Thanks again

dc42

BC639 is NPN, and if you do flip the matrix then you will need PNP transistors to do high-side switching. BC638 (the PNP complement to BC639) is about as good as a transistor you will find for this job, but it is still marginal if you drive it with 74HC595s, because the 25mA base drive you can safely get from them (with only one output active at a time) is lower than you really want for switching 500mA. One possibility is to drive them with TPIC6B595s instead, then you can give them 50mA base drive. However, mosfets are a better solution. You can pick up logic-level P-channel 2SJ438 mosfets inexpensively on eBay.

You might want to consider using a 74HC138 demux chip to drive the rows instead of the 74HC595, because it requires no shifting and it avoids the risk of turning on more than one row at a time.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Go Up