Anda di halaman 1dari 14

Nama : Ichsan Muhammad Rizki

NIM : 5160711148
Sistem Embedded Praktikum Kelas B

A. Pendahuluan
a. Tujuan Pembelajaran
Setelah melakukan praktik pada sesi ini, diharapkan mahasiswa mengatahui
dan memahami beberapa hal berikut :
1. Prinsip kerja dari Teknik PWM (pulse wide modulation).
2. Cara menggunakan fasilitas keluaran analog PWM pada papan Arduino
untuk mengubah data digital menjadi besaran keluaran analog.
b. Indikator Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan cara menggunakan fasilitas PWM
Arduino untuk menghasilkan keluaran analog dan mengerti prinsip
kerjanya.
2. Mahasiswa mampu membuat aplikasi sederhana tentang penerapan
PWM untuk mengendalikan piranti keluaran secara analog.

B. Landasan Teori
PWM atau lebih dikenal dengan modulasi lebar pulsa, yaitu sebuah metode
pengaturan lebar pulsa secara variable untuk nilai frekuensi yang tetap. Berbeda
halnya dengan modulasi frekuensi (FM) atau modulasi amplitudo (AM) yang
mengatur variasi frekuensi atau tegangan, PWM menggunakan gelombang
kotak (square wave) dengan amplitudo dan frekuensi yang tetap namun rasio
pariode ON terhadap total pariode gelombang atau disebut DUTY CYCLE bisa
diatur dalam satuan persen (%).

Bentuk gelombang PWM


Berdasarkan gambar diatas, dapat dilihat bahwa periode ON pada satu siklus
gelombang bisa melebar dan menyempit tanpa merubah frekuensi
amplitudonya. Variasi lebar pulsa PWM dapat dihitung secara matematis
mengikuti kaidah yang ditunjukan oleh persamaan berikut
𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
Pada papan Arduino jenis 8 bit tedapat beberapa pin yang bisa dijadikan sebagai
keluaran PWM, yaitu 3, 5, 6, 9, 10, dan 11. Dan terdapat dua jenis frekuensi
PWM yang berbeda, yaitu 488 Hz untuk pin 3, 9, 10, 11 dan 977 Hz untuk pin
5, 6. Rentang amplitudo PWM Arduino hampir sama dengan tegangan catu
komponen digital, yaitu 0 – 5 volt. Sedangkan rentang nilai digital yang
merepresntasikan duty cycle pada Arduino yaitu 0 – 255 untuk 0% - 100 %
rasio.

Keluaran PWM Arduino belum dapat dikatakan sebagai keluaran analog murni
karena pada dasarnya masih berupa variasi data digital (HIGH dan LOW),
sehingga diperlukan sebuah tapis lolos rendah (LPF – Low Pass Filter) untuk
mendapatkan gradasi amplitude mendekati definisi keluaran analog.

LPF untuk keluaran PWM


Dengan menggunakan LPF maka aka nada konversi dari duty cycle menjadi
tegangan analog. Nilai R dan C pada LPF umumnya bernilai R1 = 3.9kΩ dan
C1 = 100nF. Dengan demikian, nilai PWM Arduino yang diperlukan untuk
menghasilkan keluaran analog dapat dihitung mengikuti kaidah berikut.
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
AnalogPWM adalah tegangan yang diinginkan, dan AmplitudoPWM adalah
amplitudo maksimal gelombang PWM (+5 volt). Sehingga data digital 0
menghasilkan tegangan keluaran analog 0 volt (0% duty cycle), dan data digital
255 menghasilkan tegangan keluaran analog 5 volt (100% duty cycle) untuk
Arduino yang menggunakan catu tegangan logika +5 volt.

C. Perancangan Sistem
a. Alat dan Bahan
1. Software Proteus 8 Professional
a. Arduino Uno
b. Virtual Osilloscope
c. DC Voltmeter
d. Resistor 5.90kΩ
e. Kapasitor 10uF
b. Skema Rangkaian

c. Source Code

Dengan nilai “25” dapat diubah sesuai keinginan. Dengan rentang nilai 0 –
255.
D. Hasil Percobaan
a. Tabel hasil percobaan praktikum PWM
Frekuensi Duty Cycle Selisih
NO PWM Videal Vtrukur
(Hz) (%) (V)
1 25 490,2 9,8 0,49 0,50 0,01
2 50 490,2 19,6 0,98 0,97 0,01
3 75 490,2 29,4 1,46 1,51 0,05
4 100 490,2 39,2 1,96 1,96 0,00
5 125 490,2 49,0 2,45 2,44 0,01
6 150 490,2 58,8 2,94 2,94 0,00
7 175 490,2 68,6 3,43 3,48 0,05
8 200 490,2 78,4 3,92 3,93 0,01
9 225 490,2 88,2 4,41 4,41 0,00
10 250 490,2 98,0 4,90 4,90 0,00

b. Perhitungan
1. PWM 25
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
25 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 25
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 0.49 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
1
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
1 + 9,2
1
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 9,8%
2. PWM 50
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
50 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 50
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 0.98 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
2 + 8,2
2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 19,6%

3. PWM 75
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
75 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 75
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 1,46 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
3
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
3 + 7,2
3
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 29,4%
4. PWM 100
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
100 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 100
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 1,96 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
4
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
4 + 6,2
4
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 39,2%

5. PWM 125
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
125 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 125
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 2,45 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
5
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
5 + 5,2
5
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 49,0%
6. PWM 150
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
150 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 150
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 2,94 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
6
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
6 + 4,2
6
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 58,8%

7. PWM 175
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
175 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 175
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 3,43 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
7
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
7 + 3,2
7
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 68,6%
8. PWM 200
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
200 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 200
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 3,93 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
8
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
8 + 2,2
8
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 78,4%

9. PWM 225
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
225 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 225
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 4,41 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
9
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
9 + 1,2
9
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 88,2%
10. PWM 250
𝑇 = 2,04 𝑚𝑠 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
𝐷𝑖𝑔𝑖𝑡𝑎𝑙𝑃𝑊𝑀 = 255 𝑥
1 𝐴𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑜𝑃𝑊𝑀
𝐹=
𝑇 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀
250 = 255 𝑥
1 5
𝐹=
2,04𝑥10−3 𝑠𝑒𝑐 250
𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 =
103 51
𝐹= 𝐴𝑛𝑎𝑙𝑜𝑔𝑃𝑊𝑀 = 4,90 𝑉
2,04
𝐹 = 490,2 𝐻𝑧

𝑇𝑂𝑁
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) =
𝑇𝑂𝑁 + 𝑇𝑂𝐹𝐹
10
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10 + 0,2
10
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 𝑥 100%
10,2
𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒 (%) = 98,0%

c. Gambar percobaan

PWM 25
PWM 50

PWM 75
PWM 100

PWM 125
PWM 150

PWM 175
PWM 200

PWM 225
PWM 250

E. Kesimpulan
PWM atau lebih dikenal dengan modulasi lebar pulsa, yaitu sebuah metode
pengaturan lebar pulsa secara variabel untuk sebuah nilai frekuensi yang tetap.
PWM menggunakan gelombang kotak (square wave) dengan amplitudo dan
frekuensi yang tetap namun rasio periode ON terhadap total periode gelombang
atau disebut dengan DUTY CYCLE bisa diatur dalam satuan persen (%).
Pada hasil simulasi menunjukan beberapa perbedaan pada Videal berdasarkan
teori pehitungan dan Vterukur hal ini disebabkan oleh salahsatunya error dari
alat itu sendiri, juga pada saat simulasi hasil yang ditunjukan pada DC
Voltmeter tidak stabil dan berubah ubah akan tetapi perubahanya tidak terlalu
banyak/jauh. Semakin besar PWM yang diberikan maka semakin besar pula
hasil output yang dihasilkan. Setiap selisih PWM bernilai 25 maghasilkan
selisih ±10% terhadap duty cycle dan ±0,5 V terhadap tegangan keluaran,
dengan input default Arduino 5 V.

Anda mungkin juga menyukai