![]() |
CPU und GPU Temperatur auslesen
Ich möchte gerne selbst meine PC Lüfter steuern. Hierzu benötige ich allerdings die Temperaturen der einzelnen Komponenten. Wie kann ich diese am Einfachsten erhalten?
|
AW: CPU und GPU Temperatur auslesen
Verstehe ich das so das du Sensoren auf die Bauteile kleben willst ?
Dann könnten vielleicht 1-Wire Sensoren passen, aber die sind womöglich nicht besonders schnell und genau. ![]() Oder willst du die internen Sensoren der CPU auslesen ? So in der Art: ![]() Rollo |
AW: CPU und GPU Temperatur auslesen
Für mich wäre grundsätzlich beides ok ;)
Bei den Internen Sensore habe ich gehört, dass die scheinbar schwer auszulesen sind. Dafür wären die natürlich um Welten komfortabler. Den Thread habe ich gesehen, aber da kam ja glaub nicht wirklich zu einem Ergebnis. Temperatursensoren haben das Problem, dass sie schwer zum Beispiel auf der CPU anzubringen sind, da da ja noch ein Kühler draufsitzt |
AW: CPU und GPU Temperatur auslesen
Der Sensor muß aber auch nicht genau auf das Bauteil.
Wenn du eh den Kühlkörper kühlst, reicht auch dessen Temperatur. Möglichst nah am heizenden Teil oder weiter weg (nur nicht direkt am kühlenden Teil) ... jenachdem wie groß deine Hysterese sein soll. Es bringt da auch nichts, wenn der Sensor direkt an der Heizung wäre, denn selbst wenn diese Seite mal kurz "extrem" heiß wird, weil die plötzlich anfängt mit rechnen und sofort dein Lüfter voll aufdreht, dann dauert es eh etwas, bis die neue Hitze durch den Kühlkörper bis hin zur neuen Kältequelle (dem schnelleren Luftstrom) durchgereicht wurde. |
AW: CPU und GPU Temperatur auslesen
Zitat:
Im Prinzip schaut dann der Sourcecode dann in Delphi ungefähr so aus:
Delphi-Quellcode:
Ob der obige Source 100% funktioniert habe ich nicht ausgetestet, da ich die WinRing0 Sachen nicht mehr auf meine Platte finde. Es gibt aber hier im Forum einige Sourcen zum Thema. Mußt halt mal die Suche anwerfen. :)
var
Form1: TForm1; function InitializeDll: LongBool; stdcall; external 'WinRing0.dll' name 'InitializeOls'; procedure DeinitializeDll; stdcall; external 'WinRing0.dll' name 'DeinitializeOls'; function Rdmsr(index:dWORD;var eax,edx:dWORD): LongBool; stdcall; external 'WinRing0.dll' name 'Rdmsr'; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var eax,edx:dword; begin RdMSR($19C, eax,edx) ; Memo1.Lines.Add('MSR $19C: '); Memo1.Lines.Add('eax: '+IntToHex(eax,8)); Memo1.Lines.Add('edx: '+IntToHex(edx,8)); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin DeinitializeDll; end; procedure TForm1.FormCreate(Sender: TObject); var ergebnis: LongBool; begin ergebnis:=InitializeDll; if ergebnis then Memo1.Lines.Add('InitializeDll: OK') else Memo1.Lines.Add('InitializeDll: NOT OK'); end; Lg, jus Nachtrag: Habe die WinRing0 Sachen doch noch gefunden und unter Delphi 2007 ausprobiert, sprich 32bit Anwendung. Ich mußte die Project1.exe extra unter Windows 7 als Administrator starten, damit der Treiber geladen wurde. Falls du ein 64bit Programm machst, brauchst du aber die WinRing0x64.dll und WinRing0x64.sys. |
AW: CPU und GPU Temperatur auslesen
Ja klar, muss natürlich mit wärmeleitkleber gemacht werden und vielleicht gg. Lüfter geschützt sein.
Die Frage ist eben wozu das gemacht werden soll. Aber der Sinn von AUSSEN angeklebten Sensoren sehe ich nicht wirklich ein, denn es hängt das was aussen ist nicht mit dem inneren 1:1 zusammen. Das wird natürlich sehr ungenau, und man müsste sich das irgendwie selber kalibieren, um z.B. die echte Chiptemperatur zu bekommen. Sensoren an GPU, Speicher und was sonst noch macht Sinn um ein Board zu Testen, die Sensoren beeinflussen die Bauteile aber u.U. sehr stark. Besser wäre dann Thermografie, aber ich denke dem TE geht es eigentlich nur um die Main CPU. Da ist das beste der interne Sensor. Rollo |
AW: CPU und GPU Temperatur auslesen
|
AW: CPU und GPU Temperatur auslesen
Der OPENHARDWAREMONITOR mit WMI-Server stellt die Daten für weitere Verwendung zur Verfügung.
![]() Für EIGENE Temperaturmessungen gibt es ![]() |
AW: CPU und GPU Temperatur auslesen
wenn's selbst gebaut werden soll :
![]() Stromquelle --> PT100 --> DualAnalogIn-Bricklet --> MasterBrick (Tinkerforge). Zu dem Schaltplan gibt's ein Programm zur Bauteilberechnung. Die Anbindung der Tinkerforge-Komponenten an Delphi (Pascal) ist einfach. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz