Esempio n. 1
0
	def testDAC( self ):
		# Constants and coeff.
		R1 = 5.11		# Om
		R2 = 10.0		# Om
		Splitter = R2/(R1+R2)
		Vmax = 5000.0 	# mV
		capacity = 10	# bits
		Kiu = 188.0		# mV/A
		Udig = 322		# V ue
		
		# проверяем
		self._valueDict[ 'value' ] = 0
		self._valueDict['displacement'] = 500
		self._valueDict['converter' ] = Kiu
		self._valueDict['scale'] = Splitter
		self._valueDict['capacity'] = capacity
		self._valueDict['Vmax'] = Vmax 
		
		# сперва получаем поправочный код
		code, Kda = adda.modelADC( self._valueDict, printRpt, adda.calcZeroDisplacmentY )
		
		# Запускаем
		self._valueDict[ 'value' ] = Udig-code
		self._valueDict['displacement'] = None
		analog = adda.modelDAC( self._valueDict, printRpt )
		
		# проверка значения! float трудно сравнить, пока округляем
		self.assertEqual( int( analog ), 10 )
Esempio n. 2
0
	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' )
Esempio n. 3
0
	def testADC( self ):
		self._valueDict[ 'value' ] = 2.5
		self._valueDict['displacement'] = 0
		self._valueDict['converter' ] = 1
		self._valueDict['scale'] = 1
		self._valueDict['capacity'] = 8
		self._valueDict['Vmax'] = 5.0	# V
		code, Kda = adda.modelADC( self._valueDict, printRpt, adda.calcZeroDisplacmentY )
		
		# Проерка цифрового кода 8 бит!!, но разрядность может быть и больше0
		self.assertEqual( tc.byte2strhex( code ), '0x80' )