Automatisierung der Belüftung eines Raumes durch ein Fenster und was daraus wurde

Alles begann mit der Tatsache, dass der Raum heiß wurde, wenn der Computer funktionierte, der Raum aufgrund meiner Abwesenheit oder Faulheit nicht oft belüftet wurde (obwohl es den Anschein hat, dass Sie nur das Fenster öffnen müssen). Kurz gesagt, ich habe mich für dieses "Gerät" entschieden. Im Wesentlichen war ein Temperatursensor erforderlich, ein Mechanismus zum Öffnen und Schließen eines Fensters und eine Automatisierung, die all dies steuert.

Ich habe mich zu diesem Zeitpunkt bereits ein wenig mit den Controllern verwöhnen lassen, also habe ich beschlossen, dass ich einen Controller und den einfachsten Temperatursensor (es ist ein Thermistor) brauche - wunderbar, es heißt, es wurde gemacht, ich habe es in einem örtlichen Geschäft auf einem Steckbrett gekauft und die einfachste Automatisierung wie das Erhitzen des Sensors ausprobiert Atmung - die LED leuchtet auf, der Sensor kühlt ab - die LED erlischt. Es stellte sich ungefähr so ​​heraus:



Großartig, es funktioniert! Die nächste Frage stellte sich: Die Atmung ist klar, aber ich möchte bestimmte Temperaturwerte. Nach einer langen Berechnung der Spannungswerte und deren Umrechnung in Temperatur habe ich mehr oder weniger genaue Temperaturwerte erhalten, die ich auf einem Computermonitor beobachtet habe, indem ich Werte vom COM-Anschluss genommen habe. Freute sich auch über diese Leistung (es scheint, dass eine Person Freude braucht). Dann kam eine Idee auf, aber ich müsste die Temperaturwerte ohne Computer betrachten, und im Allgemeinen ein separates Gerät, das alleine funktioniert, und wenn Sie mit einem Computer kommunizieren müssen, scheint es interessant zu sein. Die Variante mit Sieben-Segment-Indikatoren hat sich irgendwie sehr schnell entfernt - es ist kein interessanter Typ. beschlossen, auf dem LCD zu schließen.



Ich benutzte einen solchen Indikator, begann zu verstehen, was da war und wie es passierte, was sie dort brauchten, testete es auf einem Steckbrett und kam zu dem Schluss - sie brauchen eine anfängliche Initialisierung, es hängt vom jeweiligen verwendeten Indikator ab, und wenn ich Verzögerungen beobachtete, dachte ich, wenn ich Bei einem analogen Temperatursensor mit Zeitumrechnung weist die Anzeige auch alle möglichen Verzögerungen auf. Außerdem müssen Sie den Fenstermechanismus öffnen, der am Motor am wahrscheinlichsten ist. Dort müssen Sie auch mit der Zeit rechnen.

Im Allgemeinen habe ich beschlossen, ein separates Modul zu erstellen, das sich mit der Informationsausgabe befasst (im Folgenden als MVTI-Textinformationsausgabemodul bezeichnet), und der Hauptcontroller wird darüber nachdenken, dass es nicht einmal zu Verzögerungen kommt, sondern außerdem Speicher spart. Ich entschied mich für die Standard-COM-Port-Schnittstelle (RS-232). Die Aufgabe war folgende: Ich empfange die Zeichen auf dem RS-232-Modul, gebe sie auf dem LCD aus, bevor alle erforderlichen Initialisierungen durchgeführt werden, alle erforderlichen Verzögerungen beobachtet werden, alle Arten von Überprüfungen durchgeführt werden, z. B. die Anzahl der Zeichen zum Drucken von 40 Zeichen, Übergänge in eine neue Zeile und die Korrespondenztabelle der Zeichen, die Daten von COM codieren Port und LCD, ich wollte wirklich, dass die Schlussfolgerung auf Russisch ist.

Ich habe mich mit diesem Problem befasst - eine Schaltung erstellt, die Platine geteilt und mit der Herstellung begonnen, was für mich schlecht war. Ich habe mich entschlossen, es in China zu versuchen, einen ganzen Artikel darüber auf dem Hub zu lesen und es an derselben Stelle zu bestellen, an der es sich befand Sie haben in dem Artikel auf der Website des Plattenherstellers geschrieben. Sie haben eine Mindestbestellmenge von 5 Stück und fügen 1 kostenlos zum Anhang hinzu (im Allgemeinen ist es für jeden Preis rentabler als eine Bestellung bei uns). Ich habe diese 5 Teile bei ihnen bestellt. Ich dachte, es wäre praktisch, wenn ich solche Module noch machen würde. Sie stellen sich als universell heraus. Sie können einfach ein Modemkabel am Computer auf Null stellen und etwas ausgeben (Stromversorgung über das Gerät). Einen Monat später schickten sie mir Platinen, löten die Elemente dort, schrieben ein Programm für die Steuerung, die sich im Modul befand, testeten es und ich mochte es als erste Annäherung und passten es dann leise an, als ich etwas fand. Die endgültige Version kam so heraus.



Jetzt habe ich die Temperatur auf dem LCD in der Form: Temperatur 23 GradAls ein neues Problem auftauchte, sprang sie beim kleinsten Windstoß wie dem Öffnen der Fenstertür, er ging allein - gemittelt, es stellte sich heraus, dass es normal war. Die Temperatur ist sicherlich gut, aber ich wollte auch raus und Zeit raus. Ich habe versucht, dies zu tun, den Code hinzugefügt und festgestellt, dass es beim Ausschalten Fehler gibt - es geht in die Irre und muss jedes Mal eingestellt werden. Es gab nicht genug Erfahrung mit Controllern und im Laufe der Zeit hat es nicht sehr gut geklappt, die Sekunden waren unterschiedlich und Fehler liefen schnell auf. Nachdem ich das versucht hatte, begann ich zu überlegen, was ich tun sollte, Arduino entwickelte und billige Echtzeitmodule erschienen, und ich entschied mich dafür.

Ich nahm Arduino Leonardo mit 2 UART-Ports (einer für ein Textausgabemodul, der zweite für eine Standardverbindung zu einem Computer), ein Echtzeitmodul. Es gab keine Probleme mit Bibliotheken, es gab genug Code im Internet, ich schrieb den Code schnell, testete ihn und genoss das Leben - die Zeit verging und das Datum war auch da, und als ich mich ausschaltete, ging die Zeit nicht schief, es war ein wundervolles Leben. Aber hier saß ich nicht und mochte das nicht auf dem kleinen Bildschirm des LCD, die Zeit ist sehr klein, es wäre notwendig, sich etwas auszudenken, und ich entschied mich, ein Zeitausgabemodul für Sieben-Segment-Anzeigen zu erstellen. Ich habe keinen Sieben-Segment-Indikator mit zwei Punkten guter Größe gefunden. Ich habe 2 Dual-plus-2-LEDs für Punkte verwendet. Ich habe mich dazu entschlossen, dasselbe wie bei der vorherigen zu tun, aber nicht, um die Frequenz festzulegen, sondern mit Speicherchips, die den Status von Stunden und Minuten speichern, d.Dort wird einmal pro Minute Zeit geschrieben, dann sind die Pins für andere Aufgaben frei. es stellte sich heraus, dass hier ein solches Modul ist:



Dann fand er ein passendes Gehäuse, kaufte ein Netzteil für Ali, baute es zusammen - das Auge gefällt:







Der nächste Schritt ist ein Fensteröffnungsmechanismus. Mein Holzfenster öffnet sich an der Seite eines schmalen und langen Fensters nach oben. Hier ging nicht wenig Zeit verloren, bis ich eine mehr oder weniger geeignete Option für ein System gefunden habe, das sich mit dem Öffnen und Schließen eines Fensters befasst. Im letzten Moment sieht der Mechanismus folgendermaßen aus:



Alles wurde mit improvisierten Mitteln gesammelt, die Traktion wurde vom Mechanismus der Barschranktür (noch von sowjetischem Design) übernommen, der Schrittmotor vom Drucker (Treiber auf dem L293-Chip), das weiße Kunststoffteil wurde auf einem 3D-Drucker gedruckt. Mehrmals erfüllt das aufgehellte und überarbeitete Design derzeit seine Funktion, ist jedoch nicht ganz zufrieden damit - daher plane ich, es zu modernisieren. Zum Beispiel wurde ein Programm so aufgezeichnet, dass es bei einer Temperatur von mehr als 27 ° C ein Fenster öffnet und das Fenster bei weniger als 24 Grad schließt. Es ist jedoch geplant, rechtzeitig mit einem Fokus auf die Temperatur zu lüften: Wenn die Temperatur während der Belüftung abnimmt, ist die Belüftung zeitlich gering, häufiger die Belüftung selbst und umgekehrt .

Link zum Video zum Öffnen und Schließen des Fensters

Zuletzt: Es stellte sich heraus, dass es sich um ein ziemlich eigenartiges Gerät handelte, mit der Möglichkeit, weitere Funktionen wie das Einschalten von Zeitlichtsensoren - eine Art Nano-Smart-Home - weiter zu integrieren.

PS: Ich werde Meinungen, Ideen, Kommentare usw. anhören.

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


All Articles