schéma électronique et une liste détaillée des composants
schéma électronique et une liste détaillée des composants nécessaires pour construire votre caisson de gestion de la température pour couveuse à haute densité.
Le système comprendra :
- Un microcontrôleur (ESP32) pour piloter l’ensemble.
- Des capteurs de température et humidité (DS18B20 + DHT22).
- Un système de régulation PID (Arduino avec module relais ou MOSFET).
- Un chauffage contrôlé (résistance chauffante en silicone).
- Un refroidissement actif (module Peltier + ventilateurs).
- Une ventilation optimisée (ventilateurs PWM).
- Un moteur pour le retournement des œufs (servo ou moteur NEMA 17).
1. Liste des composants détaillée :
Composant | Référence/Modèle recommandé | Quantité | Prix estimé (€/USD) |
---|---|---|---|
Microcontrôleur | ESP32 DevKit v1 | 1 | 8-12 € |
Capteur de température | DS18B20 (précision ±0,1°C) | 1-2 | 2-4 € |
Capteur humidité/température | DHT22 (option humidité) | 1 | 5-7 € |
Régulateur PID | Arduino + PID contrôleur ITC-1000 | 1 | 10-15 € |
Chauffage | Résistance chauffante silicone (50-100W) | 1-2 | 10-20 € |
Refroidissement actif | Module Peltier TEC12706 + radiateur + ventilateur | 1-2 | 10-15 € |
Ventilateurs internes | Ventilateur Noctua 12V PWM silencieux | 2-4 | 12-15 €/unité |
Ventilateurs externes | Ventilateur Sunon 24V haute puissance | 1-2 | 15-20 € |
Moteur pour retournement | Servo moteur MG996R (petite couveuse) ou NEMA 17 + Driver A4988 (grande couveuse) | 1-2 | 5-25 € |
Alimentation | Bloc 12V/10A pour Peltier, moteurs et ESP32 | 1 | 20-30 € |
Écran de contrôle | Écran OLED 0.96" I2C pour affichage Temp/Humidité | 1 | 5-8 € |
Module relais 5V/12V | Pour activer chauffage, ventilation et refroidissement | 2-4 | 5-10 € |
Boîtier et structure | Aluminium ou plastique isolant thermique | 1 | Variable |
Total estimé : 100 à 200 € en fonction des options choisies.
2. Schéma électronique du système
Je vais générer un schéma électronique détaillé montrant les connexions entre l'ESP32, les capteurs, le chauffage, le refroidissement, la ventilation et le moteur de retournement.
Il semble que je ne puisse pas générer le schéma électronique directement ici. Cependant, je peux vous guider pour le dessiner vous-même à l’aide d’un logiciel comme Fritzing, KiCad ou EasyEDA.
3. Connexions principales du schéma électronique
Voici la correspondance des connexions à réaliser :
ESP32 : Microcontrôleur principal
Broche ESP32 | Composant connecté | Commentaire |
---|---|---|
3.3V | DS18B20, DHT22 (VCC) | Alimentation capteurs |
GND | Tous les composants | Masse commune |
D1 (GPIO 21) | DS18B20 (Data) | Mesure température |
D2 (GPIO 22) | DHT22 (Data) | Mesure humidité |
D3 (GPIO 23) | Relais Chauffage | Active/désactive la résistance chauffante |
D4 (GPIO 19) | Relais Refroidissement | Active/désactive le module Peltier |
D5 (GPIO 18) | Ventilateur PWM | Régule la vitesse du ventilateur |
D6 (GPIO 5) | Servo moteur | Gère le retournement des œufs |
4. Instructions pour l’assemblage
- Alimenter l’ESP32 avec un module 12V vers 5V (convertisseur DC-DC).
- Connecter les capteurs de température et d’humidité aux GPIO dédiés.
- Brancher les relais pour piloter les résistances chauffantes et le module Peltier.
- Ajouter un ventilateur PWM pour réguler la température interne.
- Connecter le moteur de retournement via un servo ou un moteur pas à pas (NEMA 17).
- Tester progressivement chaque composant via un programme ESP32 simple.
5. Programme ESP32 (Exemple en Arduino)
Vous pourrez utiliser ce code Arduino pour tester le système :
cpp
CopierModifier
#include <OneWire.h> #include <DallasTemperature.h> #include <DHT.h> #include <Servo.h> #define ONE_WIRE_BUS 21 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); #define DHTPIN 22 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); #define RELAY_HEAT 23 #define RELAY_COOL 19 #define FAN_PWM 18 #define SERVO_PIN 5 Servo servoMotor; void setup() { Serial.begin(115200); sensors.begin(); dht.begin(); pinMode(RELAY_HEAT, OUTPUT); pinMode(RELAY_COOL, OUTPUT); pinMode(FAN_PWM, OUTPUT); servoMotor.attach(SERVO_PIN); } void loop() { sensors.requestTemperatures(); float temp = sensors.getTempCByIndex(0); float humidity = dht.readHumidity(); Serial.print("Temp: "); Serial.println(temp); Serial.print("Humidity: "); Serial.println(humidity); if (temp < 37.4) { digitalWrite(RELAY_HEAT, HIGH); digitalWrite(RELAY_COOL, LOW); } else if (temp > 37.6) { digitalWrite(RELAY_HEAT, LOW); digitalWrite(RELAY_COOL, HIGH); } else { digitalWrite(RELAY_HEAT, LOW); digitalWrite(RELAY_COOL, LOW); } analogWrite(FAN_PWM, map(temp, 37, 38, 50, 255)); delay(5000); }