Row/Column Transistor Circuit

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Hi I am very much a beginner at electronics, only having done one big project before. I am now setting upon building a new project. I have some basic questions before I begin experimenting and could use any advice the experts out there have.

I will be creating a grid of heat cells (the actual heat cell specs are not important at the moment) I want to be able to turn on a specific heat cell by putting it's row and its column HIGH using a microcontroller. This will then turn on the power to the heat cell.



I have drawn up a basic sketch attached. I am using 2 NPN transistors. The basic idea is that if the first transistor receives current from Column1, it will flow the current from Row 1 into the second transistor. If Row 1 is on then the second transistor will open the switch to the heating cell.

Now I don't know much about transistors, maybe there is a single type of transistor so I don't have to use 2? Also do I need to attach the second transistor to ground somewhere?

Anyway just throwing this out there. If any of you have time maybe you can steer me.

Thanks,
Dan
 

t_n_k

Joined Mar 6, 2009
5,455
It will be more complicated than you have represented in your schematic.

There will be many solutions - I have drawn one idea in the attachment. I'm sure you'll get many suggestions - probably better! I've assumed you need no more than 50V DC to run the heaters. Otherwise you would use higher rated transistors.
 

Attachments

t_n_k

Joined Mar 6, 2009
5,455
Plus I neglected to put an additional resistor in Q1 collector to limit the Vgs for Q2 to -20V max. You've got to keep all sorts of things in mind! I'd probably split the 10k into at 1.8k (at the top) and 8.2k with the point of common connection going to Q2 gate.
 

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Thanks for the response. I will try this out. I knew my way was probably too simple to work, but I want to minimize the # of components since I plan on having 64-256 cells.

The heating voltage will not be very high. It actually could be as low as 9V, but like I said I need to test.
 

mik3

Joined Feb 4, 2008
4,843
Use one transistor for each row and each column . For example, the row transistors will switch to Vcc and the column transistors will switch to GND. When one row transistor and one column transistor is turned on then the heating element connected to them will turn on.
 

BMorse

Joined Sep 26, 2009
2,675
Here is a sample circuit I did to switch an 8x8 LED matrix with minimal components..... With this set up I can either have 1 whole column on or I can select any of the 64 LED's to light up, you can probably base your design this way, just have to keep track of how many clocks you have supplied the 4017 with to know what column you are on, you can cascade more 4017's to add more, each 4017 (Johnson / Decade Counter IC) can control 10 columns....

my .02
 

Attachments

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Do you think it would be possible to 'fake' multiple cells to be on at once by cycling through very fast and pulsing the ones you want to be on. Similar to how a plasma tv works?

For instance if I went through row by row many times per second, would it be possible have multiple on at once?
 

BMorse

Joined Sep 26, 2009
2,675
Do you think it would be possible to 'fake' multiple cells to be on at once by cycling through very fast and pulsing the ones you want to be on. Similar to how a plasma tv works?

For instance if I went through row by row many times per second, would it be possible have multiple on at once?

My schematic is actually for a POV (persistence of vision) display, and Only one column is actually on at a time, but by flashing the LEDs very quickly, it appears to have more lit than what it actually does ... so to answer your question Yes you can.

By keeping the ROW bit on, and scanning through the columns, you can scan trough a whole row by pulsing the 4017's clk line, this will enable you to "scan" a whole row, or you can alternately turn on each row while clocking the 4017 and you can turn on an LED on each row diagonally, or turn on all rows and clk the 4017 and you can scan through each column....etc.

My .02
 

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Thanks I'm trying it out but having a tough time. What is the method for choosing the resistor values on the PNP / NPN transistors. I know I have to calculate the load, but not sure how to do it. I am trying to copy your schematic exactly, just instead of having the LEDs I have these conductive threads (copper). When I run the current through them they heat up, but I'm not sure how to calculate the load they are taking. In any case I'll keep plugging away, and thanks for the schematic it's been a great guide.
 

BMorse

Joined Sep 26, 2009
2,675
For the PNP I chose 330 ohms for the LED source current limiter, since I will only actually have one column on at a time, I am only lighting 1 LED per row (but it does it so quick it "looks" as if more than one column is on at a time).

I used 220 ohms for the NPN's.


but you will have to figure out what Transistors or Mosfets you are going to use to "turn" on you're wire, I'm pretty sure the current draw may exceed the ratings for the 3906 and 3904's, (<< just guessing this part, I dont know what size wire or what current draw it has, I have managed to use 3904's with Nitinol wire, and they worked just fine....)
 
Last edited:

Thread Starter

DanRilley

Joined Jan 13, 2008
107
OK I've finally picked some parts that seem to work for my heater.



I'm using STP12PF06 P-Channel Mosfets as the switches, they can handle up to 15A. Unfortunately I didn't know about P or N Channel mosfet so I also had to add an inverter NPN so that a HIGH signal from the microcontroller caused the gate to open (rather than the other way around). So this is currently working. It heats the wire very fast though (obviously because it's a short circuit). What methods could I use to slow the heating so it can be controlled more? I've tried just adding a resistor in next to the heater but the resistor either limits the current too much so that the thing doesn't heat or the resistor gets really hot and smells like it's burning. Any suggestions? I think I would like to insert a POT somewhere to control the heating rate but I'm not sure how to make it so it doesn't burn up.

Dan
 

russ_hensel

Joined Jan 11, 2009
825
It is usually easier to switch on the low side rather than the high side because less drive voltage is needed. So many people put the most numerous of row column transistors on the low side.
 

Thread Starter

DanRilley

Joined Jan 13, 2008
107
I'm just starting out so it seems logical that when all pins are low, then no switches should be open. Is this what you mean by switching on the LOW side?

I plan on using a decade counter to set the switches (as seen in a previous post) so that outputs a single HIGH signal for whichever row/column should be on.

This is why I have to invert the signal to the switch so it switches on when the signal is HIGH.

Also my choice of FET type was purely chosen off the fact that I have limited resources where I am, this happened to be the cheapest one.

Any advice on my previous question though, as to how to limit the heat? Do I just need really high rated resistors so they don't burn up. I know that used a 5 or 10 ohm resistor slows it down enough but they burn up.
 

BMorse

Joined Sep 26, 2009
2,675
you should be able to control the heat by varying the on time of that col/row, kind of how PWM works for motor speed..... basically that is how I either dim or brighten the LED matrix, the shorter the on time, the dimmer the LED is in that particular col/row.
 

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Thanks that should work just fine. I guess it was obvious I can just turn it on and off more frequently or less frequently from the chip.

Hey BMorse, I know you have your columns controlled by 4017s, but do you think it would be possible to control both the rows and the columns using 4017s? That way I could control a 10x10 grid using only 2 pins of the microcontroller?

The only problem I can foresee is that if a cell needs to be off theres no way to skip it's position on the 4017, it needs to turn on to get to the next spot, but maybe if it went really fast it wouldn't matter. Just a thought, because I want to use my microcontroller for a few other things so it would be nice not to use up all the pins.
 

BMorse

Joined Sep 26, 2009
2,675
Thanks that should work just fine. I guess it was obvious I can just turn it on and off more frequently or less frequently from the chip.

Hey BMorse, I know you have your columns controlled by 4017s, but do you think it would be possible to control both the rows and the columns using 4017s? That way I could control a 10x10 grid using only 2 pins of the microcontroller?

The only problem I can foresee is that if a cell needs to be off theres no way to skip it's position on the 4017, it needs to turn on to get to the next spot, but maybe if it went really fast it wouldn't matter. Just a thought, because I want to use my microcontroller for a few other things so it would be nice not to use up all the pins.

You could run both with 4017's, but like you said, you wouldn't be able to "skip" a position.

You could also try to use a 3 0f 8 decoder IC such as the 74HC237, and reduce your pin count to 4 (3 data bits, and a latch control bit) The 74HC237 is ideally suited for implementing non-overlapping decoders in 3-state systems and strobed (stored address) applications in bus oriented systems.

I take it that your project is going along then? What are you using these "heaters" for? if you don't mind me asking.
 
Last edited:

Thread Starter

DanRilley

Joined Jan 13, 2008
107
Yeah it's coming along thanks to your help. The heaters are being used to heat fabric that is printed with thermochromic ink. The grid allows us to create images in the fabric in theory. We'll see! I will look into the chip.
 
Top