**Hello everyone**, i have put together one-channel data acquisition unit for my school project. Its task is to sense output voltage of Wheatstones bridge with strain gages and to generate AC excitation for it. Reading data from ADC and generating sine wave via DAC is controlled by dsPIC uC and communication with PC is made via uart-usb interface.

Everything works fine, i am reading big data comming from unit, as raw int16 numbers and i am plotting them into live plot GUI app written in python

**I have struggle with creating mathematical formula which would connect bridge voltage with ADC output code**

Input section of DAQ unit is circuit from Application note number 683 (attachment). There is instrumentation amplifier with gain set to 991. Gain of demodulator AD630 should be 2 with this configuration and output of AD630 should be rectified and averaged after cascade of low pass filters. Output of voltage buffer of this analog section is then devided with two resistors (8k, 2k -> 1/5).

There is ADS8867 ADC with THS4521 fully differential amplifier front end with 5V reference. Rf and Rg resistors set gain of THS4521 and in this application its set to 2.5.

Some numbers:

AD8221 gain: 991 (Rg = 49.9 R)

AD630 gain: 2

AD630 output with LP cascade : averaged rectified sine wave: 0.637*U

Voltage divider (8k, 2k): 0.2

THS4521 gain: 2.5

ADC: 16bit

adc_reference: 5V

My current approach for getting voltage at the ADC input (if i can compute value of voltage at the ADC input, i can then in the inverse manner compute Ubridge with digital code)

Ubridge * AD8221gain * AD630gain * MeanValue * Volt.divider * THS4521gain = Uadc_input

Ubridge * 991 * 2 * 0.637 * 0.2 * 2.5 = Uadc_input

Is my approach correct please? I am not sure about that AD630 part of the circuit (gained by 2 and after signal goes through low pass filters, there is mean value of the input signal). Right now i am testing my setup with full strain wheatstone bridge (beam made to measure bending forces with range of 1kg) which has sensitivity 1.5 mV / V, and i am generating excitation 2.5V with 400 Hz frequency.

Values of microvolts which i get from my readings are not that far from theoretical values, but I am not completely sure if that approach is correct.

Could someone share their procedure of this kind please or give me any hints?

Thank you very much

Thomas

Hi Thomas,

If you are sure that your circuit is working properly and you just want to know the actual transfer function of your circuits then this is one thing that you can do.

1. Define 10 steps of input voltage from zero scale to full scale. Example, if input range of bridge sensor is 0V to 10mV, then you need to get measurement of 1mV, 2mV, 3mV .....10mV input voltage. You can do 1mV to 9mV only if necessary just to account for the headroom of the amplifiers.

2. Apply input voltage (by unbalancing the bridge circuit or using voltage source meter) and measure the actual input voltage across AD8421 input pins (+IN - -IN) and actual output voltage across the THS4521 (OUT+ - OUT-).

3. You should have 8 to10 values of input voltage and its corresponding analog output voltage.

4. Plot those values in excel file and add trend line to get the transfer function of the graph. The equation is in the form of y = mx + b. where m is the slope which represents the overall gain of your circuit and b is the y intercept which represents the initial offset.

By knowing these values, you should be able to convert back the outputs (either in analog or digital code) to its corresponding bridge input voltage and also compare it with your theoretical computation.

I hope this helps.

Best regards,

Emman