Delta Sigma giving weird readings as part of PID loop

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

I'm using readings from a Sigma Delta ADC as the control variable for a PID loop. It's reading across the sense resistor in a FET based current source. The gate voltage on the FET is process variable.

When I just feed a voltage into the ADC, I get accurate readings. However, as soon as I include the FET and current sense resistor in the circuit, I get bogus readings. The output of the system is stable, it's just at the wrong current. The ADC reads the control variable's value as equal to, or close to, the setpoint, but my actual output is off by as much as 200%.

I've been playing with this for a couple of days and I can't figure it out. The project is attached...If anyone can give me any insight into this, I'd be much obliged.

Mike

0 Likes
4 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

I am away from computer and can't inspect the schematic, but I suspect there is noise pickup from the FET circuit, particularly if it PWM-controlled. I would recommend adding small cap to filter out noise. Check incoming signal with scope.

odissey1

0 Likes
Anonymous
Not applicable

Not a bad thought, but I don't think this is a noise issue. I've used a battery as the power supply to the FET circuit to try and minimize the noise in that circuit but to no avail.

Adding 100nF across the current sense resistor and across the input supply did nothing at all to help the situation.

What *did* help was reassigning the ADC pin from where it was to another pin. I'll not get into why that was possible, but as soon as I changed the ADC from being on pin 0.4 to 0.2 the problem seems to have resolved. I'm wondering if that is somehow related to the fact that I'm using op-amp 2, and P0.4 is tied to the non-inverting input of OA2? Theoretically, the op-amp should be internally disconnected but practically, perhaps it wasn't? Or perhaps some noise bleeds across from the signal on the non-inverting input? I don't know.

By any chance, is this a project for a SparkFun  Variable Load Kit? The code provided by the SparkFun is not working. Many had to re-write it (me too 🙂)

 14449-Variable_Load_Sensor-01.jpg

Variable load_Shem_A.png

0 Likes
tabishmisbah
Employee
Employee
First like given 5 replies posted 25 sign-ins

hello, is the issue resolved ? actually i am doing kind of same thing and it is not working 

0 Likes