eReadNames() produces unpredictable result when some pins are floating | LabJack
 

eReadNames() produces unpredictable result when some pins are floating

3 posts / 0 new
Last post
dylan
dylan's picture
eReadNames() produces unpredictable result when some pins are floating

Hi there, I am using a T7 with ljm in python.  I have a proper ground referenced voltage present on AIN0, but the remaining pins are simply floating.  When I use eReadNames(all_pins), the first couple times the voltage for AIN0 is correct, but then after executing that function several times, it jumps around to somewhat random values and usually settles down to ~-0.19V (the "correct reading is ~0.58V).  Reading out just AIN0 using eReadName('AIN0') does not produce this behaviour.  Has anyone else seen this and is there a way around it?  I have a reason for wanting to read out all voltages at once, even though some are floating, but even without going into my reasons I would rather understand whats happening here so I don't run into further issues.

UPDATE: It seems to be strongly related to the frequency with which I repeat the function call.  Is there supposed to be a time.sleep() in between subsequent calls to eReadNames? 

Thanks in advance!

Dylan

LabJack Support
labjack support's picture
For a sanity check, you could

For a sanity check, you could set DAC0 to ~0.58V and jump it to AIN0 rather than your signal and re-run your code. The DAC output would give you a well defined signal that we expect to measure nicely on the AIN; you should get good results testing with the DAC.

It sounds like you could be having settling issues due to a high impedance/weakly driven input. We have an application note on settling time that includes some relevant tests:

https://labjack.com/support/app-notes/SettlingTime

To answer your later question, you should not need to add delays between reads if you do not have settling time issues, but one option we suggest if you are having settling issues is to add delays between reads.

dylan
dylan's picture
Thanks for your response!  

Thanks for your response!  

This exactly explains my problem.  I shoud have mentioned: the actual voltage I am measuring is ~1.15V so to make use of the full ADC range I am using a 1MOhm/1MOhm resistor bridge to step the voltage down to ~0.58V.  I think I will remove the resistor bridge and simply decrease the gain for that channel, this should fix everything.  

Thanks again for the very fast (And super helpful) response!

Dylan