Bagaimana cara menyetel pengontrol PID ke proses nonlinear?
Kamu tidak. Anda membuat linierisasi proses, kemudian membuat pengontrol PID bekerja pada nilai-nilai linear.
Dengan "membuat garis proses", saya tidak bermaksud membuat proses itu sendiri linier. Itu biasanya tidak dapat dilakukan karena fisika. Namun, Anda dapat meletakkan sesuatu yang non-linear antara output pengontrol PID dan input proses sehingga output PID mengontrol proses secara linear dari sudut pandang pengontrol PID.
Pembuat garis seperti itu tidak perlu sangat akurat karena itu ada di dalam loop umpan balik. Tujuannya adalah untuk memberikan tampilan gain konstan di seluruh rentang dinamis kontrol. Cara sederhana dan umum adalah fungsi berbasis tabel linear sepotong-bijaksana. 16 atau 32 segmen biasanya cukup untuk apa pun kecuali proses yang sangat tidak linier.
Contoh kasus terburuk yang pernah saya temui adalah mengendalikan arus melalui tabung elektron dengan mengubah seberapa keras filamen katoda digerakkan. Fungsi temperatur katoda terhadap arus berkas elektron sangat tidak linier, dan sistem yang mengendalikan arus filamen katoda juga agak non-linear. Dalam hal ini terlalu sulit untuk memprediksi seluruh kekacauan ini, jadi saya menggunakan prosedur kalibrasi selama produksi yang melangkah melalui nilai kontrol drive filamen, diukur arus balok untuk masing-masing, kemudian dihitung tabel pencarian 32 segmen dari itu. Ini bekerja sangat baik, dan kami dapat menyetel pengontrol PID balok saat ini untuk respons yang baik di seluruh jajaran.
Tanpa fungsi linierisasi di depan proses, Anda harus menyetel pengontrol PID untuk stabilitas pada titik kenaikan inkremental tertinggi dari proses. Ini kemudian menghasilkan perilaku yang sangat teredam di titik lain.
Ditambahkan
Tidak ada dalam pertanyaan Anda yang diperbarui yang mengatakan apa pun tentang mengapa metode di atas masih bukan ide yang baik dan berlaku. Anda mengatakan Anda menggunakan pengontrol analog. Reaksi pertama saya adalah "1980-an sudah lama berlalu, jangan lakukan itu." Namun, pengontrol PID dan linearizer pabrik dapat bersifat independen.
Tampaknya input tanaman adalah daya dan output adalah suhu. Ukur suhu steady state pada kisaran level daya. Dari sana Anda dapat menghitung fungsi yang mengubah "daya" yang dilinearisasi menjadi input daya instalasi yang sebenarnya. Kontroler PID analog mungkin mengeluarkan tegangan sebanding dengan daya. Yang harus Anda lakukan adalah memasukkan kotak hitam sesuai dengan tegangan yang melakukan pengukuran linier ke terjemahan tingkat daya yang sebenarnya.
Biasanya Anda akan melakukan ini dengan mikrokontroler yang memiliki A / D bawaan. Melakukan pencarian tabel ini dan interpolasi linier antara poin adalah sepele. Kemudian output hasilnya dengan cara yang akhirnya dikonversi menjadi tegangan. Karena instalasi lambat dibandingkan dengan mikrokontroler, ini bisa semudah menyaring dan menyangga output PWM. Atau Anda bisa mengendarai D / A secara langsung, meskipun sepertinya tidak perlu dalam kasus ini.
Sesuai dengan tema 1980-an controller Anda, Anda bisa melakukan ini dengan A / D, memori, dan D / A untuk nuansa retro.
Bagaimanapun, pengontrol PID sekarang secara efektif mengendalikan pabrik linier sejauh yang diketahui, dan menyetelnya ke kinerja yang baik harus dimungkinkan.
Melakukan transformasi linear sedikit demi sedikit pada input instalasi di satu tempat lebih mudah daripada mengubah 3 nilai di dalam kontroler PID pada rentang output. Yang terakhir adalah kludge, sedangkan yang pertama menangani masalah secara langsung. Juga jauh lebih mudah untuk mengukur data untuk fungsi linierisasi daripada menentukan perolehan P, I, dan D pada berbagai titik. Bahkan jika Anda melakukan itu, Anda masih memiliki masalah sementara, karena keuntungan yang tepat tidak segera diterapkan pada situasi tersebut. Lagi-lagi "mendapatkan penjadwalan" adalah kludge.