Calibrating AD5933 with Arduino


I am trying to interface the ad5933 with an arduino. Using the arduino I2C library, I am able to communicate with the ic, read temperature measurements, and program registers and initiate a frequency sweep. I have probed the excitation voltage and I am certain it corresponds with the programmed frequency and amplitude. However, when attempting to calibrate, the values the real and imaginary register values are off and the gain factor is off. I have used the suggested set up in the datasheet with a ZCal=200K and RFB=200K. Yet, the computed gain factor is about 256*10^-12, compared to the 515.8*10^12 in the datasheet. I know my gain factor doesnt need not be the same as the datasheet's but it should be similar at least. And with the current gain factor i'm getting, all test measurements within the range of the Zcal (Zmin - Zmax), are all wrong. I've attached my code herein. Kindly let me know if I'm doing something wrong or missing something. Thanks.

Top Replies

  • Ooh thanks, although I still have some sort of problem potentially with the hardware set up. I had similar modified code to mask the sweep set up pins too with the contents of CTRL_REG, EXCEPT, I did not add in the 0x07 so thanks for cluing me in on that. However, the flag still always recovers a zero and no functional sweep occurs. If I comment out the flag to see the contents the sweep it just never changes even if I physically change around R_Load/Cal. I think my set up is wrong although this is it(with 100K resistor as RfB and RCal) as i get no voltage drop between pin 6(Vout) and ground. Something is wrong in that nothing is coming out of Vout?

  • Can I use the circuit shown in the picture above o interface Arduino with AD5933 chip.. Please reply.

Reply Children
No Data