"3245-01-ibw.txt"의 두 판 사이의 차이
(새 문서: 3245A <pre> 1 ! volt-std/3245-01-ibw.txt 10 !2018/04/30 HP3245A Universal Source로 출력 + HP3458A DMM으로 측정 20 ! DC 전압: -10.25V ~ +10.25V, 6자리(24비...) |
|||
39번째 줄: | 39번째 줄: | ||
360 Vstop=10/2.828 !10Vp-p | 360 Vstop=10/2.828 !10Vp-p | ||
370 Vnop=10 | 370 Vnop=10 | ||
− | 380 OUTPUT @File;"No., Time[s], Vset[V], Vmeas[V]" | + | 380 OUTPUT @File;"No., Freq[Hz], Time[s], Vset[V], Vmeas[V]" |
390 FOR I=1 TO Fnop | 390 FOR I=1 TO Fnop | ||
400 Kfreq=(Fstop/Fstart)^(1/(Fnop-1)) | 400 Kfreq=(Fstop/Fstart)^(1/(Fnop-1)) |
2020년 9월 8일 (화) 09:13 판
1 ! volt-std/3245-01-ibw.txt 10 !2018/04/30 HP3245A Universal Source로 출력 + HP3458A DMM으로 측정 20 ! DC 전압: -10.25V ~ +10.25V, 6자리(24비트) 고해상도, 3.5자리(12비트) 저해상도 모드 30 ! 저해상도모드에서는 트리거 가능하다. 40 ! DC 전류: -0.1A ~ +0.1A, 0.1mA~100mA 범위, 0.1nA 해상도 50 ! AC 전압(p-p 전압이다.)/전류 1MHz까지, 펄스는 100kHz까지 60 ! duty cycle은 100kHz까지 5%~95% 70 ! Freq Ref = 1,073,741.824Hz 80 ! APPLY DCV | DCI 90 ! USE CHANA | CHANB = 0 | 100 100 ! TERM FRONT | REAR | OPEN = OFF 110 ! IMP 0 | 50 120 ! ARANGE ON | OFF autorange 130 ! RANGE 140 ! DELAY 0.04sec (default) 150 ! 160 ! xmin, xmax, nop 로그계산방법 170 ! k=(xmax/xmin)^(1/(nop-1)) 180 ! x=xmin*k^(n-1) n=1,...,nop 190 INTEGER I,J,Nop,Count 200 REAL K,Vmin,Vmax,Vset,Vmeas,Tmp 210 GOSUB Fileopen 220 ASSIGN @Source TO 710 !HP 3245A 230 ASSIGN @Dmm TO 722 !HP 3458A 240 ! OUTPUT @Source;"USE CHANB" 250 OUTPUT @Source;"IMP 0" ! 0ohm 50ohm 260 T0=TIMEDATE 270 Nop=101 280 Func$="Trans" ! V I i Trans 290 Scale$="LIN" ! LIN LOG 300 SELECT Func$ 310 CASE "Trans" !트랜스 전압비 320 Fstart=10 330 Fstop=100000 340 Fnop=201 350 Vstart=.1/2.828 ! 0.1Vp-p Vpp=2.828 Vrms 360 Vstop=10/2.828 !10Vp-p 370 Vnop=10 380 OUTPUT @File;"No., Freq[Hz], Time[s], Vset[V], Vmeas[V]" 390 FOR I=1 TO Fnop 400 Kfreq=(Fstop/Fstart)^(1/(Fnop-1)) 410 Freq=Fstart*Kfreq^(I-1) 420 OUTPUT @Source;"FREQ ";Freq 430 FOR J=1 TO Vnop 440 Count=I 450 SELECT Scale$ 460 CASE "LOG" 470 Kvolt=(Vstop/Vstart)^(1/(Vnop-1)) 480 Vset=Vstart*Kvolt^(J-1) 490 CASE "LIN" 500 Vset=Vstart+(Vstop-Vstart)/(Vnop-1)*(J-1) 510 END SELECT 520 OUTPUT @Source;"APPLY ACV ";Vset 530 WAIT .1 540 OUTPUT @Dmm;"TRIG SGL" 550 ENTER @Dmm;Vmeas 560 T=TIMEDATE-T0 570 DISP Count,"Freq=";Freq;"Set V=";Vset," Meas V=";Vmeas 580 OUTPUT @File;Count,T,Freq,Vset,Vmeas 590 NEXT J 600 NEXT I 610 OUTPUT @Source;"APPLY ACV 0" 620 CASE "V","v" !V출력, V측정 630 Vmin=5 ! 1uV 640 Vmax=10 !10V 650 OUTPUT @File;"No., Time[s], Vset[V], Vmeas[V]" 660 FOR I=1 TO Nop STEP 1 670 Count=I 680 SELECT Scale$ 690 CASE "LOG" 700 K=(Vmax/Vmin)^(1/(Nop-1)) 710 Vset=Vmin*K^(I-1) 720 CASE "LIN" 730 Vset=Vmin+(Vmax-Vmin)/(Nop-1)*(I-1) 740 END SELECT 750 OUTPUT @Source;"APPLY DCV ";Vset 760 WAIT .1 770 OUTPUT @Dmm;"TRIG SGL" 780 OUTPUT @Dmm;"TRIG SGL" 790 ENTER @Dmm;Vmeas 800 T=TIMEDATE-T0 810 Diff=(Vmeas-Vset)/Vset*100 820 DISP Count,"Set V=";Vset," Meas V=";Vmeas," Diff[%]=";Diff 830 OUTPUT @File;Count,T,Vset,Vmeas 840 NEXT I 850 OUTPUT @Source;"APPLY DCV 0" 860 CASE "I" 870 Imin=1.E-9 ! 1nA에서부터 880 Imax=.1 ! 100mA까지 890 OUTPUT @File;"No., Time[s], Iset[A], Imeas[A]" 900 FOR I=1 TO Nop 910 Count=I 920 K=(Imax/Imin)^(1/(Nop-1)) 930 Iset=Imin*K^(I-1) 940 OUTPUT @Source;"APPLY DCI ";Iset 950 WAIT .1 960 OUTPUT @Dmm;"TRIG SGL" 970 ENTER @Dmm;Imeas 980 T=TIMEDATE-T0 990 Diff=(Imeas-Iset)/Iset*100 1000 DISP Count,"Set I=";Iset," Meas I=";Imeas," Diff[%]=";Diff 1010 OUTPUT @File;Count,T,Iset,Imeas 1020 NEXT I 1030 OUTPUT @Source;"APPLY DCI 0" 1040 CASE "i" 1050 OUTPUT @File;"No., Time[s], HP3245A set[A], HP3458A meas[A]" 1060 Count=0 1070 FOR I=-10 TO -1 !0.1A까지만 가능 1080 OUTPUT @Source;"APPLY DCI 0" !그렇다고 0이 나오는 것은 아니다. 입력단자를 short시켜야 한다. 1090 IF I<=-8 THEN 1100 OUTPUT @Dmm;"FUNC DCI ";1.E-7 !범위 0.1uA시작 000.000nA 표시된다. 1110 ELSE 1120 OUTPUT @Dmm;"FUNC DCI ";10^(I+1) 1130 END IF 1140 ! 전루 측정 범위별로 MATH NULL 수행 1150 ! OUTPUT @Dmm;"TRIG SGL" 1160 ! ENTER @Dmm;Tmp 1170 ! OUTPUT @Dmm;"MATH NULL" 1180 ! OUTPUT @Dmm;"TRIG SGL" 1190 ! ENTER @Dmm;Tmp 1200 FOR J=1 TO 9 ! 10을 사용하면, 한 단계 더 높은 범위 1에서 수행되는 것과 겹쳐, NULL 의미에 문제가 된다. 1210 Count=Count+1 1220 Vset=J*10^I ! 최초 출력 전류는 1E-10A부터 시작 1230 IF Vset>.1 THEN STOP ! 전류출력 .1A 초과하면 이상 나오게 프로그래밍되면 정지시킨다. 1240 OUTPUT @Source;"APPLY DCI ";Vset 1250 WAIT .1 1260 OUTPUT @Dmm;"TRIG SGL" 1270 ENTER @Dmm;Vmeas 1280 T=TIMEDATE-T0 1290 DISP Count,"Set I=";Vset," Meas I=";Vmeas 1300 OUTPUT @File;Count,T,Vset,Vmeas 1310 NEXT J 1320 NEXT I 1330 OUTPUT @Source;"APPLY DCI 0" 1340 END SELECT 1350 OUTPUT @Dmm;"TRIG AUTO" 1360 STOP 1370 Fileopen: ! 1380 DIM Filename$[20],Dhms$[8] 1390 Time$=TIME$(TIMEDATE) 1400 Date$=DATE$(TIMEDATE) 1410 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] 1420 Filename$=Dhms$&".txt" 1430 CREATE Filename$,1 1440 ASSIGN @File TO Filename$;FORMAT ON 1450 RETURN 1460 END