Halo semuanya, saya tahir ul haq dari proyek lain.
Kali ini adalah waktu untuk melakukan MC yang digunakan pada 2017-11-407.
Ini adalah akhir dari program jangka menengah.
Semoga Anda menyukainya.
Dibutuhkan banyak konsep dan teori, jadi mari kita lihat dulu.
Dengan munculnya komputer dan proses industri, telah ada penelitian dalam sejarah umat manusia yang mengembangkan metode untuk mendefinisikan ulang proses, dan yang lebih penting, menggunakan mesin untuk mengendalikan proses secara mandiri.
Tujuannya adalah untuk mengurangi partisipasi manusia dalam proses-proses tersebut, sehingga mengurangi kesalahan dalam proses-proses tersebut.
Oleh karena itu, bidang \'rekayasa sistem kendali\' muncul.
Rekayasa sistem kendali dapat didefinisikan sebagai penggunaan berbagai metode untuk mengendalikan kerja proses atau pemeliharaan lingkungan yang konstan dan disukai, baik manual atau otomatis.
Contoh sederhananya adalah dengan mengontrol suhu ruangan.
Pengendalian manual mengacu pada kehadiran seseorang yang memeriksa kondisi saat ini di lokasi (sensor)
, dengan harapan (pemrosesan)
dan mengambil tindakan yang tepat untuk memperoleh nilai yang diinginkan (aktuator).
Masalah dengan pendekatan ini adalah pendekatan ini tidak terlalu dapat diandalkan karena rentan terhadap kesalahan atau kelalaian dalam bekerja.
Selain itu, masalah lainnya adalah laju proses yang dimulai oleh aktuator tidak selalu seragam, yang berarti terkadang lebih cepat dari kecepatan yang dibutuhkan, dan terkadang lambat.
Solusi dari permasalahan tersebut adalah dengan menggunakan mikrokontroler untuk mengendalikan sistem.
Sesuai dengan spesifikasi yang diberikan, mikrokontroler diprogram untuk mengontrol proses penyambungan dalam rangkaian (
Diskusikan nanti)
Nilai atau kondisi, sehingga mengontrol proses untuk mempertahankan nilai yang diinginkan.
Keuntungan dari proses ini adalah tidak diperlukannya campur tangan manusia dalam proses ini.
Selain itu, kecepatan proses ini konsisten.
Sebelum kita melanjutkan, penting untuk menentukan berbagai istilah pada poin ini: Kontrol umpan balik: Dalam sistem ini, masukan pada waktu tertentu bergantung pada satu atau lebih variabel, termasuk keluaran sistem.
Umpan balik negatif: Dalam sistem ini, referensi (masukan)
Sebagai umpan balik, kesalahan dikurangi dan fase masukan adalah 180 derajat.
Umpan balik positif: Dalam sistem ini, kesalahan referensi (masukan)
ditambahkan ketika umpan balik dan masukan berada dalam fase.
Sinyal kesalahan: perbedaan antara keluaran yang diinginkan dan keluaran sebenarnya.
Sensor: perangkat yang digunakan untuk mendeteksi sejumlah perangkat dalam suatu rangkaian.
Biasanya ditempatkan di output atau dimanapun kita ingin melakukan pengukuran.
Prosesor: bagian dari sistem kendali yang diproses berdasarkan algoritma pemrograman.
Dibutuhkan beberapa masukan dan menghasilkan beberapa keluaran.
Aktuator: dalam sistem kendali, aktuator digunakan untuk melakukan peristiwa berdasarkan sinyal yang dihasilkan oleh mikrokontroler untuk mempengaruhi keluaran.
Sistem loop tertutup: sistem dengan satu atau lebih putaran umpan balik.
Sistem loop terbuka: tidak ada sistem untuk loop umpan balik.
Rise Time: Waktu yang dibutuhkan output untuk naik dari 10% amplitudo maksimum sinyal menjadi 90%.
Drop Time: Waktu yang diperlukan agar output turun dari 90% menjadi 10%.
Peak overshooting: peak overshooting adalah jumlah output yang melebihi nilai kondisi tunaknya (
Normal selama respons transien sistem).
Waktu Stabil: Waktu yang diperlukan keluaran untuk mencapai keadaan stabil.
Kesalahan kondisi tunak: perbedaan antara keluaran aktual dan keluaran yang diharapkan setelah sistem mencapai kondisi tunak. Gambar di atas menunjukkan versi sistem kendali yang sangat sederhana.
Mikrokontroler adalah inti dari setiap sistem kendali.
Ini adalah komponen yang sangat penting, sehingga harus dipilih dengan cermat sesuai dengan kebutuhan sistem.
Mikrokontroler menerima masukan dari pengguna.
Masukan ini mendefinisikan kondisi yang diperlukan untuk sistem.
Mikrokontroler juga menerima masukan dari sensor.
Sensor dihubungkan ke keluaran dan informasinya diumpankan kembali ke masukan.
Masukan ini bisa juga disebut umpan balik negatif.
Umpan balik negatif telah dijelaskan sebelumnya.
Berdasarkan pemrogramannya, mikroprosesor melakukan berbagai perhitungan dan keluaran ke aktuator.
Pabrik kendali aktuator berbasis keluaran berupaya mempertahankan kondisi ini.
Contohnya adalah pengemudi motor yang menggerakkan motor, dimana pengemudi motor adalah pengemudinya dan motor adalah pabriknya.
Oleh karena itu, motor berputar dengan kecepatan tertentu.
Sensor yang terhubung membaca status pabrik saat ini dan mengirimkannya kembali ke pengontrol mikro.
Mikrokontroler dibandingkan lagi dan dihitung, sehingga perulangan diulangi.
Prosesnya berulang dan tidak ada habisnya, dan mikrokontroler dapat mempertahankan kondisi yang diinginkan.
Berikut adalah dua cara utama untuk mengontrol kecepatan motor DC)
Kontrol Tegangan Manual: dalam aplikasi industri, mekanisme kontrol kecepatan motor DC sangat penting.
Terkadang kita mungkin memerlukan kecepatan yang lebih tinggi atau lebih rendah dari biasanya.
Oleh karena itu, diperlukan suatu metode pengendalian kecepatan yang efektif.
Mengontrol tegangan suplai adalah salah satu metode kontrol kecepatan yang paling sederhana.
Kita dapat mengubah tegangan untuk mengubah kecepatan. b)
Kontrol PWM menggunakan PID: cara lain yang lebih efisien adalah dengan menggunakan mikrokontroler.
Motor DC dihubungkan ke mikrokontroler melalui driver motor.
Driver motor merupakan IC penerima masukan PWM (
Pulse width modulation)
dari mikrokontroler dan dikeluarkan ke motor DC sesuai masukan tersebut. Gambar 1.
2: Bab 1 sinyal PWM.
Pendahuluan 3 Mengingat sinyal PWM, pengoperasian PWM dapat dijelaskan terlebih dahulu.
Ini terdiri dari pulsa terus menerus untuk jangka waktu tertentu.
Periode waktu adalah waktu yang dihabiskan oleh suatu titik yang bergerak pada jarak yang sama dengan panjang gelombang.
Pulsa ini hanya dapat memiliki nilai biner (TINGGI atau RENDAH).
Kami juga memiliki dua besaran lainnya, lebar pulsa dan siklus kerja.
Lebar pulsa adalah waktu ketika keluaran PWM tinggi.
Siklus kerja adalah persentase lebar pulsa terhadap periode waktu.
Selama sisa jangka waktu tersebut, outputnya rendah.
Siklus kerja secara langsung mengontrol kecepatan motor.
Apabila motor DC memberikan tegangan positif dalam jangka waktu tertentu maka akan bergerak dengan kecepatan tertentu.
Jika tegangan positif diberikan dalam jangka waktu yang lebih lama, kecepatannya akan lebih besar.
Oleh karena itu, siklus kerja PWM dapat diubah dengan mengubah lebar pulsa.
Dengan mengubah siklus kerja motor DC maka kecepatan motor dapat diubah.
Masalah kontrol kecepatan untuk motor DC: masalah pada metode kontrol kecepatan pertama adalah tegangan dapat berubah seiring waktu.
Perubahan ini berarti kecepatan yang tidak merata.
Oleh karena itu, metode pertama tidak diinginkan.
Solusi: Kami menggunakan metode kedua untuk mengontrol kecepatan.
Kami menggunakan algoritma PID untuk melengkapi metode kedua.
PID mewakili turunan integral proporsional.
Dalam algoritma PID, kecepatan motor saat ini diukur dan dibandingkan dengan kecepatan yang diinginkan.
Kesalahan ini digunakan untuk perhitungan rumit untuk mengubah siklus kerja motor menurut waktu.
Ada proses ini di setiap siklus.
Jika kecepatan melebihi kecepatan yang diinginkan, siklus kerja berkurang dan siklus kerja meningkat jika kecepatan lebih rendah dari kecepatan yang diinginkan.
Penyesuaian ini tidak dilakukan sampai kecepatan terbaik tercapai.
Periksa dan kendalikan kecepatan ini secara konstan.
Berikut adalah komponen sistem yang digunakan dalam proyek ini dan pengenalan singkat detail setiap komponen.
STM 32F407: mikrokontroler yang dirancang oleh ST Micro-section.
Ia bekerja pada ARM Cortex. M Arsitektur.
Ini memimpin keluarganya dengan frekuensi clock tinggi 168 MHz.
Driver motor L298N : IC ini digunakan untuk menjalankan motor.
Ini memiliki dua input eksternal.
Satu dari pengontrol mikro.
Mikrokontroler menyediakan sinyal PWM untuk itu.
Kecepatan motor dapat diatur dengan mengatur lebar pulsa.
Input kedua adalah sumber tegangan yang dibutuhkan untuk menggerakkan motor.
Motor DC: Motor DC berjalan pada catu daya DC.
Pada percobaan ini motor DC dioperasikan menggunakan kopling fotolistrik yang dihubungkan dengan driver motor.
Sensor Inframerah: sensor inframerah sebenarnya adalah transceiver inframerah.
Ia mengirim dan menerima gelombang inframerah yang dapat digunakan untuk melakukan berbagai tugas.
Coupler optik encoder IR 4N35: coupler optik adalah perangkat yang digunakan untuk mengisolasi bagian tegangan rendah dari rangkaian dan bagian tegangan tinggi.
Sesuai dengan namanya, ia bekerja berdasarkan cahaya.
Ketika bagian bertegangan rendah mendapat sinyal, maka arus mengalir pada bagian bertegangan tinggi.
Sistem tersebut adalah sistem pengatur kecepatan.
Seperti disebutkan sebelumnya, sistem diimplementasikan menggunakan PID integral proporsional dan turunan.
Sistem kendali kecepatan memiliki komponen-komponen di atas.
Bagian pertama adalah sensor kecepatan.
Sensor kecepatan merupakan rangkaian pemancar dan penerima infra merah.
Ketika benda padat melewati celah berbentuk u, sensor memasuki keadaan rendah.
Biasanya itu dalam keadaan tinggi.
Output sensor dihubungkan ke filter low-pass untuk menghilangkan redaman yang disebabkan oleh transien yang dihasilkan ketika keadaan sensor berubah.
Filter low-pass terdiri dari resistor dan kapasitor.
Nilai dipilih sesuai kebutuhan.
Kapasitor yang digunakan adalah 1100nf dan hambatan yang digunakan sekitar 25 ohm.
Filter low-pass menghilangkan kondisi transien yang tidak perlu yang dapat mengakibatkan pembacaan tambahan dan nilai sampah.
Filter low-pass kemudian dikeluarkan melalui kapasitor ke pin digital input dari mikrokontroler stm.
Bagian lainnya adalah motor yang dikendalikan oleh PWM yang disediakan oleh mikrokontroler stm.
Pengaturan ini telah dilengkapi dengan isolasi listrik menggunakan ic optis coupler.
Coupler optik mencakup led yang memancarkan cahaya di dalam paket ic, dan ketika pulsa tinggi diberikan pada terminal masukan, terminal keluaran akan mengalami hubungan pendek.
Terminal input memberikan pwm melalui resistor yang membatasi arus led yang terhubung ke coupler optik.
Sebuah resistor drop-down dihubungkan pada output sehingga ketika terminal dihubung pendek, tegangan dihasilkan pada resistor drop-down dan pin yang terhubung ke terminal pada resistor menerima keadaan tinggi.
Output dari photoelectric coupler dihubungkan ke IN1 dari ic driver motor yang menjaga ketinggian pin pengaktif.
Ketika siklus kerja pwm berubah pada input coupler optik, pin driver motor mengalihkan motor dan mengontrol kecepatan motor.
Setelah PWM diberikan ke motor, biasanya driver motor memberikan tegangan sebesar 12 Volt.
Pengemudi motor kemudian mengaktifkan motor untuk beroperasi.
Mari perkenalkan algoritma yang kami gunakan dalam implementasi proyek pengaturan kecepatan motor ini.
Pwm motor disediakan oleh satu pengatur waktu.
Konfigurasi timer dibuat dan diatur untuk menyediakan pwm.
Saat motor dihidupkan, ia memutar celah yang menempel pada poros motor.
Celah tersebut melewati rongga sensor dan menghasilkan pulsa rendah.
Pada pulsa rendah, kode dimulai dan menunggu celah bergerak.
Setelah celah menghilang, sensor memberikan status tinggi dan pengatur waktu mulai menghitung.
Pengatur waktu memberi kita waktu antara dua celah.
Sekarang, ketika pulsa rendah lainnya muncul, pernyataan IF dijalankan lagi, menunggu kenaikan berikutnya dan menghentikan penghitung.
Setelah menghitung kecepatan, hitung selisih antara kecepatan dan nilai referensi sebenarnya dan berikan pidnya.
Pid menghitung nilai siklus kerja yang mencapai nilai referensi pada saat tertentu.
Nilai ini diberikan ke CCR (
Register perbandingan).
Tergantung pada kesalahannya, kecepatan pengatur waktu dikurangi atau ditingkatkan.
Kode Atollic Truestudio telah diterapkan.
Studio STM mungkin perlu diinstal untuk debugging.
Impor proyek di studio STM dan impor variabel yang ingin Anda lihat.
Sedikit perubahan ada pada 4xx-11-2017.
Ubah frekuensi clock tepatnya ke file h pada 168 MHz.
Cuplikan kode telah disediakan di atas.
Kesimpulannya adalah kecepatan motor dikendalikan menggunakan PID.
Namun, kurva tersebut bukanlah garis yang mulus.
Ada banyak alasan untuk hal ini: meskipun sensor yang terhubung ke filter low-pass masih memberikan cacat tertentu, hal ini disebabkan oleh beberapa alasan yang tidak dapat dihindari karena resistor nonlinier dan perangkat elektronik analog, motor tidak dapat berputar dengan lancar pada tegangan kecil atau pwm.
Ini memberikan bajingan yang dapat menyebabkan sistem memasukkan nilai yang salah.
Karena jitter, sensor mungkin melewatkan beberapa celah yang memberikan nilai lebih tinggi, dan alasan utama kesalahan lainnya mungkin adalah frekuensi jam inti stm.
Jam inti Stm adalah 168 MHz.
Meskipun masalah ini telah diatasi dalam proyek ini, ada konsep holistik dari model ini yang tidak menyediakan frekuensi tinggi.
Kecepatan loop terbuka memberikan garis yang sangat halus dengan hanya beberapa nilai yang tidak terduga.
PID juga berfungsi dan memberikan waktu stabilitas motor yang sangat rendah.
PID motor diuji pada berbagai tegangan yang menjaga kecepatan referensi tetap konstan.
Perubahan tegangan tidak mengubah kecepatan motor, menandakan PID bekerja.
Berikut beberapa segmen hasil akhir PID. a)
Loop tertutup @ 110 rpmb)
Loop tertutup @ 120 rpmProyek ini tidak dapat diselesaikan tanpa bantuan anggota kelompok saya.
Saya ingin berterima kasih kepada mereka.
Terima kasih telah menonton proyek ini.
Semoga dapat membantu Anda.
Silakan nantikan lebih lanjut.
Tetap berkah sebelum itu :)