Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How to make auto-zeroing in labview

Dear All,

 

I have a DAQ card. I have a signal with a period of 100 ms. For 95 ms the input is in the normal mode (i.e., my circuit makes a signal) and for 5 ms the circuit goes to auto-zero mode. What I want to do in Labview is to subtract the mean value of the signal in Auto-zero mode from every signal sample of the signal in the normal mode. The data is coming continously, so I need a blcok to judge if it goes to the auto-zero mode or not, then make correct opreations.

 

Our program for acquring data is attached. Can anyone tell me how to make it? Thank you in advance.

 

Ruimin

 

 

0 Kudos
Message 1 of 6
(5,628 Views)

IMHO it would be the best if your circuit provide an additional sync signal. Otherwise you need to sync (lock) only via your signal. Easy if you always have a DC (or near DC) value that drop to zero for 5ms, you will have a high dU/dt pulse that you can use to lock in.

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


Message 2 of 6
(5,581 Views)

Hi,Henrik,

 

Thank you for your reply. Yes, it's possible for my circuit to provide an additional sync signal. That can be the clcok signal which I used to do auto-zeroing. However, I can't imagine how I can write the program. I tried to add in a MATLAB script node and write some MATLAB codes. It worked. However, the speed was very slow. That's why I want to make it with labview. But the problem is that I don't have too much experience with Labview. Can you show me some example on how to do it? 

 

BTW, with the auto-zeroing, I will always have a DC value that drop to zero for 5ms. My normal signal will be around 4V. And during the auto-zeroing, the signal will go down to around 40mV. Do you think we can use this high dU/dt pulse to lock the value? If yes, how can I do it? 

 

Kind regards,

Ruimin

0 Kudos
Message 3 of 6
(5,579 Views)

Try out the trigger slope detection vi in signal processing  .... OR the histogram analysis of a square pulse measrement vi .... 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 6
(5,577 Views)
When I detect the large dU/dt, how can I save the data for later use? I mean, during this 5ms, there will be a lot of data and I have to save them all. Then, I will take the average of these data. The averaged value will be used to do the auto-zeroing afterwards. How can I do this?
0 Kudos
Message 5 of 6
(5,573 Views)

try this:

 

I simulated your signal ... 

then I used trigger and gate to detect and cut out the zero part and calculated the mean of it....

next pipe it in a shift register, add filter, ..... compensate .....

have fun

 

zero clamp measurement.png

 

And mark as solution if it fits 😉 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


Message 6 of 6
(5,571 Views)