![Hasilkan Gelombang PWM Dengan Mikrokontroler PIC: 6 Langkah Hasilkan Gelombang PWM Dengan Mikrokontroler PIC: 6 Langkah](https://i.howwhatproduce.com/images/010/image-27971-j.webp)
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
![Hasilkan Gelombang PWM Dengan Mikrokontroler PIC Hasilkan Gelombang PWM Dengan Mikrokontroler PIC](https://i.howwhatproduce.com/images/010/image-27971-2-j.webp)
![Hasilkan Gelombang PWM Dengan Mikrokontroler PIC Hasilkan Gelombang PWM Dengan Mikrokontroler PIC](https://i.howwhatproduce.com/images/010/image-27971-3-j.webp)
![Hasilkan Gelombang PWM Dengan Mikrokontroler PIC Hasilkan Gelombang PWM Dengan Mikrokontroler PIC](https://i.howwhatproduce.com/images/010/image-27971-4-j.webp)
APA ITU PWM?
PWM STANDS FOR PULSE WIDTH MODULATION adalah teknik di mana lebar pulsa divariasikan.
Untuk memahami konsep ini dengan jelas pertimbangkan pulsa clock atau sinyal gelombang persegi apa pun yang memiliki siklus kerja 50% yang berarti periode Ton dan Toff sama, Durasi total saat sinyal tinggi dan durasi sinyal rendah disebut total jangka waktu.
Untuk gambar diatas gelombang ini memiliki duty cycle 50%
Siklus kerja = (Waktu ON / Total Waktu)*100
Waktu ON - waktu di mana sinyal tinggi
Waktu OFF - waktu musuh yang sinyalnya rendah Total waktu -Total periode waktu pulsa (waktu ON dan OFF)
Langkah 1: Memilih Mikrokontroler
![Memilih Mikrokontroler Memilih Mikrokontroler](https://i.howwhatproduce.com/images/010/image-27971-5-j.webp)
Memilih mikrokontroler yang sesuai untuk proyek ini adalah bagian penting dari proyek sinyal PWM dapat dihasilkan di mikrokontroler dengan saluran PWM (register CCP). Untuk proyek ini saya berencana untuk tetap menggunakan pic16f877. Anda dapat mengunduh tautan lembar data yang diberikan di bawah ini
Lembar data PIC16F877a klik di sini
Modul CCP bertanggung jawab untuk menghasilkan sinyal PWM. CCP1 dan CCP2 dimultipleks dengan PORTC. PORTC adalah port dua arah lebar 8-bit. Register arah data yang sesuai adalah TRISC. Setting TRISC bit (=1) akan mengambil pin PORTC yang sesuai sebagai input. Menghapus bit TRISC (= 0) akan membuat pin PORTC yang sesuai menjadi output.
TRISC = 0; // Menghapus bit ini akan membuat PORTC sebagai output
Langkah 2: KONFIGURASI MODUL CCP
![KONFIGURASI MODUL CCP KONFIGURASI MODUL CCP](https://i.howwhatproduce.com/images/010/image-27971-6-j.webp)
![KONFIGURASI MODUL CCP KONFIGURASI MODUL CCP](https://i.howwhatproduce.com/images/010/image-27971-7-j.webp)
CCP - MODUL TANGKAP/BANDINGKAN/PWM
Setiap modul Capture/Compare/PWM (CCP) berisi register 16-bit yang dapat beroperasi sebagai:
• Register Tangkapan 16-bit
• Daftar perbandingan 16-bit
• Register Siklus Tugas Master/Slave PWM
Konfigurasikan register CCP1CON ke mode PWM
Daftar Deskripsi
CCPxCON Register ini digunakan untuk Konfigurasi modul CCP untuk operasi Capture/Compare/PWM.
CCPRxL Register ini menampung 8-Msb bit PWM, 2-bit yang lebih rendah akan menjadi bagian dari register CCPxCON.
TMR2 Free running counter yang akan dibandingkan dengan CCPR1L dan PR2 untuk menghasilkan output PWM.
Sekarang saya akan menggunakan biner untuk mewakili bit untuk mengkonfigurasi register CCP1CON.
rujuk gambar di atas.
CCP1CON = 0b00001111;
Anda juga dapat menggunakan format hex
CCP1CON = 0x0F; //mengonfigurasi register CCP1CON untuk mode PWM
Langkah 3: Mengonfigurasi Modul Timer2 (Register TMR2)
![Mengonfigurasi Modul Timer2 (Register TMR2) Mengonfigurasi Modul Timer2 (Register TMR2)](https://i.howwhatproduce.com/images/010/image-27971-8-j.webp)
Timer2 adalah timer 8-bit dengan prescaler dan postscaler. Ini dapat digunakan sebagai basis waktu PWM untuk mode PWM modul CCP. Register TMR2 dapat dibaca dan ditulis dan dihapus pada perangkat apa pun. Reset.
Register T2CON ditampilkan
Prescale dan postscale akan menyesuaikan frekuensi keluaran gelombang PWM yang dihasilkan.
Frekuensi = frekuensi clock/(4*prescaler*(PR2-TMR2)*Postscaler*count)
Dimana Tout = 1/frekuensi
T2CON = 0b000000100;
Ini akan menghasilkan kristal 2.5 KHz @ 1Mhz atau 100KHz @ 4MHz (praktis ada batasan untuk frekuensi PWM ini, lihat lembar data tertentu untuk lebih jelasnya)
representasi heksagonal
T2CON = 0x04; // aktifkan T2CON tanpa konfigurasi Prescaler dan postscale
Langkah 4: Konfigurasi PR2 (Register Periode Timer2)
Modul Timer2 memiliki register periode 8-bit, PR2. Timer2 bertambah dari 00h hingga cocok dengan PR2 dan kemudian direset ke 00h pada siklus kenaikan berikutnya. PR2 adalah register yang dapat dibaca dan ditulis. Register PR2 diinisialisasi ke FFh setelah Reset.
Menyetel rentang yang sesuai untuk PR2 akan memungkinkan penggunaan untuk mengubah siklus kerja gelombang PWM yang dihasilkan
PR2 = 100; // Atur waktu Siklus ke 100 untuk memvariasikan siklus kerja dari 0-100
Untuk mempermudah saya menggunakan PR2=100 dengan membuat CCPR1L = 80; Siklus tugas 80% dapat dicapai.
Langkah 5: Konfigurasikan Modul CCPR1l
Karena PR2 = 100 CCPR1l dapat dikonfigurasi di mana saja antara 0-100 untuk mendapatkan siklus kerja yang diinginkan.
Langkah 6: Tulis Sketsa pada Anda MPLAB X IDE Kode Diberikan Di Bawah
![Tulis Sketsa pada Anda MPLAB X IDE Kode Diberikan Di Bawah Tulis Sketsa pada Anda MPLAB X IDE Kode Diberikan Di Bawah](https://i.howwhatproduce.com/images/010/image-27971-9-j.webp)
#termasuk
void delay(int a) //fungsi untuk menghasilkan delay{
untuk(int i=0; i<a;i++)
{
untuk(int j=0;j<144;j++);
}
}
batal utama()
{ TRISC = 0; // Menghapus bit ini akan membuat PORTC sebagai output.
CCP1CON = 0x0F; //mengonfigurasi register CCP1CON untuk mode PWM
T2CON = 0x04; // aktifkan T2CON tanpa konfigurasi Prescaler dan postscale.
PR2 = 100; // Atur waktu Siklus ke 100 untuk memvariasikan siklus kerja dari 0-100
sementara(1){
CCPR1L = 75; //menghasilkan 75% duty cycle delay(1);
}
}
Saya juga melakukan sedikit modifikasi pada kode agar frekuensi gelombang PWM yang dihasilkan
Ini adalah kode yang disimulasikan dalam proteus dan gelombang PWM keluaran ditunjukkan di bawah ini. Untuk mengunggah ini ke papan pengembangan gambar Anda, gunakan #include dengan bit konfigurasi yang sesuai.
Terima kasih
Direkomendasikan:
Hasilkan Tautan Afiliasi (Referral) Banggood Lebih Mudah Dari Sebelumnya: 4 Langkah
![Hasilkan Tautan Afiliasi (Referral) Banggood Lebih Mudah Dari Sebelumnya: 4 Langkah Hasilkan Tautan Afiliasi (Referral) Banggood Lebih Mudah Dari Sebelumnya: 4 Langkah](https://i.howwhatproduce.com/images/002/image-3041-12-j.webp)
Hasilkan Tautan Afiliasi (Referensi) Banggood Lebih Mudah Dari Sebelumnya: Versi ringkas dari instruksi ini dapat ditemukan di blog pribadi sayaPenjualan afiliasi adalah sumber penghasilan tambahan yang bagus untuk pembuat konten, dan banyak orang yang menggunakan instruksi menggunakannya. program afiliasi adalah Larangan
Lengan Robot Berbasis Mikrokontroler PIC: 6 Langkah (Dengan Gambar)
![Lengan Robot Berbasis Mikrokontroler PIC: 6 Langkah (Dengan Gambar) Lengan Robot Berbasis Mikrokontroler PIC: 6 Langkah (Dengan Gambar)](https://i.howwhatproduce.com/images/006/image-16058-83-j.webp)
Lengan Robot Berbasis Mikrokontroler PIC: Dari lini perakitan industri manufaktur mobil hingga robot bedah jarak jauh di luar angkasa, Lengan Robot dapat ditemukan di mana-mana. Mekanisme robot ini mirip dengan manusia yang dapat diprogram untuk fungsi dan peningkatan yang sama
Konfigurasi Bit Fuse Mikrokontroler AVR. Membuat dan Mengunggah di Memori Flash Mikrokontroler Program Berkedip LED.: 5 Langkah
![Konfigurasi Bit Fuse Mikrokontroler AVR. Membuat dan Mengunggah di Memori Flash Mikrokontroler Program Berkedip LED.: 5 Langkah Konfigurasi Bit Fuse Mikrokontroler AVR. Membuat dan Mengunggah di Memori Flash Mikrokontroler Program Berkedip LED.: 5 Langkah](https://i.howwhatproduce.com/images/001/image-689-71-j.webp)
Konfigurasi Bit Fuse Mikrokontroler AVR. Membuat dan Mengupload di Flash Memory Mikrokontroler Program LED Blinking.: Dalam hal ini kita akan membuat program sederhana dalam kode C dan membakarnya ke dalam memori mikrokontroler. Kami akan menulis program kami sendiri dan mengkompilasi file hex, menggunakan Atmel Studio sebagai platform pengembangan terintegrasi. Kami akan mengkonfigurasi fuse bi
Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)
![Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar) Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/002/image-5328-94-j.webp)
Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: Pada bagian pertama dari instruksi ini, saya mendemonstrasikan cara memprogram PIC12F1822 menggunakan MPLAB IDE dan compiler XC8, untuk mengirim string sederhana secara nirkabel menggunakan modul TX/RX 433MHz yang murah. Modul penerima terhubung melalui USB ke UART TTL iklan kabel
Skateboard Dengan Mikrokontroler PIC dan LED: 8 Langkah (dengan Gambar)
![Skateboard Dengan Mikrokontroler PIC dan LED: 8 Langkah (dengan Gambar) Skateboard Dengan Mikrokontroler PIC dan LED: 8 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/003/image-8132-46-j.webp)
Skateboard Dengan Mikrokontroler PIC dan LED: Apa yang Anda dapatkan ketika seorang Insinyur Listrik membuat Skateboard dari awal untuk hadiah Natal anak berusia 13 tahun? Anda mendapatkan skateboard dengan delapan LED putih (lampu depan), delapan LED merah (belakang) semua dikendalikan melalui mikrokontroler PIC! Dan saya ming