How to drive 16 rows of UV photodiodes providing both negative and positive voltage?

vannygen

New Member
Hello,
I have to drive 16 rows of a matrix of photodiodes,
I have to provide a positive voltage in the range +0,4V, +3V to the row I want to activate, meanwhile I have to provide negative voltage in the range -4V -0,2V to all the other 15 rows. The difficulty is that I have to control the rows and the voltage via I2C bus , that means I have a microcontroller acting as I2C master device. I already have 6 power supplies +5V for digital part,+5V for analog part,-5V for digital part,-5V for analog part,+12V and-12V.
Somebody can help me to design this circuit? What component I should use? :(
 

hippy

Technical Support
Staff member
Do you need to vary the voltage between +0,4V to 3V or are you after a single voltage within that range ? If it's more than a single voltage then you are looking at 16 channels of analogue control. That could be achieved using 16 channels of PWM, RC filtering and op-amp buffers. The op-amps could be offset to give a full range of -4V to +3V as per your spec.

If you can live with a single fixed row voltage of around +3V or near 0V ( rather than negative ) it should be fairly simple to achieve using a single chip I2C to digital output multiplexor. If you do need 16 channels of -4V to +3V that's going to be a lot of additional complexity.

The first question has to be; how absolutely crucial are the voltages you mention ? Is there a simpler way to achieve what you need to do ?
 

vannygen

New Member
Well, this is the problem:
Sombodyelse already projected a board able to control 16 rows with 0V(low) and 3 to 4V (high).
I'm developing a better board to improve the old project.
1) The 16 rows require HIGH and LOW voltages in the range [+-0.4V , +-2.5V] e.g. it could be necessary to use +1,25V HIGH voltage to select the desired row and -0.4V LOW voltage to deactivate the other rows, so the microcontroller should send via I2C bus these values to two different dacs or to the normally open and normally colosed input for analog switches to impose those voltages..
2)The old project was not able to provide a negative voltage as low output-signal, I have to make the board able to do that. Also I want to choose the low voltage via I2C controller, so I can't use a voltage reference ( I thought to use an I2C dac to do that, but I didn't find any I2C dac with bipolar output reference ... do you? it's important to me if I find some of them!). I also want to choose the high output voltage via I2C controler( it's easy enough beacuse there are a lot of I2C dac capable of positive output reference)
3) The old project used an LCD driver to control the rows, but the LCD drivers aren't usually able to provide negative outputs.
Several gate drivers are able to provide neagative output but they often use very high voltages and I never found any gate drive with I2C interface, instead there are some serial interfaced..)
4) I proposed the following solution: an I2C i/o expander (I2C input, 16 bits outputs) whose outputs go to 16 analog switches( they provide positive output and negative output instead of logic 1 and logic 0). But I still need a way to insert a negative output reference (to the analog switch) that is controllable by the same I2C controller.
5)Any simpler solution such as a unique component drived via I2C bus capable of giving 16 bipolar outputs can be good..
 

vannygen

New Member
Resuming, refer to these voltage ranges:
* positive range [+0.4 , +2.5V] or more
* negative range [-2V , 0V] capable of -0.1V , -0.2V or unless -0.4V
 

hippy

Technical Support
Staff member
I don't know any I2C DAC's with bipolar outputs but there could be some. Using a non-I2C bipolar output DAC with an I2C-to-digital expander would be a possibility.

Using analogue switches should also work, at least you'd only need two DAC's.

Creating a virtual rail at 2V would allow normal 0V to 5V to deliver -2V to +3V and you could extend that using op-amps. If the photodiodes are not referenced to any particular "0V" then 0V-5V is the same as "-2V to +3V" or any other equivalent range.

The thing I'm missing is "the big picture" so it's not clear what you are trying to achieve overall or why you need the negative or variable voltages. I cannot even mentally imagine what purpose a UV photodiode matrix serves.

Perhaps you could provide a brief explanation of what the project is, what this is to achieve, and a pointer to the existing version if online, as it's much easier to be constructive when there's an understanding of what the project is rather than just having the very low-level, how to implement, questions. It may even help us point you in a better direction to get a workable solution; it's not a particularly PICAXE related issue, although you may be using one as the controller.
 
Last edited:

vannygen2

New Member
sorry for my alternative userid but i've lost password so ihave to wait4 15 minutes..

Well the matrix is the one in the photo,
i just have to activate one row a time, then another circuit will provide to read the opamps outputs. so when i select a row the other circuit will select a column and it will read the photodiode's current.

However anyphotodiode is connected to 0V , this is the reason because i'm sweating..
 

Attachments

vannygen2

New Member
schem

what does a virtual rail is?
In this schematic the component on the rleft is the micro-controlle that gives us the I2C bus, in the middle ther is a component that could be a driver or an io expander, on the right 16 outputs to the 16 matrix' rows.
the paint lack of analog switches before going to the 16 outputs..
however i asked you for an alternative and simpler solution.
thank you!
 

Attachments

vannygen

New Member
is also this possible?

I also thought:
If I connect LCDdriver's VSS pin to -2V instead of GND, would I have the output shifted from [0V to +5V] to [-2V to +3V]?
Is this possible? And will the LCD driver read exactly the I2C signals referred to a different GND??
 

hippy

Technical Support
Staff member
If you connect the LCD driver GND to -2V you'll start to have problems with switching levels and over-voltage issues on inputs.

Looking at the photodiodes in post #7, they have reverse blocking diodes so as long as the unselected lines are are at a voltage below that selected ( after passing through the photodiode ) there should be no current flow through them. This is why I'm unclear about the need to take those unused lines to a negative or variably negative voltage. Perhaps there's something about photodiodes I'm not appreciating.
 

vannygen

New Member
answer me, help me building this circuit.. thank you

consider that I have just to improve a driver circuit even if the old circuit worked good enough... so I will put negative voltage instead of 0V as LOW out-signal. The inverse diodes also have smaller area than photodiodes in order to prevent invers current flow through them, but this was just projected it's not my work...
So how could i obtain negative Low output? Tell me pls...

Another question: if I have +5V supply but I want to use an op.amp. needing 3,3V supply in order to reduce power consumption..How could it be supplied to reduce power absorbtion? And..what is a potentiometer?
 

vannygen

New Member
more datails

I have to drive the row by using about 1V 1.5V 2V, so if smaller (dark) diode activate itself with about +0,7V, may be the bigger diode activates itself with -0.3v or -0.2V. the bigger diode is a photodiode and it works when Ultra-Violet radiation hits upon it. Also this photodiode lets a significant current flow by generating an inverse voltage between its 2 pins, so it's a kind of zener diode activated by a light source.
 

hippy

Technical Support
Staff member
So how could i obtain negative Low output? Tell me pls...

One of the methods perviosly discussed - bipolar I2C ADC if you can find one, non-I2C bipolar ADC driven by an I2C output latch, op-amps, analogue switches etc.

Another question: if I have +5V supply but I want to use an op.amp. needing 3,3V supply in order to reduce power consumption..How could it be supplied to reduce power absorbtion?

You should be able to use a 3V3 supply just as you would a 5V supply but you'll need to select components which will work on 3V3.

And..what is a potentiometer?

A variable resistor, commonly also called a 'pot'. Like a rotary volume control.
 

vannygen

New Member
WELL... now: orcad problems eheh..

Well, now i've almost designed my circuit...
but ihave another problem: my orcad capture libraries don't include the ICs i used. so i'm desperately looking for theri libraries, otherway i can't simulate my circuit.
THe ICs I used are mainly max394 and max7312 but they are not in the standard liraries of orcad captur 9.
How can I do? :eek: :rolleyes:
 

hippy

Technical Support
Staff member
Any PICAXE which supports I2C should do the job easily, 18X, 28X1, 40X1. For the others you'll need to do bit-banged I2C and that will use up most of the available code space.
 

andrew_qld

Senior Member
Another idea for the original negative voltage question is a Maxim MAX660 or similar voltage inverter. Put +5V in and it puts -5V out. Depending on how fast you have to switch the power on / off you could simply switch the voltage inverter using a picaxe pin via a transistor.
 
Top