LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Data acquired is incorrect when a MAX Scale is used.

  I have a USB-6341 acquiring waveforms from a motor drive circuit.  The output voltage is ~15 Vp-p, so I reduced it by a factor of 2 in the hardware before feeding it to the DAQ.

 

  To compensate, I used MAX to create ScaleX2 that multiplied the readings by a factor of 2 and referenced that in the DAQ Assistant when I defined the data acquisition VI.

 

  The resulting data read a flat top just under 15 V, but the voltage displayed on the scope showed a droop (to be expected as the output is AC coupled).

 

  We weren't able to get accurate readings until we removed the Scale factor in the DAQ Assistant and added a x2 multiplier in the VI.

 

  Why did this happen?  I was unable to find a limit setting in the MAX Scale setup, so why was it messing up the readings?

 

Thanks in advance,

 

Jeff

 

0 Kudos
Message 1 of 7
(2,314 Views)

When you downscaling the signal and-then after Scaling to realworld value, you may loose the resolution a bit.

For your application, you have used "Linear Scale". It have to work!

Do start testing with MAX Test Panel's. You will read the exact voltage in driver level.

 

One more Idea you can also use the "Map Ranges Scale"

Configuration would be,

Pre-Scaled Values : 0-7.5 V

Post Scaled Values : 0-15 V

 

If it is not working, provide your "MAX Config File" or "Channel and Scale Configuration screenshots" 🙂

 

Regards,

Yogesh Redemptor

Regards,
Yogesh Redemptor
0 Kudos
Message 2 of 7
(2,310 Views)

  On the 0 to 10V scale, the resolution of the DAQ is less than a millivolt.

 

  The AC-coupled output has a droop of more than a volt.  That is more than 1,000 times the available resolution, so your assertion cannot be correct.

 

 

Regards,

 

Jeff

 

0 Kudos
Message 3 of 7
(2,296 Views)

The AI task min and max v (range) values are in Scaled units so, you have a 0-15Vdc signal coulped through a 2:1 divider applying 0-7.5Vdc at the AI.  Scale = 2x+0 Range min - 0V range MAXV =20 to select the 10V range  with Max = 10 (like you probably set) the DAQ will use a 5Vdc range and of course there will be clipping.

 

 


"Should be" isn't "Is" -Jay
0 Kudos
Message 4 of 7
(2,293 Views)

@Jeff Bohrer wrote:

The AI task min and max v (range) values are in Scaled units so, you have a 0-15Vdc signal coulped through a 2:1 divider applying 0-7.5Vdc at the AI. 

 

Yes, of course

 

 

Scale = 2x+0 Range min - 0V range MAXV =20 to select the 10V range  with Max = 10 (like you probably set) the DAQ will use a 5Vdc range and of course there will be clipping.

 

I set to use the 0 to 10V range.  You can see that MAX was set to accept a 0-20V actual range in the attached image.

 

 


  This is still confusing.

 

Jeff

 

0 Kudos
Message 5 of 7
(2,276 Views)

So, forget MAX.

 

You can use Polynomial Interpolation.vi in your program. It's fast, and the code isn't obfuscated by an outside source for the scaling. In the example below, we have a 0..20V input, which needs to equal a 0..10V output. I've shown a constant of 6 that needs to be scaled. The result is 3.

 

PI.png

Richard






0 Kudos
Message 6 of 7
(2,265 Views)

  Wouldn't work with an array, so this is what I did:

 

Non-MAX Scaling

0 Kudos
Message 7 of 7
(2,262 Views)