| Lüfter mit FeedbackESP32, Tachosignal, InterruptDer schwarz-weiße Lüfter von Arctic F8 verfügt neben den zwei Anschlüssen für Spannungsversorgung auch über einen
weiteren Anschluss (Tacho-Ausgang), der es möglich macht, die aktuelle Drehzahl des Lüfters auszulesen. Ein solches Tachosignal
kann für Drehzahlüberwachung oder diverse Regelungsaufgaben verwendet werden. Im Fall des Arctic F8 Lüfters liefert der Ausgang
zwei Impulse pro Umdrehung. In dem Versuch werden diese Impulse erfasst und gezählt, um die aktuelle Drehzahl des Lüfters zu
ermitteln. Die Rechenaufgabe übernimmt der Mikrocontroller ESP32. Die Impulse werden mithilfe der Interrupt-Methode
erfasst. Lüfter Arctic F8Frontansicht. Der Lüfter liefert auf seiner dritten Leitung (Tacho) pro Umdrehung 2 Signale, die erfasst und
ausgewertet werden können. Mit einer einfachen Formel kann man dann schnell die aktuelle Drehzahl errechnen. Dank des
Tachosignals kann der Lüfter auf Funktionalität überwacht werden. Bei Bedarf kann das Tachosignal auch für Regelungen verwendet
werden. Das Tachosignal ist LOW-aktiv. Das bedeutet, die Tacholeitung wird pro Umdrehung zwei Mal mit Masse verbunden. High-Pegel
kann dann z.B. mithilfe eines Pull-Up Widerstandes erzeugt werden. Rückansicht Technische Daten:
Anschluss Mikrocontroller ESP32In der Schaltung hat der Mikrocontroller äußerst wenig zu tun. Mit einem Interrupt werden die Tachosignale erfasst und
gezählt. Mithilfe einer einfachen Formel wird die aktuelle Drehzahl berechnet und anschließend auf einer 7-Segmentanzeige angezeigt.
Das war‘s schon. SpannungsreglerDie Schaltung ist mit zwei Spannungsreglern ausgestattet. Mit dem einen wird der Lüfter manuell gesteuert. Die Spannungsregler
können als kompakte, fertige Module erworben werden. Sie sind mit einem Trimmer ausgestattet, mit dem die Ausgangsspannung
eingestellt werden kann. Bei dem ersten Regler habe ich diesen Trimmer ausgebaut und mit einem 10K Potentiometer ersetzt. Mit
zwei Widerständen wurde der Regelbereich auf max. 12 VDC begrenzt. Eine solche Maßnahme ist natürlich nicht zwingend notwendig.
7-SegmentanzeigeDie Anzeige der aktuellen Drehzahl übernimmt ein Modul mit dem Treiber TM1637 und 4-facher 7-Segmentanzeige. Für die Kommunikation mit dem Modul muss der Mikrocontroller zwei Pins zur Verfügung stellen. 7-Segmentanzeige mit TM1637Der SchaltplanDer Schaltplan.
Die TestschaltungDie Testschaltung Das Programm (Sketch)// ************************************************************************************// Lüfter mit Tacho // Ermittlung aktueller Drehzahl // Schaltung mit dem Mikrocontroller ESP32 und Arctic Lüfter F8 // IDE 1.8.19 // ************************************************************************************ #include "TM1637Display.h" // Bibliothek Display einbinden #define CLK 19 // GPIOs für CLK und #define DIO 18 // DIO Anschlüsse TM1637Display display(CLK, DIO); int Zaehler = 0; int TachoPin = 32; // GPIO für Rückmeldung vom Lüfter // ************************************************************************************ void setup() { display.setBrightness(15); // Display Helligkeit display.clear(); // Display löschen pinMode (TachoPin, INPUT_PULLUP); // Eingang Tacho als PullUp // Interrupt, fallende Flanke attachInterrupt(digitalPinToInterrupt(TachoPin), Impuls_Zaehler, FALLING); } // ************************************************************************************ void loop() { int Drehzal = (Zaehler / 2) * 60; // Drehzahl Berechnung String Ausgabe = String (Drehzal); // Vorbereitung zur Ausgabe // Ausgabe Display display.showNumberDecEx(Ausgabe.toInt(), 0b00000000, false, 4, 4); Zaehler = 0; // Zähler nullen delay (1000); // Wartezeit 1 Sek. } // ************************************************************************************ void Impuls_Zaehler() { Zaehler++; // Zähler um 1 erhöhen } Das Programm hat nicht allzu viel zu tun. Im SetUp Bereich wird das Interrupt aktiviert. Sobald an dem Eingang
„Tacho_Pin“ (GPIO 32) fallende Flanke erkannt wird, wird das Unterprogramm „Impuls_Zaehler“ aufgerufen und ausgeführt. Hier
wird lediglich der Impulszähler inkrementiert. Parallel dazu läuft das Loop-Programm. In dem Teil des Programms wird im
Sekundentakt die Drehzahl berechnet und angezeigt.
|
Google-Suche auf MEINE-SCHALTUNG.de : |