Correction d'une erreur de calcul sur la température et ajout de directives préprocesseur

This commit is contained in:
anschrammh 2020-01-15 19:05:15 +01:00
parent e186bf16d1
commit 688b912539

View File

@ -15,6 +15,7 @@ _error(OK),
_state(IDLING),
_channel(0),
_courant(0.0),
_tension(0.0),
_triggerLevelOff(false)
{
//Allocation dynamique des différent tableaux
@ -33,9 +34,6 @@ _triggerLevelOff(false)
_rOffsetMap = NULL;
_resistanceMap = NULL;
}
//We start the comm with the adcs
_adc.begin();
}
MeasureUnit::~MeasureUnit()
@ -91,6 +89,10 @@ double *MeasureUnit::getTemperatures()
Serial.print("Debug voltage delta : ");Serial.println(_resistanceMap[i]);
#endif
}
//Ne pas oublier de déduire la chute de tension de la resistance de precision pour la première thermistance
_resistanceMap[0] -= rPrecTension;
Serial.printf("Debug voltage delta : 0 -> ");Serial.println(_resistanceMap[0]);
for(int i(0); i < _thermistorCount; i++)
{
@ -165,14 +167,16 @@ void MeasureUnit::startTemperatureMeasurement()
break;
case MEASURING:
_adc.startSample(_channel);
if(_channel == 0) //Calcule du courant
{
if(_adc.isSampleReady())
{
double tension = _adc.getSampleVoltage();
_courant = tension / (double) _precResistor;
//Serial.println(tension);
_tension = _adc.getSampleVoltage();
_courant = _tension / (double) _precResistor;
#ifdef DEBUG
Serial.print("Tension prec : ");Serial.println(_tension);
#endif
_channel++;
}
}
@ -181,8 +185,10 @@ void MeasureUnit::startTemperatureMeasurement()
if(_adc.isSampleReady())
{
_resistanceMap[_channel-1] = _adc.getSampleVoltage();
//Serial.println(_resistanceMap[_channel-1]);
_channel++;
#ifdef DEBUG
Serial.print("Tension thermistances : ");Serial.println(_resistanceMap[_channel-1]);
#endif
_channel++;
}
}
@ -200,9 +206,15 @@ void MeasureUnit::startTemperatureMeasurement()
//Calcule de delta :
_resistanceMap[i] -= _resistanceMap[i-1];
#ifdef DEBUG
Serial.print("Debug voltage delta : ");Serial.println(_resistanceMap[i]);
Serial.printf("Debug voltage delta : %u -> ",i);Serial.println(_resistanceMap[i]);
#endif
}
//Ne pas oublier de déduire la chute de tension de la resistance de precision pour la première thermistance
_resistanceMap[0] -= _tension;
#ifdef DEBUG
Serial.printf("Debug voltage delta : 0 -> ");Serial.println(_resistanceMap[0]);
#endif
for(int i(0); i < _thermistorCount; i++)
{