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), _state(IDLING),
_channel(0), _channel(0),
_courant(0.0), _courant(0.0),
_tension(0.0),
_triggerLevelOff(false) _triggerLevelOff(false)
{ {
//Allocation dynamique des différent tableaux //Allocation dynamique des différent tableaux
@ -33,9 +34,6 @@ _triggerLevelOff(false)
_rOffsetMap = NULL; _rOffsetMap = NULL;
_resistanceMap = NULL; _resistanceMap = NULL;
} }
//We start the comm with the adcs
_adc.begin();
} }
MeasureUnit::~MeasureUnit() MeasureUnit::~MeasureUnit()
@ -92,6 +90,10 @@ double *MeasureUnit::getTemperatures()
#endif #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++) for(int i(0); i < _thermistorCount; i++)
{ {
//3) Nous en déduisons la résistance //3) Nous en déduisons la résistance
@ -170,9 +172,11 @@ void MeasureUnit::startTemperatureMeasurement()
{ {
if(_adc.isSampleReady()) if(_adc.isSampleReady())
{ {
double tension = _adc.getSampleVoltage(); _tension = _adc.getSampleVoltage();
_courant = tension / (double) _precResistor; _courant = _tension / (double) _precResistor;
//Serial.println(tension); #ifdef DEBUG
Serial.print("Tension prec : ");Serial.println(_tension);
#endif
_channel++; _channel++;
} }
} }
@ -181,8 +185,10 @@ void MeasureUnit::startTemperatureMeasurement()
if(_adc.isSampleReady()) if(_adc.isSampleReady())
{ {
_resistanceMap[_channel-1] = _adc.getSampleVoltage(); _resistanceMap[_channel-1] = _adc.getSampleVoltage();
//Serial.println(_resistanceMap[_channel-1]); #ifdef DEBUG
_channel++; Serial.print("Tension thermistances : ");Serial.println(_resistanceMap[_channel-1]);
#endif
_channel++;
} }
} }
@ -200,10 +206,16 @@ void MeasureUnit::startTemperatureMeasurement()
//Calcule de delta : //Calcule de delta :
_resistanceMap[i] -= _resistanceMap[i-1]; _resistanceMap[i] -= _resistanceMap[i-1];
#ifdef DEBUG #ifdef DEBUG
Serial.print("Debug voltage delta : ");Serial.println(_resistanceMap[i]); Serial.printf("Debug voltage delta : %u -> ",i);Serial.println(_resistanceMap[i]);
#endif #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++) for(int i(0); i < _thermistorCount; i++)
{ {
//3) Nous en déduisons la résistance //3) Nous en déduisons la résistance