Ejemplo n.º 1
0
def Test(slopeList, acquizDelay=0.1, acquizTime=6):
    Stopwatch = MainTimerClass()
    Stopwatch.Activate()

    Line = GeneratorLine()
    Line.Activate()

    # dont forget to activate the instruments before opening the output file:
    Data = OutputHandler()
    Data.setDataFileName()

    for slope in slopeList:
        intercept = slope / 10.0
        Data.analysis.mark_from()
        #begin DATA ACQUISITION script here:
        print 'starteing data generation. Slope>', slope, 'intercept:', intercept
        Stopwatch.zeroTimer()
        while Stopwatch.getSinceLastZeroed() < 1.2:
            Stopwatch.Wait(0.1)
            Stopwatch.Measure()
            Line.Measure(slope, intercept)
            Data.acquireData()
        print 'data gen finished, starting analysis'
        Data.analysis.mark_to()
        print 'analysing data in range', Data.analysis.get_markers()
        print 'average:', Data.analysis.average_marked("U(V)")
        print 'average last 10 points:', Data.analysis.average_last('U(V)', 10)
        print 'linear regression:', Data.analysis.linear_regres_marked(
            "time(s)", "U(V)")
Ejemplo n.º 2
0
from instruments.Keithley import SM2602_channel
# file-output libraries
from Output.Output import OutputHandler

# define and ACTIVATE the instruments
Stopwatch = MainTimerClass()
Stopwatch.Activate()

Channel = SM2602_channel('dualSmeter', channel='a', NPLC=10)
Channel.Activate()

Gate = SM2602_channel('dualSmeter', channel='b', NPLC=10)
Gate.Activate()

# don`t forget to activate the instruments before opening the output file:
Data = OutputHandler()
Data.setDataFileName()

import time


def report(message, file='report.info'):
    date = time.asctime(time.localtime())
    message = ('%(date)s: %(message)s \n' % \
            {'date':date, 'message':message})
    print message,
    f = open(file, 'a')
    f.write(message)
    f.close()

Ejemplo n.º 3
0
# project libraries imports:
# instruments:
from instruments.DummyMeter import GeneratorLine
from instruments.TimeMeter import MainTimerClass
# file-output libraries
from Output.Output import OutputHandler

# define and ACTIVATE the instruments
Stopwatch = MainTimerClass()
Stopwatch.Activate()

Line = GeneratorLine()
Line.Activate()

# dont forget to activate the instruments before opening the output file:
Data = OutputHandler()
Data.setDataFileName('test-01.dat')

Data.analysis.mark_from()
#begin DATA ACQUISITION script here:
Stopwatch.zeroTimer()
while Stopwatch.getSinceLastZeroed() < 5:
    Stopwatch.Wait(0.1)
    Stopwatch.Measure()
    Line.Measure()
    Data.acquireData()
#end

Data.analysis.mark_to()
#print Data.analysis.average_marked("U(V)")
print Data.analysis.linear_regres_marked("time(s)", "U(V)")
Ejemplo n.º 4
0
from instruments.Keithley import Electrometer617
from instruments.PID import PIDHeater
from instruments.Agilent import A34401_4ohm

# file-output libraries
from Output.Output import OutputHandler

# define and ACTIVATE the instruments
Stopwatch = MainTimerClass()
Stopwatch.Activate()
PeltierP = PIDHeater()  # temperature regulation
PeltierP.Activate()
Platinum = A34401_4ohm('FastMultimeter')
Platinum.Activate()
# don`t forget to activate the instruments before opening the output file:
Data = OutputHandler()
Data.setDataFileName()

PeltierP.set_PID_params(Kp=Gain, Ti=Tinteg, Td=Tderiv, looptime=LoopTime)
PeltierP.startRegulation()

for temperature in temperatures:
    PeltierP.setNew_setpoint(value=temperature,
                             tolerance=Tolerance,
                             evalPeriod=Evaluation)
    Stopwatch.zeroTimer()
    while Stopwatch.getSinceLastZeroed(
    ) < stabilizationTime:  # observe the temperature variables for about 5 min, wait for the Temp to stabilize
        Stopwatch.Wait(0.1)
        Stopwatch.Measure()
        Platinum.Measure()