Pages: [1]   Go Down
Author Topic: Driving 144 switch transistors  (Read 484 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I need to control about 144 switching transistors with arduino.
What is the most convenient method to achieve that ?

I still have confusion about multiplexing and shift-registers.. and I would like to have the fewest possible components around

Thank you,
Roberto
Logged

Poole, Dorset, UK
Offline Offline
Edison Member
*
Karma: 52
Posts: 2367
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You do need to work on using shift registers. What are you controlling with the transistors?

Mark
Logged

Brisbane, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1123
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Roberto

How much power does each of the transistors need to switch?  There are higher current alternatives to the standard 74HC595 shift register which might be able to be used to combine the two - so 18 shift registers would replace (maybe) 144 transistors which suits your goal of reducing component count.

An example is the TPIC6B595 (link to datasheet) which can switch 150mA per leg (up from the 20mA or so for the standard 595).

Cheers ! Geoff
Logged

"There is no problem so bad you can't make it worse"
- retired astronaut Chris Hadfield

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The transistors are used as a switch to open the path to a series of resistors (each transistor controls a resistor). Something shaped like an old phone circular dial, to build something similar to a digital potentiometer (I know, there are digipots out there, but I'm building this). Basically almost no current flows within the resistor even when opened, but that's another story.

I don't know what specific transistor to use, I need two things:
- Minimal noise
- Minimal costs

144 reed relays are too expensive

So why use a shift register instead of a multiplexer in this case ?
Thank you
Logged

Poole, Dorset, UK
Offline Offline
Edison Member
*
Karma: 52
Posts: 2367
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Your trying to control 144 things from a few pins hence using shift registers. What do you think multiplexing is? The term means many going into not out of one.

Mark
Logged

Brisbane, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1123
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Roberto

That's an interesting idea.  I certainly wouldn't have guessed that one  smiley
So why use a shift register instead of a multiplexer in this case ?
Where you only need to turn channels off or on, the shift register is nice and simple to code for - you just manipulate a bit-pattern in your code and shift that out.  Need to step one position up or down, just multiply/divide by two.  Or start with a pattern that's all 0's and set only the ones you need, all unwanted pins are turned off in that one move.

While there are multiplexers that can do output, I don't immediately think of them for that - and I usually think of multiplexers for allowing more than one input on a single Arduino pin rather than the other way round.  Which multiplexer were you thinking of using so we can compare ?

Geoff
« Last Edit: November 21, 2012, 04:31:48 pm by strykeroz » Logged

"There is no problem so bad you can't make it worse"
- retired astronaut Chris Hadfield

Offline Offline
Edison Member
*
Karma: 36
Posts: 1338
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I still have confusion about multiplexing and shift-registers..
A shift register is essentially a demultiplexer.   You feed serial bits into the shift register, and the shift register isolates & outputs the bits depending on their position in the data stream.

Perhaps you mean to say matrixing...  For example, with 12 outputs you can create a 6x6 matrix to control 36 LEDs or relays.  36 transistors or data lines from the matrix would be trickier because you loose your common ground line.

Quote
I don't know what specific transistor to use, I need two things:
- Minimal noise
- Minimal costs
Noise shouldn't be an issue in a switching application.   But the signal-to-noise ratio depends on what kinds of "signals" you're working with.

Quote
...to build something similar to a digital potentiometer...
Before you get too deeply into this, I'd recommend experimenting with 2 or 3 transistors/resistors to test-out your concept.   you can hard-wire the transistor inputs, or use pushbutton switches if you want to test it without programming the Arduino.

And since you are new to shift registers, I suggest the same thing....  Test one chip first.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I recommend the 2N3904 for the switching application of the transistor....They are extremely cheap, and I bought 50 for .07 cents apiece and Mouser Electronics. Here is the link:

http://www.mouser.com/search/default.aspx?cm_re=TopNavTabs-_-PRODUCTS-_-VIEW ALL PRODUCTS

They are high quality, and cheap.
Logged

Offline Offline
Edison Member
*
Karma: 116
Posts: 2205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
50 for .07

That's actually quite expensive. They should be around a penny or so each, in 100s.
Logged

Pages: [1]   Go Up
Jump to: