AnsweredAssumed Answered

AD7193 AC Voltage Measurement Issue

Question asked by Pav9495 on Apr 28, 2017
Latest reply on Apr 20, 2018 by virk_ps

Hello!

 

Recently I bought a PMOD AD5 board to hook it up with my Arduino DUE in order to measure AC Voltage. In terms of libraries, I tried two - the official AD7193 library and the AD Converter one, from GitHub. The AD Converter one seems like it's based on the official DSP library from your wiki, but adapted to Arduino. With that one, I had a few problems, so I went with the other one.

 

For starters, I have my signal connected to AIN3 and GND connected to AIN4 (both on J2). The SPI is properly connected to my DUE, settings are SPI_MODE3 and SPI_CLOCK_DIV32 (initially it was DIV16, but I decided to try 32 as well, unfortunately to no avail). I am powering up everything from the 3.3V pin on the DUE and my signal is 50 Hz sine wave, with a 1.65V reference. I am measuring it with normal differential type, not the pseudo type (even though I tried that).

 

Originally, with the default library, I could measure the 1.65V, but the sine wave isn't there (because of the 50Hz/60Hz rejection filter). Trying out different things with the mode and configuration registers from the AD7193 datasheet, I tried to set it up the following way: Chop Disabled, SYNC4 (and SYNC3 afterwards), FS=1; which from the datasheet it said that the 50Hz and 60Hz rejection would be disabled. I tried a whole lot of things, but I just couldn't get the filter turned off. Reason I am writing this is that I am hoping someone here can help me with my dilema and give me the means of measuring AC Voltage, because the ADC is great.

 

Here are my register values:

Mode - 0x080001

Configuration - 0x000208

 

I got these register values from the AD719X AFM Simulation Software. Running this configuration there, with 5MHz of the SCLK generates the Frequency diagram exactly as I need it. But for some reason, with the Arduino library, that just doesn't want to work.

 

Thank you a lot for reading and I'm hoping someone can help.

Outcomes