Bonjour à tous!
Je suis en cours de conception d'un module de ventilation double flux à pas cher, dont j'ai écrit le tuto de fabrication sur le site du Low Tech Lab: Double_Flux_pour_habitat_leger.
Je suis nouveau sur tout ce qui est Arduino /code et ai pas beaucoup aimé l'électronique dans mes études.... donc c'est compliqué pour moi, toujours est-il que j'ai lu quelques bouquins sur le sujet. En outre, tout reste théorique, je n'ai actuellement pas fait les investissements sans être sur d'avoir un code qui marche.
Le but: faire varier la vitesse de 2 ventilateurs de PC 12V (diam. 120 mm) en fonction de l'humidité de la maison.
Plus c'est humide, plus les ventilos tournent (l'un extrait l'air, l'autre en amène). En dessous d'une certaine valeur d'humidité (ici 30 %), les ventilateurs sont à l’arrêt.
(N.B: il aurait été plus simple de partir sur des ventilos alimentés en 5v par l'arduino mais le débit d'air n'est pas suffisant si on n'est pas en 12v et je crains une limitation des broches sur l"intensité).
Après moults changements quant aux composants, je suis pour le moment parti sur:
Les ventilos en liens plus haut alimenté par une source externe 12v.
2 Diodes pour sécuriser les ventilos
Une arduino uno
Un capteur d'humidité de type DHT 22 (AM2302)
Et enfin, un MOSFET ! Rien que le nom ça fait peur.
J'ai suivi plusieurs projets très simples (mais pour moi pas tant!) qui ont été faits:
variation d'un moteur 12V avec une consigne depuis le PC
variation d'un ventilo alimenté par 9V en fonction de l'humidité et de la temp
lien vers la librairie DHT_sensor (merci adafruit!) avec un code de test basique
Du coup voila le schéma électrique actuel.
Et le code:
#include "DHT.h"
//CONNEXIONS DU DHT22
// Connexion de pin 1 (à gauche) au +5V
// Connexion de pin 2 (data) à la broche définie par DHTPIN
// Connexion de pin 4 (à droite) au GROUND
// Connexion d'un résistance 10K entre pin 2 (data) et + 5V
#define DHTPIN 2 // definition de la broche de la connection du DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302) définition du type de capteur DHT
//#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
#define fan 11 // broche du moteur
int vitesse = 0; // definition d'une variable appellée vitesse, celle de rotation du moteur du ventilateur
DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor for normal 16mhz Arduino
void setup() {
pinMode(fan, OUTPUT); // je declare fan comme etant une broche de sortie
// Serial.begin(9600); // pas d'affichage serial pour le moment, je risque par contre de ne pas savoir s'il y a des erreurs
dht.begin(); // initialisation du DHT
}
void loop() {
// pas de temps de mesure, attente pour lire les capteur (normalement 250 ms, mais peut aller jusque //2s si capteurs "usés" a ce que j'ai compris
delay(2000);
float h = dht.readHumidity(); // definition d'une variable à virgule flottante apellée h, l'humidite
// et qui lit sur le capteur l'humidité allant de 0 à 100.
vitesse=(map(round(h), 0, 100, 0, 255)); //vitesse est la valeur proportionnelle à l'humidité, mais //s'étale de 0 à 255
delay(1000);
if(h<30){
analogWrite(11,0); // si l'humidite est inferieure a 30%, le ventilo est à l'arrêt
}
else{
analogWrite(11,vitesse);
}
}
J'ai donc quelques questions à vous soumettre:
Le MOSFET est-il bien le composant le plus adapté à mon projet? Si oui, comment savoir quel modèle prendre?
En effet, j'ai besoin d'un genre de relai qui prend en entrée la broche 11 PWM (donc valeur entre 0 et 255) afin de donner une tension proportionnelle (ici entre 0 et 12V, la source des ventilos)
Le choix du ventilo est il le bon? il a 3 broches: +12V, GND et??
car il existe aussi en PWM. Dans ce cas pas besoin de mosfet? mais l'entrée pwm de ce ventilo est-elle en 12v? Car les broches de l'arduino sortent max 5v.
D'autre part, il peut être intéressant d'en récupérer sur vieux ordis et donc a priori pas pwm...
Ma conversion de l'humidité vers la vitesse ne pose pas de problème? les fonctions map et surtout round ne créerons pas d’erreurs, notamment de virgule?
Merci à tous d'avance.
Olivius.
PS: il est possible que des options se rajoutent par la suite comme affichage LCD de la température, humidité, et débit d'air; ou encore estimation du rendement de double flux (il faudrait 4 capteur de temp), ou encore alimentation autonome batterie/solaire.