Podstawowe możliwości:
4 czujniki temperatury.
Sterowanie 5 wentylatorami.
Wyświetlanie temperatury na LCD z trzech pierwszych czujników lub na przemian 1, 2, 3, 4 co 2s.
Sposób mierzenia temperatury
W mikrokontrolerze jest zapisana wartość napięcia (U_const) dla temperatury (T_const), np. 25 stopni. Mikrokontroler porównuje wartość zmierzonego napięcia z napięciem dla 25 stopni i oblicza aktualną temperaturę.
T= (U_zmierzone-U_const)/U_na_1_stopień+T_const.
W programie wybiera się wartość zmiennej T_const i napięcie dla niej U_const, ilość miliwoltów na stopień Celsjusza U_na_1_stopień z krokiem 2,5mV.
Czujnik - dioda D1. Wraz ze wzrostem temperatury o 1 stopień, wartość napięcia przewodzenia maleje o ok. 2mV. To napięcie jest wzmacniane 10 razy. Taki rodzaj wzmacniania wybrano z powodu wygodniejszego doboru wartości rezystorów sprzężenia zwrotnego R4 i R3. Na podstawie screenshota widać, że w celu osiągnięcia odpowiedniego zakresu temperatury od 10 do 85 stopni, spadek napięcia z każdym stopniem zmienia się liniowo, przykładowo o 20mV. Ta wartość, Una_1_stopień, jest dobierana przez program z krokiem 2,5mV i w danym przypadku wynosi ona 8 (8x2,5mV=20mV). Współczynnik wzmocnienia wzmacniacza operacyjnego można ustawić 12,5 (10x2,5mV=25mV). Wtedy na 1 stopień przypadnie 10 kroków ADC.
Typ diod nie ma znaczenia, ważne tylko, żeby wszystkie 4 były tego samego producenta i posiadały możliwie jednakowy spadek napięcia. Program posiada regulację dla każdej diody - jednakowa wartość spadku napięcia jest wymagana, aby czujniki posiadały w miarę równe zakresy (górny i dolny) pomiaru temperatury. Napięcie na wyjściu wzmacniacza operacyjnego w temperaturze pokojowej (24 stopnie) ustawiłem na 1V.
W urządzeniu, napięcie to jest ustawiane dla wszystkich czujników za pomocą rezystora R6.
Kilka uwag dotyczących układu
Wentylatorami można sterować też za pomocą jednego tranzystora (najlepiej polowego), a nie układu Darlingtona. Jednak w tym przypadku można być pewnym, że zasilanie mikrokontrolera jest stabilne i nie będzie przysiadać na wskutek obciążenia wyjścia pojedynczym tranzystorem. W przeciwnym razie zakłócenia w zasilaniu będą miały wpływ na najmniej znaczącą cyfrę ADC. A w przypadku układu Darlingtona obwód sterowania potrzebuje o wiele mniej prądu.
Włączenie wentylatora procesora zostało zaplanowane tak, jak przedstawiono na schemacie, żeby przechodzenie sygnału z czujnika obrotów do płyty głównej nie było zaburzone.
Radiatory zasilacza i karty graficznej są podłączone zgodnie z tym schematem. Przy takim trybie włączania radiator pracuje na pół mocy. W momencie przekroczenia górnego progu przełącza się na pełną moc.
Na schemacie przedstawiono układ sterowania pięcioma wentylatorami. Do pierwszego czujnika podłączono 2 wentylatory: procesora (w trybie wyłączenia pracuje poprzez R=41Ω) i z boku obudowy (jego strumień powietrza ochładza CPU, pamięć RAM i kartę graficzną). Wcześniej był podłączony do zasilacza. Pozostałe 3 czujniki to karta graficzna, zasilacz i temperatura wewnątrz obudowy.
Opis programu
Temperatura to 16-bitowa cyfra ze znakiem „signed int”. Najmniej znacząca cyfra zawiera resztę z dzielenia, a temperatura jest przestawiona jakby za pomocą cyfry z jednym znakiem po przecinku.
Wentylatorami można sterować za pomocą 2 stanów:
Dolny zakres temperatury.
W momencie osiągnięcia ustalonej wartości otrzymujemy 0 na wyjściu mikrokontrolera.
Górny zakres temperatury.
W momencie osiągnięcia ustalonej wartości otrzymujemy 1 na wyjściu mikrokontrolera.
Urządzeniem steruje się za pomocą 3 przycisków.
SET - wybór parametru, przejście do kolejnego parametru.
PLUS
MINUS
Są trzy podstawowe rodzaje regulacji: ustawienie progów temperatury, zarządzanie wentylatorami, konfiguracja czujników.
W trybie podstawowym:
W momencie wciśnięcia SET, przechodzimy w tryb „ustawienie progów temperatury”.
W momencie wciśnięcia PLUS, przechodzimy w tryb „zarządzanie wentylatorami”.
W momencie wciśnięcia MINUS, włącza się tryb „konfiguracja czujników”.
Aby zapisać wszystkie wartości w pamięci EEPROM, każdy z parametrów należy potwierdzać wciśnięciem SET. Przykładowo w celu zapisania wartości progów temperatury, trzeba potwierdzić oba parametry - jeśli zmienimy wartość dolnego progu, a wartości górnego nie potwierdzimy poprzez naciśnięcie SET, nie zostaną one zapisane w EEPROM.
Ustawienie progów temperatury
Ten parametr określa tryb, który będzie wyświetlany na LCD.
W trybie podstawowym są wyświetlane temperatury 1, 2 i 3 czujnika.
0
Na przemian 1, 2, następnie 3, 4 czujnik co 2s.
1
Następnie pojawiają się tryby związane z uruchamianiem programu dla 1, 2, 3 i 4 czujnika.
Druga cyfra oznacza numer czujnika.
W tych trybach jest przedstawiony numer czujnika, temperatura z częściami dziesiętnymi, zmierzone napięcie (wynik ADC).
2..5
Ustawienie dolnego i górnego progu temperatury dla wentylatora procesora. Na 1 czujniku zamontowano 2 wentylatory - P i 1.
Ustawienie dolnego i górnego progu temperatury dla 2 czujnika. Następnie dla 3 i 4 czujnika.
Zarządzanie radiatorami
- wentylator jest sterowany za pomocą programu, 0 - zawsze wyłączony, 1 - zawsze włączony.
Włączenie wentylatorów
Przy włączeniu zasilania, zainstalowane w 1 kanale wentylatory będą włączone przez 30s.
Konfiguracja czujników
Najprościej czujniki tak wyregulować i tak je rozmieścić, żeby ich temperatura była jednakowa. Następnie wprowadzić tę temperaturę, w kolejnym trybie, nacisnąć PLUS i dla wszystkich czujników zostanie zapisane zmierzone napięcie na czujnikach (diodach), odpowiadające danej temperaturze.
Temperatura (T_const)
Jeśli wciśniemy PLUS, nastąpi automatyczne przeliczenie U_const=U zmierzone. Dla wszystkich czujników.
Druga cyfra oznacza wartość napięcia w miliwoltach na stopień Celsjusza. Z ilorazu wychodzi 2,5mV.
Na ekranie: Numer czujnika; U_const; U zmierzone.
Dla temperatury T_const: U_const powinna być ustawiona wartość równa U zmierzonemu.
(Liczba 400 to zmierzone napięcie równe 400 x 2,5mV = 1V.
2,5mV to krok pomiaru ADC).
Program został napisany w WinAvr. Schemat narysowałem w programie Splan 5, a wzór płytki w Sprint-Layout 4.
W firmware mikrokontrolera ustawcie fuse bity CKSEL3..0 w 0011 (wewnętrzny RC generator 4MHz ). Zaprogramować bit BODEN. Dla PonyProg:
Pobierz projekt: załącznik control2
Źródło: http://eldigi.ru/site/comp/9.php
Fajne? Ranking DIY
