Daftar Isi:

Robot Mengikuti Garis Berbasis PID Dengan POLOLU QTR 8RC-sensor Array: 6 Langkah (dengan Gambar)
Robot Mengikuti Garis Berbasis PID Dengan POLOLU QTR 8RC-sensor Array: 6 Langkah (dengan Gambar)

Video: Robot Mengikuti Garis Berbasis PID Dengan POLOLU QTR 8RC-sensor Array: 6 Langkah (dengan Gambar)

Video: Robot Mengikuti Garis Berbasis PID Dengan POLOLU QTR 8RC-sensor Array: 6 Langkah (dengan Gambar)
Video: ЭСП8266 | QTR-8RC | Робот, следящий за линией ПИД-регулятора V1 | ТБ6612FNG | N20 Мотор | www.ArnabKumarDas.com 2024, Juli
Anonim
Robot Mengikuti Garis Berbasis PID Dengan Array Sensor POLOLU QTR 8RC
Robot Mengikuti Garis Berbasis PID Dengan Array Sensor POLOLU QTR 8RC

Halo!

ini adalah tulisan pertama saya tentang instruksi, dan hari ini saya akan membawa Anda ke jalan, dan menjelaskan tentang cara membangun robot mengikuti garis berbasis PID menggunakan array sensor QTR-8RC.

Sebelum masuk ke pembuatan robot, kita perlu memahami apa yang disebut sebagai PID,

Langkah 1: Prinsip Kerja

Apa itu PID??

Istilah PID adalah singkatan dari Proporsional, Integral, Derivatif. Jadi sederhananya, apa yang kita lakukan dengan melibatkan PID dengan mengikuti garis adalah, kita memberikan perintah kepada robot untuk mengikuti garis dan untuk mendeteksi belokan dengan menghitung kesalahan dengan mempertimbangkan bagaimana jauh sudah keluar jalur.

istilah kunci seperti yang disebutkan dalam dokumen polalu

Nilai proporsional kira-kira sebanding dengan posisi robot Anda sehubungan dengan garis. Artinya, jika robot Anda tepat di tengah garis, kami mengharapkan nilai proporsional tepat 0

Nilai integral mencatat riwayat gerakan robot Anda: ini adalah jumlah dari semua nilai suku proporsional yang dicatat sejak robot mulai berjalan

Turunan adalah laju perubahan nilai proporsional

Dalam tutorial ini, kita hanya akan membahas tentang Kp dan suku Kd, namun hasil dapat dicapai dengan menggunakan suku Ki juga. Pembacaan yang kita peroleh dari sensor tidak hanya pembacaan analog tetapi juga pembacaan posisi robot.jadi pada dasarnya Sensor memberikan nilai dari 0 hingga 2500 mulai dari reflektansi maksimum hingga reflektansi minimum, tetapi, pada saat yang sama, juga memberikan informasi tentang seberapa jauh robot telah terdampar dari garis.)

Sekarang kita perlu mempertimbangkan istilah kesalahan, Ini adalah perbedaan dari dua nilai nilai setpoint dan nilai saat ini. (Nilai setpoint adalah pembacaan yang sesuai dengan penempatan sensor yang "sempurna" di atas garis. dan Arus nilai adalah pembacaan seketika dari sensor Misalnya: Jika Anda menggunakan sensor array ini dan menggunakan 8 sensor, Anda akan menerima pembacaan posisi 3500 jika Anda tepat, sekitar 0 jika Anda terlalu tertinggal dari garis dan sekitar 7000 jika Anda terlalu benar.). Tujuan kami adalah membuat kesalahan nol. Maka hanya robot yang bisa mengikuti garis dengan lancar.

Kemudian datang bagian perhitungan,.

1) menghitung kesalahan.

Kesalahan = Nilai Setpoint - Nilai Saat Ini = 3500 - posisi

Karena saya menggunakan 8 sensor. sensor memberikan pembacaan posisi 3500 ketika robot ditempatkan dengan sempurna. Sekarang kami telah menghitung kesalahan kami, margin di mana robot kami melayang melintasi trek, sekarang saatnya bagi kami untuk meneliti kesalahan dan menyesuaikan kecepatan motor sesuai dengan itu.

2) menentukan kecepatan motor yang disesuaikan.

Kecepatan Motor = Kp * Error + Kd * (Error - LastError);

Kesalahan Terakhir = Kesalahan;

RightMotorSpeed = RightBaseSpeed + MotorSpeed;

LeftMotorSpeed = LeftBaseSpeed - Kecepatan Motor;

Logikanya, kesalahan 0 berarti robot kita keluar ke kiri, yang berarti robot kita perlu sedikit ke kanan, yang pada gilirannya berarti, motor kanan perlu melambat dan motor kiri perlu dipercepat. INI PID!

Nilai Kecepatan Motor ditentukan dari persamaan itu sendiri. RightBaseSpeed dan LeftBaseSpeed adalah kecepatan (setiap nilai PWM 0-255) di mana robot berjalan saat kesalahannya nol.

Kode yang saya lampirkan juga mencakup cara memeriksa nilai posisi sensor, sehingga Anda dapat membuka monitor serial dan mengunggah kode dan melihat sendiri dengan garis bagaimana motor berputar ketika posisi bervariasi.

Jika Anda mengalami masalah saat mengimplementasikan robot Anda, cukup periksa apakah dan lihat dengan mengubah tanda-tanda persamaan !!!

Dan sekarang bagian tersulit MENEMUKAN Kp DAN Kd, saya harus menghabiskan lebih dari 1 jam untuk menyetel robot saya dengan sempurna. daripada meletakkan nilai acak saya menemukan metode yang lebih mudah untuk menentukan ini.

  1. Mulailah dengan kp dan Kd sama dengan 0, dan mulai dengan Kp, pertama coba setel Kp ke 1 dan amati robot, tujuan kami adalah mengikuti garis meskipun goyah, jika robot melampaui batas dan kehilangan garis mengurangi nilai kp.jika robot tidak dapat menavigasi belokan dan menjadi lamban meningkatkan nilai Kp.
  2. Setelah robot tampaknya agak mengikuti garis, sesuaikan nilai Kd (nilai Kd > Nilai Kp) mulai dari 1 dan tingkatkan nilainya sampai Anda melihat drive yang mulus dengan goyangan yang lebih rendah.
  3. Setelah robot mulai mengikuti garis, tingkatkan kecepatan dan lihat apakah robot mampu mempertahankan dan mengikuti garis.

Ingatlah bahwa kecepatan memiliki dampak langsung pada penyetelan PID dan terkadang Anda mungkin perlu menyetel ulang agar sesuai dengan kecepatan robot Anda.

Sekarang kita bisa mulai membangun robot kita.

Langkah 2: Membangun

Membangun
Membangun
Membangun
Membangun
Membangun
Membangun

Arduino atmega 2560 dengan kabel USB – ini adalah mikrokontroler utama yang digunakan.

Sasis- untuk sasis robot Saya telah menggunakan 2 pelat akrilik melingkar yang digunakan untuk proyek lain yang sempurna untuk ini.menggunakan mur dan sekrup Saya telah membangun sasis bertingkat 2, sehingga saya dapat memasang modul lain ke pelat atas.atau Anda dapat menggunakan sasis siap pakai yang tersedia.

www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…

Motor roda gigi mikro- robot membutuhkan motor yang berputar cepat untuk mengatasi rutinitas PID, untuk itu saya telah menggunakan motor dengan nilai 6V 400rpm dan roda grippy yang sesuai.

www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…

www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…

Array sensor QTR 8Rc – ini dapat digunakan untuk pelacakan garis, seperti yang disebutkan sebelumnya, saya pikir Anda sekarang telah memiliki pemahaman yang jelas tentang cara mengoperasikan array sensor dengan PID. Kodenya sangat sederhana dan menggunakan pustaka arduino yang ada Anda akan dapat untuk membangun pengikut garis cepat.

www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…

Driver motor TB6612FNG-Saya ingin menggunakan driver motor yang dapat menangani belokan dan mengubah arah dalam sekejap, yang mampu mengerem motor secara efektif saat sinyal PWM melemah.

www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…

Baterai lipo- baterai lipo 11.1V digunakan untuk memberikan daya ke robot. Meskipun saya telah menggunakan baterai lipo 11.1 V, kapasitas ini lebih dari yang dibutuhkan untuk arduino dan motor. jika Anda dapat menemukan 7.4V berbobot ringan baterai lipo atau baterai 6V Ni-MH akan menjadi sempurna. Karena alasan ini saya harus menggunakan konverter buck untuk mengubah tegangan menjadi 6V.

11.1V-

7.4 V-

Modul konverter buck-

Selain itu Anda memerlukan kabel jumper, mur dan baut, obeng dan pita listrik dan juga ikatan zip untuk memastikan semuanya terpasang dengan baik.

Langkah 3: Perakitan

Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan

pasang motor dan roda kastor kecil ke dalam piring menggunakan mur dan sekrup dan kemudian pasang sensor QTR, driver motor, papan arduino dan akhirnya baterai ke sasis.

Berikut adalah diagram sempurna yang saya temukan di internet, yang memberi tahu Anda bagaimana koneksi harus dibuat.

Langkah 4: Rancang Jalur Jalur Anda

Rancang Jalur Jalur Anda
Rancang Jalur Jalur Anda

Sekarang proyek Anda tampaknya hampir selesai. Untuk tahap terakhir Anda perlu memiliki arena kecil untuk menguji robot Anda. Saya telah menggunakan garis acak dengan lebar 3cm garis putih pada latar belakang hitam. Pastikan Anda menempelkan semuanya dengan baik. Dan untuk saat ini hindari persilangan sudut 90 derajat, karena ini adalah kasus yang rumit dalam hal pengkodean.

Langkah 5: Program Kode Anda

1. Unduh dan Instal Arduino

IDE Desktop

· windows -

· Mac OS X -

· Linux -

2. Download dan paste file array sensor QTR 8 RC ke folder library Arduino.

·

· Tempel file ke jalur - C:\Arduino\libraries

3. Unduh dan bukaLINEFOLLOWING.ino

4. Unggah kode ke papan arduino melalui kabel USB

Langkah 6: SELESAI

Image
Image

sekarang Anda memiliki robot line following yang dibuat sendiri.

Semoga tutorial ini bermanfaat. Jangan ragu untuk menghubungi saya melalui [email protected] jika Anda memiliki masalah.

sampai jumpa lagi dengan proyek baru lainnya.

Nikmati membangun!!

Direkomendasikan: