Musim UKK tlah tiba… hahaha… Uji Kompetensi Keahlian (UKK) harus diikuti oleh kelas XII sebagai salah satu prasyarat kelulusan. Pada 2022 ini UKK untuk Teknik Elektronika diberi 3 pilihan Paket Soal, peserta didik diperbolehkan untuk memilih salah satu dari ketiga pakaet soal tersebut.
Paket Soal 1 peserta didik ditugasi mengendalikan motor dc dengan kendali arduino uno atau Atmega328P, Paket Soal 2 peserta didik ditugasi mengendalikan elektropneumatik dengan kendali PLC dengan metode timer, sedangkan untuk paket soal 3 perserta didik ditugasi mengendalikan elektropneumatik dengan metode sensor.
Pada jejak ini akan mencoba menyelesaikan paket soal 1 dengan instruksi perintah sebagai berikut :
Buatlah program Arduino untuk pengendalian motor DC yang menggunakan fitur PWM (Pulse Width Modulation) dengan ketentuan :
- SW1 ditekan, motor berputar cepat searah jarum jam (kanan).
- SW2 ditekan, motor berputar lambat berlawanan arah jarum (kiri).
- SW3 ditekan maka motor akan stop.
Blok Diagram yang diminta :


Untuk memudahkan pembuatan program sesuai dengan instruksi perintah di atas sebaiknya dibuat rangkaian menggunakan perangkat lunak Proteus seperti gambar di bawah ini sebagai bentuk simulasi yang hasilnya akan sama dengan pada alat sebenarnya.

Sesuai rangkaian di atas dibuat daftar program yang memiliki perintah masukan dan keluaran yang sesuai dengan paket soal, serta menghasilkan keluaran yang sesuai dengan tugas yang diberikan.
Daftar Program yang sesuai dengan rangkaian di atas :
const int SW1 = 11, SW2 = 12, SW3 = 13, EN = 4, OUT1 = 5, OUT2 = 6 ; int nilaiSW1 = 0; int nilaiSW2 = 0; int nilaiSW3 = 0; int i = 0; void setup() { pinMode (SW1, INPUT); pinMode (SW2, INPUT); pinMode (SW3, INPUT); pinMode (EN, OUTPUT); pinMode (OUT1, OUTPUT); pinMode (OUT2, OUTPUT); } void loop() { nilaiSW1 = digitalRead(SW1); nilaiSW2 = digitalRead(SW2); digitalWrite(EN, HIGH); digitalWrite(OUT1, LOW); digitalWrite(OUT2, LOW); if (nilaiSW1 == HIGH) { while (i < 1) { //nyalakan LED1 nilaiSW3 = digitalRead(SW3); digitalWrite(OUT1, HIGH); digitalWrite(OUT2, LOW); if (nilaiSW3 == HIGH) {break;} delay(100); //nyalakan LED2 digitalWrite(OUT1, LOW); digitalWrite(OUT2, LOW); delay(0); } } if (nilaiSW2 == HIGH) { while (i < 1) { //nyalakan LED1 nilaiSW3 = digitalRead(SW3); digitalWrite(OUT1, LOW); digitalWrite(OUT2, HIGH); if (nilaiSW3 == HIGH) {break;} delay(100); //nyalakan LED2 digitalWrite(OUT1, LOW); digitalWrite(OUT2, LOW); delay(0); } } }
Jika ingin melepas mikrokontroler Atmega328P dari Arduino Board kemudian membuat layout PCB sendiri sebaiknya dibuat lagi rangkaian dengan perangkat lunak Proteus terlebih dahulu untuk mengetahui konfigurasi pin masukan dan keluaran yang sesuai dengan tugas yang diberikan, seperti gambar di bawah ini :

Dengan melihat hubungan konfigurasi pin Atmega328P dan Arduino Uno R3, kita bisa membuat rangkaian kendali dengan mikrokontroler Atmega328P, seperti rangkaian di bawah ini.

Pada rangkaian dilengkapi IC Driver L293D yang berfungsi sebagai saklar dan penguat sinyal yang terhubung dengan motor dc, karena sinyal keluaran PWM yang berasal dari mikrokontroler Atmega328P memiliki kuat arus yang kecil atau tidak akan kuat untuk memutar motor dc. Konfigurasi pin IC L293D dapat lihat pada gambar di bawah ini.

Pada IC L293D juga dilengkapi dengan 2 buah Diode yang dirangkai sesuai ketentuan berfungsi sebagai pengaman arus balik yang diakibatkan arus bolak-balik dari sinyal PWM dibagian masukan dan bagian keluaran IC L293D seperti pada gambar di atas, coba perhatikan pin 3 dan pin 7.
Perlu diketahui bahwa komponen Atmega328P tidak ada dalam perangkat lunak Eagle, tetapi kita bisa menggunakan komponen Mega8P atau Atmega168-20P yang memiliki konfigurasi pin yang sama dari segi letak pin catu daya, osilator kristal, reset dan yang lainnya. Perhatikan gambar konfigurasi pin di bawah ini.

Setelah mengetahui konfigurasi pin yang terhubung dengan masukan dan keluaran selanjutnya membuat layout PCB dengan mengggunakan perangkat lunak Eagle, sebelum membuat dalam bentuk layout PCB sebauknya membuat dalam bentuk rangkaian skematik terlebih dahulu untuk mengurangi kesalahan atau garis tidak terhubung, seperti gambar di bawah ini.

Setelah rangkaian skematik yang dibuat sudah benar dan semua garis terhubung sesuai yang diinginkan, barulah membuat layout PCD dimulai dengan mengklik icon Generete/switch to board.
Rangkaian Layout PCB …. (Tunggu ya…)