Exemplo 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)")
Exemplo n.º 2
0
# 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)")
Exemplo n.º 3
0
# 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()
        PeltierP.Measure()
        Data.acquireData()
    Data.separateData()
Exemplo n.º 4
0
Wire.set_volts(wireVoltage)  # apply the voltage 1 mV to the wire
Wire.set_output_on()
while True:  # break detecton loop, not recorded
    Stopwatch.Wait(0.02)
    #Stopwatch.Measure()
    #Wire.Measure()
    #Data.acquireData()
    #actualCurrent = Data.analysis.average_last(key="aCurrent(A)",number=1)
    actualCurrent = Wire.get_amperes()
    report('PIEZO=%.3fV; wire: I=%e A' % (piezoVoltage, actualCurrent))
    if (actualCurrent < thresholdCurrent):
        report('the wire break detected, proceeding with piezo retraction')
        Wire.beep()
        junctionBroken = True
        break  # finish the measurement if the wire broke
    if Stopwatch.getSinceLastZeroed() > timeout:
        junctionBroken = False
        report(
            'the timeout elapsed. no wire break detected. Stopping the experiment'
        )
        break  # finish the measurement anyway if the timeout elapsed

if junctionBroken:
    #Data.separateData()
    shift = 0
    while not (piezoVoltage <= 0):
        piezoVoltage = piezoVoltage - (shift / 500.0)
        if piezoVoltage < 0.0:
            break
        Piezo.set_volts(piezoVoltage)
        shift = shift + 1