Isi kandungan:

Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC): 9 Langkah
Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC): 9 Langkah

Video: Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC): 9 Langkah

Video: Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC): 9 Langkah
Video: Memahami PID Controller (seri PID Controller part1) 2024, Julai
Anonim
Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC)
Robot Mengimbangkan Diri Menggunakan Algoritma PID (STM MC)

Baru-baru ini banyak kerja dilakukan dalam mengimbangkan objek. Konsep pengimbangan diri bermula dengan pengimbangan bandul terbalik. Konsep ini juga merangkumi reka bentuk kapal terbang. Dalam projek ini, kami telah merancang model kecil robot pengimbangan diri menggunakan Algoritma PID (Proportional, Integral, Derivative). Sejak itu, kaedah ini adalah wajah baru sistem kawalan proses industri. Laporan ini mengkaji kaedah yang terlibat dalam mengimbangi diri objek. Projek ini dijalankan sebagai projek semester untuk memahami korelasi PID terhadap kecekapan pelbagai proses industri. Di sini kami hanya memfokuskan pada memberikan tinjauan ringkas mengenai keberkesanan dan penerapan kawalan PID. Makalah ini telah dikembangkan dengan memberikan pengenalan ringkas untuk sistem kawalan dan terminologi yang berkaitan, dengan tambahan motivasi untuk projek ini. Eksperimen dan pemerhatian telah diambil, kelebihan dan kekurangan yang dijelaskan dengan berakhir pada peningkatan masa depan. Model robot pengimbang diri dikembangkan untuk memahami keberkesanan PID dalam dunia sistem kawalan. Melalui beberapa ujian dan eksperimen yang ketat, kelebihan dan kekurangan sistem kawalan PID ditemui. Didapati bahawa walaupun terdapat banyak kelebihan kawalan PID terhadap kaedah yang lalu, sistem ini memerlukan banyak penambahbaikan. Diharapkan pembaca mendapat pemahaman yang baik tentang pentingnya keseimbangan diri, keberkesanan dan kekurangan kawalan PID

Langkah 1: Pengenalan

Dengan munculnya komputer dan industrialisasi proses, sepanjang sejarah manusia, selalu ada penyelidikan untuk mengembangkan cara-cara untuk memperbaiki proses dan yang lebih penting lagi, untuk mengendalikannya menggunakan mesin secara autonomi. Tujuannya adalah untuk mengurangkan penglibatan manusia dalam proses ini, sehingga mengurangkan kesalahan dalam proses ini. Oleh itu, bidang "Kejuruteraan Sistem Kawalan" dikembangkan. Kejuruteraan Sistem Kawalan dapat didefinisikan sebagai menggunakan berbagai kaedah untuk mengendalikan kerja suatu proses atau pemeliharaan persekitaran yang tetap dan disukai, baik manual atau otomatis.

Contoh mudah ialah mengawal suhu di dalam bilik. Manual Control bermaksud kehadiran seseorang di laman web yang memeriksa keadaan sekarang (sensor), membandingkannya dengan nilai (pemprosesan) yang diinginkan dan mengambil tindakan sewajarnya untuk mendapatkan nilai yang diinginkan (penggerak). Masalah dengan kaedah ini adalah bahawa ia tidak boleh dipercayai kerana seseorang terdedah kepada kesalahan atau kecuaian dalam pekerjaannya. Juga, masalah lain ialah kadar proses yang dimulakan oleh penggerak tidak selalu seragam, yang bermaksud kadang-kadang ia mungkin berlaku lebih cepat daripada yang diperlukan atau kadang-kadang mungkin lambat. Penyelesaian masalah ini adalah menggunakan pengawal mikro untuk mengendalikan sistem. Pengawal mikro adalah

diprogramkan untuk mengendalikan proses, sesuai dengan spesifikasi yang diberikan, disambungkan dalam rangkaian (akan dibahas kemudian), diberi nilai atau syarat yang diinginkan dan dengan demikian mengendalikan proses untuk mengekalkan nilai yang diinginkan. Kelebihan proses ini adalah bahawa tidak diperlukan campur tangan manusia dalam proses ini. Juga, kadar prosesnya seragam

Sistem Kawalan Asas

Gambar rajah sebelumnya menunjukkan versi Sistem Kawalan yang sangat mudah. Mikrokontroler berada di tengah-tengah mana-mana Sistem Kawalan. Oleh itu, ia adalah komponen yang sangat penting, pemilihannya harus dibuat dengan teliti berdasarkan kehendak Sistem. Pengawal mikro menerima input daripada pengguna. Input ini menentukan keadaan yang diinginkan dari Sistem. Pengawal mikro juga menerima input maklum balas dari sensor. Sensor ini dihubungkan ke output Sistem, yang maklumatnya dimasukkan kembali ke input. Mikropemproses, berdasarkan pengaturcaraannya, melakukan pelbagai pengiraan dan memberikan output kepada penggerak. Penggerak, berdasarkan output, mengawal kilang untuk berusaha mengekalkan keadaan tersebut. Contohnya ialah pemandu motor yang memandu motor di mana pemandu motor adalah penggerak dan motor adalah kilang. Motor, dengan itu berputar pada kelajuan tertentu. Sensor yang disambungkan membaca keadaan kilang pada masa ini dan memasangnya kembali ke pengawal mikro. Pengawal mikro sekali lagi membandingkan, membuat pengiraan dan dengan demikian, kitaran itu berulang. Proses ini berulang-ulang dan tidak berkesudahan di mana pengawal mikro mengekalkan keadaan yang diinginkan

Langkah 2: Sistem Kawalan Berasaskan PID

Sistem Kawalan Berasaskan PID
Sistem Kawalan Berasaskan PID
Sistem Kawalan Berasaskan PID
Sistem Kawalan Berasaskan PID

Algoritma PID adalah kaedah yang cekap untuk merancang Sistem Kawalan.

Definisi

PID bermaksud Proportional, Integral dan Derivative. Dalam algoritma ini, isyarat kesalahan yang diterima adalah input. Dan persamaan berikut diterapkan pada isyarat ralat

U (t) = Kp ∗ e (t) + Kd ∗ d / dt (e (t)) + Ki ∗ integral (e (t)) (1.1)

Penjelasan Ringkas

Seperti yang dapat dilihat dalam persamaan di atas, kamiran dan terbitan isyarat ralat dikira, didarabkan dengan pemalar masing-masing dan ditambah bersama dengan pemalar Kp dikalikan dengan e (t). Keluaran kemudian dimasukkan ke penggerak yang menjadikan sistem berjalan. Sekarang mari kita lihat setiap bahagian fungsi secara bergantian. Fungsi ini memberi kesan secara langsung pada waktu kenaikan, waktu jatuh, puncak over shoot, masa penyelesaian dan kesilapan keadaan tetap.

• Bahagian berkadar: Bahagian berkadaran mengurangkan masa kenaikan dan mengurangkan ralat keadaan tetap. Ini bermaksud bahawa sistem akan mengambil lebih sedikit masa untuk mencapai nilai puncaknya dan ketika mencapai keadaan stabil, ralat keadaan stabil akan rendah. Walau bagaimanapun, ia meningkatkan lonjakan puncak.

• Bahagian terbitan: Bahagian terbitan mengurangkan kelebihan dan masa penyelesaian. Ini bermaksud keadaan sementara sistem akan lebih lembap. Juga, sistem akan mencapai keadaan stabil dalam masa yang lebih singkat. Walau bagaimanapun, ia tidak mempunyai kesan pada masa kenaikan atau kesalahan keadaan tetap.

• Bahagian tidak terpisahkan: Bahagian tidak dapat mengurangkan masa kenaikan dan menghilangkan kesilapan keadaan tetap sepenuhnya. Namun, ini meningkatkan kelebihan puncak dan waktu penyelesaian.

• Penalaan: Sistem Kawalan yang baik akan mempunyai waktu kenaikan yang rendah, masa penyelesaian, pemecahan puncak dan kesalahan keadaan tetap. Oleh itu, Kp, Kd, Ki perlu diatur dengan baik untuk menyesuaikan sumbangan faktor-faktor di atas untuk memperoleh Sistem Kawalan yang baik.

Gambar telah dilampirkan menunjukkan kesan mengubah pelbagai parameter dalam algoritma PID.

Langkah 3: Robot Mengimbangkan Diri

Robot Mengimbangkan Diri
Robot Mengimbangkan Diri

Robot pengimbang diri adalah robot roda dua berlapis.

Robot akan cuba mengimbangkan dirinya dengan menggunakan kekuatan yang tidak sama. Ia akan menyeimbangkan dirinya dengan menggunakan kekuatan yang menentang akibat kekuatan pada robot.

Kaedah Mengimbangkan Diri

Terdapat empat kaedah mengimbangi diri robot. Ini adalah seperti berikut:

Imbangan Diri menggunakan Two IR Tilt Sensor

Ini adalah salah satu cara paling kasar untuk mengimbangi robot kerana ia memerlukan perkakasan yang sangat kurang dan algoritma yang agak mudah. Dalam pendekatan ini, dua sensor IR miring digunakan untuk mengukur jarak antara tanah dan robot. Berdasarkan jarak yang dikira, PID dapat digunakan untuk menggerakkan motor untuk mengimbangkan robot dengan sewajarnya. Satu kelemahan kaedah ini ialah sensor IR tidak dapat membaca. Masalah lain ialah gangguan dan gelung diperlukan untuk pengiraan jarak yang meningkatkan kerumitan masa algoritma. Oleh itu, kaedah mengimbangi robot ini tidak begitu berkesan.

Imbangan Diri menggunakan Accelerometer

Accelerometer memberi kita pecutan badan dalam 3 paksi. Percepatan yang berorientasikan paksi-y (ke atas) dan paksi-x (ke hadapan) memberi kita ukuran untuk mengira arah graviti dan dengan itu mengira sudut kecenderungan. Sudut dikira seperti berikut:

θ = arctan (Ay / Ax) (1.2)

Kelemahan menggunakan kaedah ini ialah semasa pergerakan robot, pecutan mendatar juga akan ditambahkan pada bacaan yang merupakan kebisingan frekuensi tinggi. Oleh itu, sudut kecenderungan tidak tepat.

Imbangan Diri menggunakan Giroskop

Giroskop digunakan untuk mengira halaju sudut sepanjang tiga paksi. Sudut kecondongan diperoleh menggunakan persamaan berikut.

θp (i) = θp (i − 1) + 1/6 (vali − 3 + 2vali − 2 + 2vali − 1 + vali) (1.3)

Satu kelemahan besar menggunakan giroskop adalah ia mempunyai Bias DC kecil yang merupakan kebisingan frekuensi rendah dan dalam beberapa waktu nilai yang dikembalikan benar-benar salah. Ini, selepas penyatuan, akan menyebabkan titik sifar menjauh. Akibatnya, robot akan tetap berada dalam kedudukan menegak untuk beberapa lama dan akan jatuh setelah arus melayang.

Self Balancing menggunakan Accelerometer dan Gyroscope

Seperti yang dibincangkan di atas, hanya menggunakan pecutan atau giroskop tidak akan memberi kita sudut kecenderungan yang betul. Untuk memperhitungkannya, kedua-dua akselerometer dan giroskop digunakan. Kedua-duanya tertanam dalam MPU6050. Dalam ini kami memperoleh data dari keduanya dan kemudian menggabungkannya dengan menggunakan Kalman Filter atau Complementary Filter.

• Penapis Kalman: Filter Kalman mengira anggaran terbaik keadaan sistem dinamik dari pengukuran yang bising, meminimumkan ralat kuasa dua anggaran. Ia beroperasi dalam dua peringkat, ramalan dan pembetulan, mengingat persamaan stokastik diskrit yang menggambarkan dinamika sistem. Walau bagaimanapun, ia adalah algoritma yang sangat kompleks untuk dilaksanakan terutamanya pada perkakasan mikrokontroler terhad.

• Penapis Pelengkap: Algoritma ini terutamanya menggunakan data yang diperoleh dari giroskop dan mengintegrasikannya dari masa ke masa untuk mendapatkan sudut kecenderungan. Ia juga menggunakan sebilangan kecil bacaan pecutan. Filem pelengkap, sebenarnya, meminimumkan kebisingan pecutan frekuensi tinggi dan bunyi giroskop frekuensi rendah dan kemudian menyatu mereka untuk memberikan sudut kecenderungan tepat yang tepat.

Langkah 4: Reka Bentuk Robot

Reka Bentuk Robot
Reka Bentuk Robot

Kami telah merancang robot pengimbang diri menggunakan pengawal Derivatif Proportional yang dilaksanakan oleh Penapis Pelengkap untuk MPU6050. Model kecil Self Balancing Robot ini akan menggambarkan kegunaan Sistem Kawalan dalam Self Balancing robot.

Pelaksanaan Sistem:

Sistem ini adalah robot pengimbangan diri. Ia dilaksanakan menggunakan PID Controller yang merupakan Proportional Integral Derivative Controller. Kami mengimbangkan robot dengan menggerakkan roda ke arah kejatuhannya. Dengan melakukan itu, kita berusaha memastikan pusat graviti robot berada di atas titik pangsi. Untuk menggerakkan roda ke arah kejatuhannya, kita harus tahu di mana robot jatuh dan kelajuan jatuh. Data ini diperoleh menggunakan MPU6050 yang memiliki akselerometer dan giroskop. MPU6050 mengukur sudut kecenderungan dan memberikan outputnya kepada Pengawal Mikro. MPU6050 dihubungkan dengan Papan STM melalui I2C. Di I2C, satu wayar adalah untuk jam yang dinamakan SCL. Yang lain adalah untuk pemindahan data iaitu SDA. Dalam ini, komunikasi master slave digunakan. Alamat permulaan dan alamat akhir ditentukan untuk mengetahui dari mana data bermula dan di mana ia berakhir. Kami telah menerapkan Penapis Pelengkap di sini untuk MPU6050 yang merupakan filter matematik untuk menggabungkan output akselerometer dan giroskop. Setelah memperoleh data dari MPU6050, pengawal mikro akan melakukan pengiraan untuk mengetahui di mana ia jatuh. Berdasarkan pengiraan, pengawal mikro STM akan memberi arahan kepada pemandu motor untuk memandu kenderaan ke arah jatuh yang akan mengimbangkan robot.

Langkah 5: Komponen Projek

Komponen Projek
Komponen Projek
Komponen Projek
Komponen Projek
Komponen Projek
Komponen Projek

Komponen berikut digunakan dalam projek robot pengimbangan diri:

STM32F407

Pengawal mikro yang direka oleh ST Microelectronics. Ia berfungsi pada ARM Cortex-M Architecture.

Pemandu Motor L298N

IC ini digunakan untuk menjalankan motor. Ia mendapat dua input luaran. Satu dari mikrokontroler yang membekalkannya isyarat PWM. Dengan menyesuaikan lebar nadi, kelajuan motor dapat disesuaikan. Input kedua adalah sumber voltan yang diperlukan untuk menggerakkan motor yang merupakan bateri 12V dalam kes kami.

Motor DC

Motor DC berjalan menggunakan bekalan DC. Dalam eksperimen ini, Motor DC berjalan menggunakan optocoupler yang disambungkan ke pemacu motor. Untuk menggerakkan motor, kami telah menggunakan Motor Drive L298N.

MPU6050

MPU6050 digunakan untuk mendapatkan maklumat mengenai tempat robot jatuh. Ini mengukur sudut kecenderungan sehubungan dengan titik kecenderungan sifar yang merupakan posisi MPU6050 ketika program mulai berjalan.

MPU6050 mempunyai akselerometer 3 paksi dan giroskop 3 paksi. Accelerometer mengukur pecutan di sepanjang tiga paksi dan giroskop mengukur kadar sudut mengenai ketiga paksi. Untuk menggabungkan output, kita harus mengeluarkan suara keduanya. Untuk mengeluarkan suara, kami memiliki Kalman dan Filem Pelengkap. Kami telah melaksanakan saringan Pelengkap dalam projek kami.

Pasangan Opto 4N35

Optocoupler adalah alat yang digunakan untuk mengasingkan bahagian voltan rendah dan bahagian voltan tinggi litar. Seperti namanya, ia berfungsi berdasarkan cahaya. Apabila bahagian voltan rendah mendapat isyarat, arus mengalir di bahagian voltan tinggi

Langkah 6: Struktur Robot

Struktur robot dijelaskan sebagai berikut:

Struktur Fizikal

Robot pengimbang diri terdiri daripada dua lapisan yang terbuat dari kaca plastik lutsinar. Perincian dua lapisan diberikan di bawah:

Lapisan Pertama

Di bahagian bawah lapisan pertama, kami telah meletakkan sel untuk menghidupkan papan STM. Juga dua motor 4 volt masing-masing telah diletakkan di setiap sisi dengan tayar disambungkan untuk robot bergerak. Di bahagian atas lapisan pertama, masing-masing dua bateri 4 volt (8 volt total) dan IC pemandu motor (L298N) telah diletakkan untuk operasi motor.

Lapisan Kedua

Di lapisan atas robot, kami telah meletakkan STM Board di Perf Board. Papan perf lain dari 4 pengganding opto diletakkan di lapisan atas. Giroskop juga diletakkan di lapisan atas robot dari bahagian bawah. Kedua-dua komponen diletakkan di bahagian tengah sehingga pusat graviti dijaga serendah mungkin.

Pusat Graviti Robot

Pusat graviti dikekalkan serendah mungkin. Untuk tujuan ini, kami telah meletakkan bateri berat di lapisan bawah dan komponen ringan seperti papan STM dan optocoupler pada lapisan atas.

Langkah 7: Kod

Kod disusun di Atollic TrueStudio. STM studio digunakan untuk tujuan debugging.

Langkah 8: Kesimpulannya

Setelah banyak percubaan dan pemerhatian, akhirnya kami sampai pada titik di mana kami merangkum hasil kami dan membincangkan sejauh mana kami berjaya dalam melaksanakan dan menyelesaikan keberkesanan sistem.

Kajian Umum

Semasa percubaan, kelajuan motor berjaya dikawal menggunakan Algoritma PID. Lengkung bagaimanapun bukan garis lurus yang licin. Terdapat banyak sebab untuk itu:

• Sensor walaupun disambungkan ke penyaring hantaran rendah tetap memberikan pengumuman akhir tertentu; ini disebabkan oleh rintangan tak linear dan beberapa sebab elektronik analog yang tidak dapat dielakkan.

• Motor tidak berputar dengan lancar di bawah voltan kecil atau PWM. Ia memberikan kesan buruk yang mungkin menyebabkan beberapa nilai yang salah dimasukkan ke sistem.

• Kerana goyangan, sensor mungkin kehilangan beberapa celah yang memberikan nilai yang lebih tinggi. • Sebab utama kesalahan lain ialah frekuensi jam teras mikrokontroler STM. Model mikrokontroler STM ini menyediakan jam teras 168MHz. Walaupun menangani masalah ini dalam projek ini, ada anggapan keseluruhan mengenai model ini bahawa ia tidak memberikan frekuensi tinggi seperti itu.

Kelajuan gelung terbuka memberikan garis yang sangat lancar dengan hanya beberapa nilai yang tidak dijangka. Algoritma PID juga berfungsi memberikan masa penyelesaian motor yang sangat rendah. Algoritma PID motor diuji di bawah pelbagai voltan memastikan kelajuan rujukan tetap. Perubahan voltan tidak mengubah kelajuan motor yang menunjukkan bahawa Algoritma PID berfungsi dengan baik

Keaktifan

Di sini kita membincangkan keberkesanan pengawal PID yang kita perhatikan semasa eksperimen.

Pelaksanaan Mudah

Kami telah melihat di bahagian eksperimen dan pemerhatian bahawa pengawal PID sangat mudah dilaksanakan. Ia hanya memerlukan tiga parameter atau pemalar yang harus ditetapkan untuk memiliki sistem kawalan kelajuan

Kecekapan yang tidak dapat ditandingi untuk Sistem Linear

Pengawal Linear PID adalah yang paling berkesan dalam keluarga pengawal kerana logiknya sangat mudah dan aplikasi tersebar luas sekiranya berlaku aplikasi linear atau agak linear.

Batasan

Kami menerangkan secara abstrak mengenai Batasan sistem ini. Di sini kita membincangkan beberapa perkara yang kita perhatikan.

Pemilihan Pemalar

Kami telah melihat bahawa, walaupun pengawal PID mudah dilaksanakan, masih merupakan kelemahan utama sistem bahawa langkah memilih nilai pemalar adalah satu yang sukar; kerana seseorang harus membuat pengiraan yang sukar. Cara lain adalah kaedah hit dan trial tetapi itu juga tidak berkesan.

Pemalar tidak selalu malar

Hasil eksperimen menunjukkan bahawa untuk nilai kelajuan rujukan yang berbeza untuk motor, pengawal PID gagal berfungsi untuk nilai yang sama dari pemalar PID. Untuk kelajuan yang berbeza, pemalar harus dipilih secara berbeza dan ini meningkatkan kos pengiraan secara eksponensial.

Tidak Linier

Pengawal PID yang digunakan dalam kes kami adalah linear, oleh itu, ia boleh digunakan untuk sistem linear sahaja. Untuk sistem bukan linier, pengawal harus dilaksanakan secara berbeza. Walaupun terdapat kaedah PID yang tidak linear yang berbeza, mereka memerlukan lebih banyak parameter untuk dipilih. Ini sekali lagi menjadikan sistem tidak diingini kerana kos pengiraan yang tinggi.

Dorongan Awal Diperlukan

Kami menunjukkan di bahagian eksperimen bahawa untuk kelajuan rujukan yang agak kecil di mana kesalahannya agak kecil pada mulanya, PWM yang dibekalkan oleh PID sangat kecil sehingga tidak menghasilkan tork permulaan yang diperlukan untuk motor. Oleh itu, motor dalam beberapa percubaan tidak berjalan atau dalam percubaan lain memberikan kelebihan dan masa penyelesaian yang lebih lama.

Langkah 9: Terima Kasih Khas

Terima kasih khas kepada ahli kumpulan saya yang membantu saya dalam projek ini.

Saya akan memuat naik pautan ke video tidak lama lagi.

Saya harap anda mendapat pengajaran yang menarik ini.

Ini adalah Tahir Ul Haq dari UET yang keluar. Bersorak !!!

Disyorkan: