Olis taas yksi projekti mielessä ja jonka voisi vaihteeksi toteuttaakin.
Ajatus olisi, että laittaisin piirilevylle AVR:n (luutavimmin AtMega32U4, jossa on USB) ja ohjaisin sillä tietokoneen tuulettimia sekä lukisin lämpövastuksia. Koska en ole tällaista ennen tehnyt, niin minulla on muutamia kysymyksiä:
Atmegasta saa pihalle PWM-signaalin. Tahtoisin kuitenkin pystyä ohjaamaan sekä PWM-ohjattavia, että tavallisia tuulettimia. PWM-ohjattavat eivät tuone mitään kummempia haasteita, koska ne voi kytkeä aikalailla suoraan kiinni. Tosin joku open-drain-puskuri olisi ilmeisesti suositeltava. Tavallisia tuulettimia hidastetaan kytkemällä niiden kanssa sarjaan vastus eli voisinko käyttää MOSFET:iä ja ohjata sitä PWM-signaalilla? Ajattelin, että se olisi jotain tämän tapaista:
Tuossa on kuitenkin se ongelma, että tahtoisin ohjata tuuletinta niin, että se on oletuksena täysillä eli saa suurin piirtein sen 12 V ja sitten, kun PWM on päällä niin sillä voidaan laskea tuo nopeus nollaan eli käytännössä MOSFETin hilajännite pitää saada nätisti jollekin välille. Vastus (vastukset) ja kondensaattori pitänee jotenkin mitoittaa. Ainakin Arduinossa tuo PWM on oletuksena säädetty 500 Hz:lle, jos sillä on mitään merkitystä. Luin, että tuulettimia kuuluisi ohjata noin 25 KHz:n PWM-signaalilla (21-28 KHz), joten pitänee tutkia onko tuollaista saatavissa Atmegasta ulos. Voiko sitä käyttää myös MOSFET:lle vai aiheuttaako korkea taajuus ongelmia? Tietysti käytössä on tuo alipäästösuodatin.
Lisäksi tuulettimet eivät ilmeisesti saisi viedä yli 1,5 A virtaa 12,6 V jännitteellä, joten MOSFET pitäisi jotenkin mitoittaa sen mukaan. Lisäksi hetkellisesti käynnistyksessä voi mennä 2,2A. Olisiko hyviä ehdotuksia millaisen MOSFET:n tarvitsisin vaikkapa Partcon valikoimasta? Atmegasta saa vain sen 5V ulos, joten sekin pitää huomioida ja kun tässä nyt on tarkoitus käyttää tuota vastuksen tavoin, niin sekin tuo oman lisänsä. Yritän itse katsella noita vaikka viikonloppuna, kun on aikaa.
Tuossa vähän noista tuulettimien spekseistä ja vaatimuksista: formfactors.org/developer/sp … M_Spec.pdf Harmi vain että tuo ottaa kantaa ainoastaan PWM-ohjaukseen.
Tuulettimen nopeuden mittaamisessa ei liene myöskään mitään erikoista. Kytketään vain tuulettimen pulssinasta Atmegaan ja sitten käytetään keskeytyksiä sen lukemiseen miten parhaiten osataan. Ohjelmistopuolen näin tietojenkäsittelytieteen opiskelijana en usko olevan ongelma.
Atmegassa on useita analogisia tuloja, joten niillä voisi lukea lämpövastuksen arvoja. Mitenhän tämä kannattaisi toteuttaa? Ilmeisesti pitäisi käyttää NTC-vastuksia ja tehdä tämän tyyppinen kytkentä:
En ole tällaistakaan koskaan tehnyt. Pitäisikö tässä ottaa jotain erityistä huomioon? Näkyy olevan jotain 1K NTC-vastuksia, mutta ilmeisesti yleensä käytetään 10K ohmin vastuksia. Pitänee tilata niitä.
Yritän itsekin perehtyä näihin, mutta jos teillä on jotain ajatuksia tai neuvoja, niin otan niitä mielellään vastaan. Minulla on aina mielessä näitä projekteja ja monet on kesken, mutta tämän suhteen olen aika luottavainen, että tulen tämän toteuttamaankin vielä kevään ja kesän aikana.