programme pour faire monter la température en rampe

Bonjour à tous en espérant que vous allez bien Je suis nouvelle ici et j’ai vraiment besoin de votre aide s’il vous plait
J’aimerais faire un programme qui fait varier la température en rampe Pour cela j’utilise :

  • 2 thermocouples K et la bibliothèque de lecture des thermocouples MAX6675
  • La carte Arduino MEGA 2750 et un contact dont la bobine est excitée par le courant de la carte Arduino. Ce contact fait donc passer un courant beaucoup plus fort à une résistance chauffante qui fait varier la température.
  • Voici le programme que j’ai écrit et je me demande comment le modifier pour que la température monte en rampe et se stabilise à 320 dégré.Merci

#include"max6675.h" // on appelle la bibliothèque d’amplification des thermocouples
//on associe les broches du thermocouple four au differents pins de la carte Arduino
int ktcSO=8;//Broche de sortie qu transporte chaque bit
int ktcCS=9;//Broche d’entrée qui indique à lla carte Arduino qu’il est temps pour le thermocouple de lire et d’envoyer les données
int ktcCLK=10;//Broche qui indique quand un nouveau bit de donnée est entré

//On fait de meme pour le thermocouple du creuset
int ktcaSO=11;
int ktcaCS=12;
int ktcaCLK=13;

//On associe les broches à leur thermocouple respectis

Max6675 ktc(ktcSO,ktcCS,ktcCLK);
MAX6675 ktca(ktcaSO,ktcaCS,ktcaCLK);

void setup() {
// On débute la connexion
Serial.begin(9600);
pinMode(7,OUTPUT);//On définit la broche 7 Pour transmettre l’information au système
delay(50);

Serial.println(“CLEARSHEET”);//On efface le tableau Excel
Serial.println(“LABEL,Temp Four, Temp creuset,Timer”);//On definit les 2 colones du tableau Temp Four et Temp creuset

}

void loop() {
// put your main code here, to run repeatedly:
exxcel();
four();
void excel(){
Serial.println((String)“DATA,”+ktc.readCelsius()+","+ktca.readCelsius()+","+“TIMER”);
//On ajoute dans chaque colonne la température des thermocouples; ktc.readCelsius lit la température
delay(2000);//on effectue cette opération toutes les 2 secondes

void four (){

//Si la température du fourest inf"rieur à 320(changeable);on place la sortie à l’état BAS ;ce quipermet d’éteindre le collier
if(ktc.readCelsius()<=320){
digitalWrite(7,HIGH);
delay(10);//on vérifie la température toutes les 10ms
}
//Si la température du fourest supérieure à 320(changeable);on place la sortie à l’état BAS ;ce quipermet d’éteindre le collier
if(ktc.readCelsius()>=320){
digitalWrite(7,LOW);
delay(10);//on vérifie la température toutes les 10ms

}

température en rampe.pdf (168 KB)

C'est typiquement un problème de régulation, tu peux utiliser un PID : il y a des bibliothèques pour gérer ça sur Arduino. Si tu Google 'pid arduino temperature' tu trouveras plein d'exemple.

Merci infiniment; je continu mes recherches là dessus et je vous reviens pour vous donner un feed back.

Bonjour à tous après 48 H de recherches :-[ , le problème persiste. j’ai essayé d’écrire un ensemble de conditions non arduino et j’aimerai bien les traduire en ligne de code que je mettrai dans Void Loop
SVP POURRIEZ- VOUS M’AIDER?MERCI PAR AVANCE…

Void Loop
sachant que temp= temperature qui varie avec le temps

i= variable que l’on modifie manuellement pour faire varier la température

à t=0; temp= température détectée par le thermocouple

si temp<=i ;
alors la broche 7 laisse passer le courant (7;HIGH);

lorsque temps>=i+1;
alors la broche 7 ne laisse plus passer le courant (7;LOW);
on attend ainsi jusqu’à ce que la temp =i+0.5

ON RECOMMENCE LE CYCLE JUSQU’A CE QUE Temp=320 dégré celsius et là la température reste constante

Ainsi on aura comme résultat final:
temp=30 (si c’est la température donnée par le thermocouple au départ)
temp=31
temp=30,5
temp=31,5
temp=31
temp=32
temp=31,5 …jusqu’à ce que temp=320 STABILISATION

température en rampe.pdf (168 KB)