Isi kandungan:
- Langkah 1: Prinsip Kerja
- Langkah 2: Binaan
- Langkah 3: Berkumpul
- Langkah 4: Reka Jalan Anda
- Langkah 5: Program Kod Anda
- Langkah 6: SELESAI
Video: Garis Berasaskan PID Mengikuti Robot Dengan Array-sensor POLOLU QTR 8RC: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Helo!
ini adalah penulisan pertama saya mengenai instruksional, dan hari ini saya akan membawa anda ke jalan, dan menerangkan tentang cara membariskan garis berdasarkan PID berikut robot menggunakan array sensor QTR-8RC.
Sebelum pergi ke bangunan robot, kita perlu memahami apa yang disebut sebagai PID,
Langkah 1: Prinsip Kerja
Apa itu PID ??
Istilah PID bermaksud proporsional, integral, derivative. Jadi, apa yang kita lakukan dengan melibatkan PID dengan garis berikut adalah, kita memberi perintah kepada robot untuk mengikuti garis dan untuk mengesan belokan dengan mengira kesalahan dengan mempertimbangkan bagaimana jauh ia bergerak di luar landasan.
istilah utama seperti yang disebutkan dalam dokumen polalu
Nilai perkadaran hampir sebanding dengan kedudukan robot anda sehubungan dengan garis. Maksudnya, jika robot anda berpusat tepat pada garis, kami menjangkakan nilai berkadar tepat 0
Nilai integral mencatat sejarah pergerakan robot anda: ini adalah jumlah semua nilai istilah berkadar yang direkodkan sejak robot mula berjalan
Derivatifnya adalah kadar perubahan nilai berkadar
Dalam tutorial ini, kita hanya akan membincangkan istilah Kp dan Kd, namun hasilnya dapat dicapai dengan menggunakan istilah Ki juga. Bacaan yang kita perolehi dari sensor bukan hanya bacaan analog tetapi juga pembacaan posisi robot. Jadi pada dasarnya Sensor memberikan nilai dari 0 hingga 2500 mulai dari pantulan maksimum hingga pantulan minimum, tetapi, pada masa yang sama, juga memberikan maklumat mengenai sejauh mana robot itu terdampar dari garis.)
Sekarang kita perlu mempertimbangkan istilah kesalahan, Ini adalah perbezaan dari dua nilai setpoint nilai dan nilai semasa. (Nilai setpoint adalah bacaan yang sesuai dengan penempatan "sempurna" sensor di atas garis. Dan Arus nilai adalah bacaan sekejap sensor. Contohnya: Jika anda menggunakan sensor array ini dan menggunakan 8 sensor, anda akan menerima bacaan kedudukan 3500 jika anda berada di tempat, sekitar 0 jika anda terlalu jauh dari garis dan sekitar 7000 jika anda terlalu tepat.). Matlamat kami adalah untuk menjadikan kesalahan itu sifar. Hanya dengan itu robot dapat mengikuti garis itu dengan lancar.
Kemudian datang bahagian pengiraan,.
1) hitung ralat.
Ralat = Nilai Setpoint - Nilai Semasa = 3500 - kedudukan
Sebagai im menggunakan 8 sensor. sensor memberikan bacaan kedudukan 3500 apabila robot diletakkan dengan sempurna. Setelah kita mengira kesilapan kita, margin di mana robot kita melintasi lintasan, inilah masanya untuk kita meneliti ralat dan menyesuaikan kelajuan motor dengan sewajarnya
2) tentukan kelajuan motor yang diselaraskan.
MotorSpeed = Kp * Ralat + Kd * (Ralat - Kesalahan Terakhir);
Kesalahan Terakhir = Ralat;
RightMotorSpeed = RightBaseSpeed + MotorSpeed;
LeftMotorSpeed = LeftBaseSpeed - MotorSpeed;
Secara logik, kesalahan 0 bermaksud robot kita berada di sebelah kiri, yang bermaksud bahawa robot kita perlu bergerak sedikit ke kanan, yang seterusnya bermaksud, motor kanan perlu perlahan dan motor kiri perlu mempercepat. INI PID!
Nilai MotorSpeed ditentukan dari persamaan itu sendiri. RightBaseSpeed dan LeftBaseSpeed adalah kelajuan (sebarang nilai PWM 0-255) di mana robot berjalan ketika ralat adalah sifar.
Kod yang telah saya lampirkan juga merangkumi cara memeriksa nilai kedudukan sensor, sehingga anda dapat membuka monitor bersiri dan memuat naik kod dan melihat sendiri dengan garis bagaimana motor berputar apabila kedudukannya berbeza-beza.
Sekiranya anda menghadapi masalah semasa melaksanakan robot anda, periksa sama ada dan lihat dengan menukar tanda persamaan !!!
Dan sekarang bahagian paling sukar MENCARI Kp DAN Kd, saya terpaksa menghabiskan lebih dari 1 jam untuk menyesuaikan robot saya dengan sempurna. Daripada meletakkan nilai rawak, saya dapati kaedah yang lebih mudah untuk menentukannya.
- Mulakan dengan kp dan Kd sama dengan 0, dan mulakan dengan Kp, pertama-tama cuba tetapkan Kp ke 1 dan perhatikan robot, tujuan kami adalah mengikuti garis walaupun goyah, jika robot melambung dan kehilangan garis mengurangkan nilai kp. Jika robot tidak dapat menavigasi giliran dan lambat meningkatkan nilai Kp.
- Sebaik sahaja robot nampaknya mengikut garis laras nilai Kd (nilai Kd> nilai Kp) bermula dari 1 dan tingkatkan nilainya sehingga anda melihat pemacu yang lancar dengan goyangan yang kurang.
- Setelah robot mula mengikuti garis, tingkatkan kelajuan dan lihat apakah ia mampu mengekalkan dan mengikuti garis itu.
Perlu diingat bahawa kelajuan mempunyai kesan langsung pada penalaan PID dan anda kadang-kadang perlu menyambung semula agar sesuai dengan kelajuan robot anda.
Sekarang kita dapat membina robot kita.
Langkah 2: Binaan
Arduino atmega 2560 dengan kabel USB –ini adalah mikrokontroler utama yang digunakan.
Casis - untuk casis robot saya telah menggunakan 2 plat akrilik bulat yang digunakan untuk projek lain yang sesuai untuk ini. Dengan menggunakan mur dan skru, saya telah membina casis 2 tingkat, supaya saya dapat memasang modul lain ke plat atas. Atau anda boleh menggunakan casis siap pakai.
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
Motor gear mikro - robot memerlukan motor berputar pantas untuk mengatasi rutin PID, kerana itu saya telah menggunakan motor yang diberi nilai pada 6V 400rpm dan roda yang sesuai.
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
Susunan sensor QTR 8Rc –ini dapat digunakan untuk penjejakan garis, seperti yang telah disebutkan sebelumnya, saya rasa anda sekarang telah mendapat pemahaman yang jelas tentang cara mengoperasikan array sensor dengan PID. Kodnya sangat mudah dan menggunakan perpustakaan arduino yang ada, anda akan dapat untuk membina pengikut talian pantas.
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
Pemandu Motor TB6612FNG-Saya ingin menggunakan pemandu motor yang dapat menangani putaran dan menukar arah dalam sekelip mata, yang mampu mematikan motor dengan berkesan apabila isyarat PWM rendah.
www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…
Baterai lipo - Baterai lipo 11.1V digunakan untuk memberi kuasa kepada robot. Walaupun saya telah menggunakan bateri lipo 11.1 V, kapasiti ini lebih daripada apa yang diperlukan untuk arduino dan motor. Jika anda dapat mencari 7.4V berwajaran ringan bateri lipo atau pek bateri Ni-MH 6V akan sempurna. Oleh kerana ini, saya perlu menggunakan penukar buck untuk menukar voltan menjadi 6V.
11.1V-
7.4 V-
Modul penukar Buck-
Sebagai tambahan, anda memerlukan wayar jumper, mur dan bolt, pemutar skru dan pita elektrik dan juga tali zip untuk memastikan semuanya berada di tempatnya.
Langkah 3: Berkumpul
pasangkan motor dan roda kastor kecil ke dalam pinggan menggunakan mur dan skru dan kemudian pasangkan sensor QTR, pemandu motor, papan arduino dan akhirnya bateri ke casis.
Berikut adalah rajah sempurna yang saya dapati di internet, yang memberitahu anda bagaimana sambungan harus dibuat.
Langkah 4: Reka Jalan Anda
Kini projek anda nampaknya hampir selesai. Seperti peringkat terakhir, anda perlu mempunyai arena kecil untuk menguji robot anda. Saya telah menggunakan garis acak selebar 3cm garis putih pada latar belakang hitam. Pastikan anda menampal semuanya dengan baik. Dan buat masa ini terdapat sudut bersilang dan rentas sudut 90 degees, kerana ini adalah kes yang rumit dalam pengekodan.
Langkah 5: Program Kod Anda
1. Muat turun dan Pasang Arduino
IDE Desktop
· Tingkap -
· Mac OS X -
· Linux -
2. Muat turun dan tampal fail array sensor QTR 8 RC ke folder perpustakaan Arduino.
·
· Tampal fail ke jalan - C: / Arduino / perpustakaan
3. Muat turun dan bukaLINEFOLLOWING.ino
4. Muat naik kod ke papan arduino melalui kabel USB
Langkah 6: SELESAI
sekarang anda mempunyai robot berikut yang dibuat sendiri.
Semoga tutorial ini bermanfaat. Jangan ragu untuk menghubungi saya melalui [email protected] jika anda mempunyai masalah.
jumpa lagi dengan projek baru yang lain.
Selamat membina !!
Disyorkan:
Garis Lanjutan Mengikuti Robot: 22 Langkah (dengan Gambar)
Robot Mengikuti Garis Lanjutan: Ini adalah robot lanjutan yang mengikuti robot berdasarkan sensor garis Teensy 3.6 dan QTRX yang telah saya bina dan telah lama saya kerjakan. Terdapat beberapa peningkatan besar dalam reka bentuk dan prestasi dari barisan robot saya yang terdahulu. T
Robot Arduino 5 dalam 1 - Ikut Saya - Garis Mengikuti - Sumo - Lukisan - Halangan Mengelakkan: 6 Langkah
Robot Arduino 5 dalam 1 | Ikut Saya | Garis Mengikuti | Sumo | Lukisan | Halangan Mengelakkan: Papan kawalan robot ini mengandungi mikrokontroler ATmega328P dan pemandu motor L293D. Sudah tentu, ia tidak berbeza dengan papan Arduino Uno tetapi lebih berguna kerana ia tidak memerlukan perisai lain untuk menggerakkan motor! Ia bebas dari lompatan
Garis Mengikuti Robot: 5 Langkah
Line Follow Robot: Hai Semua, Dalam arahan ini, saya akan berkongsi bagaimana membuat Line Follow Robot menggunakan kit dari Amazon. Saya menggunakan kit ini untuk mengajar anak saya bagaimana melakukan pematerian. Biasanya kit ini lurus ke hadapan, anda mendapat semua bahan, komponen, dan lain-lain dengan kit
Garis Mengikuti Robot Menggunakan TIVA Microcontroller TM4C1233H6PM: 3 Langkah
Robot Mengikuti Garis Menggunakan TIVA Microcontroller TM4C1233H6PM: Garis berikut robot adalah mesin serba boleh yang digunakan untuk mengesan dan mengambil garis gelap yang dilukis di permukaan putih. Oleh kerana robot ini dihasilkan menggunakan papan roti, ia akan sangat senang dibina. Sistem ini boleh disatukan
Cara Membuat Garis Mengikuti Robot Menggunakan Langkah-langkah Rpi 3: 8
Cara Membuat Robot Mengikuti Garis Menggunakan Rpi 3: Dalam tutorial ini, Anda akan belajar membuat robot robot berikut sehingga dapat mengelilingi trek dengan mudah