Anda di halaman 1dari 11

LAPORAN PRAKTIKUM MIKROPROSESOR

JOB 7

PWM DAN PENGATURAN KECEPATAN MOTOR DC

Di susun oleh:
Di Susun Oleh :
Nama : Taufiq Saputra
Nim : 18642014
Kelas : D4-6A

Jurusan Teknik Elektro


Politeknik Negeri Samarinda
2021
PWM dan Pengaturan Kecepatan Putar Motor DC

I. Tujuan :
1. Mengetahui tujuan penggunaan Pulse Width Modulation (PWM)
2. Mengetahui cara mengatur duty cycle PWM.
3. Mengetahui cara mengendalikan kecepatan putar motor DC dengan PWM.

II. Teori :
Walaupun dilengkapi dengan pin-pin analog, pin-pin yang terdapat papan
sirkuit (circuit board) Arduino, termasuk jenis Uno, ini hanya dapat digunakan
sebagai pin masukan saja. Sehingga untuk mendapatkan tegangan keluaran yang
serupa dengan tegangan analog digunakanlah metode pulse width modulation (PWM).
Seperti yang ditunjukkan dalam Gambar 1, papan sirkuit Arduino Uno dilengkapi
dengan enam buah pin yang dapat digunakan sebagai keluaran PWM.

Gambar 1. Enam buah pin keluaran PWM pada board Arduino Uno
Sumber: components101.com

PWM adalah suatu teknik menghasilkan nilai analog dari sinyal digital. Dari
sinyal digital yang hanya mempunyai dua level (High dan Low, 5V dan 0 V), nilai
tegangan analog dapat diperoleh dengan cara mengatur lebar pulsa yang dikeluarkan
oleh sinyal digital. Jika suatu sistem digital mempunyai level tegangan 0 dan 5V dan
pulsa keluarannya mempunyai periode sebesar T seperti ditunjukkan dalam Gambar
2, maka dengan mengatur nilai duty cycle pulsa, tegangan keluaran dapat diubah-ubah
dari 0 hingga 5V. Sebagai contoh, duty cycle 0 %, 25 %, 50 %, 75 %, serta 100 %,
masing-masing akan menghasilkan tegangan sekitar 0, 1.25, 2.5, 3.75 dan 5 V.

Gambar 2. PWM dengan berbagai duty cycle

III. Alat Percobaan :


 Komputer atau Laptop
 Board Arduino Uno
 Kabel USB
 Potentiometer 10 KΩ
 IC ULN2003
 Motor DC
 Oscilloscope dan probe-nya
 Tachometer
 Power supply 12 V

IV. Langkah Percobaan :


1. Buatlah rangkaian seperti yang ditunjukkan dalam Gambar 2. Hubungkan pin 9
dan GND Arduino pada channel 1 pada oscilloscope.
2. Bukalah IDE Arduino, kemudian hubungkan computer dengan board Arduino
dengan menggunakan kabel USB.
Gambar 2 Rangkaian percobaan

3. Tuliskan program berikut pada editor IDE.

int outPwm = 9; // the PWM pin the motor is attached


int dutyCode = 255; // from 0 to 255

// the setup routine runs once when you press reset:


void setup() {
// declare pin 9 to be an output:
pinMode(outPwm, OUTPUT);
}

// the loop routine runs over and over again forever:


void loop() {
// set the speed of motor:
analogWrite(outPwm, dutyCode);
}

4. Compile dan upload program ke board Arduino.


5. Amati tampilan pada layer oscilloscope. Ukur kecepatan putar motor DC dengan
menggunakan tachometer. Ukur tegangan antara pin 9 dengan pin GND.
6. Lakukan percobaan yang sama untuk nilai dutyCode sama dengan 153, 51, 25.5,
dan 0.
7. Catatlah data hasil percobaan pada Tabel 1 berikut.
Tabel 1 Hasil percobaan
dutyCode Grafik gelombang Duty cycle Tegangan (V) Kecepatan
(%) putar (rpm)
255 100 4,8 1427
153 75 2,9 989,7
51 25 0,967 390,3
25.5 10 0,478 64.80
0 0 0,33 00

8. Berdasarkan Tabel 1, jelaskan hubungan antara duty cycle PWM dan tegangan
keluaran.
9. Berdasarkan Tabel 1, jelaskan hubungan antara duty cycle PWM dengan
kecepatan motor
10. Set PWM pada 100 %, jalankan program. Saat motor berputar ubah-ubahlah nilai
duty cycle untuk mendapatkan kececepatan motor paling pelan. Berapakah nilai
duty cycle, tegangan, dan kecepatan putarnya.
11. Set PWM pada 0 %, jalankan program. Saat motor berputar ubah-ubahlah nilai
duty cycle untuk mendapatkan kececepatan motor paling pelan. Berapakah nilai
duty cycle, tegangan, dan kecepatan putarnya. Bandingkan hasil percobaan ini
dengan hasil pada no 10.
12. Tambahkan potentiometer 50 kΩ sebagai input. Hubungkan terminal
potentiometer, masing-masing pada pin 5V, A0, dan GND.
13. Buat tambahan program di mana putaran pada potentiometer dapat mengubah
kecepatan putar motor.

V. Data Hasil Percobaan dan Analisa :


7. Data hasil percobaan :
Tabel 1 Hasil percobaan
Duty Kecepatan
dutyCod Teganga
Grafik gelombang cycle putar
e n (V)
(%) (rpm)

255 100 4,8 1427

153 75 2,9 989,7

51 25 0,967 390,3
25.5 10 0,478 64,80

0 0 0,33 0

8. Berdasarkan Tabel 1, Jelaskan hubungan antara duty cycle PWM dan tegangan
keluaran.
Dari data hasil percobaan pada tabel 1 didapatkan hasil seperti tabel diatas,
Hubungan antara Duty Cycle PWM dengan Tegangan Keluaran adalah semakin
besar nilai Duty Cycle maka semakin besar pula Tegangan Keluar yang
dihasilkan. Sebaliknya, semakin kecil nilai Duty Cycle maka semakin kecil pula
Tegangan Keluar yang dihasilkan.
 Bila diberikan dutyCode 255, maka duty cycle yang dihasilkan adalah
100% , dan tegangan keluaran yang dihasilkan adalah 4,8 V.
 Bila diberikan dutyCode 153, maka duty cycle yang dihasilkan adalah
75% , dan tegangan keluaran yang dihasilkan adalah 2,9 V.
 Bila diberikan dutyCode 51, maka duty cycle yang dihasilkan adalah 25%
, dan tegangan keluaran yang dihasilkan adalah 0,967 V.
 Bila diberikan dutyCode 25,5, maka duty cycle yang dihasilkan adalah
10% , dan tegangan keluaran yang dihasilkan adalah 0,478 V.
 Bila diberikan dutyCode 0, maka duty cycle yang dihasilkan adalah 0% ,
dan tegangan keluaran yang dihasilkan adalah 0,33 V.

9. Berdasarkan Tabel 1, Jelaskan hubungan antara duty cycle PWM dengan


kecepatan motor
Dari data hasil percobaan pada tabel 1 didapatkan hasil seperti tabel diatas,
Hubungan antara Duty Cycle PWM dengan Kecepatan Motor adalah semakin
besar nilai Duty Cycle maka semakin cepat Kecepatan Motor yang dihasilkan.
Sebaliknya, semakin kecil nilai Duty Cycle maka semakin lambat Kecepatan
Motor yang dihasilkan ?
 Bila diberikan dutyCode 255, maka duty cycle yang dihasilkan adalah
100% , dan kecepatan motor yang dihasilkan adalah 1405 rpm.
 Bila diberikan dutyCode 153, maka duty cycle yang dihasilkan adalah
75% , dan tegangan keluaran yang dihasilkan adalah 995,2 rpm.
 Bila diberikan dutyCode 51, maka duty cycle yang dihasilkan adalah 25%
, dan tegangan keluaran yang dihasilkan adalah 400,3 rpm.
 Bila diberikan dutyCode 25,5, maka duty cycle yang dihasilkan adalah
10% , dan tegangan keluaran yang dihasilkan adalah 70,34 rpm.
 Bila diberikan dutyCode 0, maka duty cycle yang dihasilkan adalah 0% ,
dan tegangan keluaran yang dihasilkan adalah 0 rpm atau motor berhenti
berputar.

10. Set PWM pada 100 %, jalankan program. Saat motor berputar ubah-ubahlah nilai
duty cycle untuk mendapatkan kecapatan motor paling pelan. Berapakah nilai
duty cycle, tegangan, dan kecepatan putarnya ?
Setingan PWM pada 100% dengan mengubah nilai duty cycle untuk
mendapatkan kecepatan motor paling pelan maka didapat data sebagai berikut
dutyCode = 23
duty cycle = 9,12%
Tegangan = 0,456 V
Kecepatan Motor = 55,18 rpm
11. Set PWM pada 0 %, jalankan program. Saat motor berputar ubah-ubahlah nilai
duty cycle untuk mendapatkan kececepatan motor paling pelan. Berapakah nilai
duty cycle, tegangan, dan kecepatan putarnya. Bandingkan hasil percobaan ini
dengan hasil pada no 10 ?
Setingan PWM pada 0% dengan mengubah nilai duty cycle untuk
mendapatkan kecepatan motor paling pelan maka didapat data sebagai berikut
dutyCode = 89
duty cycle = 35%
Tegangan = 1,8 V
Kecepatan Motor = 719,6 rpm
Pada percobaan 11 nilai duty cycle yang di set untuk mendapatkan kecepatan
motor paling pelan lebih tinggi dari pada nilai duty cycle yang di set pada
percobaan 10, karena pada awal percobaan 11 PWM di set 0% sehingga
membutuhkan tegangan 1,8 V untuk dapat menjalankan motor dengan kecepatan
paling pelan sebesar 719,6 rpm, sedangkan pada awal percobaan 10 PWM di set
100% sehingga membutuhkan tegangan 0,456 V dan mendapatkan kecepatan
paling pelan sebesar 55,18 rpm. Perbedaan nilai ini dikarenakan set PWM pada
starting yang berbeda.

13. Buat tambahan program di mana putaran pada potentiometer dapat mengubah
kecepatan putar motor.
int outPwm = 9; // the PWM pin the motor is attached
int dutyCode = 225; // from 0 to 225
int pinPot = A0;
int nilai;
// the setup rountine runs once when you press reset:
void setup(){
//declare pin 9 to be an output:
pinMode (pinPot, INPUT);
pinMode (outPwm, OUTPUT);
}

//the loop routine runs over and over again forever :


void loop (){
nilai = analogRead (A0);
int dutyCode=map (nilai,0,1023,255,0);
// set the speed of motor:
analogWrite(outPwm, dutyCode);
}

Dengan penambahan potensiometer 50 kΩ maka mengatur kecepatan putar


motor dapat dilakukan melalui potensiometer tersebut. Lalu dengan
menambahkan perintah int potValue, lalu pada void loop ditambahkan “read the
input on analog pin 0”, int potValue = analogRead(A0);. Nilai yang dihasilkan
oleh analogRead(A0) akan berkisar 0 sampai 1023. Mengingat nilai untuk
mengontrol motor melalui analogRead() berkisar anatara 0 sampai dengan 255,
sehingga nilai yang berasal dari analogRead() perlu dibagi menjadi 4. Itulah
sebabnya ada pembagian 4 pada pernyataan.

VI. Kesimpulan :
1. Dari percobaan di atas diperoleh kesimpulan bahwa semakin besar nilai PWM
maka RPM motor DC juga akan semakin besar, dan semakin besar nlai PWM
yang diberikan, maka nilai duty cycle yang dihasilkan juga akan semakin besar.
2. Nilai terendah PWM adalah 25,5 dengan duty cycle 10% dan nilai tertinggi PWM
adalah 255 dengan duty cycle 100%.
3. PWM (Pulse Width Modulation) digunakan untuk memanipulasi keluaran digital
sedemikian rupa sehingga menghasilkan sinyal analog.
4. Pada duty cycle terlihat bahwa semakin besar duty cycle maka tegangan yang
masuk ke motor

Anda mungkin juga menyukai