TVZ Mechatronics Team


Zagreb University of Applied Sciences, Professional Study in Mechatronics

You are viewing an older revision! See the latest version

Pulsno širinska modulacija

Sve vježbe iz ove teme mogu se napraviti pomoću mbed application board-a. Na mbed-u se u svrhu pulsno-širinske modulacije (PWM) koriste pinovi p21 do p26 i klasa PwmOut. Na mbed application board-u pinovi p21 i p22 su spojeni na konektore servo motora, pinovi p23, p24 i p25 su spojeni na RGB LED-icu, a p26 je spojen na piezzo zvučnik.

Generiranje PWM signala

Korištenjem mbed-a kreirajte PWM signal frekvencije 1 kHz i faktora upravljanja (duty cycle) 50%. Snimite signal osciloskopom i provjerite da li je uspješno generiran.

Moguće rješenje dano je u sljedećem programskom kôdu:

Import programMAB_PWM_Oscilloscope_1

A simple 1 kHz PWM signal generator with 50% duty cycle.

Uzorak oscilograma prikazan je na sljedećoj slici:

/media/uploads/dfraj/pwm1.jpg

Modificirajte program tako da se faktor upravljanja (duty cycle) može namještati pomoću potenciometra Pot1 ili utipkavanjem putem terminala. U modificiranom programu eksplicitno koristite funkcije write() i pulsewidth(), odnosno varijacije pulsewidth_ms() i pulsewidth_us(), tako da se upoznate sa svim funkcijama klase PwmOut.

Rješenje s potenciometrom dano je u sljedećem programskom kôdu:

Import programMAB_PWM_Oscilloscope_2

A simple 1 kHz PWM signal generator with adjustable duty cycle over potentiometer.

Pokrenite program i promatrajte kako se mijenja faktor upravljanja promjenom zakreta potenciometra ili utipkavanjem vrijednosti s terminala.

Upravljanje svjetlinom LED-ice pomoću PWM izlaza

Napravite program koji upravlja svjetlinom ugrađene diode LED1 pomoću PWM izlaza. Svjetlinu podešavajte korištenjem potenciometra Pot2.

Moguće rješenje dano je u sljedećem programskom kôdu:

Import programMAB_PWM_LED1

A simple program that controls the LED1 brightness by using potentiometer.

Upravljanje bojom RGB LED-ice pomoću PWM izlaza

RGB LED dioda u osnovi se sastoji od tri odvojene LED diode (crvene, zelene i plave). Miješanjem te tri boje moguće je generirati sve ostale boje iz vidljivog spektra. Ako pogledate shemu na stranici 2, dijelovi B1 i B2, primijetit ćete da su na mbed application board-u sve tri LED-ice unutar kućišta RGB LED-ice u spoju zajedničke anode. Zbog toga bi izlaze trebalo konfigurirati kao open drain! Budući da ovo nije moguće s klasom PwmOut, napajanje LED-ica mora biti 3,3 V (što jest!) da bi sve funkcioniralo bez problema. U osnovi se ova konfiguracija može promatrati kao open drain, pa će logika stoga biti inverzna. Primjerice, uz faktor upravljanja 100% LED-ica je isključena, a uz 0% svijetli maksimalnim intenzitetom.

Napišite program koji postavlja crvenu boju pomoću Pot1, zelenu boju pomoću Pot2, a plavu pritiskom na centralnu tipku joystick-a (p14).

Moguće rješenje dano je u sljedećem programskom kôdu:

Import programMAB_PWM_RGB_LED

A simple program to control the color of RGB LED.

PWM izlaz na zvučnik

Napišite program koji će na zvučnik puštati uspavanku Ciciban. Takt pjesme (beat) mora se moći namjestiti potenciometrom Pot1, a ljestvica pomoću potenciometra Pot2.

Moguće rješenje dano je u sljedećem programskom kôdu, uz napomenu da je program pogodan i za jednostavno slaganje drugih pjesama. Budite kreativni, ali nemojte pretjerivati u labosu :)

Import programMAB_PWM_Speaker

A program for playing Ciciban song. All notes are included, so any song can be easily added if you know its notes.

Upravljanje pozicijom servo motora

Napišite program koji će upravljati kutnom pozicijom servo motora SG90 Micro Servo. Proučite podatkovni list motora i pažljivo spojite motor na laboratorijski izvor napona od 5 V. U programu se pozicija motora mora namještati preko potenciometra na način da se koriste puni rasponi potenciometra i kutne pozicije servo motora (linearno skaliranje).

Kao što je navedeno na početku vježbe, na mbed application board-u pinovi p21 i p22 su spojeni na konektore servo motora. Pri spajanju motora potrebno je obratiti pažnju na Vcc i GND (u podatkovnom listu servo motora označene su Vcc i GND linije), tj. orijentaciju konektora.

Zatim je potrebno spojiti mbed application board na izvor napajanja pomoću danih kablova. Napajanje application board-a potrebno je spojiti na konektor DC In koji se nalazi direktno ispod USB konektora pomoću kojeg je vaš mbed spojen s računalom.

Na radnim mjestima gdje se nalaze noviji izvori napajanja (Voltcraft VLP-1602 PRO i VLP-1303 PRO), potrebno je na B izlazu izvora (OUTPUT B - nalazi se s desne strane izvora) podesiti napon napajanja 5 V. Za namještanje napona izvora potrebno je pritisnuti tipkalo na B izlazu (tipkalo omogućuje prikaz iznosa napona, koji namještamo na B izalzu, na zaslonu izvora) te držati isto sve dok niste namjestili odgovarajući iznos napona.

Kod radnih mjesta sa starijim izvorima napajanja potrebno je paziti da se GND linija NE spoji u ulaz izvora označen s žutom nego u ulaz označen plavom bojom.

Program za upravljanje kutnom pozicijom servo motora napišite koristeći neke od funkcija write(), pulsewidth(), pulsewidth_ms() ili pulsewidth_us().

Čestitke!

Završili ste sve vježbe iz teme Pulsno-širinska modulacija.

Povratak na naslovnu stranicu TVZ Mechatronics Team-a.


All wikipages