Taschenwetterstation

Ja, bei der Wetterstation geht es um etwas, das eine Vielzahl von Parametern von der Richtung und Stärke des Windes bis zur Sonneneinstrahlung misst, aber es gab keinen passenderen Begriff, sodass Sie irreführen müssen. Aber über die Größe ist alles fair.


Das Gerät hat vielleicht nicht viel kommerziellen Wert, weil Selbst in Bezug auf die Anzahl der Komponenten ist es vielen Chinesen unterlegen und nicht nur Waren mit ähnlicher Funktionalität.

DIY ist auch schwer zu benennen, da beispielsweise Leiterplatten mit anschließendem Löten kleiner / bleifreier Komponenten bestellt werden müssen, wodurch sich die Anzahl der Personen, die das Gerät wiederholen möchten, erheblich verringert.

Die Wetterstation selbst wurde als etwas geschaffen, ich möchte denken, ästhetisch, kompakt und in der Lage, die Temperatur + Luftfeuchtigkeit schnell zu beurteilen, und sobald der ausgewählte Sensor auch über den Druck berichten kann, dann auch dies. Alles sieht ungefähr so ​​aus (anklickbar):




Im Vergleich:


Über Eisen.

Als Sensor wurde der BOSCH-BME280 gewählt, der die gewünschten Umgebungsparameter, zumindest nach I2C, mindestens nach SPI, acht Beine in einem bleifreien LGA-Gehäuse von 2,5 x 2,5 mm liefert - relativ preiswert, winzig. Zunächst wurde ein ausgefeilterer Sensor aus derselben BME680-Serie geplant, der neben Daten, Luftfeuchtigkeit und Luftdruck laut Datenblatt auch die Luftqualität anhand des sogenannten Index for Air Quality (IAQ) bewerten kann. Es scheint nicht schlecht zu sein, aber tatsächlich stellte sich heraus, dass IAQ nur mit BSEC: Bosch Software Environmental Cluster erhalten werden kann, das basierend auf den Sensorwerten und dem Ändern dieser Werte den IAQ berechnet. Es scheint, dass Sie das Zeugnis selbst nehmen und alles berechnen können; Nicht sicher so. Auf Anfrage zur Messung der Luftqualität gibt der Sensor einen Widerstand in Ohm an.Es erwärmt das Innere eines kleinen empfindlichen Bereichs, der mit Leitfähigkeit auf das Vorhandensein flüchtiger organischer Substanzen - flüchtiger organischer Verbindungen (VOC) - reagiert und das Ergebnis liefert, d.h. Widerstand gegen diesen Bereich. Im Prinzip,Einige Handwerker bieten ihre eigenen Algorithmen zur Interpretation dieser Messwerte ohne BSEC an, aber unter anderem ließen die Mehrfachkosten im Vergleich zum BME280 keine Wahl.


Das Display besteht aus zwei TOS-F2101, dies sind gewöhnliche Sieben-Segment-Indikatoren von grüner Farbe mit einer gemeinsamen Kathode. Bemerkenswert ist, dass dies die Größe und das Gehäuse für die Oberflächenmontage sind, sodass Sie sie auf unkonventionelle Weise platzieren können. Dies sind übrigens die kleinsten planaren Indikatoren, die zum Verkauf angeboten wurden, und sie bestimmen größtenteils die Größe des gesamten Geräts.


Verwaltet alle STM32F072 in einem 48-poligen QFPN-Gehäuse. Ausgewählt wiederum basierend auf der Größe, Verfügbarkeit von Peripheriegeräten und der erforderlichen Anzahl von Schlussfolgerungen für die Steuerung von Indikatoren, die in der dualen Version aus irgendeinem Grund nicht auftreten und die Schlussfolgerungen anständig sein müssen.


Der Rest sind Widerstände, Kondensatoren, ein 3,3-V-Spannungswandler, je weniger - desto besser, natürlich innerhalb angemessener Grenzen und TTX-Komponenten.

Der USB-Anschluss befindet sich auf der Platine. Für einen zuverlässigen Kontakt sollte die Dicke der Leiterplatte ungefähr 2 mm betragen. Wenn Sie sich von der Zeichnung auf USB Typ A leiten lassen, gibt es etwas mehr, aber wenn Sie die Maske auf beiden Seiten berücksichtigen, stellt sich heraus, dass dies ziemlich erträglich ist. Natürlich bietet dieses Anschlussformat mehr Chancen für mechanische Schäden an der USB-Steckdose, aber im Großen und Ganzen kann dies mit einem normalen Flash-Laufwerk behoben werden.

Die Touch-Taste ist ein rundes Polygon unter dem Bild auf der Tafel. Die Taste reagiert auf eine kurze und lange Berührung.

Zusätzlich zur Anzeige verfügt die Karte über drei LEDs, die anzeigen, welche der Messwerte derzeit auf der Anzeige angezeigt werden.

Wie für die Software.

Das Programm wird mit CMSIS geschrieben, die Betriebsfrequenz beträgt 48 MHz und stammt von einer internen Quelle. Hier gibt es eine, Sie können sogar USB damit verwenden, ohne externen Quarz zu verwenden. Für Flexibilität und möglicherweise Erweiterung der Funktionalität wird FreeRTOS hinzugefügt.

Die Touch-Taste wird vom Touch Sensing Controller (TSC) bedient. Da es weder eine Tastatur über die Touch-Tasten auf der Platine noch Schieberegler gibt, wenn die Touchpads in einer Linie kombiniert sind, und es einen Sensor gibt, der kurze und lange Berührungen erfasst, macht es keinen Sinn, die umfassende Bibliothek von ST zu verwenden. Das Prinzip der Sensorbedienung ist einfach: Es sind mehrere Stifte zu Gruppen zusammengefasst. Ein Kondensator (Abtastkondensator) Cs ist mit einem von ihnen verbunden. Dieser Stift wird beispielhaft. Die verbleibenden Stifte der Gruppe können mit den Sensorpolygonen verbunden werden, die tatsächlich auch Cx-Kondensatoren sind . Die Steuerung lädt die Kapazität des Deponiekondensators Cx auf und diese Ladung destilliert dann in das Modell Cs. Der Vorgang wird bis zu einer bestimmten Spannungsgrenze an Cs wiederholt. Die Sensorkapazität ist normalerweise gering.Daher sind viele solcher Operationen erforderlich, und es gibt ein separates Register (TSC_IOGxCR) zum Zählen. Wenn Sie den Sensor berühren, wird die Kapazität Cx ​​größer und die Zyklen zum Laden von Cs werden weniger benötigt. Dies wird sofort behoben und eine Berührung wird nach oben gemeldet. Übrigens steigt die Sensorkapazität an, wenn keine direkte Berührung erfolgt, sodass der Sensor vor physischem Kontakt geschützt werden kann, z. B. mit einer Maske, oder Sie können verschiedene Annäherungsgrade aufzeichnen.oder verschiedene Annäherungsgrade festlegen.oder verschiedene Annäherungsgrade festlegen.

Für die Kommunikation mit dem BME280 wird die I2C-Schnittstelle verwendet. Die Implementierung von I2C in STM32F072 ist einfacher als im beliebten STM32F103. Unter anderem müssen Sie 1/2 / viele empfangene Bytes nicht separat verfolgen. Es reicht aus, deren Anzahl im Voraus anzugeben (I2C_CR2.NBYTES [7: 0]). Dieselbe Bibliothek für die Arbeit mit dem Sensor wird bereitgestellt und vom Hersteller des Sensors empfohlen. Um die Messwerte mithilfe der Bibliothek lesen zu können, müssen Sie zwei Strukturen erstellen - für Einstellungen und Daten. In den Einstellungen, die Sie vornehmen müssen:

  • Sensoradresse am I2C-Bus
  • I2C Lese- / Schreibfunktionen sowie Verzögerungsfunktion
  • die Anzahl der Ablesungen von Anzeigen zur Mittelung (Überabtastung) x1, x2 usw. für jeden der Parameter Temperatur / Feuchtigkeit / Druck
  • Filterkoeffizient für ADC
  • Zeitraum der Entfernung von Parameterwerten
  • Im Allgemeinen können Sie für einen der Parameter, die gelesen werden können, eine Temperatur belassen
  • Betriebsart "normal" - mit regelmäßigen Ablesungen, "erzwungen" - Ablesungen auf Anfrage

Wenn der „normale“ Modus ausgewählt ist, können die tatsächlichen Werte der Messwerte im Prinzip durch Ausführen der Funktion „bme280_get_sensor_data“ ermittelt werden. Dabei werden die entsprechenden Sensorregister überprüft, die direkten Messwerte gelesen und anschließend gemäß den im Mikrokreis im Werk aufgezeichneten Korrekturfaktoren verarbeitet. Infolgedessen enthält die Ausgangsdatenstruktur die Temperatur in Grad Celsius, die relative Luftfeuchtigkeit in Prozent und den atmosphärischen Druck in Pascal. Im "erzwungenen" Modus müssen Sie nur jedes Mal vor dem Lesen der Messwerte die Konvertierung "bme280_set_sensor_mode" ausführen.

Das allgemeine Prinzip des Geräts lautet wie folgt: Schließen Sie es in einer mobilen Version an USB oder an Power Bank an. Für die anfängliche Anzeige und Umschaltung von Messwerten - eine kurze Berührung des Sensors, um sie zu deaktivieren - eine lange Berührung. Zuerst wird die Temperatur in Grad Celsius angezeigt, dann die relative Luftfeuchtigkeit in Prozent und der Luftdruck in Millimetern Quecksilber, weil Es gibt nur zwei Indikatoren, und der Druckindikator geht selten über siebenhundert hinaus, dann ist die Nummer sieben hier virtuell. Wenn Sie den Sensor längere Zeit nicht berühren, werden die Anzeigen ausgeschaltet, sodass Sie beispielsweise die Power Bank nicht entladen. Der durchschnittliche Verbrauch des Geräts beträgt ~ 50 mA, und die Hauptverbraucher sind nur Indikatoren. Wenn Sie sie ausschalten, wird die Zählung an Mikroampere gesendet.




Infolgedessen beliefen sich die Gesamtkosten der Komponenten im Januar 2020 auf etwa 850 Rubel. Dies ist ohne Berücksichtigung der Platine einfach, weil Der Hersteller hatte Neujahrsrabatte, und ich habe Gutscheine, aber es ist unwahrscheinlich, dass dies in naher Zukunft erneut geschieht, zumindest bis zum nächsten Dezember. Nun, wer sich mit der Quelle vertraut machen will, kann es hier tun .

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


All Articles