Fórum témák
» Több friss téma |
Cikkek » TinyTemp - Univerzális hőmérséklet szabályozó TinyTemp - Univerzális hőmérséklet szabályozó
Szerző: Topi, idő: Máj 28, 2011, Olvasva: 30126, Oldal olvasási idő: kb. 2 perc
A szoftver is az egyszerűség elvét követve készült. Igyekeztem a számolás részeket az értelmezést elősegítendő megfelelően kommentezni.
Az egyszerűségét mutatja az is, hogy az egész szoftver lefordítva a mikrovezérlőből 310 bájtot foglal el! Szükség lehet a ventilátor - PWM paraméterek eltérő beállítására. Az alábbiakban a program elején #define részekben lévő konstans értékeket nézzük meg: TEMP_MIN: Az a hőmérséklet, mely alatt a ventilátor a minimális PWM_MIN-nek megfelelő sebességgel forog. A forráskódot és a lefordított HEX állományt letöltheted itt: tinytemp.zip Ha megnézzük az ATtiny25/45/85 adatlapját, láthatjuk hogy az analóg-digitál átalakító bemenetén lévő analóg multiplexer "1111" - utolsó állása, egy belső hőmérséklet szenzor jelét kapcsolja az átalakítóra. Az adatlapban leírtak alapján (a szenzor feszültség tartománya miatt) ekkor a belső 1.1V-os referenciát kell használnunk. Így egy közel 1 LSB / °C változású digitális értéket kapunk eredményül az AD konverzió végén. A hőmérséklet szenzor által kiadott feszültség nem teljesen lineáris a hőmérséklet függvényében, de azon kis hőmérséklet tartományban, ahol mi használjuk, ezzel nem szükséges foglalkozni. Fontos érték továbbá a T0_xxx hőmérséklet és ADC érték, ez ugyanis egy viszonyítási pontot ad a számításoknál. Adatlapból származik a 25°C esetén 300-as ADC érték. Vegyük figyelembe, hogy a belső 1.1V-os referencia pontossága 10%-os, a beépített hőmérséklet szenzor is 5-10%-os, így pontos hőmérséklet mérésre a belső hőmérő nem alkalmas! Az adott hőmérséklethez tartozó kitöltési tényezőt arányszámítással határozzuk meg. A programozáshoz szükséges szoftverekről és hardverekről az alábbi cikksorozatban adtam tájékoztatást: Nyolc lábbal I. rész Következzen az utolsó lépés, a rögzítés. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |