PWM Nima Va U Arduino-da Qanday Ishlatiladi

Mundarija:

PWM Nima Va U Arduino-da Qanday Ishlatiladi
PWM Nima Va U Arduino-da Qanday Ishlatiladi

Video: PWM Nima Va U Arduino-da Qanday Ishlatiladi

Video: PWM Nima Va U Arduino-da Qanday Ishlatiladi
Video: Управление ШИМ(PWM) на Ардуино Nano + 2024, Aprel
Anonim

Keling, PWM qisqartmasining orqasida nima borligini, qanday ishlashini, nima uchun kerakligini va Arduino bilan ishlashda qanday foydalanishimiz mumkinligini aniqlaylik.

PWM signali
PWM signali

Kerakli

  • - Arduino;
  • - yorug'lik chiqaradigan diod;
  • - qarshilik 200 Ohm bo'lgan qarshilik;
  • - kompyuter.

Ko'rsatmalar

1-qadam

Arduino raqamli pinlari faqat ikkita qiymatni berishi mumkin: mantiq 0 (LOW) va mantiqiy 1 (HIGH). Shuning uchun ular raqamli. Ammo Arduino PWM deb nomlangan "maxsus" xulosalarga ega. Ular ba'zan to'lqinli chiziq bilan belgilanadi "~" yoki aylana shaklida yoki boshqalar bilan ajralib turadi. PWM "Puls kengligi modulyatsiyasi" yoki Puls kengligi modulyatsiyasi, PWM degan ma'noni anglatadi.

Impuls kengligi modulyatsiyalangan signal - bu doimiy chastotali impuls signalidir, ammo o'zgaruvchan ish tsikli (impuls davomiyligining uning takrorlanish davriga nisbati). Tabiatdagi aksariyat jismoniy jarayonlar inertsiyaga ega bo'lganligi sababli, keskin kuchlanishning 1dan 0 gacha pasayishi, o'rtacha qiymatga ega bo'lib, tekislanadi. Ish tsiklini o'rnatib, siz PWM chiqishidagi o'rtacha kuchlanishni o'zgartirishingiz mumkin.

Agar ish aylanishi 100% bo'lsa, u holda Arduinoning raqamli chiqishida doimo "1" yoki 5 voltsli mantiqiy kuchlanish bo'ladi. Agar siz ishchi tsiklni 50% ga o'rnatgan bo'lsangiz, unda chiqadigan vaqtning yarmi mantiqiy "1", yarmi mantiqiy "0" bo'ladi va o'rtacha voltaj 2,5 volt bo'ladi. Va hokazo.

Dasturda ish tsikli foiz sifatida emas, balki 0 dan 255 gacha bo'lgan raqam sifatida o'rnatiladi. Masalan, "analogWrite (10, 64)" buyrug'i mikrokontrollerga ish tsikli 25 ga teng signal yuborishini aytadi. № 10 raqamli PWM chiqishiga%.

Impuls kengligi modulyatsiyasi funktsiyasiga ega Arduino pinlari taxminan 500 Gts chastotada ishlaydi. Bu shuni anglatadiki, pulsning takrorlanish davri taxminan 2 millisekundni tashkil etadi, bu rasmdagi yashil vertikal zarbalar bilan o'lchanadi.

Raqamli chiqishda analog signalni simulyatsiya qilishimiz mumkin ekan! Qiziq, to'g'rimi?!

Buni qanday ishlatishimiz mumkin? Arizalar juda ko'p! Masalan, bu LED yorqinligini boshqarish, dvigatel tezligini boshqarish, tranzistor oqimini boshqarish, piezo emitentdan ovoz chiqarib olish …

Pulse kengligi modulyatsiyasini tushunish
Pulse kengligi modulyatsiyasini tushunish

2-qadam

Keling, eng asosiy misolni ko'rib chiqamiz - PWM yordamida LED yorug'ligini boshqarish. Keling, klassik sxemani yig'amiz.

Arduinoda PWMni namoyish qilish sxemasi
Arduinoda PWMni namoyish qilish sxemasi

3-qadam

Keling, "Solish" eskizini misollardan ochamiz: Fayl -> Namunalar -> 01. Asoslar -> Fade.

Arduino-da PWM-ni namoyish qilish uchun namunani ochish
Arduino-da PWM-ni namoyish qilish uchun namunani ochish

4-qadam

Keling, uni biroz o'zgartirib, Arduino xotirasiga yuklaylik.

PWM namoyish eskizi
PWM namoyish eskizi

5-qadam

Biz quvvatni yoqamiz. LED yorug'likda asta-sekin o'sib boradi va keyin asta-sekin kamayadi. Biz impuls kengligi modulyatsiyasi yordamida raqamli chiqishda analog signalni simulyatsiya qildik.

Tavsiya: