Modification du programme de mesure des température, ajout de commantaires

Tim
This commit is contained in:
Tim 2019-12-08 18:49:11 +01:00
parent ee20964f39
commit 6dd5e098fe

View File

@ -1,59 +1,64 @@
//Liste des defines /* THUREL TIM
#define res_mesure 219 Programme de test pour 8 thermistance
#define v_alim 5070 Liste des defines */
#define beta 3650 #define res_mesure 220 // valeur de la résistance de mesure de courant
#define r_therm 470 #define v_alim 5000 // Tention d'alim en mV
#define beta 4050 // Beta de la thermistance
#define r_therm 470 // valeur de la thermistance a 25°C
float VR[8] = {0}; float VR[8] = {0}; // Tableau des tention des thermistances
float R[8] = {0}; float R[8] = {0}; // Tableau des résistance des thermistances
float T[8] = {0}; float T[8] = {0}; // Tableau des température des thermistances
int analogPin[8] = {A0,A1,A2,A3,A4,A5,A6,A7}; int analogPin[8] = {A0,A1,A2,A3,A4,A5,A6,A7}; // Pin analog des points de mesure
float Vi; float Vi; //Tention de la résistance de mesure
float i; // courant du pont
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600); // Port série a 9600 bauts
} }
void loop() { void loop() {
float i = mesureI(A0); i = mesureI(A0); // mesure du courant
Vi = mesureV(A0); Vi = mesureV(A0); // mesure de ka tention du la résistance de masure
afficheT(); Serial.println(Vi); // envoie du courant dans le terminal serie
delay(500); afficheT(); // affiche les température
delay(500); // attend 500 ms
} }
void afficheT(){ void afficheT(){ // Procedure qui affiche la température
for (int i = 0; i < 8; ++i) temp(); // mesure de la température
for (int j = 0; j < 8; ++j) // Affiche les température
{ {
Serial.print("T"); Serial.print("T");
Serial.print(i+1); Serial.print(j+1);
Serial.print(" = "); Serial.print(" = ");
Serial.print(T[i]); Serial.print(T[j]);
Serial.println(" degre"); Serial.print(" C ");
} }
Serial.println(""); Serial.println(""); // fait un retour à la ligne
} }
void volt(){ void volt(){ // mesure la tention des thermistances
for (int i = 1; i < 7; ++i) for (int j = 1; j < 7; ++j) // fait la mesure de la résistance 1 à 6
{ {
VR[i] = mesureV(analogPin[i+1]) - mesureV(analogPin[i]) ; VR[j] = mesureV(analogPin[j+1]) - mesureV(analogPin[j]) ;
} }
VR[0] = mesureV(A1) - Vi; VR[0] = mesureV(A1) - Vi; // fait la mesure de la résistance 0
VR[7] = v_alim - mesureV(A7) ; VR[7] = v_alim - mesureV(A7) ; // fait la mesure de la résistance 7
} }
void res(){ void res(){ // calcul la valeur de la resistance
volt(); volt(); // mesure de la tention des thermistances
for (int i = 0; i < 8; ++i) for (int j = 0; j < 8; ++j) // fait une loi d'Ohm pour calculer les 8 valeur des résistance
{ {
R[i] = VR[i] / i; R[j] = VR[j] / i;
} }
} }
void temp(){ void temp(){ // calcul de la température
res(); res();
for (int i = 0; i < 8; ++i) for (int j = 0; j < 8; ++j) // utilise la formule de calcul pour calculer les 8 valeur de températures
{ {
T[i] = ((298.15*beta)/(beta+298.15*log(R[i]/r_therm)))- 273.15; T[j] = ((298.15*beta)/(beta+298.15*log(R[j]/r_therm)))- 273.15;
} }
} }