def calcCoeffTransf(I): # Исходная зашумленная зависимость #multer = Splitter # с делителя на АЦП multer = 1 # если напрямую с датчик Холла U = I * Kiu + dU co.printW( 'Udac : ' + str( U )+'\n') Udig_f = toDigitalFull( U, multer, toDigital ) Udig = int( Udig_f ) # Рассчитываем шум - смещение по Y Udig_noise_f = toDigitalFull( dU, multer, toDigital ) # Очищенное значение - без шума Udig_corr = int(Udig_f - Udig_noise_f) # суммируются перед оцифровкой # коэффициент перевода. Это чистое значение тока - для рассчетов и отображения # Warning : немного расходится с прошитым, но прошитый откалиброван, поэтому # наверное пусть как есть Ktrans = I/Udig_corr # A/ue # переводим в плавающую точку print 'capacity : ' + str( capacity ) co.printN( 'Udig_src, ue : ' ) co.printE( tc.byte4strhex( Udig )+'\n') print 'Udig_cor, ue : ' + tc.byte4strhex( Udig_corr )
def testCurrADCZeroXZ0( self ): # Constants and coeff. R1 = 5.11 R2 = 10.0 Splitter = R2/(R1+R2) Vmax = 5000.0 #mV capacity = 10 Kiu = 188.0 # mV/A dI = 0.0 # A I = 10 # A # проверяем self._valueDict[ 'value' ] = I self._valueDict['displacement'] = dI self._valueDict['converter' ] = Kiu self._valueDict['scale'] = Splitter self._valueDict['capacity'] = capacity self._valueDict['Vmax'] = Vmax code, Kda = adda.modelADC( self._valueDict, printRpt, adda.calcZeroDisplacmentX ) # Проверка кода числ self.assertEqual( tc.byte4strhex( code ), '0x00FE' )