Schönen Abend euch,
nach längerer Auszeit, möchte ich gerne mal wieder mit meinem STM
basteln. Habe meinen alten Boxed-CPU-Kühler (4Pin) rausgekramt und drauf
los programmiert, oder auch nicht.
Habe das ganze nach diesem Schema angeschlossen:
http://i240.photobucket.com/albums/ff102/jackthenewbie/cpufan.jpg
GND und VCC verlaufen auf mein Steckbrett, die 12V kommen von der
Lüftersteuerung meines PC's (schlechte Idee ich weiß, habe im Moment
aber keine andere 12V-Quelle).
GND von meinem Discovery-Board(stm32f4) geht ebenfalls zu GND der
Lüftersteuerung auf dem Steckbrett.
Der PWM-Ausgang geht direkt in dessen Eingang, des CPU-Kühlers.
Der Kühler dreht es komplett auf, pendelt sich dann langsam bei der
Hälfte seiner "stärke" ein.
Habe die Befürchtung, dass mein PWM nicht ganz stimmt, klemme ich dieses
an einem Piezo, oder einer LED, bekomme ich kein hör, bzw. sehbares
Signal.
Den PWM habe ich mal auf 25kHz ausgelegt.
Wer interesse hat, darf gerne mal in meinem Code schnüffeln:
Doch, 2:
a) 25kHz hören dürfte schwer werden (menschliches Gehör ca. 16Hz -
20kHz)
b) 25kHz sehen dürfte unmöglich sein (menschliches Auge: ca. 25 Hz)
Un woher weißt du, dass der Lüfter "knapp die Hälfte" fährt? Drehzahl
gemessen?
Was genau ist denn jetzt das Problem / die Frage? Außer dein "Gefühl",
dass das nicht richtig ist?
Nein es geht ja garnicht. Der von mir beschriebene Zustand trifft auch
ein, wenn das PWM Signal nicht am Lüfter angeschlossen ist. Meine PWM
bewirkt keine Zustandsänderung.
Das der Lüfter nur noch mit der Hälfte seiner Drehzahl dreht ist von mir
nur geraten, wollte damit nur das Vorgehen des Lüfters erklären. Er
macht das gleiche, wie wenn das PWM-Signal nicht dem Lüfter zugeführt
wird. Deswegen habe ich das "Gefühl" das meine PWM nicht zu
funktionieren scheint, was ja auch der Fall ist, wenn dieser bei einem
unterschiedlichen Pulse absolut kein Zustand ändert.
Grüße Marcel
Hast du mal die Frequenz WEIT runtergeschraubt? 25kHz erscheinen mir
irgendwie arg viel?
http://www.meisterkuehler.de/forum/ideen-innovationen/23264-vorstellung-einfache-lueftersteuerung-selber-bauen.html
Da steht was von "Wird die Frequenz auf 20 kHz erhöht, so dass sie vom
menschlichen Gehör nicht mehr wahrgenommen werden, so läuft der Lüfter
häufig nicht mehr richtig. Die im Lüfter integrierte Elektronik ist der
Schuldige."
Probier mal, wie da beschrieben, 100-150 Hz (ohne k!)
Außerdem: Wie hast du die Leitungen mit deinem MC verbunden? Evtl. ist
der Pin des Lüfters ja Open-Collector und du musst einen PullUp
verwenden?
Okay, habe jetzt auch ein Pull-UP Widerstand der Schaltung hinzugefügt.
Mit der Frequenz selbst habe ich auch ein bisschen rum gespielt (1khz,
25khz, 100hz, 150hz) nichts hat den Drehimupuls des Lüfters verändert,
er lief konstant mit ca. 50% weiter.
Grüße Marcel
Wie soll denn ein CPU-Kühler denn sonst angesprochen werden? Kann mir
kaum vorstellen, dass der keine PWM hat, der war bei meinem Xeon 1231v2
drinne.
Grüße Marcel
Kann evtl. mal jemand über meinen Code schauen? Denn wenn ich mit der
Funktion: "SetPwmPercentage" versuche eine PWM auf 100% zu betrieben,
scheint meine LED nicht voll zu leuchten. Die LED nutze ich im Moment
nur zum testen der PWM, da laut einem Post hier, mein CPU Kühler kein
PWM versteht, was ich schwer glauben kann.
Grüße Marcel
Repac3r schrieb:> Kann evtl. mal jemand über meinen Code schauen? Denn wenn ich mit der> Funktion: "SetPwmPercentage" versuche eine PWM auf 100% zu betrieben,> scheint meine LED nicht voll zu leuchten. Die LED nutze ich im Moment> nur zum testen der PWM, da laut einem Post hier, mein CPU Kühler kein> PWM versteht, was ich schwer glauben kann.>> Grüße Marcel
Hallo Marcel,
am besten wir raten alle nicht sondern Du versuchst einmal mit einem
Messgerät nachzuvollziehen was Fakt ist. Dadurch lernst Du Deine eigene
Schaltung zu kontrollieren.
a) Betriebsspannungen messen
b) Ausgangsspannungen messen. PWM auf 100% stellen und messen, PWM auf
0% Stellen und messen, PWM auf 50% stellen und messen, ... Ströme
messen,...
c) Belastbarkeit der Ausgänge prüfen (Datenblätter), Belsatung durch
Eingänge prüfen, Schaltschwellen prüfen, ...
rgds
Michael Mayer schrieb:> Hallo,>> mit welchem Takt läuft denn dein STM?>> Viele Grüße Michael
Er taktet mit 168Mhz
@6A66: Hast natürlich recht. Gestaltet sich aber schwer, wenn man keine
dafür geeignete Instrumente hat. Evtl. kann man ja mit nem AVR den PWM
messen mal schauen. Was kannst du mir da für Mess-Instrumente empfehlen,
die dieses können?
Grüße Marcel
Repac3r schrieb:> @6A66: Hast natürlich recht. Gestaltet sich aber schwer, wenn man keine> dafür geeignete Instrumente hat.
Im Baumarkt gibt es einfache Digitalmessgeräte für roundabout 10EUR.
Damit kann man die Spannung auf etwa 5% genau abschätzen, das ist
ausreichend.
Was glaubst Du was es uns kostet, Dich hier zu beraten?
Ich mach das mal nebenher zum Job während der Lötkolben anheizt, Das CAE
System startet, der Kaffee durchläuft, ...
rgds
das du beim ReInit der PWM auch die Polarität änderst, das ist unnötig.
TIM_OCPolarity_High wäre schon richtig.
Ich hatte mich auch über die 25kHz gewundert, scheint aber der Standard
bei diesen Lüftern zu sein:
https://en.wikipedia.org/wiki/Computer_fan_control#Pulse-width_modulation
Es kann manchmal nötig sein, dem Timer ein Update Event unterzuschieben:
1
TIM3->EGR|=(1<<TIM_EGR_UG);
Ist aber bei den CCR Registern selten. Wenn du übrigens statt Timer 3
den Timer 4 Channel 2 benutzt, ist die orange LED eine Indikator für die
PWM.
Michael Mayer schrieb:> Repac3r schrieb:>> Er taktet mit 168Mhz> Und wie steht der APB1 Prescaler?
Der Takt wird ja geteilt, am Ende kommt dann 84Mhz raus.
6A66 schrieb:> Was glaubst Du was es uns kostet, Dich hier zu beraten?> Ich mach das mal nebenher zum Job während der Lötkolben anheizt, Das CAE> System startet, der Kaffee durchläuft, ...>> rgds
Danke für die Hilfe, werde mal schauen was ich so finde. Denkst du
wirklich, dass du der einzige mit einem Beruf bist?
Matthias Sch. schrieb:> Am Code fällt mir erstmal das auf: timOcInit.TIM_OCPolarity => TIM_OCPolarity_Low;> das du beim ReInit der PWM auch die Polarität änderst, das ist unnötig.>> TIM_OCPolarity_High wäre schon richtig.> Ich hatte mich auch über die 25kHz gewundert, scheint aber der Standard> bei diesen Lüftern zu sein:> https://en.wikipedia.org/wiki/Computer_fan_control...>> Es kann manchmal nötig sein, dem Timer ein Update Event unterzuschieben:> TIM3->EGR |= (1 << TIM_EGR_UG);> Ist aber bei den CCR Registern selten. Wenn du übrigens statt Timer 3> den Timer 4 Channel 2 benutzt, ist die orange LED eine Indikator für die> PWM.
Okay, werde ich heute Abend mal testen, vielen Dank.
Ist es evtl. Möglich, dass der Kühler, gerne eine PWM aus 12V
Ausgangspannung haben möchte, statt die vom Board "erzeugten" 5V?
Grüße Marcel
repac3r schrieb:> Ist es evtl. Möglich, dass der Kühler, gerne eine PWM aus 12V> Ausgangspannung haben möchte, statt die vom Board "erzeugten" 5V?
Wikipedia behauptet, das 5V oder 3,3V reichen, das aber im Lüfter ein
Pullup auf eine solche Schiene sei.
Das kannst du aber am offenen Lüftereingang mal nachmessen. Ohne MC
sollte da also ein 'High' stehen. Wenn nicht, füge einen Pullup auf 3,3
oder 5V mit z.B. 1k Ohm hinzu.
Ohne Messgerät wird das aber nichts. Und du brauchst immer mal eines.
repac3r schrieb:> Danke für die Hilfe, werde mal schauen was ich so finde. Denkst du> wirklich, dass du der einzige mit einem Beruf bist?
Nein, aber wenn ich das nebenbei so machen habe ich halt nicht viel
Zeit. Und dann wäre es gut, die Fehler, die man selbst ausräumen kann
erst mal selber auszuräumen. Da Du das anscheinend nicht im Beruf machst
- ich vermute mal sonst hättest Du entsprechend Messgeräte - und ich
nebenher hinkt Dein "Vergleich" also. Gilt im übrigen auch generell:
Ertsn mal selbst ausschließen, dann Hilfe holen.
So und jetzt sind die CPUs geflasht.
rgds
Matthias Sch. schrieb:> Pullup auf eine solche Schiene sei. Das kannst du aber am offenen> Lüftereingang mal nachmessen. Ohne MC sollte da also ein 'High' stehen.> Wenn nicht, füge einen Pullup auf 3,3 oder 5V mit z.B. 1k Ohm hinzu.> Ohne Messgerät wird das aber nichts. Und du brauchst immer mal eines.
In den von mir oben geposteten "Schaltplan" habe ich schon einen PullUp
mit 10k auf 5v.
@6A66: Okay überredet, werde mir eins zulegen.
Grüße Marcel
Ich rate mal zwischen die PWM soll eine Steuerspannung für den Lüfter
generieren und die PWM soll die Versorgungsspannung des Lüfters stellen.
In alter Zeit habe ich das mit einer temparaturabhängigen
Widerstandskomponente und einen Transistor als Längsregler gemacht.
Läuft immer noch. ;-)
Tiefpaßfilter helfen.
noreply@noreply.com schrieb:> Ich rate mal zwischen die PWM soll eine Steuerspannung für den> Lüfter> generieren und die PWM soll die Versorgungsspannung des Lüfters stellen.
Nein, schaut sich niemand mein "Schaltplan"-Ähnliches Bild an? Es geht
um einen ganz normalen 4 Pin PWM Lüfter. Die Versorgungsspannung kommt
vom 12V-Ausgang meines Computers. Allein der Steuerimpuls bzw. die PWM
zeigt kein Einfluss auf den Lüfter. Wie gesagt, um mehr sagen zu können,
muss ich mir erstmal ein Multimeter anlegen, um die Spannungen zu
messen.
Grüße Marcel
repac3r schrieb:> Wie gesagt, um mehr sagen zu können,> muss ich mir erstmal ein Multimeter anlegen, um die Spannungen zu> messen.
Welche Steuerspannung erwartet denn Dein Lüfter. Kann es sein dass der
auch 12V PWM-Signale erwartet?
rgds
6A66 schrieb:> Welche Steuerspannung erwartet denn Dein Lüfter. Kann es sein dass der> auch 12V PWM-Signale erwartet?>> rgds
Habe ich auch vorhin schon gefragt, die Antwort darauf hin: "nein laut
Wiki, kann dieser auch mit 3.3V & 5V angesteuert werden". Werde es
dennoch mal versuchen, ob dies was ändert.
Grüße Marcel
repac3r schrieb:> Habe ich auch vorhin schon gefragt, die Antwort darauf hin: "nein laut> Wiki, kann dieser auch mit 3.3V & 5V angesteuert werden". Werde es> dennoch mal versuchen, ob dies was ändert.
Achtung: Nach Deinem Link
repac3r schrieb:> Okay, laut http://www.formfactors.org/developer/specs/REV1_2_Public.pdf
Dürfte die Spannung an PWM 5,25V nicht überschreiten:
"Absolute maximum voltage level: VMax = 5.25 V (open circuit voltage) "
Die hast Du aber mit einem Pullup nach 12V schon überschritten.
Hast Du mal ins RICHTIGE Datenblatt DEINES Lüfters reingesehen?
rgds
6A66 schrieb:> "Absolute maximum voltage level: VMax = 5.25 V (open circuit voltage) ">> Die hast Du aber mit einem Pullup nach 12V schon überschritten.
Wo habe ich denn bitte den PullUp an 12V gelegt?
Ich weiß, der Schaltplan ist sehr undeutig, habe mich in Eagle nocht
nicht eingelesen. Jedoch führt der PullUp in den VCC des Boards, genauer
gesagt in den 5V Ein/Ausgang.
Naja das ist ein standard Intel-Boxed Kühler. Werde jedoch trotzdem mal
schauen, ob ich dafür ein Datenblatt finde, melde mich dann.
Grüße Marcel
repac3r schrieb:> Wo habe ich denn bitte den PullUp an 12V gelegt?> Ich weiß, der Schaltplan ist sehr undeutig
Du hast nur eine "VCC", und die ist mit 12V verbunden. Zumindest im
Schaltplan. Undeutig? Undeutlich!
repac3r schrieb:> Jedoch führt der PullUp in den VCC des Boards, genauer> gesagt in den 5V Ein/Ausgang.
Gut.
rgds
repac3r schrieb:> Nein, schaut sich niemand mein "Schaltplan"-Ähnliches Bild an?
Lohnt sich das? Ich sehe keine GND Verbindung zwischen PWM-Erzeugung und
Lüfter. Jetzt kann ich wieder raten warum.
Und es geht hier doch um die Fragen.
Welches Steuersignal will der Lüfter sehen.
Welches Steuersignal erzeugt das STM32X. Oszi?
So habe auf die schnelle dieses Datenblatt gefunden:
http://www.intel.ru/content/dam/www/public/us/en/documents/design-guides/3rd-gen-core-lga1155-socket-guide.pdf
Witzigerweise wird hier ebenfalls auf das oben genannten Datenblatt
verwießen (http://www.formfactors.org/developer/specs/REV1_2_Public.pdf)
Habe das Datenblatt von Intel ein wenig durchgestöbert, dort stehen
exakt die gleichen Angaben drinne, wie in dem Blatt von Formfactors.
- Zu betreiben ist die PWM mit 25kHz.
- Die Spannung am PWM sollte nicht höher als 5.2V gehen.
Die Daten sind also richtig. Ich schaue heute nochmal genau, auf welchem
Clock sich der STM32F407VG befindet und passe es evtl. an. Ich bin denke
ich jetzt an einem Punkt angekommen, bei diesem mir nur noch ein
Multimeter mehr sagen kann.
Grüße Marcel
repac3r schrieb:>> https://en.wikipedia.org/wiki/Computer_fan_control...
btw. Wenn der Lüfter auf den nachfolgenden Wiki-Artikel hört, dann gibt
es
Sense – provides a tachometer signal that measures the actual speed of
the fan as a pulse train, frequency being proportional to speed. With
each fan rotation, there are two pulses sent through this pin.
Da könnte man dann Pulse zählen und ausgeben.