logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

Stiepanowna 31 Mar 2012 14:46 7569 6
  • Inteligentne sterowanie wentylatorami w PC z odczytem na LCD


    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.

    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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.

    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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.

    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD


    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.

    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    W trybie podstawowym są wyświetlane temperatury 1, 2 i 3 czujnika.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD 0

    Na przemian 1, 2, następnie 3, 4 czujnik co 2s.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD 1

    Następnie pojawiają się tryby związane z uruchamianiem programu dla 1, 2, 3 i 4 czujnika.

    Druga cyfra oznacza numer czujnika.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    W tych trybach jest przedstawiony numer czujnika, temperatura z częściami dziesiętnymi, zmierzone napięcie (wynik ADC).
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD 2..5

    Ustawienie dolnego i górnego progu temperatury dla wentylatora procesora. Na 1 czujniku zamontowano 2 wentylatory - P i 1.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Ustawienie dolnego i górnego progu temperatury dla 2 czujnika. Następnie dla 3 i 4 czujnika.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Zarządzanie radiatorami

    - wentylator jest sterowany za pomocą programu, 0 - zawsze wyłączony, 1 - zawsze włączony.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Włączenie wentylatorów

    Przy włączeniu zasilania, zainstalowane w 1 kanale wentylatory będą włączone przez 30s.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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)
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Jeśli wciśniemy PLUS, nastąpi automatyczne przeliczenie U_const=U zmierzone. Dla wszystkich czujników.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Druga cyfra oznacza wartość napięcia w miliwoltach na stopień Celsjusza. Z ilorazu wychodzi 2,5mV.
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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).
    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    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:

    Inteligentne sterowanie wentylatorami w PC z odczytem na LCD

    Pobierz projekt: załącznik control2

    Źródło: http://eldigi.ru/site/comp/9.php

    Fajne? Ranking DIY
    O autorze
    Stiepanowna
    Poziom 12  
    Offline 
    Stiepanowna napisał 90 postów o ocenie 84, pomógł 1 razy. Mieszka w mieście Kraków. Jest z nami od 2011 roku.
  • #2 10741253
    szymon122
    Poziom 38  
    Wszystko fajnie ale jak zmierzyć taką diodą temp na procesorze? Dołożyć do niego nie ma jak, bo jest radiator, a umieszczenie między żeberkami będzie dawało zaniżony wynik. Tak samo będzie w k. graficznej itp. W procesorze mamy już wbudowany czujnik temp. nie łatwiej go wykorzystać i dane wysyłać do lcd programem (np. lcd smartie).
  • #3 10741310
    Ruzby
    Poziom 19  
    Ja u siebie zastosowałem cieniutką płytkę miedzianą (nie laminat miedziowany, zwykła miedź) dluzsza od procesora o ok. 4 cm. Do tego był przymocowany DS18B20, calosc opastowalem i wlozylem miedzy procka a radiator. Gdzies mam to jeszcze rozrysowane, jak bede mial to Ci to podesle...
  • #4 10741701
    szymon122
    Poziom 38  
    Ciekawy sposób, nie wpadłem na to ;) Nie było potem problemu z zapięciem radiatora na płytę? Podsyłać nie musisz, potrafię narysować prostokąt :PP
    Jak było z odbieraniem ciepła przez plastikową obudowę czujnika? Pewnie były duże rozbieżności, jeśli jest już metalowa, płaska powierzchnia to chyba lepiej zrobić tak jak w tym temacie, tylko zamiast jednej diody dać tranzystor (np. bd139) i wykorzystać jedną z jego diód
  • #5 10741744
    Ruzby
    Poziom 19  
    Na szczescie plytka byla na tyle cienka, ze wysarczylo troszkę szlifu na radiatorze i sie przytulily bardzo dobrze...

    Dodano po 14 [minuty]:

    Co do poprawnosci - kalibracja pirometrem i usuwanie odchylow programowo... Na szczescie uklad nie wrocil, a woec nie trzeba kombinowac nad nowymi metodami... Jak kupię sobie nowy komputer, to wykonam ten sam układ i zamieszcze go tym razem na elektrodzie...

    Moderowany przez androot:

    Pisownia! Za kolejne posty odbiegające od tematu będzie ostrzeżenie.

  • #6 10753525
    Sabre
    Poziom 18  
    Kolega Ruzby chyba nieświadomie strzelił sobie w kolano. Nie łączy się miedzi z aluminium bezpośrednio, można jedynie przez mosiądz. Poczytaj co to jest korozja elektrochemiczna. Po jakimś czasie któryś z metali skoroduje i będziesz miał niemały problem bo przestanie przewodzić ciepło. Zrobiłeś sobie po prostu baterię, która ma zwarcie ;).
  • #7 10753958
    Ruzby
    Poziom 19  
    @Sabre
    Nawet nie wiedziałem :) No cóż - trzeba będzie znaleźć inne sposoby. Jak narazie cały system działa u kolegi, ale jak może być zwarcie - no cóż trzeba będzie to wymienić
    @androot
    Przepraszam za błędy, pisałem wtedy z komórki, a na 2.8 calowym wyświetlaczu jest to niezbyt wygodne :)
REKLAMA