UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

Nexys 4 ddr XADC moisture sensor vh400 - optimal data acquisition

Jump to solution

Good morning someone who has used the XADC of the nexys 4 ddr or series 7. I am trying to obtain the analog signal from the VH400 sensor of vegetronix, it has a voltage output of 0-3v, and the configuration of my XADC admits a unipolar of 0- 1v. Use a simple voltage divider to adapt the signal and all good, but from a designer's point of view it is not the most optimal way because the resolution of the sensor is lost, xilinx in your XADC guide https://www.xilinx.com/support/documentation/application_notes/xapp795-driving-xadc.pdf, recommends using a wheatstone bridge followed by an amplifier of an instrumentation and if this is not too fast I must use a buffer followed by an anti-aliasing filter, someone can clarify if it would be correct if I apply this to read the vh400 sensor, or that they recommend me from their experience. What would be the most optimal way to condition the signal of this sensor with the Nexys 4ddr.

datasheet vh400
http://www.vegetronix.com/Products/VH400/

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee

Re: Nexys 4 ddr XADC moisture sensor vh400 - optimal data acquisition

Jump to solution

c_e,

 

As the sensor has a 10K ohm output impedance, if you load it down, you will get an inaccuracy due to the output impedance being not exactly 10K ohms.

 

I would use two 1% precision resistors to create a 1:3 voltage divider.  As the input impedance to the XADC is large (it is switched capacitors), Using a 200K ohm series resistor, to a 100K resistor to ground provide the reduction needed.  The 0-1 volt now measured from the 0 to 3 volts from the sensor.

 

The inaccuracy is from the 300K load on 10K, or ~ 3% load on the sensor, which reduces the upper range by 3%.  I would multiply the result by 1.03 to correct the full scale (or just use a 190K ohm 1% resistor for the 200K).  As the sensor itself, the two 1% resistors also create inaccuracies, along with the +/- 3 mV error of the XADC (0.3%), you are probably as good as you can get with accuracy.  Simple is always better when it comes to signal conditioning, so I wouldn't add anything to this setup (it is as close to the best as possible).

 

So the XADC reading gives you 1024 ~ 1 mV steps from 0 to 1.  The error will appear to be a constant fixed error from the two resistors, plus a small contribution from the 10K not being exactly 10K (which I would just ignore).

 

The resisitive divider does not reduce accuracy,  It merely adjusts the range.

 

You may wish to place a 3.3v zener diode before the resistive divider to protect everything, as the sensor has voltages that could damage something if not careful.

 

Austin Lesea
Principal Engineer
Xilinx San Jose
1 Reply
Xilinx Employee
Xilinx Employee

Re: Nexys 4 ddr XADC moisture sensor vh400 - optimal data acquisition

Jump to solution

c_e,

 

As the sensor has a 10K ohm output impedance, if you load it down, you will get an inaccuracy due to the output impedance being not exactly 10K ohms.

 

I would use two 1% precision resistors to create a 1:3 voltage divider.  As the input impedance to the XADC is large (it is switched capacitors), Using a 200K ohm series resistor, to a 100K resistor to ground provide the reduction needed.  The 0-1 volt now measured from the 0 to 3 volts from the sensor.

 

The inaccuracy is from the 300K load on 10K, or ~ 3% load on the sensor, which reduces the upper range by 3%.  I would multiply the result by 1.03 to correct the full scale (or just use a 190K ohm 1% resistor for the 200K).  As the sensor itself, the two 1% resistors also create inaccuracies, along with the +/- 3 mV error of the XADC (0.3%), you are probably as good as you can get with accuracy.  Simple is always better when it comes to signal conditioning, so I wouldn't add anything to this setup (it is as close to the best as possible).

 

So the XADC reading gives you 1024 ~ 1 mV steps from 0 to 1.  The error will appear to be a constant fixed error from the two resistors, plus a small contribution from the 10K not being exactly 10K (which I would just ignore).

 

The resisitive divider does not reduce accuracy,  It merely adjusts the range.

 

You may wish to place a 3.3v zener diode before the resistive divider to protect everything, as the sensor has voltages that could damage something if not careful.

 

Austin Lesea
Principal Engineer
Xilinx San Jose