Fórum témák
» Több friss téma |
Cikkek » Nyolc lábbal AVR III. rész Nyolc lábbal AVR III. rész
A hőmérséklet érzékelés módszerét már ismerjük, ennek prociba való bevezetésével is megismerkedtünk. PWM-et is láttunk már az előző részekben, így újdonságot csak egy "karakterisztika" leprogramozása jelentheti. Először is lássunk egy karakterisztikát, amit meg kell valósítanunk: Látszik, hogy nagyjából 35°C-ig semmit nem csinálunk, 10%-os kitöltési tényezőn hajtjuk a ventillátort. Afölött, van egy lineáris szakasz, 50°C-ig. 50°C felett pedig 100%-os kitöltési tényezővel járatjuk a ventillátort. Direkt választottam ilyen meredek karakterisztikájúra, ugyanis HTPC-mben egy hasonló, ám de akkor még PIC-es VFD kijelzős vezérlő működik, és hála ennek a nagyon meredek karakterisztikának, a hőmérséklet minimális változására a rendszer jóval erőszakosabban válaszol. Így végeredményképpen a valóságban az egész HTPC-m összes melegedő alkatrésze jócskán 30-35°C alatt marad mindig, és ezt ugye síri csendben teszi. Most, mivel az NTC ekkora hőmérséklet tartományban már közel sem mondható lineárisnak, így ráadásul ezt az átmenetet még hirtelenebbé teszi. Mivel általában kevés az egy ventillátor és az egy szenzor így most egy kétcsatornás fordulatszámszabályzott vezérlést mutatok be. Mivel már ismerjük ismerjük nagyon jól (ugye?!) az ATtiny45-öt, így nem lesz nagy ördöngősség, hogy most ezt ATtiny13-al fogjuk megoldani. ATtiny13-ban 1K Flash van, és csak egy Timer modul. Ám ez is bőven elég a ventillátor szabályzónkhoz. Mivel 2-3°C eltérés nem számottevő, így áramkörünket kalibrálni sem létszükséglet, továbbá mivel nincs szüksége nagy áramokra, így a processzor táplálását egy sima Zéner diódával oldjuk meg. A megépítendő kapcsolás a következő: Darlingtonok vagy FET-ek is használhatók. Sőt, kisebb ventillátornál sima BC337-es NPN tranzisztor. Mivel kapcsolóüzembe működik majd a tranzisztor is, így melegedni nagyon nem fog. Drótozzuk össze: Nézzük a programot:
Mint látható, nagyon nem kell túlbonyolítani az egészet. Itt ennél az ATtiny13-nál, csak egyetlen timer van, tehát még válogatni sem válogathatunk, melyik PWM-jét használjuk. Persze azért sem, mert már a PWM kimenetek fixek. Fontos: Mielőtt lefordítanánk a programot, állítsuk be a fordítónál, hogy az órajel 9600000 Hz, Optimalizáció Os, és programozásnál a CLKDIV8-at is vegyük ki. Akár teljesen más eszköz, vagy nagyobb ventillátorokhoz is használható, felül a #define-oknál vannak a minimális fordulatszámok, a hőmérsékleti konstansok. Ezt átírva maximálisan személyre szabható. Nem nagyon kommenteztem fel, minden ami elsőre nem érthető, másodszorra az lesz, adatlapot használva. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |