Author Topic: New Keithley DMM6500 and now DAQ6510  (Read 77210 times)

0 Members and 1 Guest are viewing this topic.

Offline shodan@micron

  • Regular Contributor
  • *
  • Posts: 146
  • Country: ru
    • My personal page
Re: New Keithley DMM6500 and now DAQ6510
« Reply #500 on: May 25, 2019, 03:30:23 pm »
Did you use any filter on dmm6500? What's the input impendance of both? Try to use "repeat, count 10", input z 10M \$\Omega\$, 5 NPLC

I show init SCPI commands earler. Decode it:
34410A - 100 NPLC, auto-zero ON, input impedance auto(10G expect), range 10V.
DMM6500 - 10 NPLC, "repeat" filter 10, auto-zero ON, input impedance auto(10G expect), line sync ON, range 10V. (6500 with 10 nplc*10 repeat i expect = 100nplc as 34410)

I think that test condition are same for both instruments.
« Last Edit: May 25, 2019, 03:36:57 pm by shodan@micron »
 
The following users thanked this post: hwj-d

Offline hwj-d

  • Frequent Contributor
  • **
  • Posts: 593
  • Country: de
  • The economy of capitalism has NO social mission!
Re: New Keithley DMM6500 and now DAQ6510
« Reply #501 on: May 25, 2019, 05:14:47 pm »
The representation of the characteristic curves reminds me rather of different interpolation procedures to determine and represent individual measured values.
The german goverment has fired his own nation and all his citizens
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 6312
  • Country: de
Re: New Keithley DMM6500 and now DAQ6510
« Reply #502 on: May 25, 2019, 06:28:27 pm »
There was a detailed measurement on the noise around reply  #95 in this thread. The DMM6500 seems to be relatively noisy.
The low temperature effect looks impressive though. Chances are they use a numerical compensation, a little like in the DMM7510.

The Keithley meters tend to use a slightly different way of AZ mode, that includes some averaging. This gives slightly improved performance at low PLC, however as a downside the 100 PLC and similar data may be not that good. Form the old data is looks like the 6500 is also effected by this, though it looks better than the 7510 in this respect. Anyway the DMM6500 does not look like it is really low noise even at 1 PLC.

It is kind of sad, the Keithley does not offer a different, more conventional AZ filtering for slow measurements. This could be quite an improvement for slow measurements. With some luck it may be possible to get this via a script, if there is access to the raw data from a 1 or 5 PLC Az mode.
 
The following users thanked this post: shodan@micron, hwj-d

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #503 on: June 02, 2019, 03:40:52 pm »
I tried:
https://github.com/tektronix/keithley/blob/master/TSP_Apps/Resistance_Tolerance_Meter.tspa

- When starting I get an error, like not correctly initialized.
- When I exit the app the custom buffer stays the selected buffer, maybe this should be set back to the default buffer to avoid this next error.
- I got a few bad reading (high impedance) due to bad contact, so had to press retry but if two follow each other I will not be able to do that.
- It also shows rear terminals in the csv file while I used the front.

Not related to this app, can I make saving the measurements so that the column time is always the first column and the measured value always the second?  (makes it easier in excel)
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 

Offline Brad O

  • Regular Contributor
  • *
  • Posts: 85
  • Country: us
  • Keithley Apps Engineer
    • Keithley homepage at Tektronix
Re: New Keithley DMM6500 and now DAQ6510
« Reply #504 on: June 03, 2019, 10:36:11 pm »
I tried:
https://github.com/tektronix/keithley/blob/master/TSP_Apps/Resistance_Tolerance_Meter.tspa

- When starting I get an error, like not correctly initialized.
- When I exit the app the custom buffer stays the selected buffer, maybe this should be set back to the default buffer to avoid this next error.
- I got a few bad reading (high impedance) due to bad contact, so had to press retry but if two follow each other I will not be able to do that.
- It also shows rear terminals in the csv file while I used the front.

Not related to this app, can I make saving the measurements so that the column time is always the first column and the measured value always the second?  (makes it easier in excel)
Alas!  I blame myself for not testing on the correct firmware.  Updated version here: https://github.com/tektronix/keithley/blob/master/TSP_Apps/Resistance_Tolerance_Meter.tspa

- I fixed the indexing error that caused that first error, the MENU will now render correctly as a result.
- Currently, there's no way to execute specific code when you exit an app.  The development firmware allows for resetting the instrument when an app exits, which would fix this.  Otherwise, since it's a writable buffer, it doesn't really need to be active, but having it active simplifies small things like going to the reading table (so that the results buffer is already up). 
- Hmm, should unlimited re-tests be allowed?  Was the bad contact just due to it taking a reading while you were still setting up or something else?
- Fixed the mislabeled terminals.  Front terminals are actually required for this app... I'm not sure why but I didn't remove that requirement in case there's a reason I didn't see (I didn't write this one). 

On saving buffers in a specific way: kinda. There's quite a few different ways to skin a cat export a buffer.  The options are fed as parameters to the buffer.save() function and are documented on page 722 (15-21) of the Reference Manual.  The option you probably want is buffer.COL_BRIEF, which saves only the reading and the timestamp (though the timestamp comes second).  For the ultimate customization though, writing your own csv is the way to go, that's typically what I do.

Let's say you want to save the relative timestamps and readings from defbuffer1 to a file named "savedbuffer.csv".  Here's a code block to do that:
Code: [Select]
fileVar = file.open("/usb1/savedbuffer.csv", file.MODE_WRITE)
file.write(fileVar, "Relative Time, Reading\n)
for i = 1, defbuffer1.n do
     file.write(fileVar, defbuffer1.relativetimestamps[i]..","..defbuffer1.readings[i].."\n")
end
file.close(fileVar)

In the Resistance Tolerance Meter app, the code to save data is at line 83, in the function save_data_btn_press_event(), should you want to customize it yourself. 
 
The following users thanked this post: KedasProbe

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #505 on: June 04, 2019, 07:31:31 am »
- Hmm, should unlimited re-tests be allowed?  Was the bad contact just due to it taking a reading while you were still setting up or something else?
For my test I pressed through the isolation of a resistor matrix PCB.
But it should not be an extra retry, maybe if it failed and more than 5? time the tolerance you have to keep measuring up to 2 second before making it a fail, but this issue may fall in the same category of the sample and hold app that sometimes picks-up a reading it shouldn't, (and I will look into that later to improve/fix that)
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 
The following users thanked this post: Brad O

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #506 on: June 05, 2019, 02:18:03 pm »
How can I make it wait for the ok button?
It asks the input field even before I presses ok if no USB drive is present. (multiple pop-ups)

Code: [Select]
--TODO Please insert code here.
if file.usbdriveexists() == 0 then   --
display.prompt(display.BUTTONS_OK, "Please insert a USB flash drive into the front-panel USB port.")    
display.waitevent()
delay(1.5) -- Wait some time for the USB to be mounted
end
if defbuffer1.n >0 and file.usbdriveexists() != 0 then
statsVar = buffer.getstats(defbuffer1)
desciption=display.input.string("Description",display.SFORMAT_ANY)
fileVar = file.open("/usb1/"..desciption..".csv", file.MODE_WRITE)
file.write(fileVar, "Mean:,"..statsVar.mean.."\n")
file.write(fileVar, "StdDev:,"..statsVar.stddev.."\n")
file.write(fileVar, "Min:,"..statsVar.min.reading.."\n")
file.write(fileVar, "Max:,"..statsVar.max.reading.."\n")
file.write(fileVar, "Relative Time, Reading,,"..desciption.."\n")
for i = 1, defbuffer1.n do
    file.write(fileVar, defbuffer1.relativetimestamps[i]..","..defbuffer1.readings[i]..","..defbuffer1.units[i].. "\n")     
end
file.close(fileVar)
beeper.beep(0.1, 1000) -- ready beep
else
beeper.beep(0.5, 100) -- fail beep
end

edit nevermind found it adding waitevent()

Script above to save custom .csv file (and faster, run script by pressing 'No Script' button)
« Last Edit: June 05, 2019, 03:13:51 pm by KedasProbe »
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 
The following users thanked this post: Brad O

Offline hwj-d

  • Frequent Contributor
  • **
  • Posts: 593
  • Country: de
  • The economy of capitalism has NO social mission!
Re: New Keithley DMM6500 and now DAQ6510
« Reply #507 on: June 05, 2019, 07:15:22 pm »
KedasProbe:

In the moment I don't know anything about programming the DMM because I still haven't found the time yet. But what strikes me roughly is that you don't query the return value of the button. You don't use the procedure as a function. Forgive me if I am wrong. In other code snippets it looks like this:

Code: [Select]
function set_dci_range()
optionID = display.input.option("Select current range", "1A", "100mA", "10mA", "1mA",
"100uA", "10uA")
if optionID == display.BUTTON_OPTION1 then -- 1A
return 1.0
elseif optionID == display.BUTTON_OPTION2 then -- 100mA
return 100e-3
...

That's just an idea, roughly. Don't know if that'll get you anywhere.
The german goverment has fired his own nation and all his citizens
 

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #508 on: June 06, 2019, 07:11:42 am »
Because there is no option given, only an OK button, hence I know what they pressed, I only need to wait until they are ready to continue.

But maybe I see if I can make it a cancel button and loop detect when the usb drive is ready.
(but this is only when you forgot to plug in your USB drive, so it shouldn't really be used)
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 

Offline hwj-d

  • Frequent Contributor
  • **
  • Posts: 593
  • Country: de
  • The economy of capitalism has NO social mission!
Re: New Keithley DMM6500 and now DAQ6510
« Reply #509 on: June 06, 2019, 10:21:50 am »
How can I make it wait for the ok button?
It asks the input field even before I presses ok if no USB drive is present. (multiple pop-ups)
and
Because there is no option given, only an OK button, hence I know what they pressed, I only need to wait until they are ready to continue.
...
You only call the ok-button to display, but don't ask when it is pressed, if I understand you correctly. So, option should be "button pressed".

(edit)
something like this:
Code: [Select]
promptID, result = display.waitevent()
...
display.prompt(display.BUTTONS_OK, "some text")
promptID, result = display.waitevent()
 if result == display.BUTTON_OK then
 ...
« Last Edit: June 06, 2019, 11:19:27 am by hwj-d »
The german goverment has fired his own nation and all his citizens
 

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #510 on: June 06, 2019, 12:00:12 pm »
The display.prompt and display.input.option works a little different for the 'input' one it will wait but for the prompt you have to ask to wait apparently.

Can be a good thing if you just want to give some info on the screen but while the measurement is still going.
like display.prompt(display.BUTTONS_OK, "Now is a good time to go get a coffee, it will take a while.")   :)

this is from the manual:
Quote
display.waitevent()
This function causes the instrument to wait for a user to respond to a prompt that was created with a prompt
command.
You can also check which button was pressed but since there was only one I didn't wrote if result==display.BUTTON_OK then because this will always be true.


« Last Edit: June 06, 2019, 12:18:18 pm by KedasProbe »
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 

Offline hwj-d

  • Frequent Contributor
  • **
  • Posts: 593
  • Country: de
  • The economy of capitalism has NO social mission!
Re: New Keithley DMM6500 and now DAQ6510
« Reply #511 on: June 06, 2019, 01:07:54 pm »
Yes. I once ventured out because I believe that synergies in the Forum will develop as a result, not that someone have to be right.  ;)

Your problem sounded to me like display.waitevent() is triggered by other events too. The correct react to a BUTTONS_OK event is of such a fundamental nature that there should be no problems at all. If someones own code doesn't act as expect, it usually helps to play around with alternatives. Once have found something that works, someone should reduce and optimize it back to the core.
The german goverment has fired his own nation and all his citizens
 

Offline Brad O

  • Regular Contributor
  • *
  • Posts: 85
  • Country: us
  • Keithley Apps Engineer
    • Keithley homepage at Tektronix
Re: New Keithley DMM6500 and now DAQ6510
« Reply #512 on: June 06, 2019, 01:32:24 pm »
Hey KedasProbe, can I put that script on our GithHub repo for you?  I also see a couple small improvements I can make.
 

Offline cozdas

  • Contributor
  • Posts: 32
Re: New Keithley DMM6500 and now DAQ6510
« Reply #513 on: June 06, 2019, 07:46:32 pm »
Which reminds me, unfortunately the release of the next firmware has been delayed until the end of May.  The team was really hoping to get it out by the end of March but it just wasn't ready with all the features we wanted in it.

Hi Brad,
Is the new firmware getting closer to release? I'm looking forward to seeing the crash bugs with the user added swipe screens be fixed so that I can start implementing few ideas.
 

Online JxR

  • Supporter
  • ****
  • Posts: 227
  • Country: us
Re: New Keithley DMM6500 and now DAQ6510
« Reply #514 on: June 06, 2019, 08:50:41 pm »
I'm showing a significant voltage drop in the 100V range when doing a simultaneous measurement of voltage and current.  Could anyone else confirm this:

Voltage Range: Auto or 100V, with an input voltage greater than 12V
Input Z: Auto
Current Range: 3A  (the drop is more severe the higher the input current).
I was using the front panel.

I'm seeing drops in voltage close to 50% of the input voltage, which doesn't seem right.  Would like to confirm if it is my unit or a bug. Look at the last half of this graph and see what I mean when I changed the voltage from 12V to 13V back and forth on my powersupply (Green is voltage). Going from 12V to 13V does a range switch from 10V to 100V (Auto mode).  I don't see any issues in the 10V range.  I sent a PM to Brad, but would like to see if anyone here can reproduce this.

« Last Edit: June 06, 2019, 09:00:19 pm by JxR »
 

Offline shodan@micron

  • Regular Contributor
  • *
  • Posts: 146
  • Country: ru
    • My personal page
Re: New Keithley DMM6500 and now DAQ6510
« Reply #515 on: June 06, 2019, 09:07:06 pm »
Hi dear Brad O!

Introduction:
I use DMM6500 or SMU2450 with a very long measurement cycle(days, weeks or longer). I turn off display with ":DISPlay:LIGHt:STATe BLACkout" SCPI command, to save display lifetime. (see note in DMM6500-901-01 Rev. A/April 2018, page 3-7)
After that command i can't turn on display from front panel.

Now it have only 2 ways to resolve:
1 - I can powercycle DMM from front panel to turn on display. It break measurement cycle and wipe all data.
2 - I can send command like as ":DISPlay:LIGHt:STATe ON50" to turn on display. But it complicated in some conditions.

SMU2450 also affected.

Feature request:
- Please add turn on display feature from "BLACkout" state to "turn on with default backlight level", when user press some key on front panel.


PS. On my Keysight instruments like as 34410A or E36313A can rollback display from "DISPlay:WINDow:STATe OFF" state to "full turn-on display" state, when i press "Shift" or any key on front panel.
« Last Edit: June 07, 2019, 07:07:11 am by shodan@micron »
 

Offline imagiko

  • Contributor
  • Posts: 6
  • Country: us
Re: New Keithley DMM6500 and now DAQ6510
« Reply #516 on: June 07, 2019, 03:30:28 am »
Hi All -
I just wanted to jump in on this thread as it looks like we have someone from Keithley helping out.
I work with low power BLE/WiFi devices, where current range needs to be dynamic (usually switching between uA to mA). I would like to record these measurements at a fast rate(enough to catch the current transients). To preface, I am not exactly an electronics guy so pardon my limited knowledge.
It looks like the 6500 might be suitable, but I am not entirely sure. I have been reading about burden voltage while measuring these current transients, so how will 6500 fare when making such measurements? I hope someone can pitch in to provide feedback. There is also 7510 that is being discussed, but that is almost 3 times the price of 6500.
 

Online JxR

  • Supporter
  • ****
  • Posts: 227
  • Country: us
Re: New Keithley DMM6500 and now DAQ6510
« Reply #517 on: June 07, 2019, 03:36:46 am »
Here is the chart from page 10 of the datasheet.  It lists the burden voltages for each range.  The 7510 is much better for this particular spec, but it is also quite a bit more expensive.
« Last Edit: June 07, 2019, 03:38:26 am by JxR »
 

Offline imagiko

  • Contributor
  • Posts: 6
  • Country: us
Re: New Keithley DMM6500 and now DAQ6510
« Reply #518 on: June 07, 2019, 04:01:03 am »
So 6500 has upto 170mV burden voltage for upto 10mA range and 7510 has upto 15mV. How to gauge how low is "good enough" for dynamic current measurements, since lower is obviously better?
 

Online JxR

  • Supporter
  • ****
  • Posts: 227
  • Country: us
Re: New Keithley DMM6500 and now DAQ6510
« Reply #519 on: June 07, 2019, 04:55:49 am »
So 6500 has upto 170mV burden voltage for upto 10mA range and 7510 has upto 15mV. How to gauge how low is "good enough" for dynamic current measurements, since lower is obviously better?
That is just going to depend on your circuit and possibly where you take your reading.  Say your device runs on a battery, and after that battery is some kind of voltage regulator.  If you take the reading between the battery and the voltage regulator, and your regulator can still provide an acceptable voltage to your circuit regardless of the voltage burden, it might not matter at all.

If you take your measurement after the voltage regulator and your circuit cannot handle a voltage drop of 170mV, and the voltage regulator cannot compensate for the drop of that level, then maybe it matters quite a bit.  Unfortunately I think that is something only you can answer, and the answer could change from circuit to circuit. 

For me, it doesn't matter enough to justify the price difference atm.  It is good enough for me, only you can answer if it is good enough for you.  I still would like to have a DMM7510 though.  If this is a important business decision or something along those lines, then maybe you should contact Keithley to see if you could demo both models.
 
The following users thanked this post: Electro Fan, imagiko

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 6312
  • Country: de
Re: New Keithley DMM6500 and now DAQ6510
« Reply #520 on: June 07, 2019, 06:22:16 am »
The burden voltages for the 6500 are about in the normal range. The numbers are upper limits and include the switch resistance so the actual drop may be a little lower. So I would expect some 100 mV for the shunt and the rest from the switch and fuse.

Only the high burden in the 3 A range is odd and makes me worry a little. Much of this would be from the fuse - this is the downside of the HRC fuses used relatively close to the limit. Still it could be quite some self heating effect and thus possible linearity limitations in the 3 A range. One may get better accuracy (especially linearity) in the 10 A range above some 1 A.

The very low burden for the 7510 in the low current ranges is due to using a TIA and not just a shunt. A few meters, but not that many use this for low currents.  With a TIA the actual impedance is inductive (how much depends on the details) - in some circuits this can be a problem, so the low burden can be a little misleading.
 
The following users thanked this post: MegaVolt, imagiko

Offline MegaVolt

  • Regular Contributor
  • *
  • Posts: 157
  • Country: by
Re: New Keithley DMM6500 and now DAQ6510
« Reply #521 on: June 07, 2019, 08:00:29 am »
The very low burden for the 7510 in the low current ranges is due to using a TIA and not just a shunt.
I suspected that, but I did not see official information anywhere. Do you have any document?
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 6312
  • Country: de
Re: New Keithley DMM6500 and now DAQ6510
« Reply #522 on: June 07, 2019, 08:53:31 am »
The very low burden for the 7510 in the low current ranges is due to using a TIA and not just a shunt.
I suspected that, but I did not see official information anywhere. Do you have any document?
Only a strong suspicion, based on the data - it gets very hard to impossible to get that good performance with just with a very small shunt.  A TIA makes absolute sense for the small currents, below some 100 µA. In the 10 mA range it's possibly though not that attractive due to self heating of the sensing resistor.
 
The following users thanked this post: MegaVolt

Offline KedasProbe

  • Frequent Contributor
  • **
  • Posts: 502
  • Country: be
Re: New Keithley DMM6500 and now DAQ6510
« Reply #523 on: June 07, 2019, 09:22:07 am »
Hey KedasProbe, can I put that script on our GithHub repo for you?  I also see a couple small improvements I can make.
Sure, but i changed the code:
I noticed when you add these headers the DMM6500 does sees the .tsp as a .tspa and puts it in the application list instead.
So you need to delete the first 3 lines to use it via 'No Script'.
Code: [Select]
-- $Title: Save Measurement with Statistics
-- $Product: DAQ6510, DMM6500
-- $Description: Save default buffer (defbuffer1) with basic statistics info
if file.usbdriveexists() == 0 then   --
display.prompt(display.BUTTONS_OK, "Please insert a USB flash drive into the front-panel USB port.")    
result = display.waitevent()  -- result isn't used, always button 'ok'
loopcount = 0
while (file.usbdriveexists() == 0 and loopcount<8) -- Wait up to 4 sec for the USB to be mounted after 'ok'
do
loopcount = loopcount + 1
delay(0.5)
end
end
sep=","  -- separator ',' used in the csv file.
--sep=" " --tab may be preferred.
if defbuffer1.n > 0 and file.usbdriveexists() != 0 then
statsVar = buffer.getstats(defbuffer1)
description = display.input.string("Description",display.SFORMAT_ANY)
fileVar = file.open("/usb1/"..description ..".csv", file.MODE_WRITE)
strunit=defbuffer1.units[1]
file.write(fileVar, "Relative Time"..sep.."Reading ("..strunit..")"..sep..sep..description .."\n")
if defbuffer1.n > 4 then
starti = 5
file.write(fileVar, defbuffer1.relativetimestamps[1]..sep..defbuffer1.readings[1]..sep..sep.."Mean:"..sep..statsVar.mean.."\n")
file.write(fileVar, defbuffer1.relativetimestamps[2]..sep..defbuffer1.readings[2]..sep..sep.."StdDev:"..sep..statsVar.stddev.."\n")
file.write(fileVar, defbuffer1.relativetimestamps[3]..sep..defbuffer1.readings[3]..sep..sep.."Min:"..sep..statsVar.min.reading.."\n")
file.write(fileVar, defbuffer1.relativetimestamps[4]..sep..defbuffer1.readings[4]..sep..sep.."Max:"..sep..statsVar.max.reading.."\n")
else
starti = 1
end
for i = starti, defbuffer1.n do
    file.write(fileVar, defbuffer1.relativetimestamps[i]..sep..defbuffer1.readings[i].. "\n")     
end
file.close(fileVar)
beeper.beep(0.1, 1000) -- ready beep
else
beeper.beep(0.5, 100) -- fail beep
end

edit: I made a pull request on github
« Last Edit: June 08, 2019, 12:55:41 pm by KedasProbe »
Not everything that counts can be measured. Not everything that can be measured counts.
[W. Bruce Cameron]
 

Offline hwj-d

  • Frequent Contributor
  • **
  • Posts: 593
  • Country: de
  • The economy of capitalism has NO social mission!
Re: New Keithley DMM6500 and now DAQ6510
« Reply #524 on: June 07, 2019, 09:50:55 am »
result = display.waitevent()  -- result isn't used, always button 'ok'

 ;) :-+
The german goverment has fired his own nation and all his citizens
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf