Mikrokontrollerin PWM-signaalin rekisteritasoinen ohjaus
Stenudd, Aaron (2023-01-16)
Stenudd, Aaron
A. Stenudd
16.01.2023
© 2023 Aaron Stenudd. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202301161034
https://urn.fi/URN:NBN:fi:oulu-202301161034
Tiivistelmä
Tässä työssä toteutettiin PWM-signaalin ohjaus Atmega328-mikrokontrollerilla. Toteutus vaati AVR-prosessorin ohjelmoinnin opiskelua, sekä laitteen datalehteen perehtymistä varsinkin mikrokontrollerin porttien ja prosessorin ajastimien rekisteritasoisen toiminnan osalta.
PWM-ohjaus tapahtui ohjelmoimalla mikrokontrolleria C-ohjelmointikielellä, jolloin pystyttiin generoimaan PWM-signaalia kahdella eri konfiguraatiolla: yksilähtöinen signaali vaihtuvalla pulssisuhteella sekä kaksilähtöinen non-overlap -signaali. Konfiguraatioiden testaus toteutettiin mikrokontrolleriin yhdistetyn LED:n sekä oskilloskoopin avulla. In this thesis, a PWM signal control program was implemented for Atmega328 microcontroller. The work required researching about AVR programming and studying the microcontroller’s datasheet especially in order to understand the functionalities of ports and timers at register level.
The implementation was done by programming the microcontroller in the C programming language and resulted in two configurations for generating PWM signal: single-output signal with dynamically changing duty cycle and non-overlap signal with two outputs. Testing of the configurations was done using a LED and an oscilloscope.
PWM-ohjaus tapahtui ohjelmoimalla mikrokontrolleria C-ohjelmointikielellä, jolloin pystyttiin generoimaan PWM-signaalia kahdella eri konfiguraatiolla: yksilähtöinen signaali vaihtuvalla pulssisuhteella sekä kaksilähtöinen non-overlap -signaali. Konfiguraatioiden testaus toteutettiin mikrokontrolleriin yhdistetyn LED:n sekä oskilloskoopin avulla.
The implementation was done by programming the microcontroller in the C programming language and resulted in two configurations for generating PWM signal: single-output signal with dynamically changing duty cycle and non-overlap signal with two outputs. Testing of the configurations was done using a LED and an oscilloscope.
Kokoelmat
- Avoin saatavuus [31657]