Problem with 08M driving integrator to "zero"

wapo54001

Senior Member
I am using one pin of an 08M to drive an integrator (1meg resistor, .47uF cap) to drive a 2n7000 mosfet that resides between the load and ground to set a specific voltage at the load. The voltage at the load is checked by a readADC10 input and the integrator is adjusted up or down until the precise voltage is achieved.

In my code, I set a floor to the integrator range to zero volts -- the software is never allowed to go below zero in order to avoid the wraparound phenomenon.

The system works extremely well except when zero volts is required at the load -- something can't handle it and the output (as read by an attached dmm) becomes unstable and wanders around.

My question is, is it the integrator output somehow unable to command true zero volts (2n7000 is a dead short to ground), or is the readADC10 that is getting the feedback unable to read true zero volts, or is something else going on? Or is the extremely small residual resistance of the 2n7000 somehow causing the problem?

Any thoughts welcome, 'cause I'm stumped.
 

BeanieBots

Moderator
Can't quite picture your circuit in my head but it may be a similar problem to that which I had with the capacity meter I am doing.
I was using an 08M output as an itegrator reset but it never quite cut off completely. The solution was to put a diode in series with the 08M output and load it with 10k. That was the only way I could a true 0v output without resorting using dual rail supplies. A tranny or FET will never go all the way down to 0v how ever hard you try.
 

KMoffett

Senior Member
The 2N7000 will never give you a "dead short". It (and all mosfet's) will always have a minimum saturation resistance. Look at the Rds(on) values in the datasheet:

http://www.fairchildsemi.com/ds/2N/2N7000.pdf

Different mosfet's have much lower Rds(on) numbers, down as far as 0.06 ohms in power versions.
 
Last edited:

wapo54001

Senior Member
Yikes! Thanks for the reminder about Rds -- it never occurred to me that it could be so high. I was thinking around .5 ohms or so, but it looks like 2.8 ohms and a residual voltage about 0.09V at 5.0v supply which is more than enough to explain my problem.

I only want to control 15ma and want to keep the size to a minimum, thus the TO-92 choice.

Thanks for the help!
 

wilf_nv

Senior Member
Consider changing the circuit to use a P channel fet that sources the current to a ground referenced load. Since the fet Rdsoff leakage current closely approaches zero, you should be able to achieve an output voltage across the load of 0V to 5V - (Vrdson)
 

wapo54001

Senior Member
Thought I'd explain my final solution:

I added some code that handled a value of zero differently from other values above zero -- instead of telling the integrator to drive to zero and using the readADC10 monitor to control it, in the case of zero I simply turn on the integrator for 5ms which turns on the mosfet, then after 5ms switch the pin to "input" and return to the main program without using the integrator/readADC10 code at all. Due to other timing issues, the loop takes about 500ms total, but works well -- my 199.9mV meter dpm now reads right down to 000.0vdc, whereas before it had hovered at 000.2mV.
 
Top