Pages: [1]   Go Down
Author Topic: Ventilateur regule le retour  (Read 1234 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je suis entrain de faire un ventilateur qui puisse réguler automatiquement sa vitesse en fonction de la température du milieu. Pour cela,  une thermistance CTN détermine la température qui correspond à une certaine valeur de résistance. Les températures extrêmes que je me suis fixées sont 15 et 35 °C. Pour cette plage de température j'ai en entrée de la arduino sur une broche analogique une tension Ue qui varie entre entre  1.52 et 4.7 V . Plus la température sera elevée, plus la tension Ue sera grande donc plus le ventilateur tournera vite. J'ai essayé de faire un programme qui traite l'acceleration du moteur en fonction de la temperature. Le moteur tourne mais ne sa vitesse ne varie pas en fonction je la temperature.


Voici le programme



float r;
int rth=0 ; //broche analogique sur laquelle est branchée la thermistance
int mot10=10 ; int mot9=9; int mot3=3; //broche sur laquelle est branché
le moteur

void setup()
{
        pinMode(rth,INPUT) ;
        pinMode(mot10,OUTPUT) ;
        pinMode(mot9,OUTPUT);
        pinMode(mot3,OUTPUT);
}

void loop()
{
        r=analogRead(rth) ; //Capte la valeur de la thermistance

//Pour une température inférieure à 15°C
        if(r<311)
        {
                analogWrite(mot10,0) ; //le moteur ne tourne pas
                analogWrite(mot9,0);
                analogWrite(mot3,0);
        }

//Pour une température comprise entre 15 et 20°C
        if (r<368 &&r>311)
        {
                analogWrite(mot10,64) ; //le moteur tourne à 25%
                analogWrite(mot9,0);
                analogWrite(mot3,255);
        }

//Pour une température comprise entre 20 et 25°C
        if (r>368 && r<450)
        {
                analogWrite(mot10,127) ; //le moteur tourne à 50%
                analogWrite(mot9,0);
                analogWrite(mot3,255);
        }

//Pour une température comprise entre 25 et 30°C
        if (r>450 && r<579)
        {
                analogWrite(mot10, 191) ; //le moteur tourne à 75%
                analogWrite(mot9,0);
                analogWrite(mot3,255);
        }

//Pour une température supérieure à 30°C
        if(r>579)
        {
                analogWrite(mot10,255) ; //le moteur tourne à pleine vitesse
                analogWrite(mot9,0);
                analogWrite(mot3,255);
        }
}


Merci de votre aide
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce sujet n'a pas déjà été posté ?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui je l'ai deja posé mais il était bloqué. Personne ne pouvait repondre.
Logged

France
Offline Offline
Faraday Member
**
Karma: 40
Posts: 3635
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
int mot10=10 ; int mot9=9; int mot3=3; //broche sur laquelle est branché le moteur

....

                analogWrite(mot10,64) ; //le moteur tourne à 25%
                analogWrite(mot9,0);
                analogWrite(mot3,255);

....
Peut être ai-je raté quelque chose mais là je ne comprends pas comment est piloté le moteur. Un petit bout de schéma (ou un lien vers un schéma) pour expliquer comment est câblé l'étage de commande du moteur.
Logged

bussy st george
Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

http://www.google.com/imgres?imgurl=http://t-o-f.info/pmwiki/uploads/Arduino/driver_motor_schem.png&imgrefurl=http://t-o-f.info/pmwiki/index.php%3Fn%3DArduino.MoteurDC&usg=__If0b0CjEHcDxSMlkDbKYvNdM7Tw=&h=693&w=775&sz=55&hl=fr&start=7&zoom=1&tbnid=C7emKWQ_XPSUVM:&tbnh=127&tbnw=142&ei=55idTZ3tC4Tc0QH3_OzABA&prev=/images%3Fq%3Dmoteur%2Bcc%2Bmosfet%2Bn%26um%3D1%26hl%3Dfr%26lr%3D%26sa%3DN%26tbm%3Disch&um=1&itbs=1

Un peut de lecture avec les shéma.
cordialement
Logged

Windows Certif MCSA. Electronicien.
Arduino Mega 2560.
68hc11F1, 68705U3, 68705P3.
Perl,Java,ABAP,VB,VBS,VBnet,Php,Asp,Css,C,C++,C#,MySql,S

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J' ai 3 broches de sortie vers le pont H. Une qui renvoie des valeurs analogwrite variables, une autre qui envoie analogwrite(0) , et la derniere analogwrite(255).  J'utilise seulement un sens de rotation du moteur.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Attention quand même, la temperture derriere un ventilo est la même que dans la piece. Il ne brasse que la même air, en revanche si tu veux refroidir une piece qui est plus chaude que l ambiant ça marche.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je me greffe sur le poste pour savoir si il était possible de réguler la vitesse de rotation de deux ventilateurs ou de brasseur d'air du commerce (220-240V~~50Hz/45W) en fonction de la température ambiante avec une carte arduino?
Merci pour votre aide
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour tout est possible avec Arduino.
visite ce lien et du comprendra.

la regulation s effectue par temperature.

http://www.civade.com/post/2011/05/25/Snootlab-Essai-de-l-Arduino-i2C-Power-proto-shield-ventilateurs-pwm-ds1820-fanduino

bonne bidouille.
Logged

Pages: [1]   Go Up
Jump to: