adr = Adr(app) from DAQ.AiSpectrumAnalyzerRemote import AiSpectrumAnalyzerRemote sa = AiSpectrumAnalyzerRemote('test') sa.setSampleRate(2E6) sa.setMaxCount(300) sa.setRefreshTime(0.1) for baseTindex, baseT in enumerate(baseTs): print('Ramping to %fK' % baseT) rampRate = min(10, max(0.3, 1E3 * abs(adr.T - baseT) / 1.5)) print('Ramp rate:', rampRate) adr.setRampRate(rampRate) adr.rampTo(baseT) adr.stabilizeTemperature(baseT) print('Temperature stabilized. Waiting...') wait(45) g = hdfFile.require_group('BaseT%05d' % baseTindex) g.attrs['Tbase'] = baseT for CfbIndex, Cfb in enumerate(Cfbs): subG = g.require_group('Cfb%03d' % CfbIndex) subG.attrs['Cfb'] = Cfb print('Setting SQUID FB: %.1f nF' % (Cfb * 1E9)) squid.setFeedbackC(Cfb) wait(2) print('Zeroing SQUID...', ) V = tuneStage1OutputToZero(squid, aiChannel) subG.attrs['squidZero'] = V print('Done: V=%f V' % V)
#Vcoils = np.asarray([-1.0, -0.9, -0.8, -0.7, -0.6, -0.5]) Vstep = 0.05 Vcoils = np.arange(3.35, 4.+Vstep, Vstep) rampRateDown = -0.5 # Slow rampRateUp = +4.0 # Fast app = QCoreApplication([]) adr = Adr(app) ivRemote = IvCurveDaqRemote.IvCurveDaqRemote('TesIvVsTramp_Bstep') print(ivRemote.auxAoVoltage()) for Vcoil in Vcoils: print('Now going for Vcoil=', Vcoil) adr.setRampRate(rampRateUp) adr.rampTo(Thigh) print('Ramping up...') adr.stabilizeTemperature(Thigh) print('Stable.') time.sleep(30) adr.setRampRate(rampRateDown) ivRemote.setAuxAoVoltage(Vcoil) print('Starting measurement.') ivRemote.start() time.sleep(30) print('Ramping down.') adr.rampTo(Tlow) adr.stabilizeTemperature(Tlow, timeOut=60*60) print('Stopping measurement') ivRemote.stop() time.sleep(30) adr.setRampRate(rampRateUp)
print('Tbase=%.4f K' % Tbase, 'Vbias=%.4f V' % Vbias, 'Vcoil=%.4f V' % Vcoil) coil.rampBias(Vcoil) # Switch PFL to low gain squid.setFeedbackR(10E3) squid.setFeedbackC(15E-9) squid.resetPfl() rampRate = min(5, max(0.2, 1E3 * abs(adr.T - Tbase) / 1.5)) print('Ramp rate:', rampRate) adr.setRampRate(rampRate) adr.rampTo(Tbase) adr.stabilizeTemperature(Tbase) if Tbase != oldT: wait(45) oldT = Tbase ## Take a few IV sweeps at that temperature ivRemote.start() print('Recording IV curve', end='') wait(10) while True: wait(1) print('.', end='') if ivRemote.sweepCount() >= 3: print('Enough sweeps.') break ivRemote.stop()
#Vcoils = Vcoils[::-1] #Vcoils = np.hstack([Vcoils, Vcoils[::-1]]) print('Coil range:', np.min(Vcoils), np.max(Vcoils)) print('Number of points:', len(Vcoils)) Ts = np.asarray( [0.070, 0.0725, 0.075, 0.076, 0.077, 0.078, 0.079, 0.080, 0.081, 0.082]) Ts = np.asarray([0.076, 0.078, 0.080, 0.082, 0.083]) #Ts = np.asarray([0.075]) Ts = np.asarray([0.0835, 0.084, 0.0845]) for T in Ts: print('Ramping to ', T) adr.rampTo(T) ivRemote.setAuxAoVoltage(Vcoils[0]) adr.stabilizeTemperature(T) time.sleep(60) time.sleep(0.5) ivRemote.start() while ivRemote.sweepCount() > 2: time.sleep(0.5) for Vcoil in Vcoils: print('Vcoil=%.3f V' % Vcoil) ivRemote.setAuxAoVoltage(Vcoil) time.sleep(0.1) count = ivRemote.sweepCount() # Wait for another sweep to be collected while True: time.sleep(0.5)