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.
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.