Phototransistor array: How to multiplex? - Page 1
Forum section: electronics / projects

author: Artlav
author_rank: Frequent Contributor
timestamp: April 11, 2017, 04:00:29 pm
content: I want to make a little camera out of discrete phototransistors - a 16x16 or 32x32 array, and am kind of at loss on how to read it out.The initial idea was to have each row share a collector and every column to share an emitter, and to have a row mux above and a column mux below, heading into the amp/adc.However, a few tests revealed that a mux like 74HC4067 is way too leaky for such a use (uCurrent is great!), at any decent sensitivity, with leakage current in low microamps.I looked around, and there are low-leakage muxes like ADG732, but at painful prices and i'll need two of them per array.So, the questions are - would a design like that work, is there a better way to do it, do both muxes need to be low-leakage, any other ideas?

author: Kleinstein
author_rank: Super Contributor
timestamp: April 11, 2017, 04:20:14 pm
content: In normal cameras the multiplexing is only used for readout. Even when not selected, the other element are still active passing current. Usually a kind of capacitor is used for short time storage until read out.The photo-transistors also are kind of conductive in both directions - so the matrix circuit shown does not work. So one would need some extra elements, like diodes in the matrix. Usually only one side of the matrix need to be low leakage, the other side is more like needing a push-pull driver, sending on line high and all others to low. The details depend on the design of the cells.74HC405x leakage is usually in the nA range, often even lower. The guarantied leakage values are not that great, but this is mainly because testing for lower leakage would be too expensive. Typical leakage is not that bad. So this should not be a real problem unless on needs really high sensitivity.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 11, 2017, 04:40:20 pm
content: Quote from: Kleinstein on April 11, 2017, 04:20:14 pmI kinda fail to visualize where the current would flow through here, given reverse leakage.Also, just checked, and the reverse leakage is on the order of 1% of the forward current, and is light dependent.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 11, 2017, 04:55:59 pm
content: I currently don't know an easy solution to have all element active all the time, but here is a partial solution, that could at least have one row of elements active at the same time:Add a diode in series to each phototransistor - this more or less eliminates the reverse leakage problem. Instead of just one resistor to GND after the MUX, have a capacitor (e.g. 10 nF range) for every column. Read out would than be by reading the charge collected in the capacitor for a certain time. To allow equal exposure / integration time, it might help the have extra control for discharging the caps through extra transistors.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 11, 2017, 05:03:09 pm
content: Quote from: Kleinstein on April 11, 2017, 04:55:59 pmOnce again, what is the problem?I can't see a reverse current path.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 11, 2017, 06:55:00 pm
content: To select one row, the active row is set positive (e.g. 5 V), and the non active rows are set to GND. With the reverse leakage of the phototransistors, the photocurrent from the selected phototransistor will in part flow through the other phototransistors of the same column. Even of this is only about 1% it adds up with 16 or even 32 rows.If the non active rows are not set to GND, there will be leakage from other rows.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 11, 2017, 07:03:18 pm
content: Quote from: Kleinstein on April 11, 2017, 06:55:00 pmThat is the case, since as far as i can tell analog muxes don't connect inactive outputs to ground or anything else.So, we have active row that is connected to the 5V, active column that is connected to the ground via R, and everything else is high impedance.If the current would try to go from active PT to other rows, then it would have nowhere else to go once it diffuses across the matrix as charge, and from other rows there would be nothing to flow anywhere else.I'm still confused about this case.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 11, 2017, 07:09:47 pm
content: Tried it in a sim, can't see any issues from reverse leakage.

author: Ian.M
author_rank: Super Contributor
timestamp: April 11, 2017, 07:30:27 pm
content: Does the sim properly model the phototransistor reverse mode gain? If not, your results aren't valid. Try one of the phototransistors with +5V on the emitter, and a uAmmeter (+ a suitable current limiting resistor) to grond on the emitter. If you get *ANY* deflection with the phototransistor brightly illuminated, you need to add low leakage diodes as proposed by Kleinstein. Repeat the test after warming the transistor to the maximum possible temperature it will be required to operate in.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 13, 2017, 08:10:36 am
content: Quote from: Ian.M on April 11, 2017, 07:30:27 pmI modeled them as a diode in parallel with a diode+resistor going the other way. Also tried as simply resistors - the point is not that they leak or not, but that the current have nowhere else to go.

author: exoticelectron
author_rank: Regular Contributor
timestamp: April 13, 2017, 08:12:06 pm
content: I'm kind of phoning this lazy idea in, but what about using a bunch of analog switches (solid state) and scanning the array?

author: Zero999
author_rank: Super Contributor
timestamp: April 13, 2017, 08:17:07 pm
content: Quote from: exoticelectron on April 13, 2017, 08:12:06 pmThat's what the original poster is already doing!The 74HC4067 is an analogue multiplexer, an array of switches.http://assets.nexperia.com/documents/data-sheet/74HC_HCT4067.pdf

author: exoticelectron
author_rank: Regular Contributor
timestamp: April 13, 2017, 08:30:05 pm
content: Quote from: Hero999 on April 13, 2017, 08:17:07 pmthats what I get for being lazyso some new ideas:-do a little engineering and make your own analog switches out of discrete transistors, so you can make one that has less leakageor-depending on your budget, give each photo transistor its own opamp, and mux the output of thatThe opamp idea might not be that expensive..you could probably use a cheap opamp. Maybe...And since you are throwing in an opamp, maybe you could switch to reverse biased photodiodes, and set the amp up as transimpedance. Now you are really cooking with some photon detecting goodness!!

author: mrflibble
author_rank: Super Contributor
timestamp: April 14, 2017, 10:23:10 am
content: You could use LEDs as switching element. See attached for some inspiration.

author: Artlav
author_rank: Frequent Contributor
timestamp: April 14, 2017, 07:06:36 pm
content: Quote from: exoticelectron on April 13, 2017, 08:30:05 pmI wish i had a budget for my own semiconductor fab...There won't be any place to fit them, however - it's a board packed full of 0805 phototransistors and there is only so much space on the back - two switch chips and one amp is already pushing it.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 14, 2017, 09:05:47 pm
content: The photo-transistors will need something like a series diode to get matrix operation. Otherwise the rows are not really separated.There is no need to have a separate amplifier for each element. One could get near continuous reading, by having a capacitor in parallel to each photo-transistors and than the diode in series to make it a good matrix. Initially the capacitor is charged to a certain voltage (e.g. 5 V) and readout one measures the charge needed to refill the capacitor to the starting level.Preferred readout would than be with a charge amplifier. To select a cell, one would set one row to a high and the other rows to GND level (or the other way around, depending on the direction of the diodes). The one cell selected it than connected to the charge amplifier, effectively recharging the cell and transfer the measured charge to the charge amplifier. After ADC conversion the charge amplifier can be reset to zero for the next pixel.If might take a reasonable fast ADC to read out all the elements at a acceptable speed. With just 256 cells and an exposure time in the 20 ms range (one or two line periods might be a good idea) there is just around 0.1 ms for each pixel.Using readout for one pixel at a time would reduce the sensitivity a lot, it is like reducing the exposure time by a factor of 256 (or more with more pixels). So this would cause a really slow readout. Reading a row at a time would be kind of a minimum solution. But this tends to need extra effort for readout too. Like an charge amplifier per row, or at least 16 extra switches. A capacitor per pixel might be the more practical solution.