Gast
#3070835
Hallo, im Rahmen eines Schulprojekts programmieren wir eine Temperaturregelung mittels des STM32VLDiscovery-Board. Auf diesem ist ein STM32F100RB-Controller verbaut. Zur Kühlung nutzen wir einen PWM-Lüfter, welcher ein Tachosignal an dem einen Anschluss liefert. Dieses Signal wird mittels Pull-Up-Widerstand gegen Versorgungsspannung gezogen und es entsteht eine schöne Rechteckfolge (funktioniert auch, haben es uns auf dem Oszi angesehen). Verbunden ist dieses Pin mit einem Quadratur-Encoder-Pin des STM32. Unsere Idee war es also zum Beispiel die steigenden Flanken über einen bestimmten Zeitraum zu zählen und dann auf eine Minute hochzurechnen. Damit hätte man ja in etwa die Drehzahl des Lüfters ermittelt. Wir wissen auch, dass der Lüfter zwei Flanken pro Umdrehung liefert. Jetzt zu unserem eigentlichen Problem. Wir erhalten keine sinnvollen Werte beim Auslesen des Encoders. Entweder enthält der Counter eine 0, oder den Wert der definierbaren Obergrenze oder aber er zählt hintereinander weg, auch wenn kein Lüfter angeschlossen ist. Hat jemand schon mal ein ähnliches Problem gehabt oder ist gar unser Lösungsansatz so nicht machbar? Wie kann man denn solch ein Tachosignal sinnvoll zählen/messen? Bin euch sehr dankbar für eure Hilfe. Grüße Mirco