Bonjour tout le monde !
Voilà je vous expose le projet que je réalise ainsi que mes problèmes.
Alors mon projet est de capter et réguler la température d'un élément chauffant (ici une résistance de chauffage). J'utilise une carte Arduino UNO, une petite plaque d'expérimentation, un petit capteur de température LM35, un mosfet IRFP 150 (c'est lui qui va servir de switch pour la régulation) et bien entendu, l'élément chauffant : une résistance de chauffage.
Voilà je bloque pour la suite, je ne sais pas ce que je dois câbler à la résistance de chauffage. Pour la partie programme, j'ai vu sur le net que ce n'étais pas très compliqué mais la je flanche
Merci de la réponse rapide. Le mieux serait que l'élément chauffant soit directement alimenté par la carte Arduino. Je n'ai pas besoin qu'elle chauffe beaucoup, juste dans les 40°C.
breav:
Merci de la réponse rapide. Le mieux serait que l'élément chauffant soit directement alimenté par la carte Arduino. Je n'ai pas besoin qu'elle chauffe beaucoup, juste dans les 40°C.
40C avec du 5v et quelques 200mA?
bon courage alors
le mieux est d'alimenter avec une autre source et utiliser un mofset pour le pwm.
mais tu veux chauffer quoi?
breav:
Rien. Mon projet est juste de pouvoir capter et réguler la température.
ok, mais la température de quoi?
si c'st pour une pièce, c'est pas la même chose que pour une couveuse ou un chauffe plat.
pour chauffer à une température de X, soit tu utilise un mofset, soit un relais.
après c'est pas compliqué comme programmation ni connectique
pour un relais
pin 3 (par exemple en OUPUT) +5v relais
GND => gnd relais
alim 12v (exemple) => sortie NO du relais
masse => sortie masse chauffage
X = 20C
Y = 22C
si temp inférieure à XC => pin 3 HIGH
si temp supérieure à YC => pin 3 LOW
utilise hysteris en plus pour éviter d'avoir le relais qui se mette en marche ou s'éteingne en permanence.
Je veux juste faire chauffer mon élément chauffant (que l'on voit sur la photo) d'une certaine température mettons 20°C, et qu'il reste à cette température. Donc si j'ai bien compris, j'effectue le câblage nécessaire, et dans mon programme, je dis que si cette température est atteinte, on arrête le chauffage et si elle n'est pas atteinte, donc inférieure, on chauffe.
Sinon merci pour ses détails, cela va beaucoup m'aider.
breav:
Je veux juste faire chauffer mon élément chauffant (que l'on voit sur la photo) d'une certaine température mettons 20°C, et qu'il reste à cette température. Donc si j'ai bien compris, j'effectue le câblage nécessaire, et dans mon programme, je dis que si cette température est atteinte, on arrête le chauffage et si elle n'est pas atteinte, donc inférieure, on chauffe.
Sinon merci pour ses détails, cela va beaucoup m'aider.
bonjour
sur le principe c'est ça
mais il faut introduire un hysteresis surtou si tu utilise un relais de commande pour la resistance.
et il ne faut pas compter sur le 5V de l'arduino pour alimenter en puissance ta resistance
J'aimerez savoir si je peux placer mon mosfet là ou il y a les 2 cables vert et noir (là ou c'est écrit "To RCSwitch") ?
Voici le programme pour ce montage :
#include <RCSwitch.h> //only used for remote control switches, not used if you have a relay
#define aref_voltage 3.3 // we tie 3.3V to ARef and measure it with a multimeter!
//TMP36 Pin Variables
int tempPin = 1;
int tempReading;
float desiredTempC = 28; // which temperature to maintain
RCSwitch mySwitch = RCSwitch();
void setup(void) {
// We'll send debugging information via the Serial monitor
Serial.begin(9600);
// If you want to set the aref to something other than 5v
analogReference(EXTERNAL);
//enable RC switch transmissions on pin 10.
mySwitch.enableTransmit(8);
}
void loop(void) {
tempReading = analogRead(tempPin);
// converting that reading to voltage, which is based off the reference voltage
float voltage = tempReading * aref_voltage;
voltage /= 1024.0;
// now print out the temperature
float temperatureC = (voltage - 0.5) * 100 ;
Serial.print(temperatureC); Serial.println(" degrees C");
/* now convert to Fahrenheight
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(temperatureF); Serial.println(" degrees F");
*/
if(temperatureC < desiredTempC){
mySwitch.switchOn(1,1);
Serial.println("Heater ON");
}
else{
Serial.println("Heater OFF");
mySwitch.switchOff(1,1);
}
delay(1000);
}
Serait-il bon pour mon projet ? Merci d'avance.
Coordialement. breav.
il y a également un autre méthode en utilisant des AOP pour détecter la différence instantanée entre la consigne et la température désirée puis envoyer cette erreur (la différence) pour l'amplifier en puissance par le biais d'un transistor (amplificateur de classe A) ce qui sert à alimenter la résistance chauffante