Akım Trafosu ile 220V Akım Ölçümü

Başlatan Proteus, 28 Kasım 2020, 21:59:23

Proteus

#30
Kolay gelsin herkese,

Sinyal jeneratörümden 1.65VDC offsett ekleyerim 1V RMS sinüs veriyorum, görmem gereken değerlerin aralığı min:0,65V - max:2,65V olması gerekiyor ADC'de ama sapmalar  var min 0,2V ,max : 2,9 olarak görüyorum bunun sebebi tam olarak nedir ?



void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  		
 	

if (htim==&htim2){  //200uS TIMER INT
		
  HAL_ADC_Start(&hadc2); //ADC START
		
     if (HAL_ADC_PollForConversion(&hadc2,5)==HAL_OK)	 	 
	 
			
         for( count = 0 ; count < 100 ; count++ ) {  //200uS * 100 SAMPLE =20mS 1 period
				 
           adc_raw_data[count] = HAL_ADC_GetValue(&hadc2);  //STORE ADC DATAS
}	
				 
}			 
									 

	
if (htim==&htim3){ //100mS TIMER INT 
	
	  for( count = 0 ; count < 100 ; count++ ){
				 
	       rawrms += adc_raw_data[count] * adc_raw_data[count]; //RMS CALC
}						   

  HAL_ADC_Start(&hadc1);
	if (HAL_ADC_PollForConversion(&hadc1,5)==HAL_OK)	
		
{ 
                 vref =  HAL_ADC_GetValue(&hadc1);	 //VREF CAL	
		 rms = sqrt(rawrms / count); //RMS CALC
		 rawrms = 0;
		 vdda = 3.3000 * (*VREFIN_CAL) / vref;
		 vadc = (vdda*rms/4095); //ADC VOLT
}
             

	}
						   
   HAL_ADC_Stop(&hadc2);	
	 HAL_ADC_Stop(&hadc1);		
	         
}

zipzip

1v rms sinüsoidal gerilimin tepe değerei 1.414 volt eder. Tepeden tepeye 2.828 volt eder. Pozitif alternanstaki kırpılma nedeniyle 2.7 volt ölçmüşsünüz.

Proteus

Alıntı yapılan: zipzip - 25 Mayıs 2021, 13:02:261v rms sinüsoidal gerilimin tepe değerei 1.414 volt eder. Tepeden tepeye 2.828 volt eder. Pozitif alternanstaki kırpılma nedeniyle 2.7 volt ölçmüşsünüz.

RMS hesaplaması yapıyorum ama kodumda