Correction d'une erreur de calcul sur la température et ajout de directives préprocesseur
This commit is contained in:
parent
e186bf16d1
commit
688b912539
@ -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()
|
||||||
@ -91,6 +89,10 @@ double *MeasureUnit::getTemperatures()
|
|||||||
Serial.print("Debug voltage delta : ");Serial.println(_resistanceMap[i]);
|
Serial.print("Debug voltage delta : ");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] -= 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++)
|
||||||
{
|
{
|
||||||
@ -165,14 +167,16 @@ void MeasureUnit::startTemperatureMeasurement()
|
|||||||
break;
|
break;
|
||||||
case MEASURING:
|
case MEASURING:
|
||||||
_adc.startSample(_channel);
|
_adc.startSample(_channel);
|
||||||
|
|
||||||
if(_channel == 0) //Calcule du courant
|
if(_channel == 0) //Calcule du courant
|
||||||
{
|
{
|
||||||
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,9 +206,15 @@ 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++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user