Table des matières:

Relais à température contrôlée ESP8266 : 9 étapes (avec photos)
Relais à température contrôlée ESP8266 : 9 étapes (avec photos)

Vidéo: Relais à température contrôlée ESP8266 : 9 étapes (avec photos)

Vidéo: Relais à température contrôlée ESP8266 : 9 étapes (avec photos)
Vidéo: Création d'une station météo - Microcontrôleur ESP8266 et serveur Web 2024, Novembre
Anonim
Image
Image

Un de mes amis est un scientifique qui fait des expériences très sensibles à la température et à l'humidité de l'air. La salle de l'incubateur dispose d'un petit radiateur en céramique, mais le thermostat du radiateur n'était pas assez précis, ne pouvant maintenir la température qu'entre 10 et 15 degrés.

Les appareils commerciaux qui enregistrent la température et l'humidité peuvent être assez coûteux, et il peut être difficile d'obtenir les données de l'appareil. De plus, ils ne peuvent pas contrôler la température, enregistrent uniquement les données. Il a demandé à quel point il serait difficile de construire un appareil capable de contrôler avec précision le chauffage via un relais tout en enregistrant la température et l'humidité. Cela semblait assez facile.

En saisissant un ESP8266, un relais, un DHT22 et une plate-forme IoT en ligne, c'est parti.

Étape 1: Fournitures

Ce projet utilise une poignée de fournitures, qui sont toutes assez courantes et que vous les avez peut-être déjà sous la main aujourd'hui. Voici une liste complète de ce que j'ai utilisé, n'hésitez pas à ajuster au besoin pour répondre aux besoins de votre projet.

  • ESP8266 ESP-01 (ou carte ESP8266 similaire)
  • Capteur de température et d'humidité DHT-22
  • Régulateur de tension variable LM317 (ou un régulateur standard 3.3V serait plus facile)
  • Relais à courant élevé 5V (j'ai commencé avec un 10A mais je l'ai soufflé dans les 2 jours)
  • Diverses résistances et condensateurs
  • Fils de cavalier
  • Prise électrique standard et couvercle
  • Boîte de gang électrique
  • Ancienne prise USB avec adaptateur
  • Ancienne prise électrique

Rétrospectivement, utiliser un NodeMCU au lieu de l'ESP-01 aurait eu beaucoup plus de sens. Je n'en avais pas à l'époque alors j'ai fait avec ce que j'avais sous la main.

Étape 2: Construction de la sortie

Construction de sortie
Construction de sortie

Alors que techniquement j'ai commencé avec le microcontrôleur et le code, il est logique de commencer par la prise secteur en premier. Pour ce projet, j'ai utilisé une seule boîte de gang, une prise standard à 2 prises et le cordon d'alimentation d'une vieille multiprise.

La prise électrique est câblée avec les deux fils blancs réunis et les deux fils de terre réunis. Les deux fils noirs passant par le côté haut du relais. Assurez-vous que les bornes sont bien vissées et qu'aucun des brins ne va court-circuiter, j'ai mis un peu de soudure sur les fils pour que les supports restent ensemble.

Soyez prudent avec la haute tension et vérifiez chaque connexion. C'est une bonne idée de mettre du ruban électrique sur vos poumons en fil de fer afin qu'ils ne bougent pas

Étape 3: Conception de curciut

Conception de cours
Conception de cours
Conception de cours
Conception de cours

Le circuit est assez simple mais si vous utilisez l'ESP-01 comme je l'ai fait, vous devrez ajouter un régulateur de tension pour obtenir un 3,3V. Les relais standard nécessitent 5V, vous aurez donc besoin d'un rail 3,3V et 5,0V.

Mon circuit utilisait un régulateur de tension LM317 avec un jeu de résistances pour obtenir un rail constant de 3,3V, j'ai tapé sur l'USB 5V pour alimenter le relais. Il existe des relais de 3,3 V, mais pas pour les relais à courant élevé nécessaires si vous souhaitez alimenter un petit radiateur.

Le DHT22 nécessite une résistance pull-up de 4,7k.

Étape 4: souder la carte

Souder la planche
Souder la planche
Souder la planche
Souder la planche
Souder la planche
Souder la planche
Souder la planche
Souder la planche

Disposez et soudez tous les composants. Cela peut être un peu délicat, mais pré-planifiez les traces avec un morceau de papier millimétré aidera.

J'ai utilisé une carte USB pour une prise d'alimentation, mais elle était assez faible et je l'ai remplacée par deux broches d'en-tête. J'ai utilisé deux connecteurs femelles sur la carte et soudé deux broches mâles directement à une ancienne prise USB. Cela s'est avéré plus fiable et solide. Les couleurs du câblage USB sont:

Noir TerreRouge 5V

J'ai également utilisé des en-têtes mâles pour exposer les broches DHT22 et Relay sur mon tableau de bord pour les connecter avec des câbles de connexion standard.

Assurez-vous d'étiqueter chaque broche, connecteur d'alimentation et de terre au cas où il serait débranché plus tard.

Étape 5: Montez le circuit imprimé

Monter le circuit imprimé
Monter le circuit imprimé
Monter le circuit imprimé
Monter le circuit imprimé
Monter le circuit imprimé
Monter le circuit imprimé

Sur le côté du gang box, montez le circuit imprimé avec des vis et/ou de la colle chaude. Assurez-vous que le placement est fait de sorte que les fils de liaison atteignent votre relais monté à l'intérieur de la boîte, et vous pouvez facilement brancher votre connecteur d'alimentation.

Ajoutez un fil de liaison avec gaine thermorétractable à votre capteur DHT22 avec la longueur appropriée à votre situation. Le mien mesurait environ 8 pouces de long. J'ai utilisé à la place un câble CAT5 afin que les fils puissent être légèrement pliés en position et soient autonomes.

Étape 6: Code Arudino

Code Arudino
Code Arudino

Le code Arduino utilise ma classe SensorBase, qui est disponible sur ma page Github. Vous n'avez pas besoin d'utiliser mon code SensorBase. Vous pouvez écrire directement sur le serveur MQTT et Thingspeak.

Ce projet comporte trois fonctionnalités logicielles clés:

  1. Un serveur Web local pour définir et afficher les valeurs
  2. Serveur MQTT distant pour envoyer et stocker des données
  3. Tableau de bord Thingspeak pour la représentation graphique des données

Vous pouvez utiliser une ou plusieurs de ces fonctionnalités. Ajustez simplement le code si nécessaire. C'est l'ensemble spécifique de code que j'ai utilisé. Vous devrez ajuster les mots de passe et les clés API.

  • Code basé sur le capteur sur Github.
  • Code de laboratoire sur Github.

Étape 7: Tableau de bord Thingspeak

Tableau de bord Thingspeak
Tableau de bord Thingspeak
Tableau de bord Thingspeak
Tableau de bord Thingspeak

Créez un compte Thingspeak gratuit et définissez un nouveau tableau de bord. Vous devrez utiliser le même ordre des articles que j'ai énuméré ci-dessous, les noms n'ont pas d'importance, mais l'ordre le fait.

Si vous souhaitez ajouter ou supprimer des éléments, ajustez les paramètres Thingspeak dans le code Arduino. C'est assez simple et bien documenté sur leur site Web.

Étape 8: Configuration de CloudMQTT

Configuration CloudMQTT
Configuration CloudMQTT
Configuration CloudMQTT
Configuration CloudMQTT
Configuration CloudMQTT
Configuration CloudMQTT

Tout service MQTT, ou service IoT similaire comme Blynk, fonctionnerait, mais j'ai choisi d'utiliser CloudMQTT pour ce projet. J'ai utilisé CloudeMQTT pour de nombreux projets dans le passé, et puisque ce projet sera remis à un ami, il est logique de créer un nouveau compte qui peut également être transféré.

Créez un compte CloudMQTT, puis créez une nouvelle "instance", choisissez la taille "Cute Cat" car nous ne l'utilisons que pour le contrôle, pas de journalisation. CloudMQTT vous fournira un nom de serveur, un nom d'utilisateur, un mot de passe et un numéro de port. (Notez que le numéro de port n'est pas le port MQTT standard). Transférez toutes ces valeurs dans votre code ESP8266 aux emplacements correspondants, en vous assurant que la casse est correcte. (sérieusement, copiez/collez les valeurs)

Vous pouvez utiliser le panneau "Websocket UI" sur CloudMQTT pour voir les connexions de votre appareil, les pressions sur les boutons et, dans le cas étrange, que vous obteniez une erreur, un message d'erreur.

Vous aurez également besoin de ces paramètres lors de la configuration du client Android MQTT, alors notez les valeurs si vous en avez besoin. Espérons que votre mot de passe ne soit pas trop compliqué à saisir sur votre téléphone. Vous ne pouvez pas le définir dans CloudMQTT.

Étape 9: Tests finaux

Tests finaux
Tests finaux

Nous devons maintenant tester l'appareil final.

Avant de tester quoi que ce soit, revérifiez CHAQUE fil et utilisez votre multimètre en mode continuité pour tracer tous les fils. Assurez-vous que tout est connecté à l'endroit où vous pensez qu'il est connecté. Parce que le relais isole la haute tension de la basse tension, vous n'avez pas à vous soucier de court-circuiter votre microcontrôleur.

J'ai utilisé un simple testeur de circuit d'électricien pour vérifier que tout était correctement câblé du côté haute tension, et cela a également bien fonctionné pour tester mon relais.

Ajoutez votre ESP2866 à votre réseau wifi en vous connectant à l'appareil via votre téléphone ou votre ordinateur portable. Cela utilise la bibliothèque standard WifiManager, et il a toute la documentation nécessaire sur sa page Github.

À l'aide d'une ampoule à incandescence, j'ai placé mon capteur DHT22 à côté de l'ampoule et branché la lampe dans la prise. Cela a permis à la température de chauffer rapidement, déclenchant le relais pour éteindre la lampe et répéter le processus. Cela a été très utile pour tout tester, y compris ma connexion wifi.

Votre appareil doit allumer correctement le relais lorsque la température est trop basse et l'éteindre une fois que la température atteint la valeur élevée. Lors de mes tests, cela a permis de maintenir la température de l'espace de notre laboratoire à moins de 1 degré Celsius 24 heures par jour.

Conseillé: