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 :

  1. Un microcontrôleur (ESP32) pour piloter l’ensemble.
  2. Des capteurs de température et humidité (DS18B20 + DHT22).
  3. Un système de régulation PID (Arduino avec module relais ou MOSFET).
  4. Un chauffage contrôlé (résistance chauffante en silicone).
  5. Un refroidissement actif (module Peltier + ventilateurs).
  6. Une ventilation optimisée (ventilateurs PWM).
  7. Un moteur pour le retournement des œufs (servo ou moteur NEMA 17).

1. Liste des composants détaillée :

ComposantRéférence/Modèle recommandéQuantitéPrix estimé (€/USD)
MicrocontrôleurESP32 DevKit v118-12 €
Capteur de températureDS18B20 (précision ±0,1°C)1-22-4 €
Capteur humidité/températureDHT22 (option humidité)15-7 €
Régulateur PIDArduino + PID contrôleur ITC-1000110-15 €
ChauffageRésistance chauffante silicone (50-100W)1-210-20 €
Refroidissement actifModule Peltier TEC12706 + radiateur + ventilateur1-210-15 €
Ventilateurs internesVentilateur Noctua 12V PWM silencieux2-412-15 €/unité
Ventilateurs externesVentilateur Sunon 24V haute puissance1-215-20 €
Moteur pour retournementServo moteur MG996R (petite couveuse) ou NEMA 17 + Driver A4988 (grande couveuse)1-25-25 €
AlimentationBloc 12V/10A pour Peltier, moteurs et ESP32120-30 €
Écran de contrôleÉcran OLED 0.96" I2C pour affichage Temp/Humidité15-8 €
Module relais 5V/12VPour activer chauffage, ventilation et refroidissement2-45-10 €
Boîtier et structureAluminium ou plastique isolant thermique1Variable

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 ESP32Composant connectéCommentaire
3.3VDS18B20, DHT22 (VCC)Alimentation capteurs
GNDTous les composantsMasse commune
D1 (GPIO 21)DS18B20 (Data)Mesure température
D2 (GPIO 22)DHT22 (Data)Mesure humidité
D3 (GPIO 23)Relais ChauffageActive/désactive la résistance chauffante
D4 (GPIO 19)Relais RefroidissementActive/désactive le module Peltier
D5 (GPIO 18)Ventilateur PWMRégule la vitesse du ventilateur
D6 (GPIO 5)Servo moteurGère le retournement des œufs


4. Instructions pour l’assemblage

  1. Alimenter l’ESP32 avec un module 12V vers 5V (convertisseur DC-DC).
  2. Connecter les capteurs de température et d’humidité aux GPIO dédiés.
  3. Brancher les relais pour piloter les résistances chauffantes et le module Peltier.
  4. Ajouter un ventilateur PWM pour réguler la température interne.
  5. Connecter le moteur de retournement via un servo ou un moteur pas à pas (NEMA 17).
  6. 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); }