Bagaimana cara menghitung frekuensi loop yang diperlukan untuk pengontrol servo?


11

Saya memiliki motor yang menggerakkan tali yang terhubung ke sel beban. Saya ingin menerapkan pengontrol loop tertutup untuk mengontrol beban yang diterapkan oleh motor ke string.

Tali penggerak motor terhubung ke sel beban

Bagaimana cara menentukan frekuensi loop yang diperlukan untuk membuat sistem kontrol yang stabil? Apakah itu sesuatu seperti frekuensi Nyquist, di mana kecepatan loop harus setidaknya dua kali frekuensi tertinggi yang melekat dalam sistem mekanik?


Akan bermanfaat bagi jawaban untuk fokus pada sisi praktis ATAU teoretis dari pertanyaan. Apakah ini pertanyaan teoritis murni (di mana gesekan, kesalahan sensor, bias motor dll diabaikan)? Frekuensi pengontrol tidak harus lebih tinggi dari rentang validitas sensor dan juga akan ditentukan oleh karakteristik motor.
Gürkan Çetin

Jawaban:


4

Frekuensi loop adalah parameter yang perlu disetel seperti istilah proporsional, integral, dan / atau turunan Anda. Memvariasikannya memiliki efek yang serupa pada output Anda dengan memvariasikan parameter Anda yang lain. Frekuensi terlalu rendah dan Anda tidak akan pernah mencapai kondisi stabil yang Anda inginkan. Terlalu tinggi dan output akan terombang-ambing.

Untuk menentukan frekuensi loop optimal, Anda harus membuat plot Bode dari data dunia nyata atau data simulasi:

Bode plot secara ringkas menampilkan semua informasi input dan output frekuensi yang relevan pada dua plot: rasio amplitudo sebagai fungsi frekuensi dan pergeseran fasa sebagai fungsi frekuensi. Plot rasio amplitudo adalah plot log-log sedangkan plot sudut fase adalah plot semilog (atau log-linear).

Untuk membangun plot Bode, seorang insinyur akan memiliki data empiris yang menunjukkan nilai input dan output yang bervariasi sebagai fungsi waktu sinusoidal. Misalnya, mungkin ada data suhu inlet yang bervariasi secara sinusoidal dan data suhu outlet yang juga bervariasi secara sinusoidal.

Rasio amplitudo, AR, adalah rasio amplitudo dari kurva sinusoidal keluaran dibagi dengan amplitudo dari kurva input sinusoidal.

SEBUAHR=HaikamuthalkamutSebuahmhallsayatkamudesayanhalkamutSebuahmhallsayatkamude

Untuk menemukan pergeseran fasa, periode kurva input dan output sinus perlu ditemukan. Ingat bahwa periode, P, adalah panjang waktu dari satu puncak ke puncak berikutnya.

P=1f=2πω
f=freqkamuency
ω=freqkamuency(rSebuahd/sec)

AR vs freq

fase vs freq

Aturan Jempol saat menganalisis plot Bode

Secara umum, perubahan gain menggeser rasio amplitudo ke atas atau ke bawah, tetapi tidak mempengaruhi sudut fase. Perubahan waktu tunda memengaruhi sudut fase, tetapi tidak pada rasio amplitudo. Misalnya, peningkatan waktu tunda membuat pergeseran fasa lebih negatif untuk frekuensi apa pun. Perubahan konstanta waktu mengubah rasio amplitudo dan sudut fase. Sebagai contoh, peningkatan konstanta waktu akan menurunkan rasio amplitudo dan membuat fase lag lebih negatif pada frekuensi tertentu.

Maka Anda perlu menentukan frekuensi cross-over :

Istilah proporsional menggerakkan besarnya respon frekuensi loop terbuka ke atas atau ke bawah dan karenanya digunakan untuk mengatur frekuensi cross-over dari loop terbuka. Frekuensi cross-over adalah frekuensi di mana besarnya memiliki gain 1 (atau 0dB). Frekuensi ini penting karena terkait erat dengan bandwidth respons loop tertutup.

Dalam sistem yang ideal, perolehan proporsional dapat dibuat (hampir) sangat besar yang mengarah ke loop tertutup yang sangat cepat, namun masih stabil. Dalam praktiknya bukan itu masalahnya. Sebaliknya, dua aturan desain praktis ikut bermain.

Pertama, laju sampel perangkat keras digital tempat pengontrol akan dieksekusi perlu dipertimbangkan. Aturan praktis yang umum adalah bahwa frekuensi cross-over harus ditetapkan setidaknya 10 kali lebih rendah dari laju sampel pengontrol. Secara konseptual ini memastikan bahwa pengontrol berjalan pada kecepatan yang cukup cepat sehingga dapat menangani perubahan pada sinyal yang dikontrol secara memadai.

Aturan praktis kedua terkait dengan kemiringan respons frekuensi pada frekuensi cross-over. Jika roll-off dari respon magnitudo loop terbuka pada cross-over dapat dibuat mendekati -20dB / dekade, maka bandwidth loop tertutup dapat diperkirakan mendekati frekuensi cross-over. Perhatikan bahwa istilah integral dan turunan, bukan hanya istilah proporsional, digunakan untuk mengontrol kemiringan saat melintas.

pertanda grafik cross-over

(penekanan milikku)

Jadi frekuensi loop kontrol optimal harus sekitar 10 kali dari frekuensi cross-over dari penundaan fase sistem Anda yang dapat diperoleh melalui data uji empiris atau, idealnya, simulasi komputer.


Jawaban yang bagus, tetapi saya akan menggunakan siklus batas istilah daripada osilasi dalam konteks ini, karena lebih spesifik teori kontrol . Yang penting adalah Setiap gangguan kecil dari lintasan tertutup akan menyebabkan sistem kembali ke siklus batas, membuat sistem tetap pada siklus batas . Ini berbeda dari osilasi sederhana dalam situasi yang tidak diinginkan ini tidak membusuk dengan sendirinya dan memang diabadikan secara aktif.
Mark Booth

@MarkBooth Saya tidak pernah mempelajari teori kontrol secara formal melainkan jatuh ke dalamnya ketika saya mendapat pekerjaan menulis perangkat lunak tertanam untuk pengendali motor. Saya belum pernah mendengar siklus batas istilah sebelumnya dan artikel Wikipedia tentangnya cukup singkat. Artikel Wikipedia tentang Pengontrol PID dan Teori Kontrol keduanya menggunakan istilah osilasi tetapi tidak menyebutkan siklus batas. Bisakah Anda menunjukkan beberapa referensi lain yang membahas siklus batas dalam konteks teori kontrol tertentu? Saya cukup tertarik untuk belajar lebih banyak.
embedded.kyle

1
Pernyataan bahwa frekuensi loop terlalu tinggi dapat membuat sistem tidak stabil pada dasarnya salah. The x10 bandwidth kontrol adalah aturan praktis yang baik tetapi tidak ada downside untuk pergi lebih tinggi (di luar biaya). Jelas jika integrator Anda + setiap siklus maka Anda mungkin perlu menurunkan istilah I Anda (misalnya).
Guy Sirton

1
Saya belum pernah mendengar istilah "frekuensi loop" yang digunakan untuk frekuensi sampling dari loop sebelumnya, namun itu tampaknya penggunaan di sini. Analog loop-closers lama akan berpikir yang Anda maksud adalah bandwidth loop (frekuensi penutupan loop AKA).
TimWescott

1
Menyetel laju sampel tinggi dalam loop kontrol hanya akan menyebabkan masalah kebisingan (dan bukan hanya dari kuantisasi) jika ada kebutuhan untuk penyaringan low-pass dalam loop yang entah bagaimana dipenuhi dengan sampling frekuensi rendah. Ini selalu dapat diatasi dengan memasang filter low-pass eksplisit, jika situasinya menjamin hal itu.
TimWescott

3

Ketika string tidak berada di bawah tekanan Anda memiliki sistem non-linear (yaitu Anda mendorong tali) yang juga dapat membuat ini lebih sulit untuk dikendalikan. Kekakuan string Anda akan membatasi bandwidth Anda. (String berfungsi sebagai filter low-pass, setidaknya saat itu sedang tegang). Saya sebenarnya telah bekerja sedikit pada pengaturan yang sama dan itu sangat sulit untuk dikendalikan.

Karena Anda mengambil sampel, teorema pengambilan sampel benar-benar berlaku dan Anda harus mengambil sampel setidaknya x2 frekuensi tertinggi dalam input Anda (baik dengan meningkatkan laju sampel atau memfilter input sebelum pengambilan sampel atau keduanya) jika tidak Anda akan mendapatkan alias.

Seperti yang ditunjukkan Kyle, faktor lainnya adalah bandwidth kontrol yang Anda inginkan. Saya setuju dengan aturan praktis bahwa loop harus dijalankan setidaknya ~ x10 frekuensi itu.

Kedua kondisi ini perlu dipenuhi.

Ada diskusi yang cukup bagus tentang hal ini di Bab 6: Pengambilan sampel dalam sistem kontrol loop tertutup dari disertasi Marten Derk van der Laan (1995) Teknik pengambilan sampel sinyal untuk akuisisi data dalam kontrol proses :

Pemilihan tingkat pengambilan sampel adalah masalah penting. Untuk alasan ekonomis, laju pengambilan sampel dijaga serendah mungkin: Tingkat yang lebih rendah berarti bahwa ada lebih banyak waktu yang tersedia untuk eksekusi algoritma kontrol, yang dengan demikian dapat dilakukan pada komputer yang lebih lambat. Digitalisasi sistem kontrol analog yang berperilaku baik dapat sangat memengaruhi respons sistem. Jika frekuensi pengambilan sampel terlalu rendah, sistem bahkan mungkin menjadi tidak stabil. Menurut kriteria Nyquist, frekuensi sampling setidaknya harus dua kali lebih tinggi dari bandwidth sinyal kesalahan. Bandwidth ini dibatasi oleh bandwidth sistem, maka itu adalah 2wB. Namun, untuk menjamin respons yang memuaskan, diperlukan faktor 10 hingga 20


Sangat berbahaya untuk mulai menarik teorema Nyquist dalam sistem kontrol waktu sampel. Satu berakhir dengan segala macam keanehan, yang paling tidak (dan pasti tidak diinginkan di sebagian besar keadaan) adalah filter anti-aliasing di dalam loop kontrol. Makalah yang dikutip menggunakan pendekatan lama untuk desain loop kontrol digital paling cocok untuk personel yang perlu meluangkan waktu membiasakan diri dengan transformasi z dan desain langsung dalam waktu sampel. wescottdesign.com/articles/Sampling/sampling.pdf
TimWescott

@TimWescott: Makalah Anda terlihat sangat menarik. Saya akan membacanya lebih detail. Saya setuju bahwa orang salah menerapkan teorema ke dunia nyata dalam berbagai cara (dan tidak hanya dalam pengaturan kontrol). Namun demikian setiap kali Anda mengambil sampel, teorema tersebut berlaku. Saya sangat setuju dengan apa yang Anda katakan di paragraf terakhir bagian "Akhirnya". Secara intuitif controller tidak akan pernah lebih baik daripada sinyal kesalahan sampel sehingga Anda dapat membuktikan bahwa jika Anda memiliki aliasing tidak ada controller yang bisa menghilangkan kesalahan itu.
Guy Sirton
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.