Mundarija:
- 1 -qadam: Mikrokontrollerni tanlash
- 2 -qadam: CCP modulini sozlang
- 3 -qadam: Timer2 modulini sozlash (TMR2 Ro'yxatdan o'tish)
- 4 -qadam: PR2 -ni sozlash (Timer2 davriy registri)
- 5 -qadam: CCPR1l modulini sozlash
- 6 -qadam: Eskizni MPLAB X IDE -ga yozing, kod quyida keltirilgan
Video: PIC mikro to'lqinli PWM to'lqinini yaratish: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
PWM nima?
Puls kengligi modulyatsiyasi uchun PWM STANDS - bu pulsning kengligi xilma -xil bo'lgan usul.
Bu kontseptsiyani tushunish uchun soat impulsini yoki har qanday kvadrat to'lqin signalini 50% ish tsikliga ega bo'lishini aniq ko'rib chiqish kerak, ya'ni Ton va Toff davri bir xil, signalning umumiy davomiyligi past bo'lgan vaqtni umumiy deb atash mumkin. vaqt davri.
Yuqorida ko'rsatilgan tasvir uchun to'lqin 50% ish aylanishiga ega.
Vazifa aylanishi = (ON vaqti / Umumiy vaqt)*100
ON vaqti - signal baland bo'lgan vaqt
O'chirish vaqti - signal past bo'lgan vaqt raqibi Umumiy vaqt - Pulsning umumiy davri (ham ON, ham O'chirish vaqti)
1 -qadam: Mikrokontrollerni tanlash
Loyihaga mos keladigan mikrokontrollerni tanlash - bu PWM signallarini PWM kanallari (CCP registrlari) bo'lgan mikrokontrolderlarda yaratilishi mumkin. quyida keltirilgan ma'lumotlar sahifasi havolasini yuklab olishingiz mumkin
PIC16F877a ma'lumotlar varaqasi bu erni bosing
CCP moduli PWM signalini ishlab chiqarish uchun javobgardir. CCP1 va CCP2 PORTC bilan multiplekslanadi. PORTC-8 bitli keng ikki tomonlama port. Tegishli ma'lumotlar yo'nalishi registri TRISC hisoblanadi. TRISC bitini (= 1) sozlash mos keladigan PORTC pinini kiritishga majbur qiladi. TRISC bitini (= 0) tozalash mos keladigan PORTC pinini chiqishga olib keladi.
TRISC = 0; // Bu bitni tozalash PORTC -ni chiqish qilib qo'yadi
2 -qadam: CCP modulini sozlang
CCP - Rasmga tushirish/solishtirish/PWM modullari
Har bir Capture/Compare/PWM (CCP) moduli quyidagicha ishlashi mumkin bo'lgan 16-bitli registrni o'z ichiga oladi:
• 16-bitli Capture reestri
• 16-bitli solishtirish reestri
• PWM Master/Slave Duty Cycle reestri
CCP1CON registrini PWM rejimiga sozlang
Ro'yxatdan o'tish tavsifi
CCPxCON Bu ro'yxatga olish/taqqoslash/PWM operatsiyalari uchun CCP modulini sozlash uchun ishlatiladi.
CCPRxL Ushbu registrda PWM ning 8-Msb bitlari saqlanadi, pastki 2-bit CCPxCON registrining bir qismi bo'ladi.
TMR2 PWM ishlab chiqarish uchun CCPR1L va PR2 bilan taqqoslanadigan bepul ishlaydigan hisoblagich.
Endi men CCP1CON registrini sozlash uchun bitlarni ko'rsatish uchun ikkilikdan foydalanaman.
yuqoridagi rasmga qarang.
CCP1CON = 0b00001111;
Siz shuningdek hex formatida qilishingiz mumkin
CCP1CON = 0x0F; // PWM rejimi uchun CCP1CON registrini sozlash
3 -qadam: Timer2 modulini sozlash (TMR2 Ro'yxatdan o'tish)
Timer2-bu 8-bitli taymer, oldindan hisoblagich va kalkulyatorga ega. U CCP modullarining PWM rejimi uchun PWM vaqt bazasi sifatida ishlatilishi mumkin. TMR2 registri o'qilishi va yozilishi mumkin va har qanday qurilmada o'chiriladi Reset.
T2CON registri ko'rsatiladi
Oldindan o'lchash va keyingi o'lchov ishlab chiqarilgan PWM to'lqinining chiqish chastotasini o'zgartiradi.
Chastotasi = soat chastotasi/(4*oldindan hisoblagich*(PR2-TMR2)*Postscaler*soni)
Qaerda Tout = 1/chastota
T2CON = 0b00000100;
Bu 2,5 MGts @ 1Mhz yoki 100KHz @ 4MHz kristalini ishlab chiqaradi (amalda bu PWM chastotasi uchun cheklovlar mavjud, batafsil ma'lumot uchun maxsus ma'lumotlar jadvaliga qarang)
olti burchakli tasvir
T2CON = 0x04; // T2CON -ni Prescaler va o'lchovdan keyingi konfiguratsiyasiz yoqish
4 -qadam: PR2 -ni sozlash (Timer2 davriy registri)
Timer2 moduli 8-bitli davriy registrga ega, PR2. Taymer2 00h dan PR2 ga mos kelguncha o'sadi va keyingi o'sish tsiklida 00h ga tiklanadi. PR2 - bu o'qiladigan va yoziladigan registr. Qayta tiklashdan so'ng PR2 reestri FFh ga o'rnatiladi.
PR2 uchun mos diapazonni o'rnatish PWM to'lqinining ish aylanishini o'zgartirishga imkon beradi
PR2 = 100; // Ish tsiklini 0-100 gacha o'zgartirish uchun Tsikl vaqtini 100 ga sozlang
Oddiylik uchun men PRPR = 100 dan foydalanib CCPR1L = 80; 80% ish tsikliga erishish mumkin.
5 -qadam: CCPR1l modulini sozlash
PR2 = 100 CCPR1l kerakli ish aylanishini olish uchun 0-100 oralig'ida sozlanishi mumkin.
6 -qadam: Eskizni MPLAB X IDE -ga yozing, kod quyida keltirilgan
#qo'shing
void delay (int a) // kechiktirishni yaratish funktsiyasi {
uchun (int i = 0; i <a; i ++)
{
uchun (int j = 0; j <144; j ++);
}
}
void main ()
{TRISC = 0; // Bu bitni tozalash PORTC -ni chiqish qilib qo'yadi.
CCP1CON = 0x0F; // PWM rejimi uchun CCP1CON registrini sozlash
T2CON = 0x04; // Prescaler va o'lchovdan keyingi konfiguratsiyasiz T2CON -ni yoqish.
PR2 = 100; // Ish tsiklini 0-100 gacha o'zgartirish uchun Tsikl vaqtini 100 ga sozlang
vaqt (1) {
CCPR1L = 75; // 75% ish tsiklining kechiktirilishi (1);
}
}
Men ishlab chiqarilgan PWM to'lqinining chastotasini o'zgartirish uchun kodni biroz o'zgartirdim
Bu kod proteusda simulyatsiya qilingan va PWM to'lqini quyida ko'rsatilgan. Rasmni ishlab chiqish taxtasiga yuklash uchun mos konfiguratsiya bitlari bilan #include dan foydalaning.
rahmat
Tavsiya:
Mikroto'lqinli o'simliklarni avtomatik sug'orish tizimi: bit: 8 qadam (rasmlar bilan)
Mikro: bit yordamida o'simliklarni avtomatik sug'orish tizimi: bu ko'rsatmada men sizga mikro: bit va boshqa kichik elektron komponentlar yordamida o'simliklarni avtomatik sug'orish tizimini qanday qurishni ko'rsataman. o'simlik tuproqidagi namlik darajasini kuzatish va
Z-to'lqinli antenna: 4 qadam
Z-to'lqinli antenna: passiv antennalar quvvat va diapazonni oshiradi, demontaj qilish yoki lehimlash shart emas Arzon O'rnatish oson, men batareyam bilan ishlaydigan eshik diapazonini ko'paytirish uchun Z-Wave Plus tizimim bilan tajriba o'tkazdim
Sinus to'lqinini yaratish uchun DIY NE555 sxemasi: 6 qadam
Sinus to'lqinini yaratish uchun DIY NE555 sxemasi: Bu darslik sizga sinus to'lqin hosil qilish uchun NE555 sxemasini DIY qilish haqida o'rgatadi. Bu arzon narxlardagi DIY to'plamlari, kondansatkichlarning rezistorlar bilan qanday ishlashini, genning zaryadlash va tushirish vaqtini nazorat qilishini tushunish uchun juda foydali bo'ladi
Mikroto'lqinli pech transformatoridan nuqta bilan payvandlash mashinasini yaratish: 7 qadam (rasmlar bilan)
Mikroto'lqinli pechdan transformatordan nuqta bilan payvandlash mashinasini yaratish: Ushbu loyihada men 18650 lityum -ionli xujayrali akkumulyatorli paketlarni qurish uchun ishlatiladigan DIY -payvandlash mashinasini tayyorlayman. Menda Sunkko 737G modelli professional payvandchi bor, uning narxi taxminan 100 dollarni tashkil qiladi, lekin men mamnuniyat bilan aytishim mumkinki, men o'z qo'llarim bilan payvandlash payvandchisiman
To'lqinli noutbuk stendi (Illustratorda 3D shakllarini yaratish): 8 qadam (rasmlar bilan)
To'lqinli noutbuk stendi (Illustrator -da 3D shakllarini yaratish): Menga noutbuk uchun yaxshiroq stend kerak edi. Men chiroyli, organik shaklda biror narsa yasashni xohlardim. Men Instructables -da ishlayman, shuning uchun ajoyib Epilog lazer kesgichidan foydalanishim mumkin. Quyidagi rasmlarda siz ko'rib turgan shakl natijadir. Juda xursandman