Shop OBEX P1 Docs P2 Docs Learn Events
Vacuum Tube Curve tracer — Parallax Forums

Vacuum Tube Curve tracer

jackinnjjackinnj Posts: 5
edited 2005-06-14 22:48 in Robotics
Last year I published an article in AudioXpress of a BS-II based device which measured certain parameters of vacuum tubes -- great if you are into vacuum tube audio amplification or repairing retrogear.· The project uses the Stamp to write to a DAC on a high voltage power supply, thus regulating voltages for the plate and grids of the UUT's.· Once the voltages are set, the Stamp then reads voltage and current through a Linear Tech ADC and "iterates" to generate an XY plot for an individual tube, or pair of tubes.· I used StampDAQ for the first part of the article, allowing the reader to dump data into Excel.· In the second article I used StampPlot as the GUI.

I've attached·[noparse][[/noparse]EDIT] three files -- the not-so-pretty bottom view of the device and one of the graphs (the two halves of a 6SN7 dual triode) generated in Excel, and the bottom of the high voltage power supply -- a cannibalized Heath IP-17 which is now controlled by a DAC instead of a potentiometer.

Here's the code for the unit which used STAMPDAQ:

'{$STAMP BS2}
'********** Tube Curve Tracer using StampDAQ· **********
'Using the StampDAQ Excel Macro, the data
'is Dumped into an Excel spreadsheet where it can be stored, charted and analyzed.
'Data Is sent out to the PC via Pin16 - the Programming Port of the Basic Stamp
'The Baud rate and transmission mode IS 9600,n,8,1 -- using the constant"84"
'The Bipolar Mode is used to read the negative grid voltages
'In the Bipolar Mode the resulting data must be "two-s complemented"
'**********······· Variable Assignments· ***************
DIRL = %11011111··········· ······························· ··········· Set Pins I/O
·
ADCV· ············ VAR··· Word···· ························ ··········· 'Voltage read by ADC
I······················ VAR··· Byte···· ························· ··········· 'Counter
MUX·· ············· VAR··· Byte
ADCS·· ··········· VAR·· Word(6)······ ······························· 'ARRAY to hold the 6 measured values
SPIN·· ············· CON··· 16········· ··································· 'SERIAL PIN - P16, Programming port
Baud·· ············· CON··· 84·········· ·································· 'Baud mode for a rate of 9600, 8-N-1
CLK··· ············· CON ··· 0··············· ····························· 'Clock
CS···· ·············· CON ··· 1··············· ····························· 'Chip Select
DIN··· ·············· CON ··· 2··············· ····························· 'Data Out from ADC
DOUT·· ··········· CON ··· 3··············· ····························· 'Data In MUX Address and Mode
·
'**********· Initial Variable Values··· ****************
I = 0
HIGH CS
PAUSE 1000····· ·························································· 'Allow data communications to stabilize
SEROUT SPIN,Baud,[noparse][[/noparse]CR]·· ·········································· 'Send Carriage Return to purge StampDAQ buffer
·
CONFIGURE:
'****************LABEL COLUMNS A to D with TRACER Outputs
· SEROUT SPIN,Baud,[noparse][[/noparse]CR, "LABEL,TIME,PT_1V, PT_2V,PT_1I,PT_I2,GR_1V,GR_2V",CR]
· SEROUT SPIN,Baud,[noparse][[/noparse]"CLEARDATA",CR]
· PAUSE 1000
MAIN:
·FOR I = 0 TO 5
· LOOKUP I,[noparse][[/noparse]99,119,115,103,105,123],MUX······· ··········· 'This selects the address of the LT1093
· LOW CS:TOGGLE CLK··························· ······· ··········· 'Select the LT1093 and toggle the clock line once
··SHIFTOUT DOUT,CLK,1,[noparse][[/noparse]MUX\7]:PAUSE 1······ ··········· 'Shift the Address into the MUX of the LT1093
· SHIFTIN DIN,CLK,2,[noparse][[/noparse]ADCV\10]················· ·················· 'Pause 1 millisecond to access the data
· TOGGLE CLK·································· ·························· 'Toggle the clock line
· PAUSE 1····································· ····························· 'Pause to settle the LT1093
· HIGH CS:PAUSE 50···························· ······················ 'Unselect the LT1093
· ADCS(I)=ADCV
·
·
·NEXT
·
· ADCS(4)=~ADCS(4)+1 & 1023··················· ················· 'Two-s complement the negative grid voltage
· ADCS(5)=~ADCS(5)+1 & 1023
· SEROUT SPin,Baud,[noparse][[/noparse]CR,"DATA,TIME,",DEC ADCS(0),",",DEC ADCS(1),",",DEC ADCS(2),",",DEC ADCS(3),",", DEC ADCS(4),",",DEC ADCS(5),",",CR]
· PAUSE 50
GOTO MAIN

Post Edited (jackinnj) : 6/12/2005 2:43:55 PM GMT
694 x 545 - 68K
741 x 509 - 31K
605 x 779 - 68K

Comments

Sign In or Register to comment.