3. ESP8266/NodeMCU

Aplikasi: Kontrol PID Jarak Jauh dengan NodeMCU dan Adafruit IO

Sewaktu saya mahasiswa, saya paling susah memahami kontrol PID. Mungkin karena hal itulah, saya jadi dosen, hahaha 😁😁😁😁, betul kata dosen saya dulu, biasanya kalau sewaktu menjadi mahasiswa, tidak paham dengan materi yang diajarkan, nanti lulus, biasanya jadi dosen, .... ternyata betul, saya jadi dosen, dan ... tidak bisa tidak, saya harus belajar lagi kontrol PID karena harus mengajarkan materi itu, hahaha.

Ok, jadi sebenarnya, apa itu kontrol PID, dan mengapa hal itu penting dipelajari. Saya jelaskan dengan bahasa saya yang awam, jadi PID adalah cara untuk membuat kontrol yang bisa memenuhi "selera", bisa dibuat sedikit manis, sedikit asin, sedikit pedas, atau lebih banyak rasa manis, lebih banyak rasa asin, atau lebih banyak rasa pedas, dst.nya. Tentu "selera" satu alat dengan alat yang lain tidak sama, masing-masing memiliki karakteristik yang bisa jauh berbeda, sehingga akan membuat lebih banyak variasi kontrol yang dibutuhkan. Kontrol tradisional tidak memadai untuk menjawab kebutuhan ini, sedangkan kontrol PID menjadi solusi yang tepat, karena bisa memenuhi "selera" kontrol yang tepat, namun tentunya butuh pengaturan atau penyetelan parameter yang tepat.

Apabila penjelasan saya malah membingungkan, baiklah, mari kita bertanya pada ChatGPT. Saya bertanya ke ChatGPT agar bisa menjelaskan kontrol PID semudah mungkin, sehingga bisa dipahami oleh anak-anak. Berikut ini jawabannya: 

Kontrol PID adalah cara untuk membuat sebuah sistem bergerak sesuai yang diinginkan. Bayangkan kamu sedang mengendarai sepeda dan ingin tetap seimbang. Nah, kontrol PID ini seperti otaknya sepeda itu. Bagian-bagian dari kontrol PID:
  1. P (Proportional - Proporsional): Ini seperti kamu menambahkan kekuatan pada pedal saat sepeda miring. Semakin miring, semakin keras kamu menekan pedal.
  2. I (Integral - Integral): Ini adalah seperti menambahkan memori. Jika ada kesalahan sepanjang waktu, kontrol PID akan memperhitungkan dan mencoba untuk memperbaikinya.
  3. D (Derivative - Turunan): Ini mirip dengan merespon seketika terhadap perubahan. Jika sepeda miring terlalu cepat, kamu mungkin perlu menurunkan kecepatan pedal.
Contoh penggunaan kontrol PID bisa kamu lihat pada thermostat rumah. Bayangkan kamu ingin suhu di dalam rumah selalu nyaman pada 25 derajat Celsius. 
  1. P (Proportional): Jika suhu turun di bawah 25, pemanas akan dinyalakan untuk menaikkan suhu.
  2. I (Integral): Jika ternyata pemanas tidak cukup, kontrol PID akan memperhitungkan berapa lama suhu di bawah 25 dan menghasilkan kekuatan pemanas yang lebih besar.
  3. D (Derivative): Jika suhu naik terlalu cepat, kontrol PID akan memutuskan untuk mengurangi kekuatan pemanas agar suhu tidak "melambung".
Jadi, kontrol PID membantu menjaga suhu sekitar target dengan memahami dan merespons terhadap perubahan. Semoga penjelasan ini membantu!

Itu jawaban ChatGPT, semoga bisa memberikan gambaran. Kemudian agar sesuai dengan nama blog ini, yaitu Bermain Adafruit IO, maka di sini akan saya bahas bagaimana menggunakan bantuan Adafruit IO, agar bisa melakukan kontrol dari jarak jauh, dengan melibatkan komponen NodeMCU ESP8266-12E (untuk selanjutnya saya tulis NodeMCU saja). Kontrol yang akan diterapkan di sini adalah kontrol PID, yang digunakan untuk mengontrol 2 buah objek, yaitu Motor DC dan alat pemanas atau Oven.

Bagi rekan-rekan yang tidak memiliki komponen hardware tersebut di atas (NodeMCU, Motor DC, dan Oven), tidak perlu kuatir, saya akan menggunakan software simulasi Proteus, agar rekan-rekan tetap dapat mengikuti langkah-langkah pembuatannya di sini. Apabila simulasi sudah bisa berjalan, saya akan memperlihatkan demo rangkaian hardwarenya, sebagai bukti bahwa hasil simulasi bisa sama seperti rangkaian riilnya.

Hal yang menarik dengan simulasi Proteus, yaitu, selain praktis, komponen lengkap, hasil rangkaian menyerupai rangkaian riil, rangkaian dapat disimpan dan dijalankan kembali, tidak repot untuk menyiapkan peralatan, tidak ada risiko kerusakan, juga di Proteus, ada 2 komponen yang bisa digunakan untuk men-simulasikan kontrol PID, yaitu komponen Motor-Encoder dan Oven. Berikut ini rangkaian yang akan digunakan dalam aplikasi di sini, yaitu Rangkaian Kontrol PID Motor DC dan Rangkaian Kontrol PID Oven:

Gambar 1. Rangkaian kontrol Motor DC

Gambar 2. Rangkaian kontrol Oven

Keterangan:
1. Rangkaian Kontrol Motor DC pada Gambar 1 menggunakan komponen Motor DC dengan Enkoder, yang merupakan komponen sensor sekaligus aktuator. Sensor berupa Enkoder, yang outputnya berupa sinyal pulsa A dan B, yang terhubung dengan kaki D2 dan D3 ATmega328. Sedangkan aktuatornya berupa Motor DC, yang terhubung dengan kaki D8 dan D9 ATmega328 melalui Driver Motor L298. 
2. Rangkaian Kontrol Oven pada Gambar 2 menggunakan komponen Oven, yang merupakan komponen sensor sekaligus aktuator. Sensor berupa sensor suhu, yang outputnya berupa sinyal analog (dengan tambahan rangkaian pembagi tegangan R1 dan R2 agar outputnya tidak melebihi 5V), yang terhubung dengan kaki A0 ATmega328. Sedangkan aktuatornya berupa Pemanas (Heater), yang nilai suhunya semakin tinggi apabila tegangan di kaki kiri lebih besar dari tegangan di kaki kanan, dan nilai suhunya semakin rendah apabila sebaliknya.
3. Secara keseluruhan, rangkaian Gambar 1 dan Gambar 2 hampir sama, yaitu terdiri dari 5 jenis komponen, yaitu:
- Komponen pertama adalah COMPIM, yang digunakan untuk berkomunikasi serial dengan perangkat di luar Proteus, 
- Komponen kedua adalah mikrokontroler ATmega328, yang merupakan mikrokontroler untuk Arduino Uno dan Arduino Nano, 
- Komponen ketiga adalah IC L298, yang merupakan Driver Motor dengan suplai tegangan input 12V (batere 12V) dan arus output maksimum 2A, 
- Komponen keempat adalah komponen yang akan dikontrol, untuk rangkaian Gambar 1 adalah Motor DC, sedangkan untuk rangkaian Gambar 2 adalah Oven, dan 
- Komponen kelima adalah penampil LCD 128x64 (sama seperti OLED).
4. File Proteus untuk rangkaian Gambar 1 dan Gambar 2 di atas dapat diunduh di bagian akhir dari tulisan ini.

Software






No comments:

Post a Comment