def calibrate_torque(self): print 'Procedure for calibrating T2.R2 loadcells. See QA sheet' print 'Place load cell in unloaded configuration. Hit enter when ready' raw_input() self.step() adc_zero = float( self.get_sensor_list_avg(['adc_torque'], 1.0)['adc_torque']) print 'adc_zero', adc_zero print 'Number of calibration weights [2]?' nw = m3t.get_int(2) adc_act = [adc_zero] load_mNm = [0.0] for i in range(nw): print 'Place positive load ', i, '. Hit enter when ready' raw_input() self.step() adc_act.append( float( self.get_sensor_list_avg(['adc_torque'], 1.0)['adc_torque'])) print 'adc_act positive', adc_act[-1] print 'Enter load torque (in-lb)' w = m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) for i in range(nw): print 'Place negative load ', i, '. Hit enter when ready' raw_input() self.step() adc_act.append( float( self.get_sensor_list_avg(['adc_torque'], 1.0)['adc_torque'])) print 'adc_act positive', adc_act[-1] print 'Enter load torque (in-lb)' w = m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) print 'Raw', adc_act print 'Given', load_mNm poly, inv_poly = self.get_polyfit_to_data(adc_act, load_mNm, n=1) self.comp_rt.config['calib']['torque']['cb_torque'] = list(poly) self.comp_rt.config['calib']['torque']['cb_inv_torque'] = list( inv_poly) self.write_raw_calibration({ 'log_adc_torque': adc_act, 'log_load_mNm': load_mNm, 'cb_torque': poly, 'cb_inv_torque': inv_poly })
def run(self): print 'Starting DPM3 thread' start=time.time() while not self.done: self.line=self.ser.readline() try: #With XXXX.X resolution, divide by 10 self.load_mNm = m3u.inLb2mNm(float(self.line)/10.0) # read a '\n' terminated line except ValueError: print 'Bad DPM3 line: ',self.line self.load_mNm=0 print 'Exiting DPM3 thread'
def run(self): print 'Starting DPM3 thread' start = time.time() while not self.done: self.line = self.ser.readline() try: #With XXXX.X resolution, divide by 10 self.load_mNm = m3u.inLb2mNm( float(self.line) / 10.0) # read a '\n' terminated line except ValueError: print 'Bad DPM3 line: ', self.line self.load_mNm = 0 print 'Exiting DPM3 thread'
def calibrate_torque(self): print "Procedure for calibrating T2.R2 loadcells. See QA sheet" print "Place load cell in unloaded configuration. Hit enter when ready" raw_input() self.step() adc_zero = float(self.get_sensor_list_avg(["adc_torque"], 1.0)["adc_torque"]) print "adc_zero", adc_zero print "Number of calibration weights [2]?" nw = m3t.get_int(2) adc_act = [adc_zero] load_mNm = [0.0] for i in range(nw): print "Place positive load ", i, ". Hit enter when ready" raw_input() self.step() adc_act.append(float(self.get_sensor_list_avg(["adc_torque"], 1.0)["adc_torque"])) print "adc_act positive", adc_act[-1] print "Enter load torque (in-lb)" w = m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) for i in range(nw): print "Place negative load ", i, ". Hit enter when ready" raw_input() self.step() adc_act.append(float(self.get_sensor_list_avg(["adc_torque"], 1.0)["adc_torque"])) print "adc_act positive", adc_act[-1] print "Enter load torque (in-lb)" w = m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) print "Raw", adc_act print "Given", load_mNm poly, inv_poly = self.get_polyfit_to_data(adc_act, load_mNm, n=1) self.comp_rt.config["calib"]["torque"]["cb_torque"] = list(poly) self.comp_rt.config["calib"]["torque"]["cb_inv_torque"] = list(inv_poly) self.write_raw_calibration( {"log_adc_torque": adc_act, "log_load_mNm": load_mNm, "cb_torque": poly, "cb_inv_torque": inv_poly} )
def calibrate_torque(self): print 'Procedure for calibrating T2.R3 loadcells. See QA sheet' print 'Place load cell in unloaded configuration. Hit enter when ready' raw_input() self.step() adc_zero=float(self.get_sensor_list_avg(['adc_torque'],1.0)['adc_torque']) print 'adc_zero',adc_zero print 'Number of calibration weights [2]?' nw=m3t.get_int(2) adc_act=[adc_zero] load_mNm=[0.0] for i in range(nw): print 'Place positive load ',i,'. Hit enter when ready' raw_input() self.step() adc_act.append(float(self.get_sensor_list_avg(['adc_torque'],1.0)['adc_torque'])) print 'adc_act positive',adc_act[-1] print 'Enter load torque (in-lb)' w=m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) for i in range(nw): print 'Place negative load ',i,'. Hit enter when ready' raw_input() self.step() adc_act.append(float(self.get_sensor_list_avg(['adc_torque'],1.0)['adc_torque'])) print 'adc_act positive',adc_act[-1] print 'Enter load torque (in-lb)' w=m3u.inLb2mNm(m3t.get_float()) load_mNm.append(w) print 'Raw',adc_act print 'Given',load_mNm poly,inv_poly=self.get_polyfit_to_data(adc_act,load_mNm,n=1) self.comp_rt.config['calib']['torque']['cb_torque']=list(poly) self.comp_rt.config['calib']['torque']['cb_inv_torque']=list(inv_poly) self.write_raw_calibration({'log_adc_torque':adc_act,'log_load_mNm':load_mNm, 'cb_torque':poly,'cb_inv_torque':inv_poly})