Kontrol Kecepatan Motor DC Menggunakan Algoritma PID (STM32F4)
Rumah » Blog » Kontrol Kecepatan Motor DC Menggunakan Algoritma PID (STM32F4)

Kontrol Kecepatan Motor DC Menggunakan Algoritma PID (STM32F4)

Tampilan: 0     Penulis: Editor Situs Publikasikan Waktu: 2020-09-02 Asal: Lokasi

Menanyakan

Tombol Berbagi Facebook
Tombol Berbagi Twitter
Tombol Berbagi Baris
Tombol Berbagi WeChat
Tombol Berbagi LinkedIn
Tombol Berbagi Pinterest
Tombol Berbagi WhatsApp
Tombol Berbagi Kakao
Tombol Berbagi Snapchat
Tombol Berbagi Telegram
Tombol Berbagi Sharethis

Halo semuanya, saya tahir ul haq dari proyek lain.
Kali ini saatnya untuk melakukan MC yang digunakan oleh 2017-11-407.
Ini adalah akhir dari program jangka menengah.
Semoga Anda menyukainya.
Ini membutuhkan banyak konsep dan teori, jadi mari kita lihat terlebih dahulu.
Dengan munculnya komputer dan proses industri, telah ada penelitian dalam sejarah manusia untuk mengembangkan metode untuk mendefinisikan kembali proses, dan yang lebih penting, untuk menggunakan mesin untuk mengendalikan proses secara mandiri.
Tujuannya adalah untuk mengurangi partisipasi manusia dalam proses ini, sehingga mengurangi kesalahan dalam proses ini.
Oleh karena itu, bidang \ 'Rekayasa Sistem Kontrol \' muncul.
Rekayasa sistem kontrol dapat didefinisikan sebagai penggunaan berbagai metode untuk mengontrol pekerjaan proses atau pemeliharaan lingkungan yang konstan dan lebih disukai, baik manual atau otomatis.
Contoh sederhana adalah mengontrol suhu ruangan.
Kontrol manual mengacu pada keberadaan orang yang memeriksa kondisi saat ini di lokasi (sensor)
, dengan harapan (pemrosesan)
dan mengambil tindakan yang tepat untuk mendapatkan nilai yang diinginkan (aktuator).
Masalah dengan pendekatan ini adalah tidak dapat diandalkan karena seseorang rentan terhadap kesalahan atau kelalaian di tempat kerja.
Selain itu, masalah lain adalah bahwa laju proses yang dimulai aktuator tidak selalu seragam, yang berarti bahwa kadang -kadang mungkin lebih cepat dari kecepatan yang dibutuhkan, dan kadang -kadang mungkin lambat.
Solusi untuk masalah ini adalah menggunakan pengontrol mikro untuk mengontrol sistem.
Menurut spesifikasi yang diberikan, pengontrol mikro diprogram untuk mengontrol proses penghubung di sirkuit (
diskusikan nanti)
nilai atau kondisi, sehingga mengendalikan proses untuk mempertahankan nilai yang diinginkan.
Manfaat dari proses ini adalah bahwa tidak perlu intervensi manusia dalam proses ini.
Selain itu, kecepatan proses ini konsisten.
Sebelum kita melanjutkan, sangat penting untuk menentukan berbagai istilah pada titik ini: Kontrol Umpan Balik: Dalam sistem ini, input pada waktu tertentu tergantung pada satu atau lebih variabel, termasuk output sistem.
Umpan balik negatif: Dalam sistem ini, referensi (input)
sebagai umpan balik, kesalahan dikurangi dan fase input adalah 180 derajat.
Umpan balik positif: Dalam sistem ini, kesalahan referensi (input)
ditambahkan ketika umpan balik dan input berada dalam fase.
Sinyal kesalahan: Perbedaan antara output yang diinginkan dan output aktual.
Sensor: Perangkat yang digunakan untuk mendeteksi sejumlah perangkat di sirkuit.
Biasanya ditempatkan di output atau di mana saja kami ingin melakukan beberapa pengukuran.
Prosesor: Bagian dari sistem kontrol yang diproses berdasarkan algoritma pemrograman.
Dibutuhkan beberapa input dan menghasilkan beberapa output.
Actuator: Dalam sistem kontrol, aktuator digunakan untuk melakukan peristiwa berdasarkan sinyal yang dihasilkan oleh mikro-pengontrol untuk mempengaruhi output.
Sistem loop tertutup: Sistem dengan satu atau lebih loop umpan balik.
Open Loop System: Tidak ada sistem untuk loop umpan balik.
Waktu Bangkit: Waktu yang diperlukan untuk output naik dari 10% dari amplitudo maksimum sinyal menjadi 90%.
Waktu penurunan: waktu yang diperlukan untuk output turun dari 90% menjadi 10%.
Puncak overshooting: Puncak overshooting adalah jumlah output yang melebihi nilai stabilnya (
normal selama respons transien sistem).
Waktu Stabil: Waktu yang diperlukan untuk output untuk mencapai keadaan yang stabil.
Kesalahan Steady-State: Perbedaan antara output aktual dan output yang diharapkan begitu sistem mencapai kondisi mapan. Gambar di atas menunjukkan versi sistem kontrol yang sangat disederhanakan.
Mikro-pengontrol adalah inti dari sistem kontrol apa pun.
Ini adalah komponen yang sangat penting, sehingga harus dipilih dengan cermat sesuai dengan persyaratan sistem.
Mikro-pengontrol menerima input dari pengguna.
Input ini menentukan kondisi yang diperlukan untuk sistem.
Mikro-pengontrol juga menerima input dari sensor.
Sensor terhubung ke output dan informasinya diumpankan kembali ke input.
Input ini juga dapat disebut umpan balik negatif.
Umpan balik negatif telah dijelaskan sebelumnya.
Berdasarkan pemrogramannya, mikroprosesor melakukan berbagai perhitungan dan output ke aktuator.
Pabrik pengontrol aktuator berbasis output berupaya mempertahankan kondisi ini.
Contohnya mungkin pengemudi motor yang mengendarai motor, di mana pengemudi motor adalah pengemudi dan motornya adalah pabrik.
Oleh karena itu, motor berputar pada kecepatan yang diberikan.
Sensor yang terhubung membaca status pabrik saat ini dan memberinya kembali ke pengontrol mikro.
Mikro-pengontrol dibandingkan lagi dan dihitung, sehingga loop diulang.
Prosesnya berulang dan tak ada habisnya, dan mikro-pengontrol 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 membutuhkan kecepatan yang lebih tinggi atau lebih rendah dari biasanya.
Oleh karena itu, kita membutuhkan metode kontrol kecepatan yang efektif.
Mengontrol tegangan suplai adalah salah satu metode kontrol kecepatan paling sederhana.
Kita dapat mengubah tegangan untuk mengubah kecepatan. b)
Kontrol PWM Menggunakan PID: Cara lain yang lebih efisien adalah dengan menggunakan pengontrol mikro.
Motor DC terhubung ke pengontrol mikro melalui driver motor.
Driver motor adalah input PWM (
modulasi lebar pulsa) yang menerima IC
dari pengontrol mikro dan output ke motor DC sesuai dengan input. Gambar 1.
2: Bab 1 dari sinyal PWM.
Pendahuluan 3 Mengingat sinyal PWM, pengoperasian PWM dapat dijelaskan terlebih dahulu.
Ini terdiri dari pulsa kontinu untuk jangka waktu tertentu.
Periode waktu adalah waktu yang dihabiskan dengan titik yang bergerak pada jarak yang sama dengan panjang gelombang.
Pulsa ini hanya dapat memiliki nilai biner (tinggi atau rendah).
Kami juga memiliki dua jumlah lain, lebar pulsa dan siklus tugas.
Lebar pulsa adalah waktu ketika output PWM tinggi.
Siklus tugas adalah persentase lebar pulsa hingga periode waktu.
Selama sisa periode waktu, outputnya rendah.
Siklus tugas secara langsung mengontrol kecepatan motor.
Jika motor DC memberikan tegangan positif dalam periode waktu tertentu, ia akan bergerak pada kecepatan tertentu.
Jika tegangan positif disediakan untuk jangka waktu yang lebih lama, kecepatannya akan lebih besar.
Oleh karena itu, siklus tugas PWM dapat diubah dengan mengubah lebar pulsa.
Dengan mengubah siklus tugas motor DC, kecepatan motor dapat diubah.
Kontrol kecepatan untuk masalah motor DC: Masalah dengan metode kontrol kecepatan pertama adalah bahwa tegangan dapat berubah dari waktu ke waktu.
Perubahan ini berarti kecepatan yang tidak rata.
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 kompleks untuk mengubah siklus tugas motor sesuai waktu.
Ada proses ini dalam setiap siklus.
Jika kecepatan melebihi kecepatan yang diinginkan, siklus tugas berkurang dan siklus tugas meningkat jika kecepatan lebih rendah dari kecepatan yang diinginkan.
Penyesuaian ini tidak dilakukan sampai kecepatan terbaik tercapai.
Terus -menerus memeriksa dan mengontrol kecepatan ini.
Berikut adalah komponen sistem yang digunakan dalam proyek ini dan pengantar singkat untuk detail masing -masing komponen.
STM 32F407: Pengontrol mikro yang dirancang oleh ST Micro-section.
Ini bekerja di lengan korteks. Arsitektur m.
Ini memimpin keluarganya dengan frekuensi jam tinggi 168 MHz.
Motor Driver L298N: IC ini digunakan untuk menjalankan motor.
Ini memiliki dua input eksternal.
Satu dari pengontrol mikro.
Mikro-pengontrol menyediakan sinyal PWM untuk itu.
Kecepatan motor dapat disesuaikan dengan menyesuaikan lebar pulsa.
Input kedua adalah sumber tegangan yang diperlukan untuk menggerakkan motor.
Motor DC: Motor DC berjalan pada catu daya DC.
Dalam percobaan ini, motor DC dioperasikan menggunakan kopling fotoelektrik yang terhubung ke driver motor.
Sensor inframerah: Sensor inframerah sebenarnya adalah transceiver inframerah.
Ini mengirim dan menerima gelombang inframerah yang dapat digunakan untuk melakukan berbagai tugas.
IR Encoder Optical Coupler 4N35: Optical Coupler adalah perangkat yang digunakan untuk mengisolasi bagian tegangan rendah dari sirkuit dan bagian tegangan tinggi.
Seperti namanya, itu bekerja berdasarkan cahaya.
Ketika bagian tegangan rendah mendapatkan sinyal, arus mengalir di bagian tegangan tinggi.
Sistem adalah sistem kontrol kecepatan.
Seperti disebutkan sebelumnya, sistem diimplementasikan menggunakan PID integral dan turunan proporsional.
Sistem kontrol kecepatan memiliki komponen di atas.
Bagian pertama adalah sensor kecepatan.
Sensor kecepatan adalah pemancar inframerah dan sirkuit penerima.
Ketika padatan melewati celah berbentuk U, sensor memasuki keadaan rendah.
Biasanya itu dalam keadaan tinggi.
Output sensor terhubung ke filter low-pass untuk menghilangkan atenuasi 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 resistansi yang digunakan adalah sekitar 25 ohm.
Filter low-pass menghilangkan kondisi sementara yang tidak perlu yang dapat mengakibatkan pembacaan tambahan dan nilai sampah.
Filter low-pass kemudian output melalui kapasitor ke pin digital input dari STM mikro-pengontrol.
Bagian lainnya adalah motor yang dikendalikan oleh PWM yang disediakan oleh STM Micro-Controller.
Pengaturan ini telah disediakan dengan isolasi listrik menggunakan IC coupler optik.
Coupler optik mencakup LED yang memancarkan cahaya di dalam paket IC, dan ketika pulsa tinggi diberikan di terminal input, itu singkat-siram terminal output.
Terminal input memberikan PWM melalui resistor yang membatasi arus LED yang terhubung ke coupler optik.
Resistor drop-down terhubung pada output sehingga ketika terminal pendek-sirkit, tegangan dihasilkan pada resistor drop-down dan pin yang terhubung ke terminal pada resistor menerima keadaan tinggi.
Output dari coupler fotoelektrik terhubung ke IN1 dari IC driver motor yang mempertahankan ketinggian pin yang memungkinkan.
Ketika siklus tugas PWM berubah pada input coupler optik, pin driver motor mengganti motor dan mengontrol kecepatan motor.
Setelah PWM disediakan untuk motor, pengemudi motor biasanya menyediakan tegangan 12 volt.
Pengemudi motor kemudian memungkinkan motor untuk beroperasi.
Mari kita perkenalkan algoritma yang kami gunakan dalam implementasi proyek regulasi kecepatan motor ini.
PWM motor disediakan oleh timer tunggal.
Konfigurasi timer dibuat dan diatur untuk menyediakan PWM.
Saat motor mulai, memutar celah yang terpasang pada poros motor.
Celah melewati rongga sensor dan menghasilkan denyut nadi rendah.
Pada pulsa rendah, kode dimulai dan menunggu celah bergerak.
Setelah celah menghilang, sensor memberikan keadaan tinggi dan timer mulai menghitung.
Pengatur waktu memberi kita waktu antara kedua celah.
Sekarang, ketika pulsa rendah lainnya muncul, pernyataan IF dieksekusi lagi, menunggu tepi naik berikutnya dan menghentikan konter.
Setelah menghitung kecepatan, hitung perbedaan antara kecepatan dan nilai referensi aktual dan berikan PID.
PID menghitung nilai siklus tugas yang mencapai nilai referensi pada saat tertentu.
Nilai ini diberikan kepada CCR (
register perbandingan)
tergantung pada kesalahan, kecepatan timer dikurangi atau meningkat.
Kode Truestudio atolik telah diimplementasikan.
STM Studio mungkin perlu diinstal untuk debugging.
Impor proyek di STM Studio dan impor variabel yang ingin Anda lihat.
Sedikit perubahan ada pada 2017-11-4xx.
Ubah frekuensi jam tepat ke file H pada 168 MHz.
Cuplikan kode telah disediakan di atas.
Kesimpulannya adalah bahwa kecepatan motor dikendalikan menggunakan PID.
Namun, kurva bukan garis yang halus.
Ada banyak alasan untuk ini: Meskipun sensor yang terhubung ke filter low-pass masih memberikan cacat tertentu, ini disebabkan oleh beberapa alasan yang tidak dapat dihindari untuk resistor nonlinier dan perangkat elektronik analog, motor tidak dapat berputar dengan lancar pada tegangan kecil atau PWM.
Ini memberikan bajingan yang dapat menyebabkan sistem memasuki nilai yang salah.
Karena jitter, sensor mungkin kehilangan beberapa celah yang memberikan nilai lebih tinggi, dan alasan utama untuk kesalahan lain mungkin adalah frekuensi clock inti STM.
Jam inti STM adalah 168 MHz.
Meskipun masalah ini dibahas dalam proyek ini, ada konsep holistik dari model ini yang tidak memberikan frekuensi tinggi.
Kecepatan loop terbuka memberikan garis yang sangat halus dengan hanya beberapa nilai yang tidak terduga.
PID juga berfungsi dan menyediakan waktu stabilitas motorik yang sangat rendah.
Motor PID diuji pada berbagai tegangan yang menjaga kecepatan referensi konstan.
Perubahan tegangan tidak mengubah kecepatan motor, menunjukkan bahwa PID berfungsi.
Berikut adalah beberapa segmen output akhir dari PID. a)
Loop tertutup @ 110 rpmb)
Loop tertutup @ 120 RPMTHIS Proyek tidak dapat diselesaikan tanpa bantuan anggota grup saya.
Saya ingin berterima kasih kepada mereka.
Terima kasih telah menonton proyek ini.
Berharap dapat membantu Anda.
Tolong nantikan lebih banyak.
Tetap Berkat Sebelum Itu :)

Hoprio Group Produsen profesional pengontrol dan motor, didirikan pada tahun 2000. Markas besar kelompok di Changzhou City, Provinsi Jiangsu.

Tautan cepat

Hubungi kami

Whatsapp: +86 18921090987 
Tel: +86-18921090987 
Tambahkan: No.19 Mahang South Road, Distrik Teknologi Tinggi Wujin, Kota Changzhou, Provinsi Jiangsu, Cina 213167
Tinggalkan pesan
HUBUNGI KAMI
Hak Cipta © 2024 Changzhou Hoprio E-Commerce Co., Ltd. Semua hak dilindungi undang-undang. Sitemap | Kebijakan Privasi