Example #1
0
 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})