torstai 21. elokuuta 2008

ATmega8 AD/PWM ohjelma


A/D-muunnoksella PWM-ohjaus on ohjelmallisesti hyvin helppo toteuttaa. Suoritetaan muunnos aivan normaalisti, jolloin tulos sijoitetaan johonkin rekisteriin (tässä r17), ja tuosta rekisteristä se siirretään ajastimen valvontarekisteriin. Nyt tuolla asetuksissa on annettu ehto, että PB1 on yksi aina kun laskijan arvo on pienempi kuin vertailurekisterin arvo, niin pulssin leveys levenee tai kapenee AD-muuntimen mukaisesti. Ja tätä arvoa säädetään siis potentiometrillä.

keskiviikko 20. elokuuta 2008

ATmega8 AD/PWM rekisterien asettelu


Potentiometriohjaus PWM-modulaatioon ei vaadi kovin monimutkaista ohjelmaa. Koodin alussa on perinteiset löpinät, perustiedot, B-portin asettelu ja pino-osoitteen asetus. Sitten asetellaan AD-muuntoon liittyvät rekisterit tarvittaviin tiloihin. Ja lopuksi vielä ajastimen asetus sopivaan asentoon.
Nyt voidaankin sitten siirtyä ohjelmaan.

ATmega8 PWM-säätö potentiometrillä


Tämä kytkentä on yksinkertainen. Analogiseen tuloon on kytketty vastuksen ja potentiometrin yhdistelmä. Tuo vastus pudottaa potentiometrin sätöjännitteen 2,5 volttiin, koska käytössä on piirin sisäinen referenssijännite. Lähdössä on LED-lamppu etuvastuksineen. Säätämällä potentiometriä, saadaan
LEDin kirkkautta muutetuksi. Tämä on vain peruskytkentä, sovellutukset sitten tekevät kytkennästä todellisen sulautetun järjestelmän.