AD5933 impedance measurement error

I am using AD5933 to find the impedance of an unknown sample.

For this first I attenuated the the AD5933 output to around 30 m Vpp ( as it is required for our sample)  and applied to sample. Currently I am using potentiometer as a sample impedance. On the receive side I collected the real and imaginary parts using Arduino Nano board. After that I measured the impedance using the gain factor which I had obtained from the calibration of the AD5933.

Problem is that as I linearly change the sample impedance (potentiometer) I am not able to get the linear change at the measured impedance, instead at some impedance points value peaks. Then to understand the problem I repeated the same kind of measurements using AD5933 evaluation board and found that the results are perfectly fine.

So, can any one please guide why AD5933 is behaving like that, i.e impedance measured is not linearly changing as I keep changing the sample impedance (potentiometer)

Please find the attached plot showing the comparison of evaluation board results and the AD5933 results that obtained by measuring



The figure uploaded was not annotated properly
[edited by: Shambhu_nd at 11:42 AM (GMT -4) on 4 Jul 2021]

Top Replies

  • Jul 10, 2021 in reply to Shambhu_nd +1 verified
    I doubt any problem in analog side as I see that TIA output value would always be as expected (+/- 1 or 2 %). 

    It is possible to get accuracy well below 0.5%, especially for frequencies…

  • 0
    •  Analog Employees 
    on Jul 5, 2021 2:20 AM

    Hi, 

    I'll be moving this thread to Q&A - Direct Digital Synthesis (DDS) - EngineerZone (analog.com) community. Someone here may be better support you. 

    Thanks,

    Jellenie

  • For this first I attenuated the the AD5933 output to around 30 m Vpp ( as it is required for our sample)  and applied to sample.

    Could you please share your schematic, so we could see the means by which you attenuated the AD5933 output?

    I repeated the same kind of measurements using AD5933 evaluation board and found that the results are perfectly fine.

    How did you attenuate the output of the demo board? Does your Arduino-controlled schematic replicate the analog circuits on the demo board? At what frequency did you perform your measurements and was is the same for both your Arduino-controlled circuit and the demo board?    

  • Hi, Thanks for the reply.

    I have attenuated the signal using OPAMP based attenuator in inverting configuration and then inverted the signal again to bring the phase back to original (as shown in the attached schematic-1). 

    Yes, Arduino controlled schematic replicates the analog circuit on the demo board i.e I have added the attenuator circuit at the output of demo board (as shown in the attached schematic-2). This way I have made both the circuit almost similar.

    I have tried at 98k Hz for both my circuit and demo board

  • Thanks for sharing the schematics. The difference seems to be in the value of feedback resistors in TIA between Arduino-controlled  circuit (100k) and in evaluation board (5k), which results in rather different transimpedance gains.

    98 KHz should work fine.

    For the AD5933 to operate correctly it is necessary for the voltage at the ADC input to be a well-formed sine wave without any distortions, most often being clipping at the power supply rails when Z is too low. Assuming that PGA gain programmed into the chip is 1x, the best way is to check voltage waveform at the AD5933 RFB pin with the oscilloscope and see if it is a well-formed sine wave free of any clipping  or distortion with the zero-line at Vdd/2.

    On an unrelated subject, AD5933 has internal sources of "stray" phase and the only way to get rid of those is through calibration. This same calibration will also get rid of any additional phase that may be introduced by the analog circuits outside the AD5933, so adding hardware just to correct the phase is usually unnecessary.