Termometr do PC.pdf

(782 KB) Pobierz
Termometr.qxd
Termomet r
do PC ta
Podstawową funkcją urządzenia jest pomiar temperatury
procesora do komputera PC. Jednocześnie układ sygna−
lizuje zbyt wysoką temperaturę oraz steruje dodatkowym
wentylatorem. Jeżeli wentylator procesora jest wyposa−
żony w wyjście sygnalizujące jego poprawną pracę, to
układ sprawdza stan wentylatora.
Prezentowany termometr jest szczególnie przydatny
tym osobom, które „podkręcają“ procesor.
W przeciwieństwie do typowych rozwiązań opartych
na ICLxxxx urządzenie wykorzystuje mikroprocesor.
Powoduje to uproszczenie budowy i zmniejszenie wy−
miarów termometru. Program sterujący został napisany
w BASCOM−ie.
Opis układu
Schemat ideowy jest przedstawiony na rysunku 1 . Jako
czujnik temperatury zastosowano LM35. Napięcie wyj−
ściowe zostało wzmocnione dwukrotnie. Powoduje to
zwiększenie dokładności i powtarzalności pomiaru. Na−
pięcie ze wzmacniacza podawane jest na komparator
procesora. Na drugie wejście komparatora podane jest
napięcie z przetwornika drabinkowego. PR1 służy do ka−
libracji przetwornika. Procesor przez szereg przybliżeń
doprowadza do wyrównania napięć na wejściach kompa−
ratora. Wyjście komparatora jest połączone z niewypro−
wadzoną końcówką P3.6. Wyjścia sterujące przetworni−
kiem C\A służą także do sterowania wyświetlaczami.
Program przetwarzający napięcie na postać cyfrową
przedstawia listing 1 . Przetwornik jest siedmiobitowy,
dlatego maksymalną wartość prezentuje w postaci liczby
0...127. Początkowo ustawiona jest połowa wartości ma−
ksymalnej. Jeżeli napięcie na wyjściu przetwornika
C\A jest większe niż napięcie mierzone, to od wartości
wpisanej na przetwornik jest odejmowane 32. Jeżeli war−
tość jest za mała, dodawane jest 32. Wartość skoku na−
pięcia przetwornika jest zmniejszana dwukrotnie. Po−
nownie zostaje porównane napięcie mierzone i wytwa−
rzane przez przetwornik. Komparacja kończy się, gdy
wartość skoku napięcia wynosi zero. Program zawsze
dąży do tego, aby napięcie, które wytwarza, było mini−
malnie większe niż napięcie mierzone. Ostateczne po−
równanie następuje po zakończeniu przetwarzania
i w miarę potrzeb wynik jest zwiększany o jeden.
Rys. 1
52
Elektronika dla Wszystkich
153190900.022.png 153190900.023.png 153190900.024.png 153190900.025.png 153190900.001.png 153190900.002.png 153190900.003.png 153190900.004.png 153190900.005.png 153190900.006.png 153190900.007.png 153190900.008.png 153190900.009.png 153190900.010.png 153190900.011.png 153190900.012.png 153190900.013.png 153190900.014.png 153190900.015.png 153190900.016.png 153190900.017.png 153190900.018.png 153190900.019.png
Listing 1
Listing 4
Podzielenie płytki na dwie części powoduje
zmniejszenie wymiarów urządzenia. Ponieważ
układ posiada stabilizator 5V, należy go podłą−
czyć podwójnym przewodem z zasilaniem
12V. Opisy kabli znajdują się na obudowie za−
silacza PC. Po włączeniu należy skalibrować
przetwornik. Należy mierzyć napięcie na wyj−
ściu LM35 i pokręcając potencjometrem obser−
wować wskazania wyświetlaczy. Dwie pozio−
me kreski oznaczają przekroczenie zakresu po−
miarowego. Kalibrację należy przeprowadzić
przy kilku temperaturach czujnika, aby uzyskać
jak największą dokładność. Czujnik LM35 na−
leży podłączyć na potrójnej wstążce kabli
i umieścić na radiatorze procesora. Wyprowa−
dzenia czujnika należy zaizolować i zabezpie−
czyć rurką termokurczliwą. Dokładność wska−
zań termometru nie jest sprawą krytyczną.
Przecież chodzi o orientacyjne określenie tem−
peratury procesora. Kto chce, może zastosować
dokładne rezystory metalizowane. Jednak ze
względu na ich cenę w większości zastosowań
wystarczą zwykłe i tanie rezystory węglowe.
Dobrym rozwiązaniem jest kupno dwa razy
większej liczby rezystorów węglowych prze−
twornika i dobranie ich wartości multimetrem.
Dodatkowy wentylator i brzęczyk mogą
być zamontowane w zależności od potrzeb.
Ac: ‘konwersja a/c wynik w temp’
Z = 32 ‘skok ustawiony na 32’
Ram = 64 ‘wartość
ustawiona na 64’
Do
Gosub Zapisz ‘przepisanie na porty’
If P3.6 = 1 Then ‘porównanie napięć’
Ram = Ram − Z ‘zmniejszenie wartości’
Else
Ram = Ram + Z ‘zwiększenie wartości’
End If
Z = Z / 2 ‘zmniejszenie skoku o połowę’
Loop Until Z = 0 ‘koniec komparacji’
Gosub Zapisz
If P3.6 = 0 Then
Incr Ram
Cyfra1(1) = 4 ‘tabela cyfr’
Cyfra1(2) = 79
Cyfra1(3) = 40
Cyfra1(4) = 72
Cyfra1(5) = 67
Cyfra1(6) = 80
Cyfra1(7) = 16
Cyfra1(8) = 77
Cyfra1(9) = 0
Cyfra1(10) = 64
End If
Temp = Ram
Return
‘korekta’
Cyfra2(1) = 2
Cyfra2(2) = 59
Cyfra2(3) = 20
Cyfra2(4) = 48
Cyfra2(5) = 41
Cyfra2(6) = 96
Cyfra2(7) = 64
Cyfra2(8) = 51
Cyfra2(9) = 0
Cyfra2(10) = 32
Procedura przepisywania wartości na koń−
cówki procesora została zrealizowana we
wstawce asemblerowej ( listing 2) . Kolejne bity
akumulatora zostają przepisane na porty. Proce−
dura kończy się opóźnieniem, które zapewnia
jej prawidłowe działanie. Procedurę przepisy−
wania wykorzystuje program C\A i procedura
wyświetlania na wskaźnikach LED.
Listing 5
Ram = W1
Gosub Zapisz
P3.3 = 0
Waitms 10
P3.3 = 1
Ram = W2
Gosub Zapisz
P3.4 = 0
Waitms 10
P3.4 = 1
Incr N
Loop Until N = 50
Return
‘wyświetlenie wyniku’
Listing 2
Zapisz:
‘przepisuje acc na porty’
Acc = Ram
$asm
mov c,acc.0
mov p1.6,c
mov c,acc.1
mov p1.7,c
mov c,acc.2
mov p1.5,c
mov c,acc.3
mov p1.4,c
mov c,acc.4
mov p1.3,c
mov c,acc.5
mov p1.2,c
mov c,acc.6
mov p3.7,c
$end Asm
Delay
Return
Andrzej Sadowski−Skwarczewski
Dodatkowy wentylator jest włączany, gdy
temperatura przekroczy 45 o C. Gdy temperatu−
ra będzie niższa od 40 o C wyłączy się wentyla−
tor dodatkowy. Gdy temperatura przekroczy
60 o C włączy się alarm temperaturowy. Brzę−
czyk będzie włączony, a na wyświetlaczu, na−
przemiennie z temperaturą, pojawi się symbol
HA „Hot Alarm”. Oczywiście, jeżeli mamy
programator procesorów, wartości temperatur
decydujących o poszczególnych reakcjach
można dowolnie zmieniać. Kolejną funkcją
jest badanie stanu wentylatora procesora. Jeże−
li nie mamy wentylatora z wyjściem sygnalizu−
jącym jego pracę, zakładamy zworę Z1. Wtedy
procesor nie sprawdza stanu wentylatora. Wyj−
ście monitorujące wentylatora jest cyklicznie
zwierane do masy podczas jego normalnej pra−
cy. Impulsy te są doprowadzone do licznika T1
procesora. Przed rozpoczęciem wyświetlania
cyfr licznik jest odblokowywany i zerowany.
Wyświetlanie cyfr trwa sekundę, w tym czasie
licznik zlicza impulsy z wentylatora. Jeżeli
stan licznika się nie zmienił, oznacza to awarię
wentylatora. Jest uruchamiany alarm, a na wy−
świetlaczu pojawia się symbol CA „Cooler
Alarm”. Stabilizator 5V jest jednocześnie na−
pięciem odniesienia dla przetwornika.
Uwaga! Plik z programem (w Bascomie)
można sciągnąć ze strony internetowej EdW
www.edw.com.pl/library/pliki/termpc.zip
Wykaz elementów
Rezystory
100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 sztt..
1k
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 sztt..
Dwa wyświetlacze są sterowane multiple−
ksowo. Tabela cyfr dla obu wyświetlaczy jest
zdefiniowana osobno, ponieważ dla upro−
szczenia płytki wyświetlacze są inaczej
podłączone do procesora.
Z otrzymanej temperatury są wyliczane
jedności i dziesiątki. Następnie wybierane są
liczby z tabeli dla obu wyświetlaczy ( listing 3) .
Tabelę dla wyświetlaczy przedstawia listing 4 .
Program wyświetlający przedstawia listing 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 sztt..
100k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 sztt..
50k
PR miiniiatturowy . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
Kondensatory
30pF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 sztt..
100nF ceramiiczny . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
1µF MKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
100µF/16V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 sztt..
Pozostałe
jjumper x2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
kwarc 12MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
piiezo z gen.. 12V . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
podsttawka 8 piin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
podsttawka 20 piin . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
Listing 3
‘obliczanie cyfr do wyświetlenia’
X = Temp / 10 ‘obliczenie dziesiątek’
Incr X
‘dostosowanie 0 do tabeli
cyfr’
W1 = Cyfra1(x ‘wybranie wartości
dla wyświetlacza 1’
Półprzewodniki
AT89c2051 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
BC337 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
BC557 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 sztt..
BC547 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
LM35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
LM358 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
LM7805 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 sztt..
wyświiettllacze pojjedyncze ze wspóllną kattodą
Decr X
X = X * 10
X = Temp − X ‘wyliczenie jedności’
Incr X
‘dostosowanie 0 do tabeli
Montaż i uruchomienie
Płytka prototypowa została przystosowana do
wmontowania w okienko informujące o często−
tliwości procesora. Jeżeli to miejsce jest niedo−
stępne, układ może być zamontowany w do−
wolnym miejscu w obudowie komputera.
2sztt..
Elektronika dla Wszystkich
53
Wyswietl:
N = 0
Do
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 sztt..
4,,7k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 sztt..
20k
10k
cyfr’
W2 = Cyfra2(x) ‘wybranie wartości
dla wyświetlacza 2’
153190900.020.png 153190900.021.png
Zgłoś jeśli naruszono regulamin