Station météo de poche

Oui, la station météorologique concerne quelque chose qui mesure un grand nombre de paramètres, de la direction et de la force du vent au niveau du rayonnement solaire, mais il n'y avait pas de terme plus approprié, vous devez donc induire en erreur. Mais à propos de la taille, tout est juste.


L'appareil n'a peut-être pas beaucoup de valeur commerciale, car même dans la quantité de composants, il est inférieur à de nombreux chinois, et pas seulement aux produits qui ont des fonctionnalités similaires.

Le bricolage est également difficile à nommer en raison de la nécessité de commander des cartes de circuits imprimés avec un soudage ultérieur de petits composants / sans plomb, ce qui réduit considérablement le nombre de personnes qui souhaitent répéter l'appareil.

La station météorologique elle-même a été créée comme quelque chose, je veux penser, esthétique, compact et capable d'évaluer rapidement la température + l'humidité autour, et une fois que le capteur sélectionné peut également parler de la pression, alors cela aussi. Tout ressemble à quelque chose comme ça (cliquable):




Par rapport:


À propos du fer.

En tant que capteur, le BOSCH-BME280 a été choisi, ce qui donne les paramètres environnementaux requis même selon I2C, même selon SPI, huit pieds dans un boîtier LGA sans plomb mesurant 2,5 x 2,5 mm - relativement peu coûteux, minuscule. Initialement, un capteur plus sophistiqué était prévu à partir de la même série BME680, qui, en plus de la température, de l'humidité et de la pression atmosphérique, selon la fiche technique, peut également évaluer la qualité de l'air par le soi-disant Index for Air Quality (IAQ). Cela semble bien, mais en fait, il s'est avéré que la QAI ne peut être obtenue qu'en utilisant BSEC: Bosch Software Environmental Cluster, qui, en fonction des lectures du capteur et de la modification de ces lectures, calcule la QAI. Il semblerait que vous puissiez prendre le témoignage vous-même et tout calculer; Pas certainement de cette façon. Sur demande pour mesurer la qualité de l'air, le capteur donne une résistance, en ohms.Il chauffe l'intérieur d'une petite zone sensible qui réagit avec conductivité à la présence de substances organiques volatiles - Composés Organiques Volatils (COV), et donne le résultat i.e. résistance à cette zone. Fondamentalement,certains artisans proposent leurs propres algorithmes pour interpréter ces lectures sans BSEC, mais, entre autres, le coût multiple, par rapport au BME280, n'a laissé aucun choix.


L'écran se compose de deux TOS-F2101, ce sont des indicateurs ordinaires à sept segments de couleur verte avec une cathode commune. Parmi les notables, il s'agit de la taille et du boîtier pour un montage en surface, vous permettant de les placer de manière non conventionnelle. Soit dit en passant, ce sont les plus petits indicateurs planaires qui ont été trouvés en vente, et ils déterminent, pour la plupart, la taille de l'ensemble de l'appareil.


Gère tous les STM32F072 dans un boîtier QFPN à 48 broches. Sélectionné, encore une fois, en fonction de la taille, de la disponibilité des périphériques et du nombre requis de conclusions pour contrôler les indicateurs qui, dans la version double, pour une raison quelconque, ne se produisent pas et les conclusions doivent être décentes.


Le reste est constitué de résistances, de condensateurs, d'un convertisseur de tension de 3,3 V, le moins - le mieux, dans des limites raisonnables et les composants TTX, bien sûr.

Le connecteur USB est fait sur la carte. Pour un contact fiable, l'épaisseur du PCB doit être d'environ 2 mm. Si vous êtes guidé par le dessin sur USB Type-A, alors il y en a un peu plus, mais si vous prenez en compte le masque des deux côtés, cela s'avère assez tolérable. Bien sûr, ce format du connecteur laisse plus de chances de dommages mécaniques à la prise USB, mais, dans l'ensemble, cela peut être traité en utilisant un lecteur flash ordinaire.

Le bouton tactile est un polygone rond sous l'image sur le tableau, le bouton répond à un toucher court et long.

En plus de l'affichage, la carte dispose de trois LED qui indiquent laquelle des lectures est actuellement affichée sur l'indicateur.

Quant au logiciel.

Le programme est écrit en utilisant CMSIS, la fréquence de fonctionnement est de 48 MHz et d'une source interne; il y en a un ici, vous pouvez même utiliser USB avec lui sans utiliser de quartz externe. Pour la flexibilité et, éventuellement, l'extension des fonctionnalités, FreeRTOS est ajouté.

Le bouton tactile est géré par le contrôleur tactile (TSC). Puisqu'il n'y a pas de clavier à partir des boutons tactiles sur la carte ou des curseurs, lorsque les touches tactiles sont combinées en ligne, et qu'il y a un capteur qui capture les touches courtes et longues, il n'y a aucun sens à utiliser la bibliothèque complète de ST. Le principe de fonctionnement du capteur capteur est simple, il y a plusieurs conclusions combinées en groupes, un condensateur (condensateur d'échantillonnage) Cs est connecté à l'un d'eux, cette conclusion devient exemplaire, les conclusions restantes du groupe peuvent être connectées aux polygones des capteurs, qui sont en fait également des condensateurs Cx . Le contrôleur charge la capacité du condensateur de décharge Cx puis cette charge distille dans le modèle Cs, l'opération est répétée jusqu'à une certaine limite de tension sur Cs. La capacité du capteur est généralement petite,par conséquent, de nombreuses opérations de ce type seront nécessaires et il existe un registre séparé (TSC_IOGxCR) pour le comptage. Si vous touchez le capteur, alors la capacité Cx deviendra plus grande et les cycles de charge Cs seront moins nécessaires, cela est immédiatement fixé et un contact est signalé vers le haut. Soit dit en passant, la capacité du capteur commence à augmenter lorsqu'il n'y a pas de contact direct, de sorte que le capteur peut être protégé du contact physique, par exemple avec un masque, ou vous pouvez enregistrer différents degrés d'approximation.ou fixer différents degrés d'approximation.ou fixer différents degrés d'approximation.

Pour communiquer avec le BME280, l'interface I2C est utilisée. L'implémentation d'I2C dans STM32F072 est plus simple que dans le STM32F103 populaire, entre autres, vous n'avez pas besoin de suivre séparément 1/2 / plusieurs octets reçus, il suffit de spécifier leur nombre à l'avance (I2C_CR2.NBYTES [7: 0]). La même bibliothèque pour travailler avec le capteur est fournie et recommandée par le fabricant du capteur. Afin de lire les lectures à l'aide de la bibliothèque, vous devez créer deux structures - pour les paramètres et les données. Dans les paramètres que vous devez effectuer:

  • adresse du capteur sur le bus I2C
  • Fonctions de lecture / écriture I2C ainsi que la fonction de retard
  • le nombre de lectures d'indications de moyennage (suréchantillonnage) x1, x2, etc., pour chacun des paramètres température / humidité / pression
  • coefficient de filtrage pour ADC
  • période de suppression des valeurs des paramètres
  • en général, lequel des paramètres peut être lu, par exemple, vous pouvez laisser une température
  • mode de fonctionnement, "normal" - avec relevés périodiques, "forcé" - relevé sur demande

En principe, si le mode «normal» est sélectionné, alors les valeurs réelles des lectures peuvent être obtenues en exécutant la fonction «bme280_get_sensor_data», il va regarder les registres de capteurs correspondants, lire les lectures directes, puis les traiter conformément aux facteurs de correction enregistrés dans le microcircuit en usine. Par conséquent, la structure des données de sortie contiendra la température en degrés Celsius, l'humidité relative en pourcentage, la pression atmosphérique en pascals. En mode "forcé", la même chose, seulement à chaque fois avant de lire les lectures, vous devez exécuter la conversion "bme280_set_sensor_mode".

Le principe général de l'appareil est le suivant: se connecter en USB, ou à Power Bank dans une version mobile. Pour l'affichage initial et la commutation des lectures - une touche courte du capteur, pour désactiver - une touche longue. Tout d'abord, la température en degrés Celsius est affichée, puis l'humidité relative en pourcentage et la pression atmosphérique en millimètres de mercure, car il n'y a que deux indicateurs, et l'indicateur de pression dépasse rarement sept cents, alors le nombre sept est virtuel ici. Si vous ne touchez pas le capteur pendant un certain temps, les voyants s'éteignent pour que, par exemple, vous ne déchargiez pas le Power Bank. La consommation moyenne de l'appareil est de ~ 50 mA, et les principaux consommateurs ne sont que des indicateurs.Si vous les éteignez, le décompte va aux microampères.




En conséquence, le coût total des composants en janvier 2020 s'est avéré être d'environ 850 roubles, c'est sans tenir compte de la carte, c'est devenu facile, car le fabricant avait des remises du Nouvel An, et j'ai des coupons, mais cela ne se reproduira probablement pas dans un avenir proche, au moins jusqu'en décembre prochain. Eh bien, ceux qui veulent se familiariser avec la source peuvent le faire ici .

Source: https://habr.com/ru/post/undefined/


All Articles