Lüfter- und Temperaturkontrolle v0.9.2 (PFControl)

Profiler

TP-Softwareentwickler
Themenstarter
Registriert
31 Mai 2006
Beiträge
253
Hallo,

ich habe mir Mithilfe von ein paar Anregungen eine eigene Lüfter- und Temperaturkontroll - Software mit Delphi geschrieben und würde mein Programm hier mal zum Download und Feedback anbieten.

Auf dieser Website findet ihr alle Versionen inklusive Delphi-Quellcode: http://fancontrol.de/

Ich habe das Programm für meinen T23 geschrieben, aber es funktioniert auch bei älteren bzw. neueren Thinkpads. Je nach Modell sind verschiedene Temperatursensoren vorhanden.

Bis jetzt zeigt das Programm die Temperaturen von CPU, Board, PCMCIA-Slot, Hauptbatterie und wenn eingesteckt auch von einer Ultrabay 2000 Batterie an. Bei neueren Thinkpads sind sogar mehr Sensoren möglich.

Es gibt 3 Funktionsmodi. Der erste ist Bios-Controller. Hierbei wird wie gewohnt der Lüfter vom BIOS gesteuert und man benutzt das Programm nur als Temperaturkontrolle. Dann gibt es den Modus INI-Einstellungen. Hier werden bestimmte Geschwindigkeiten bei benutzerdefinierten Temperaturschwellen automatisch eingestellt. Schließlich gibt es noch die manuelle Kontrolle, wobei der Benutzer mit einem Schieberegler die 4 Geschwindigkeiten manuell einstellen kann.

Von allen Temperaturen wird die höchste oder nach Wunsch auch eine bestimmte Temperatur im SystemTray mit einer farbigen Untermalung angezeigt. Um alle Features hier aufzuzeigen, müsste man noch eine Menge Text schreiben. Wenn man den kompletten Beitrag liest, kann man die Entwicklung aber auch nach und nach vervolgen. Wer sie alle genau wissen möchte, sollte das Programm einfach mal herunterladen und ausprobieren ;).

Für Kritiken, Bugs und Verbesserungsvorschläge bin ich sehr offen :-)

Gruß
Profiler
 
Zuletzt bearbeitet von einem Moderator:
Bei Messungen an einem weiteren Notebook T43 ist mir aufgefallen, dass der Lüfter sehr viel weniger spontan reagiert als bei meinem T42. Vorallem beim Wechsel von Stufe 6 auf 7 dauert die Beschleunigungsphase fast 30 Sekunden.

Beim T43 werden (ohne eingesetzer Batterie) 7 Temperatursensoren unterstützt. Auslesen der Festplattentemperatur klappt hier nicht (auch nicht per WMI).

Zum Ballontip: Die Sache ist eigentlich nicht weiter wichtig. Derzeit benutzt du beim Hovern über dem TrayIcon einen Ballontip (Sprechblase), ich dache du könntest vielleicht doch wieder zurück zu einem normalen Tooltip wechseln (Bei vielen anderen Programmen sind Ballontips nervig). Dein Argument für den Ballontip war, dass es nicht möglich ist in Tooltips mehrzeilige Informationen darzustellen. Dies sollte aber gehen, wie bereits erwähnt.


Messwerte: T43 IBM 2668PEG

0 - 0000 - Offline
1 - 3200 - Langsam
2 - 3200 - Langsam
3 - 4100 - Schnell
4 - 4800 - Schnell
5 - 4800 - Schnell
6 - 4800 - Benutzerdefiniert
7 - 6200 - Nachbrenner
 

Anhänge

  • 2007-03-15_143207.png
    2007-03-15_143207.png
    6,8 KB · Aufrufe: 329
@jaydee
Zum Ballontip: Die Sache ist eigentlich nicht weiter wichtig. Derzeit benutzt du beim Hovern über dem TrayIcon einen Ballontip (Sprechblase), ich dache du könntest vielleicht doch wieder zurück zu einem normalen Tooltip wechseln (Bei vielen anderen Programmen sind Ballontips nervig). Dein Argument für den Ballontip war, dass es nicht möglich ist in Tooltips mehrzeilige Informationen darzustellen. Dies sollte aber gehen, wie bereits erwähnt.
Achso ja es ist vielleicht möglich, nur habe ich es net hinbekommen ;) Naja was ist an einem normalen Tooltip besser? Wenn dich die Anzeigezeit stört, kannst du die einfach runternehmen bzw., wenn du garkeinen willst, die Verzögerung auf Maximum setzen.

Die Messwerte sehen so aus wie bei meinem T23.
Den Sensor für die Spannungsversorgung solltest du umbenennen, der überschreibt leider die Temperatur :D

Auslesen der Festplattentemperatur klappt hier nicht (auch nicht per WMI).
Das mit dem WMI wird irgendwie immer falsch interpretiert, ist auch sehr undurchsichtig, sorry mein Fehler. Die Temperatur wird aus den S.M.A.R.T. - Daten der Festplatte bezogen, da ich die Temperatur in der WMI bisher nicht gefunden habe. Die Option bei Development aktiviert lediglich die Funktion für die Temperaturermittlung, welche den Festplattenzugriff verursacht. Wenn man die Option deaktiviert, funktioniert auch der Sensor nicht. Die Option muss heissen "SMART-Temperatur der Festplatte auslesen (Sensor 16)". Mit WMI hat das nichts mehr zu tun. Per WMI wird derzeit lediglich die Modellnummer ausgelesen.

Gruß
Profiler
 
@profiler

Ich bin erfreut, dass Du mit meinem Statement etwas anfangen kannst, habe mich ja nicht so eindeutig ausgedrückt. Mal wieder Top, wie sehr Du dich da rein hängst!

Hier noch mal die Werter meines R51 1830W4R

Stufe 0 = 0 U/min = Byte "0"
Stufe 1 = 3284 U/min = Byte "1"
Stufe 2 = 3315 U/min = Byte "2"
Stufe 3 = 3421 U/min = Byte "4" (Veränderung wahrnehmbar)
Stufe 4 = 3776 U/min = Byte "8" (Veränderung wahrnehmbar)
Stufe 5 = 3828 U/min = Byte "16"
Stufe 6 = 3785 U/min = Byte "32"
Stufe 7 = 5537 U/min = Byte "64" (Veränderung wahrnehmbar)


Die Umdrehungszahlen schwanken teilweise deutlich zwischen +-250 U/min. Dies lässt sich bei mir leicht reproduzieren, wenn ich die Stufen nicht von z.B. Stufe 4 auf Stufe 5 wechsel, sondern jedesmal den Lüfter auf Stufe 0 stelle, und dann daraufhin die gewünschte (Test-)Stufe wähle.
Aus meinen subjektiven Beobachtungen heraus stellt sich das Lüfterverhalten wie folgt da;

Stufe 0* = 0 U/min = Byte "0"
Stufe 1* = ~3300 U/min = Byte "1,2"
Stufe 2* = ~3400 U/min = Byte "4"
Stufe 3* = ~3800 U/min = Byte "8,16,32"
Stufe 4* = ~5500 U/min = Byte "64"

"*" steht für reale Stufe, die ich wahrnehmen konnte.

Ich habe mir mal die Mühe gemacht, jeden einzelnen Byte zu durchsuchen, ob es Veränderungen gibt.

Byte "128-188" = ~3050 U/min
Byte >="192" = ähn. Stufe 7


Mfg sightus


EDIT:

Mir ist gerade noch was eingefallen. Es wäre schön, wenn man das Programm mit einem Rechtsklick ( und dann "Beenden") in der Taskleiste schließen könnte.
 
Sieht wirklich fein aus das Programm.

Gibt es eigentlich eine Routine, die dieses regelmäßige "Pulsen" des Lüfters verhindert bzw. mindert?
 
Original von Profiler
Zum Ballontip: Die Sache ist eigentlich nicht weiter wichtig. Derzeit benutzt du beim Hovern über dem TrayIcon einen Ballontip (Sprechblase), ich dache du könntest vielleicht doch wieder zurück zu einem normalen Tooltip wechseln (Bei vielen anderen Programmen sind Ballontips nervig). Dein Argument für den Ballontip war, dass es nicht möglich ist in Tooltips mehrzeilige Informationen darzustellen. Dies sollte aber gehen, wie bereits erwähnt.
Naja was ist an einem normalen Tooltip besser?
Er wäre etwas kleiner in seinen Abmessungen und ich könnte die Ballontips im Windows wieder ausschalten (für nervige Programme) ohne auf die Infos von FanControl verzichten zu müssen. :)

Original von Sightus
Mir ist gerade noch was eingefallen. Es wäre schön, wenn man das Programm mit einem Rechtsklick ( und dann "Beenden") in der Taskleiste schließen könnte.
Ja. Ein Rechtsklickmenü finde ich auch eine gute Idee.
 
@paddi

Bislang noch nicht. Ich habe das Pulsieren bei mir noch nicht beobachten können, aber ich meine gelesen zu haben, dass dies auch mit Tpfancontrol passiert. Das würde ja bedeuten, dass dem Pulsieren software-technisch nicht beizukommen ist, also quasi vom BIOS direkt gesteuert wird und Vorrang vor allem anderen hat.
Ich würde da eher nach Wegen suchen, das BIOS zu ändern.
Belehrt mich, wenn ich falsch liegen sollte!


Mfg sightus
 
Original von Sightus
@paddi

Bislang noch nicht. Ich habe das Pulsieren bei mir noch nicht beobachten können, aber ich meine gelesen zu haben, dass dies auch mit Tpfancontrol passiert. Das würde ja bedeuten, dass dem Pulsieren software-technisch nicht beizukommen ist, also quasi vom BIOS direkt gesteuert wird und Vorrang vor allem anderen hat.
Ich würde da eher nach Wegen suchen, das BIOS zu ändern.
Belehrt mich, wenn ich falsch liegen sollte!


Mfg sightus
Es war ja im Gespräch irgendwas mit PWM zu machen...
 
@paddi

Oh, das hatte ich nicht mitbekommen. Hört sich sehr interessant an!

Danke und mfg

sightus
 
hi!
mein problem besteht darin, dass der lüfter mit fancontrol kurz anspringt den CPU3 grad kühlt und danach wieder ausgeht..das die ganze zeit. was muss man machen damit der lüfter länger läuft?
 
@MaxPower

Du kannst die Schwellenwerte ja so stellen, dass der Lüfter im Tempereich von 35-55 °C immer auf niedrigster Stufe läuft.

Angenommen dein Lüfter springt bei 45°C an und kühlt bis auf (Du sagtst 3°C) 42°C ab und schaltet sich dann aus. Mit Fancontrol hast du die Möglichkeit, dass der Lüfter bei 40°C anspringt und erst bei 30°C anhält. Das wäre quasi ein Dauerbetrieb, der aber recht leise sein kann, wenn man die langsamste Stufe wählt.



Mfg Sightus
 
Hallo,

@sightus
Ich habe mir mal die Mühe gemacht, jeden einzelnen Byte zu durchsuchen, ob es Veränderungen gibt.

Byte "128-188" = ~3050 U/min
Byte >="192" = ähn. Stufe 7
Sobald du über den Wert 127 kommst, übernimmt das BIOS die Kontrolle, da alle höheren Werte die 128 (bit 7) beinhalten.

Die Idee mit dem Rechtsklickmenü wird verwirklicht ;)

@paddi
Es war ja im Gespräch irgendwas mit PWM zu machen...
Das sind leider bis jetzt nur alles Vermutungen ohne Grundlage ;)
Also das Pulsen soll nur bei einigen TPs auftauchen. Kannst du vielleicht nochmal genau beschreiben, wie sich das äußert. Kann es mir leider noch nicht so recht vorstellen.

@jaydee
Er wäre etwas kleiner in seinen Abmessungen und ich könnte die Ballontips im Windows wieder ausschalten (für nervige Programme) ohne auf die Infos von FanControl verzichten zu müssen.
Achso du hast irgendwie alle Balloontips deaktiviert. Hm, Eventuell könnte ich den BalloonTip durch ein Formular ersetzen. Da könnte ich dann auch Objekte drauf ablegen, wie z.b. die Farbbalken oder die geplanten Diagramme.

Gruß
Profiler
 
Original von Profiler
@paddi
Es war ja im Gespräch irgendwas mit PWM zu machen...
Das sind leider bis jetzt nur alles Vermutungen ohne Grundlage ;)
Also das Pulsen soll nur bei einigen TPs auftauchen. Kannst du vielleicht nochmal genau beschreiben, wie sich das äußert. Kann es mir leider noch nicht so recht vorstellen.
Nunja, es ist so ein (deutlich wahrnehmbares) Regeln der Drehzahl regelmäßig alle 4 bis 5 Sekunden, wenn der Lüfter rennt natürlich. Und das obwohl sich die Drehzahl des Lüfters recht konstant anhört.
Nähere Infos hier (Hint): http://www.thinkwiki.org/wiki/How_to_control_fan_speed#Hardware_specs
Ich habe mich schon einmal ein bißchen damit versucht, bin aber leider auf keine schöne Lösung gekommen.
 
@profiler


Das war auch eher reine Spielerei, um eventuelle Bugs beim Auslesen aufzudecken. Was bedeutet denn der Wert "Byte 192"? Ist das auch irgendwas besonderes?

Das mit dem Formular und den Balken hätte ich gerne nochmal näher erläutert, kann mir darunter nix vorstellen. ?(

PWM klingt interessant aber auch schwer umzusetzen, zu mal nicht alle TP davon betroffen sind; Du ein T23 besitzt, bei dem es eben nicht vorkommt.


Mfg sightus
 
So, habe das Programm mal getestet.

Und ich muss mal sagen, ich habe hier länger gelesen, als es gedauert hat, das Programm zu verstehen. Klasse Arbeit, sehr verständlich und übersichtlich gehalten.

Mein T60 macht folgende Lüfterstufen:

00 - Lüfter aus
01 - 3000
02 - 3100
04 - 3600
08 - 3950
16 - 4000
32 - 4000
64 - keine Änderung des vorherigen Werts, egal welche Drehzahl. Ausser wenn ich von 0 den Schieber nach rechts schiebe, weil ja dann der Lüfter durch die Zwischenstufe anfährt. Dann ging er eben mal bis 4700 hoch. Aber das dauerte ne ganze Weile.

EDIT: jetzt nach einer Minute auf Stufe 64 geht er wieder hoch auf 4700 etwa. dauert aber seeehhhr lange und in winzig kleinen schritten immer weiter.

Die Register Prozessor, Board, PCMCIA, Aufladen, Hauptbatterie, BUS, MiniPCI, Spannungsversorgung werden angezeigt. Aufladen und Hauptbatterie allerdings mit dem gleichen Wert. GPU, X7D, XC3, Ultrabay-Batterie werden gar nicht angezeigt (Ultrabay ist aber auch das Laufwerk drin/der kleine T60 hat doch Ultrabay oder?/Grafikkarte ist bei mir Onboard, kann sein, dass es daran liegt) und Festplatte erst, wenn WMI ausgeschaltet ist, sonst nicht (Habe wohl ne SATA Platte, ist aber nicht die originale 60(?)GB, sondern ne neue 100GB Platte, sollte aber keinen Unterschied machen denke ich)

achso, ansonsten keine Fehlermeldungen, keine Probleme, keine Abstürze, Lüfter läuft schön leise... was soll man sagen, das Programm macht, was es soll.
 
Hi

@Sightus
Das war auch eher reine Spielerei, um eventuelle Bugs beim Auslesen aufzudecken. Was bedeutet denn der Wert "Byte 192"? Ist das auch irgendwas besonderes?
Ne das ist nix besonderes: 192 setzt sich zusammen aus 128 + 32, also aus 2^7 + 2^5. Sprich BIOS + Lüfterstufe 5. Da aber das Bios-Bit mehr Priorität besitzt, wird der Rest einfach ignoriert.

Das mit dem Formular und den Balken hätte ich gerne nochmal näher erläutert, kann mir darunter nix vorstellen. verwirrt
Mit Formular meine ich einfach ein Fenster(wie das Hauptfenster), was wie ein Ballontip gestaltet wird, mit dem Vorteil, dass ich dort auch solche Balken wie in der Anzeige im Hauptfenster platzieren könnte, bzw. irgendwelche anderen Objekte, wie geplante Temperatur-Zeit-Diagramme.

@Konfi
Danke für die Infos.
Grafikkarte ist bei mir Onboard
Ist ne Grafikkarte bei Thinkpads nicht immer Onboard oder gibts jetzt auch schon diese krassen mini-PCI-xPress-Steckplätze für TPs? Kenne es von anderen Notebooks.

Die Festplatten-Temp wird bei dir richtig ausgelesen, wenn du die WMI-Option deaktivierst?

@paddi
Ich les es mir bei Gelegenheit mal durch. Muss aber erstmal wichtige Bugs beseitigen :)

Gruß
Profiler
 
ähm, ne, das war missverständlich geschrieben, bzw. da hatte ich was ausgelassen. die temperatur springt bei mir genauso, wie bei allen sata usern.

wenn ich das in meinem anderen thread richtig mitbekommen habe, gibt es ja ausser dieser intel gma auch noch leistungsstärkere aufgelötete chips?!? (nagelt mich bitte nicht drauf fest) meine radeon 9800 pro hat im desktop ja auch keinen sensor, während z.b. die geforce 4800ti einen hatte. will sagen, evtl. habe ich keinen sensor am gpu.
 
mal ne Frage am Rande...: ist die Version auf Seite 1 immer noch die aktuelle? Oder gibts schon ne Neue?
 
R60 9461-dxg

Ich habe auch mal so eine Tabelle mit den Lüfterdaten erstellt:

Lüfterregister-Byte | Status | Drehzahl / (U/min)

1 | Langsam | 2700 +- 100
2 | Langsam | 2700 +- 100
4 | Schnell | 3400 +- 100
8 | Schnell | 3700 +- 100
16 | Schnell | 3700 +- 100
32 | Benutzerdefiniert | 3700 +- 100
64 | Nachbrenner | > 4000 aber er aktualisiert die Anzeige nicht;
| der Lüfter fährt ganz langsam in die allerhöchste Stufe

Es schein 3 Lüfterstufen zu geben, die auch durch folgende Lüferregisterbytes zu erreichen sind:

0 | Aus
1, 2 | 2700 +- 100
3,4,5 | 3400 +- 100
6,7 | 3700 +- 100

Ich werde das auch mal mit Linux testen.
 
@profiler

Danke für die Erklärung, dass ich da nicht selberdrauf gekommen bin grenzt ja schon an Altersschwäche oder mangelnden Koffein.

Nachdem ich alle Funktionen des Programms nochmals getestet habe ist mir aufgefallen, dass die Temperatur nun doch richtig ausgelesen wird. Sprich es werden 35°C angezeigt. Als ich den "ausführlichen" Test gemacht habe, wurde der Fehlwert von 255°C angezeigt. Keine Ahnung, woran es lag. Ich versuche den Fehler zu reproduzieren.


Mfg sightus


EDIT:

Den Fehlanzeige kann ich reproduzieren, wenn ich unter dem Reiter "Development" die Funktion "Festplatte per WMI auslesen (Sensor 16)" ausschalte. Bin mir aber fast sicher, dass es vorher nicht so war...
 
Hallo,

@buddyspencer
Aktuelle Versionen werden immer im ersten Beitrag editiert, sodass auch neue User gleich die neuste Version entdecken.

@fatTPF
Das ist von TP zu TP unterschiedlich, manche haben auch 4 Stufen(ohne aus).
Aber die höchste Stufe hatte sich sonst immer von der 2.höchsten abgehoben.

@Sightus
Das ist ganz natürlich ;)
Wie ich weiter oben schonmal beschrieben hatte, wird mit der Option bei Development die komplette Funktion zum Auslesen deaktiviert. Die Festplatte kann also nicht richtig ohne diese aktivierte Option ausgelesen werden ;)

Gruß
Profiler
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben