Stänga ner PC när CPU temp blir för hög

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
IceBear
Inlägg: 292
Blev medlem: 29 december 2003, 22:34:48

Stänga ner PC när CPU temp blir för hög

Inlägg av IceBear »

I vissa moderkortsbios finns ju möjlighet att ställa ett gränsvärde för temperaturen på CPU'n och även funktionen att automatiskt stänga ner systemet vid för hög temperatur.

Jag vill få till en separat funktion för detta som kan användas på PC's som inte har denna funktion i Bios.

En tempsensor behövs givetvis, men hur löser man det sen ?
Bäst vore ju om man kunde trigga att Windows avslutas normalt
istället för att klippa strömmen tvärt.
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Skriv ett program i lämpligt språk (läs c++) som läser en tempsensor och använd system("shutdown -s") ur stdlib.h.

Finns garanterat massvis med olika sätt. Både bättre och sämre än detta.

EDIT1: Du kan även lägga på växeln -t x där x är antalet sekunder det tar innan datorn stänger av sig

EDIT2: stdlib.h skulle det vara. Inte conio.h
Senast redigerad av karlstedt 21 oktober 2004, 17:39:55, redigerad totalt 1 gång.
Användarvisningsbild
IceBear
Inlägg: 292
Blev medlem: 29 december 2003, 22:34:48

Så duktig är jag inte ...

Inlägg av IceBear »

Nu är jag ju ingen klippa på C++ tyvärr.
Inte vet jag vad conio.h. är heller.

Så lite mer utförligt svar skulle hjälpa.
Samt kanske även hjälp med programmering mm
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Då kanske detta inte är rätt väg. Det är "ganska" bökigt att komma åt seriportar i nyare windows typ w2k och framåt.

Nån annan kanske kan ett bättre sätt.
Detraw
Inlägg: 630
Blev medlem: 31 januari 2004, 10:32:37
Ort: Stockholm (Nacka)

Inlägg av Detraw »

eller så skriver man programmet i Java som en applet så att man kan övervaka allt från en hemsida, allternativt skriver programmet i c++ om man väldigt gärna vill det och sedan en Java Applet som kan kominucera med det första programmet, men då får man lite mer att skriva...

Jag hade nog skrivit allt i Java får att kunna implementera övervakningshemsida på ett lätt sätt... men det är ju jag det
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Nyare burkar brukar numera göra en snygg shutdown automatiskt när man trycker på power-knappen.

Så om man har en extern tempsensor (alltså inte en diod i själva cpu'ns kisel) så är det ganska lätt medelst en vanlig komparator pulsa ett relä när tempsensorn kommit upp i 75 grader. Reläets utgång kopplas tvärs över power-knappen i datorn.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Det finns drivrutiner att ladda hem ifall man vill kunna programera hårdvaran direkt ifrån XP. För Win 95/95 så finns port.dll (att ladda hem) som har färdiga kommandon för detta, med den kan man till o med skriva ett excelmakro för att fixa det (eller nyttja Delphi som jag hellre gör).

Annars så får man väl låta en tempsensor tillsammans med en uP snacka med hela byte via serieporten. Det borde väl inte krävas något speciella drivare för detta ens inom XP?

Mikael
Användarvisningsbild
IceBear
Inlägg: 292
Blev medlem: 29 december 2003, 22:34:48

Inlägg av IceBear »

Är det nåt som du kan tänka dig att skriva ihop ?

Var hämtar man de drivers du talar om för XP ?
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Var du hittar dessa drivers kan jag inte säga på rak arm. Jag har dock sett dom då jag hämtade hem dll'er för att styra parallell o seriportarna portarna under win 98. Nu så har jag inte kvar några bokmärken som hjälper mig att hitta rätt.

Mikael
Lödrök
Inlägg: 13
Blev medlem: 22 oktober 2004, 13:16:56

Inlägg av Lödrök »

Koppla en SMT-160 (pwm modulerad temperaturgivare) till en PIC/Atmel som skickar "shutdown" till rs232 porten. Och klipper strömmen 60 sek senare oavsett.
Användarvisningsbild
IceBear
Inlägg: 292
Blev medlem: 29 december 2003, 22:34:48

Inlägg av IceBear »

Hmm, var köper jag en SMT-160 och en PIC/Atmel ?
Och hur ska det kopplas ?
Jag antar att PiC'en ska programmeras, det kan jag tyvärr inte. :(
Lödrök
Inlägg: 13
Blev medlem: 22 oktober 2004, 13:16:56

Inlägg av Lödrök »

SMT-160 + PIC/ATmel kan köpas hos ELFA, alt Tema elektronik i Göteborg.
Kan du C och har lite digital elektronik kunskap så fixar du programmeringen också.

Om inte annat så är vinsten av att lära sig att kunna programmera PIC/ATmel guld värt.
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

matseng skrev:Nyare burkar brukar numera göra en snygg shutdown automatiskt när man trycker på power-knappen.

Så om man har en extern tempsensor (alltså inte en diod i själva cpu'ns kisel) så är det ganska lätt medelst en vanlig komparator pulsa ett relä när tempsensorn kommit upp i 75 grader. Reläets utgång kopplas tvärs över power-knappen i datorn.
Håller med, måste vara det smidigaste sättet att lösa det på, kräver ingen programmering, verkar jobbigt att ha någon form av mjukvara igång.
Dessutom kan man ju ställa in om powerswitchen ska vara som matseng säger "soft off" eller "hibernate/viloläge" etc
Användarvisningsbild
teed
Inlägg: 4
Blev medlem: 25 februari 2004, 11:25:21

Inlägg av teed »

Jag tror det änklaste är ett PTC-motstånd som sitter på game porten.
Då game porter är gjord för att mäta motstånd och kådningen är väldigt simpel. Du kan använda C++ om du vill men det går väldigt enkelt i VB med, borde inte behövas mer en 10 rader kod.


//Tobbe
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

Men om du kör ett relä tvärs över power knappen , se till att reläet släpper senast 3-4 sek efter tillslaget. 5 sek innebär att datorn automatiskt klipper strömmen (om man håller den intryckt 5 sek)

Är det VB så kör (vid för hög temp):

(dubbla citationstecken vic -c pga att de inte ska tolkas som vanliga sträng-citationstecken)

shell "c:\windows\system32\shutdown.exe -c ""Too hot CPU!"" -s -f -t 60"

Om tempen sjunker inom 60 sek , så kör detta:

shell "c:\windows\system32\shutdown.exe -a"
Skriv svar