Mini thermomètre et hygromètre avec E-PAPER sur nRF52 - ou ce que les fabricants n'ont pas encore publié

Salutations à tous les lecteurs de Habr! Je souhaite partager avec vous mon nouveau projet open source. D'après le titre de l'article, il est clair que nous parlons d'un capteur de température et d'humidité avec un affichage sur encre électronique. Depuis longtemps déjà, j'ai essayé de faire un projet de capteur de température avec de tels affichages sous la forme d'un module arduino. Depuis, le sujet des écrans e-ink m'intéresse.



L'objectif de ce projet était de développer un capteur miniature, de taille comparable à celle des capteurs de température sans fil conventionnels, mais en même temps d'obtenir des données sur l'appareil lui-même. Et dans toutes ces conditions, l'appareil fonctionnerait longtemps sur une petite batterie. Qu'est-il arrivé, veuillez évaluer et ne pas lésiner sur les commentaires.







Le capteur fonctionne sur des puces nRF52, pour ce projet un module de MINEW a été choisi. Le module est petit, a 18 broches, dont 13 gpio, deux options d'antenne, imprimées et en céramique, ainsi que plusieurs options pour les puces, nRF52810 et nRF52832, sont installées sur le module, et après une courte conversation avec la direction de l'entreprise, ils ont mis des puces nRF52811 sur ces modules sans aucune question ... Donc, au fait, j'ai eu mes premiers 811 et, de plus, à un prix une fois et demie inférieur à celui que je pourrais acheter uniquement des puces auprès de fournisseurs en Russie, mais c'est une autre histoire. Le module a une version DC-DC et une montre à quartz. Dimensions du module 12 mm x 15 mm. Il y a un écran en métal.





De la gamme des écrans e-ink, le choix s'est naturellement porté sur un modèle assez nouveau avec une taille d'écran de 1,02 pouces. Le coût d'un pouce d'encre électronique était de 500 roubles, ce qui me semblait acceptable. De petites difficultés avec le développement d'une carte pour cet écran ont été causées par son connecteur, un FPC 30 broches avec un pas de 0,5 mm. La largeur du connecteur FPC est beaucoup plus grande que la largeur de l'écran lui-même, ce qui a causé un inconvénient de conception. Mais c'était plus facile avec le cerclage d'affichage, c'est plus simple que sur les autres modèles ( fiche technique GDEW0102T4 ).





À partir d'une variété de capteurs numériques de température et d'humidité, j'ai décidé de rester sur le capteur sht20, j'en avais assez, assez simple, bon prix, taille pratique. En outre, l'un des avantages peut être appelé le fait qu'au lieu de sht20, si vous le souhaitez, il est facile d'installer sht21, si7020, si7021, htu20d, htu21d et hdc1080, mais cette dernière option n'est pas très bonne;).



Deux cartes ont été conçues pour le capteur, une pour l'écran et son cerclage, la seconde pour un module radio, un capteur de température et d'humidité et une batterie. Les paramètres clés pour les tailles de carte étaient les tailles d'écran et de batterie. Sur la carte avec l'écran, il y avait des trous pour les vis (1,4 x 3) pour la fixation de la carte au boîtier, sur la deuxième carte, des découpes ont été faites pour une installation facile des vis. Comme il s'agit d'un appareil de bricolage, je pourrais me permettre de mettre une pile CR2450 "savoureuse". Eh bien, si un jour il me semble que l'appareil est épais, alors je peux toujours souder le support pour une pile CR2430. En conséquence, nous avons obtenu deux planches mesurant 36 mm sur 26 mm.





Le boîtier a été conçu dans SolidWorks, les modèles des cartes ont été exportés depuis DipTrace au format DXF, qui ont déjà été convertis en modèles 3D dans SolidWorks. Le boîtier se compose de deux parties et d'un bouton Les moitiés du boîtier sont fixées l'une à l'autre de la même manière avec des vis (1,4 x 4) d'un côté et un "crochet" saillant de l'autre côté. Il y a deux trous pour la circulation de l'air pour le capteur de température et d'humidité.





Dans ce projet, le corps a été imprimé sur une imprimante FDM, bien sûr, la qualité d'impression est inférieure à celle d'une imprimante SLA, mais en termes de résistance, les produits fabriqués à partir de résines liquides sont bien inférieurs aux produits fabriqués à partir de filaments, et en raison des particularités du corps, la résistance était importante. Je me suis donc préparé mentalement au meulage et au polissage. En principe, cela s'est plutôt bien passé.





C'est à peu près ainsi que le développement du matériel s'est déroulé, j'ai essayé de décrire toutes les étapes et certaines nuances, si cela vous semblait prendre du temps, alors ce ne l'était pas, le logiciel demandait en fait beaucoup de travail. Comme auparavant, je fais mes projets sous MySensors, même si j'avoue que je ne suis plus avec le même enthousiasme qu'avant. À certains moments, j'ai commencé à me retenir, certaines choses manquent, certaines sont tout simplement impossibles. Pour le moment, je vois Open Thread comme une alternative pour moi, du moins cela me semble assez attrayant.



Schéma de l'appareil








En conséquence, nous avons réussi à mettre en œuvre toutes nos exigences en matière de fonctionnalité. L'appareil peut fonctionner avec le contrôleur UD, ainsi que l'appareil peut fonctionner directement avec n'importe quel appareil du réseau MySensor. La liaison de périphériques pour un échange direct peut se produire à la fois via la configuration des périphériques via le contrôleur UD, en utilisant des commandes externes, ou sans la participation du contrôleur UD, en appuyant simplement sur un bouton pour activer le mode de liaison. Le capteur de température et un autre appareil auquel le capteur est lié peuvent normalement prendre en charge l'échange même sans passerelle MySensors ou contrôleur UD en état de marche, ce qui augmente certainement la tolérance aux pannes. Un autre problème concernait les pilotes d'affichage eink, probablement parce que l'écran est assez récent,sur le site Web du fabricant et le site Web WaveShare (qui propose des écrans eink Good Display sous sa propre marque), les implémentations de la bibliothèque sont assez brutes. J'ai dû refaire quelque chose, ajouter quelque chose.



Le capteur prend en charge plusieurs langues, l'inversion des couleurs par une commande externe en mode de configuration de l'appareil, plusieurs options de police également modifiables par une commande externe en mode de configuration de l'appareil. Le capteur affiche les lectures de température et d'humidité, la puissance de la batterie et la force du signal. L'intervalle de mesure de la température et de l'humidité, l'intervalle de mesure du niveau de batterie peuvent également être définis par une commande externe. Pour la température et l'humidité en minutes, pour le niveau de la batterie en heures. Le capteur transmet les données suivantes à l'UD: température, humidité, niveau de charge en%, tension, niveau du signal, raison du redémarrage.





Vous pouvez voir à quoi cela ressemble dans une petite vidéo:





Horodatage des moments intéressants:

3.10 - Configuration (changement de police, inversion de couleur)

5.10 - Mesure de la consommation, travail WTD



Si quelqu'un est intéressé par mes développements, alors après avoir lu l'article je recommande d'aller sur la chaîne et de vous abonner, là je publie d'abord des informations sur les nouveaux développements ...



En mode veille, le capteur consomme 2μA, WTD réinitialisé toutes les 5 secondes, la consommation au moment de la réinitialisation est de 4-5μA. Dans le mode de fonctionnement avec un écran et un capteur de température et d'humidité de 2-3mA, dans un mode de transmission de 5-8mA, une telle plage de 3 mA est due au fait que le capteur lui-même régule la puissance d'émission en fonction des données de niveau de signal.



Sous les photos de spoiler du capteur
























Sur ce, je veux tirer ma révérence, si vous êtes intéressé par tout ce qui concerne le bricolage, vous êtes un développeur de bricolage ou si vous voulez simplement commencer, vous êtes intéressé par l'utilisation d'appareils de bricolage, j'invite toutes les personnes intéressées par le chat par télégramme - DIYDEV



Tous ceux qui veulent fabriquer des appareils, commencer à construire l'automatisation de leur maison, je vous invite à vous familiariser avec protocole Mysensors facile à maîtriser - chat télégramme MySensors



Et pour ceux qui recherchent des solutions suffisamment matures pour la domotique, je vous invite au chat télégramme Open Thread .



Mon GitHub de ce projet , diagramme, fichiers gerber, modèles 3D du boîtier, bom, logiciel .



Tout le monde est gentil comme toujours!



All Articles