Sensore corrente ACS758, RMS vs PP

Sto usando da giorni un sensore come da oggetto per controllare l’assorbimento di un carico resistivo ed avrei alcuni dubbi da chiarire.
Questo lo sketch:

const int sensorIn = A0;
int mVperAmp = 20;  // sensibilita mV/A x alimentazione sensore
/*SENSIBILITA' mV/A
40.0, ACS758LCB-050B
60.0, ACS758LCB-050U
20.0, ACS758LCB-100B
40.0, ACS758LCB-100U
13.3, ACS758KCB-150B
16.7, ACS758KCB-150U
10.0, ACS758ECB-200B
20.0; for ACS758ECB-200U 
*/
double Voltage = 0;
double VRMS = 0;
double AmpsRMS = 0;
double Valim = 3.3;

void setup(){ 
	Serial.begin(9600);
}

void loop(){
	Voltage = getVPP();
VRMS = (Voltage/2.0) *0.707; 
	//VRMS = (Voltage/2.0);
	AmpsRMS = ((VRMS * 1000)/mVperAmp)-0.088;// -0,085 = offset per azzeramento lettura a corrente 0
	if(AmpsRMS <= 0.09){
		AmpsRMS = 0;  
	}
	Serial.print(AmpsRMS);
	Serial.println(" Amps RMS");
}

float getVPP(){
	float result;
	int readValue;//valore letto dal sensore
	int maxValue = 0;
	int minValue = 1024;
	uint32_t start_time = millis();
	while((millis()-start_time) < 1000){ //acquisizione campioni per 1 sec.
		readValue = analogRead(sensorIn);
		// controllo se c'è un valore massimo diverso   
		if (readValue > maxValue){ 
		maxValue = readValue;	//salvo il nuovo valore massimo
		}
		if (readValue < minValue){
			minValue = readValue;	//salvo in nuovo valore minimo
		}
	}
	result = ((maxValue - minValue) * Valim)/1024.0; // Sottraggo il val minimo da val massimo  
	return result;	
}

Premetto che questo sketch gira bene e che gira non su Arduino ma su un ESP8266. Il mio dubbio è sui valori restituiti.

Il succo del problema è in queste due righe:
VRMS = (Voltage/2.0) *0.707;
//VRMS = (Voltage/2.0);// l’ho aggiunta io per test

lasciando decommentata la prima riga, la visualizzazione del valore è più bassa rispetto a quella rilevata con una pinza amperometrica trueRMS. Se inverto il commento quindi abilito la seconda riga il valori tra pinza e sensore corrispondono perfettamente.
Perché si divide per due il valore analogico in uscita dalla scheda?
E soprattutto perché la lettura della pinza amperometrica trueRMS (valore efficace) non corrisponde come dovrebbe con la prima riga, quella originaria?

NB: double Valim = 3.3; // è a 3.3V perchè la scheda è alimentata a 3.3v e quindi l’uscita analogica arriva al massimo a questa tensione