Web-Enabled maison Thermostat (et domotique Hub) (4 / 10 étapes)

Etape 4: Construction du Thermostat

Maintenant pour le plaisir partie. Et n’oubliez pas, j’ai construit un thermostat pour mon système de maison particulière, qui se compose d’une pompe à chaleur avec une source de chaleur d’appoint. Votre système peut être complètement différent, et même si c’est la même chose, je ne peux pas justifier que ce thermostat peut être utilisé par n’importe qui pour n’importe quel but. Vous ne devez pas installer un thermostat sauf si vous avez fait tout d’abord bien comprendre votre maison installation HVAC, revu tous les codes et les circuits et modifiés au besoin.

Cela dit, les thermostats sans fil J’ai construit se composent de plusieurs parties principales. Vous pouvez télécharger un schéma pour ce thermostat (ainsi que tout le code que j’utilise et quelques autres informations) ce dépôt GitHub. Le schéma se trouve dans le fichier Tstat_New_v1.pdf. Une description de ces pièces est la suivante :

alimentation – ma maison est câblé avec 27VAC pour les thermostats, et pour exécuter le microcontrôleur 1284 P, LCD tactile, capteur de température et des relais, j’ai besoin DC 3v3. J’utilise un pont redresseur pour convertir l’AC à DC et un convertisseur buck à l’étape de la DC jusqu'à environ 5 volts. (Remarque : le convertisseur buck LM2595 a une tension max de 40vdc, donc c’est vraiment le poussant. J’ai eu quelques problèmes avec certains d'entre eux). Enfin, je lance la sortie grâce à un régulateur de tension pour rejoindre 3v3. La raison pour laquelle que j’utilise un convertisseur buck avant le régulateur de tension est que le convertisseur buck est beaucoup plus efficace que le régulateur de tension, donc je reçois moins gaspillé pouvoir, ce qui signifie moins de chaleur. Vous pourriez même être en mesure d’utiliser le convertisseur buck pour aller directement à 3v3 et sauter le régulateur, bien que je n’ai pas encore essayé, et il est possible que le signal du convertisseur buck n’est peut-être pas assez lisse pour obtenir de bons résultats avec le nRF24L01 +, qui peut être sensible à la douceur de l’alimentation. (Remarque : la feuille de données LM1117 recommande deux casquettes avec le régulateur pour lisser le signal, et malgré que j’ai semblent faire bien sans ces éléments, je ne recommande pas leur utilisation. J’ai l’intention d’ajouter à la schématique à une date ultérieure et les inclure dans mes propres futures constructions).

microcontrôleur – j’utilise le microcontrôleur de 1284 P ATmega une goupille 40 configuration DIP. Cette puce a beaucoup de mémoire et de broches pour faire le travail avec certains en survolant, je voudrais ajouter des fonctionnalités supplémentaires plus tard. Le microcontrôleur nécessite plusieurs autres composants pour fonctionner, qui sont inclus dans le schéma. Une grande explication de comment configurer cette puce sur un montage d’essai peut être trouvée ici, et c’est ce que j’ai utilisé pour commencer. Toutefois, une différence est que je n’ai pas utilisé le bootloader arduino. Au lieu de cela, j’ai créé un simple 6 broches « bouchon » maquette sympathique et s’inscrirait un programmateur ISP. J’utilise un avrisp mkii programmeur, et il semble faire un excellent travail. J’ai trouvé qu’en utilisant une maquette pour tester tous les circuits avant la soudure des conseils a été extrêmement utile.

interface – A TFT LCD avec écran tactile est une excellente façon d’incorporer un affichage et commandes ensemble sans avoir à ajouter des boutons au circuit. L’écran tactile LCD utilise les mêmes broches SPI comme l’ISP, et il peut interférer lorsque vous êtes programmation du microcontrôleur à l’aide d’ISP. J’ai trouvé que l’ajout de résistances de 100 ohms entre les broches LCD MOSI, MISO et SCK et le microcontrôleur résolu ce problème. L’écran LCD TFT possède des broches MISO et MOSI SCK distincts pour l’écran tactile et l’écran, mais il peuvent juste être sauté ensemble. J’utilise aussi un transistor pour allumer la LED pour l’affichage lorsque l’écran est touché. Sur une version antérieure, j’ai branché juste la LED directement dans le pouvoir de 3v3 et gauche de l’écran allumé tout le temps.

capteur de température – un thermostat doit savoir quelle est la température ambiante, droite ? J’utilise le capteur de température ds18b20, mais il y en a bien d’autres disponibles, y compris certains qui mesurent l’humidité relative, ainsi si vous êtes intéressé à voir que.

relais – et bien sûr, vous avez besoin de relais pour être en mesure de contrôler le système de CVC. J’utilise des transistors pour commuter les relais basés sur un signal provenant du microcontrôleur et une diode flyback pour protéger le microcontrôleur des pics de tension lorsque le relais est désactivé.

Une grande référence pour comprendre comment utiliser des transistors comme commutateurs est ici, et pour comprendre les circuits de relais, je recommande ce Instructable.

Je suggère fortement de chacun de ces éléments de construction sur une maquette pour vous assurer qu’ils fonctionnent comme prévu avant de commencer à souder ensemble les choses.

Alors, voici ce que j’ai fait :

  1. Tout d’abord, j’ai posé à mon Conseil, juste essayer de comprendre l’emplacement général des principaux éléments (voir photo). Quelques réflexions à ce sujet :
    -> Assurez-vous de vous laisser la place pour les connexions, surtout pour l’écran LCD TFT et autour les relais. L’écran TFT LCD a beaucoup de connexions, beaucoup de qui traversent au cours d’un de l’autre et plusieurs dont ont besoin les résistances. Les relais ont besoin d’un transistor et la résistance pour l’interrupteur, mais aussi une diode flyback.
    -> Le TFT LCD écran, j’utilise généralement a suffisamment d’espace qu’il peut aller sur d’autres composants, y compris les relais et les bornes à vis. Toutefois, il a également un slot pour une carte SD sur le dos, et cette carte SD ne s’adapte pas sur les bornes à vis ou relais. Histoire drôle – pendant le test final d’un thermostat, j’ai commencé à obtenir un comportement vraiment bancal. L’alimentation serait coupée en raison d’une courte, l’écran tactile LCD échouerait et relais seraient allumer et éteindre sauvagement. Après du débogage, j’ai réalisé que la fente pour carte SD sur le bas de l’écran tactile LCD était un court-circuit à un certain nombre de broches sur le P 1284 lorsque j’ai appuyé sur l’écran tactile. Un petit ruban isolant sur l’exposés de la carte SD a résolu le problème.
    -> n’oubliez pas de prévoir les espaceurs sur le côté de l’écran LCD TFT n’est pas pris en charge par des broches d’en-tête.
    -> La nRF24L01 + module radio a un encombrement beaucoup plus important que l’en-tête de 2 x 4 il est assis, donc c’est une bonne idée d’avoir le module radio dans l’en-tête lors de la pose à la Commission à s’assurer qu’il n’est pas interférer avec d’autres composants ou s’étendre au delà du bord du carton.
    -> N’oubliez pas de prévoir un trou où les fils du thermostat viendra en. Plusieurs fils du thermostat peut être assez rigides, donc ne comptez pas sur un minuscule trou ici. C’est le plus grand, plus il sera facile d’obtenir tous les fils à travers et de manipuler les fils dans les bornes à vis lors de l’installation du thermostat au mur.
    -> Pensez à savoir si vous êtes susceptible de vouloir ajouter quelque chose à l’avenir – peut-être un capteur infrarouge pour détecter quand une personne est maison, un microphone, etc.. Si vous pensez que vous pourriez, essayez de laisser une certaine marge quelque part sur la carte. Cela dit, si vous entasser des choses en trop serré, soudure tout haut sera beaucoup plus difficile.

-> Lorsque vous êtes satisfait de la mise en page, prendre une photo de lui d’avoir comme référence quand en fait souder des choses ensemble.
  • Ensuite, j’ai percé de trous pour les espaceurs et vérifié pour s’assurer qu’ils étaient en fait positionnés correctement sous l’écran tactile LCD. (J’ai appris la dure que si vous ne faire cela au début et laissez les espaceurs connectés à la carte, il y a une tendance pour courir des fils où doivent être positionnées de picots). Les espaceurs semblaient ok, alors je suis parti attaché et soudé le DIP pour le microcontrôleur et l’en-tête de 14 broches pour l’écran LCD.
  • Après cela, j’ai découpé la partie centrale pour les fils de montage à venir le mur (j’ai utilisé un outil dremel). Cela crée beaucoup de poussière, il est donc préférable de le faire avant de souder les composants sur la carte mère.
  • Puis j’ai nettoyé la poussière et soudé sur le reste des pièces infrastructure – c'est-à-dire les borniers à vis, broches de connexion ISP et RFX en-tête (voir photo). Panne à souder utile que j’ai appris d’un ami – affiche tack (mastic utilisé pour contenir des affiches sur un mur) est un excellent moyen pour maintenir les composants en place sur la carte tout en soudant.
  • Maintenant, il était temps de commencer par les composants. J’ai commencé avec le commutateur, régulateur 3v3, fils de l’ISP et composants pour le microprocesseur, donc j’ai pu confirmer que je pouvais programmer avec succès le processeur avant d’aller plus loin.
  • À l’aide d’un adaptateur mural accroché à un convertisseur buck comme mon entrée d’alimentation (voir photo - j’aime utiliser un différent de celui en fin de compte, j’ai mis dans le thermostat qui est un peu plus grand, mais dispose d’un écran montrant le réglage de la tension du convertisseur), j’ai fait en sorte que l’interrupteur a été mise sous tension correctement et que la sortie du régulateur 3v3. Puis, avec la mise hors tension, j’ai inséré une puce 1284P dans le dip (mise en retrait de l’en-tête RFX 2 x 4) et testé l’ISP et le microcontrôleur avec un simple croquis de l’Arduino. NOTE : J’ai trouvé je pourrais insérer la puce assez légèrement dans le DIP et toujours obtenir une bonne connexion sans appuyer à fond. Cela le rend beaucoup plus facile de retirer la puce après avoir testé sans endommager quoi que ce soit. Vous pouvez également utiliser Atmel Studio (Téléchargement gratuit ici) pour s’assurer que vos fusibles sont définies de la façon dont vous le souhaitez (mine n’étaient pas - le fusible de l’EEPROM n’a pas été défini pour empêcher la mémoire EEPROM d’être effacées lorsque la puce est reprogrammée. Pas critique, mais sa définition fait tester plus facilement.
  • Une fois que j’ai vérifié que le MCU travaillait, j’ai câblé vers le haut de l’en-tête de 2 x 4 pour le module nRF24L01 + radio et fait en sorte que la RFX connexion fonctionnait en utilisant le programme d’exemple diagnostic6_r3 qui vient avec le réseau RFX. Un avantage de lever au début ce jeu est que vous pouvez très facilement imprimer des informations de diagnostic à un port sur la Pi de framboise à l’aide de la connexion de RFX et visualisez-la en utilisant PuTTy lors du débogage du matériel et des logiciels. Comme alternative, vous pouvez associer les en-têtes sur les broches TX0 et RX0 sur les P 1284 et utilisez un convertisseur USB vers série TTL ainsi que la fonction Serial.print(), mais je pense juste à l’aide de la RFX est beaucoup plus facile.
  • La deuxième section majeure que j’ai fait était entête-14 broches de l’écran tactile LCD (voir photo). Ma façon de penser de faire qu'ensuite, c’est que c’est une des parties plus difficiles à souder, et si j’ai foiré, puis je ne serait pas ont déjà soudé beaucoup de composants sur la carte mais qui pourrait finir par être gaspillé. J’ai aussi réalisé que les fils d’alimentation et de masse s’exécuteraient droite passé où j’ai raboté pour mettre le capteur de température ds18b20, je suis allé à venir et cela en soudé aussi bien. Avec le recul, je voudrais juste, j’avais soudé dans les raccords d’alimentation et de masse pour cela mais tenue le brasage dans le capteur de température effective jusqu'à la fin car il a souvent de la manière tandis que j’essayais d’autres composants à souder. J’ai choisi de mettre la sonde en position au bas de la carte et de le laisser avec des fils assez longs (la raison il a obtenu de la manière tandis que d’autres composants à souder) afin qu’il soit en mesure d’obtenir une température précise de chambre lecture sans la chaleur de l’électronique qui l’affectent (placer au milieu d’ou au-dessus des autres composantes pourrait secouer la température considérablement). Ce sera plus clair dans les photos plus tard qui montrent le cas que j’ai construit. Pour tester l’écran tactile, vous pourriez simplement charger le programme thermostat tel que discuté à l’étape 6. Ou vous pouvez simplement écrire un très simple croquis vous-même pour le tester.
  • Après avoir testé l’écran tactile pour s’assurer que cela fonctionnait correctement, j’ai ajouté le pont redresseur et l’un des relais (Voir photos). Pour la diode flyback, j’ai placé sur un côté du relais et un des câbles sous la Commission en vertu du relais courbés à l’autre extrémité de la bobine.
  • Enfin, après avoir testé ce circuit Relais, j’ai soudé sur les trois autres relais et composants connexes.
  • À ce stade, le thermostat était prêt pour les essais. Mais, avant que je pourrais tester complètement le thermostat, j’ai besoin d’obtenir le MySQL ensemble des bases de données et installer les pages web et les serveurs de python sur la Pi de framboise ainsi que charger le croquis à la MCU.

    Articles Liés

    Smart TV Homer Web-enabled à distance

    Smart TV Homer Web-enabled à distance

    Smart d'Homère, une marionnette distant compatible Web TVHomer intelligent est une marionnette de Web-enabled qui transforme le téléviseur lorsque Simpsons est activé. Comme Homer est trop paresseux pour naviguer sur le Web lui-même, un script dans l
    OpenSprinkler : Contrôleur de vanne Open source Web-enabled arroseur

    OpenSprinkler : Contrôleur de vanne Open source Web-enabled arroseur

    vue d'ensembleJe suis fier de vous présenter OpenSprinkler : un contrôleur de vanne arrosage open source, programmable, compatible web. Il peut être utilisé pour planifier et de travailler avec vannes d'arrosage standard 24VAC trouves couramment dans
    Web-enabled cardiofréquencemètre Polar

    Web-enabled cardiofréquencemètre Polar

    Utilisez un Polar cardiofréquencemètre, un Conseil de matériel bon marché connecté via USB et un peu de logiciel pour mettre votre fréquence cardiaque sur le Web. Les données actives est servi dès votre ordinateur et accessibles via le relais de Yale
    WEB-ENABLED BACKYARD artillerie

    WEB-ENABLED BACKYARD artillerie

    Salut tout le monde ! Cette instructable est en fait l'aboutissement de nombreux autres projets de mine, mais ils ont tous été utilisés ensemble pour faire quelque chose de vraiment cool ! Fondamentalement, c'est un Canon qui vous pouvez de contrôler
    Web Enabled contrôle piscine - framboise Pi

    Web Enabled contrôle piscine - framboise Pi

    L'année dernière j'ai eu une piscine construite. C'était excitant quand le constructeur piscine m'a montré que l'industrie de la piscine avait déménagé dans l'ère de la technologie et offre maintenant le contrôle des applications sur internet. Étant
    Faites-vous anonyme sur le web !

    Faites-vous anonyme sur le web !

    « Comment puis-je voyager et communiquer sur Internet sans être suivis ou espionnés par n'importe qui? »Ce tutoriel va expliquer comment vous êtes arrivé à cela !Il y a une multitude de raisons de vouloir la vie privée pour les communications sur Int
    Web contrôlé Arduino LED

    Web contrôlé Arduino LED

    Cette instructable vous montre comment construire un Web-enabled tri-color LED basées sur un Arduino et le bouclier WIZnet Ethernet, à partir de n'importe quel navigateur Web .Parce que la LED est exposée via un service web RESTful simple en cours d'
    Cadre de photo numérique USB + WEB

    Cadre de photo numérique USB + WEB

    ces instructions décrira en détail les étapes nécessaires à la préparation des éléments du logiciel d'un cadre de photo numérique fait maison. J'espère pouvoir mettre des instructions sur les modifications physiques plus tard.Cadre photo numérique su
    Mettre en place votre propre serveur Web !

    Mettre en place votre propre serveur Web !

    Vous avez toujours voulu avoir un endroit où vous pouvez garder vos fichiers et y accéder de n'importe où vous obtenez une connexion Internet ? Vous avez voulu dire avoir votre bibliothèque de musique disponible dans le cas où vous avez voulu donner
    Sans fil Noël minuterie avec Raspberry Pi et Python

    Sans fil Noël minuterie avec Raspberry Pi et Python

    mise à jour 14/01/2014 : Merci à tous ceux qui ont voté pour ce projet dans le concours de Hacking Hardware ! Impatient de ma plume machine à nouveau.Mise à jour 31/12/2013: à la recherche d'une version plus avancée de ce projet ? Découvrez ma nouvel
    Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

    Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

    Suite à un couple de mon prélude IBLEs publié ici et ici, ce projet prend la première étape vers la création d'une version de base d'un Home Automation Hub fonctionnelle.J'ai utilisé différentes technologies dans le but de comprendre comment je peux
    Scripter votre RaspberryPi

    Scripter votre RaspberryPi

    JavaScript est un langage de programmation grand qui fonctionne partout. JavaScript s'exécute principalement sur votre navigateur web ; Cependant, personnes trouvent des grandes utilisations pour la langue dans d'autres endroits. Python est le langag
    Bouton de pizza

    Bouton de pizza

    Étudiant en deuxième année collège hommes, New Yorkais, techies tard dans la nuit et les vraiment paresseux : Bienvenue à votre fantaisie. Présentation de la mise à niveau ultime dans la technologie gastronomique, le bouton de la Pizza. Pas besoin de
    Accueil 9000 - la sonnette ultime

    Accueil 9000 - la sonnette ultime

    je viens d'acheter une maison à Las Vegas et, étant un bricoleur de longue date (et instructable maker / partageur), j'ai décidé qu'avant de passer, et tant que j'ai l'occasion de briser ouvrir les murs et exécuter n'importe quel fil je voulais, je l