Mungkin, setiap orang yang mempelajari teori kontrol otomatis berulang kali memiliki keraguan tentang bagaimana dua, tiga atau bahkan sepuluh kotak fungsi transfer dalam model ini mewakili dinamika unit kompleks, seperti reaktor nuklir atau mesin pesawat terbang. Apakah ada kecurangan di sini? Ada kemungkinan bahwa bekerja dengan model sederhana akan berhenti bekerja dengan model kompleks dalam kehidupan "nyata".
Pada artikel ini, kami akan bereksperimen dengan model mesin pesawat "nyata". Setelah mengelilinginya dengan model peralatan "nyata" dan algoritma kontrol dari pembangkit listrik tenaga nuklir.
Awalnya, model ini ditulis dalam Fortran dan dimaksudkan untuk beberapa tujuan yang sangat ilmiah terkait dengan sistem manajemen mesin. Model ini diberikan kepada kami sebagai contoh dan tugas kami adalah untuk mengulang model dalam bentuk struktural dan membuktikan bahwa itu bertepatan dengan yang asli. Yang sudah dilakukan.
Segera setelah model berubah dari daftar Fortran menjadi diagram blok, menjadi mudah dan nyaman untuk bekerja dengannya, melakukan eksperimen paling canggih. Bukan kebetulan bahwa saya ternyata adalah algoritma kontrol NPP nyata. Itu memungkinkan untuk merakit model percobaan dengan cepat tanpa menggunakan rumus apa pun, ya ya, hanya gambar.
Model mesin
Model adalah serangkaian blok tipikal yang dikonfigurasi untuk mensimulasikan berbagai komponen mesin tertentu. Dalam artikel sebelumnya, kami membongkar mesin turbin gas di mana daya bersih dihilangkan menggunakan poros. Dalam mesin turbojet, daya totalnya adalah dorongan jet, tapi kami akan mengontrol kecepatannya.
Skema umum model ditunjukkan pada Gambar 1.
Gambar 1. Diagram model struktural mesin turbojet.Terlepas dari kenyataan bahwa diagram model tampak seperti hamburan bagian tiga dimensi, pada kenyataannya itu adalah seperangkat elemen struktural yang saling berhubungan.
Sebagai percobaan, kami, seperti pada artikel sebelumnya , akan mencoba mengendalikan pasokan bahan bakar untuk mendapatkan kecepatan yang diinginkan.
Untuk melakukan ini, kita memerlukan ruang bakar, di properti yang kita temukan konsumsi bahan bakar - yang akan kita ubah. Dan dalam parameter, ruang memiliki tekanan saluran masuk, yang dihitung dalam blok ini. (lihat gambar 2 dan 3)
Gambar 2. Properti ruang bakar.Gambar 3. Parameter ruang bakar.Sebagai kecepatan yang dapat disesuaikan, kami melakukan putaran poros tekanan rendah. Tampak bagi saya bahwa putarannya memiliki ketergantungan yang lebih kompleks pada tekanan pasokan bahan bakar daripada revolusi poros tekanan tinggi, yang dipengaruhi oleh gas setelah ruang bakar.
Model pengiriman bahan bakar
Dalam model asli, pasokan bahan bakar ditentukan dalam kg / s, sebagai kondisi batas untuk pemodelan, dalam bentuk fungsi waktu tabular. Kami ingin membuat model yang dekat dengan model "nyata", oleh karena itu kami akan menggunakan proposal dari artikel sebelumnya dan membuat model hidraulik pasokan bahan bakar dari pipa dan electrovalve.
Sebagai model, kami akan memasang pipa dengan diameter 10 mm, di mana kami memasang katup listrik. Tekanan di satu sisi pipa disetel konstan, dengan asumsi pompa bahan bakar bekerja di sana. Tekanan di sisi lain akan diambil dari model mesin. Di ujung pipa kami menambahkan penyempitan 2 kali untuk mensimulasikan nozzle. (Gbr. 4)
Gambar 4. Model pasokan bahan bakar ke mesin.Model menggabungkan ketergantungan perubahan resistensi hidrolik katup pada posisi katup.
Model seperti itu akan memungkinkan kita untuk memperhitungkan efek tekanan di ruang bakar pada konsumsi bahan bakar, memberikan umpan balik.Ketika kita meningkatkan konsumsi bahan bakar, kita meningkatkan tekanan di ruang bakar dan, dengan demikian, perbedaan antara pompa bahan bakar dan ruang bakar berkurang, yang mengarah pada konsumsi bahan bakar yang lebih rendah .
Biaya pipa ditentukan dengan menyelesaikan persamaan aliran fluida yang tidak stasioner, dengan mempertimbangkan gesekan, viskositas, densitas, dan efek fisik lainnya, deskripsi yang akan mengambil beberapa - tiga halaman formula.
Model manajemen
Untuk mensimulasikan sistem kontrol nyata, kami akan mengambil model regulator untuk memasok uap ke turbin dari proyek kontrol PLTN. Bukan hanya PID yang memberi kita posisi katup, tetapi model jujur yang memiliki:
- Memodelkan operasi motor penggerak dengan mempertimbangkan zona non-sensitivitas, penundaan, kecepatan pembukaan dan penutupan.
- FIR (pulsa konversi relay) adalah blok non-linear yang menyediakan konversi aksi kontrol dalam perintah "buka" dan "tutup".
- Kontroler PID.
- Kelambanan sensor kecepatan.
Untuk menggambarkan semua blok dan model yang terdaftar, Anda akan membutuhkan seratus lima puluh halaman teks lagi, jadi cukup berikan gambar dengan penjelasan minimal.
Model katup
Ini adalah model mesin dan sistem kontrol lokal.
Mesin adalah integrator rumit yang memproses perintah "buka" dan "tutup", dengan mempertimbangkan kecepatan gerakan tertentu dari dampak yang mungkin terjadi, kegagalan daya, dll. (lihat Gbr. 5) Di pintu keluar dari blok ini, posisi katup dihitung pada setiap titik waktu dalam simulasi proses
Gambar 5. Model motor listrikUntuk mengontrol motor listrik katup, unit kontrol katup (BUK) digunakan, yang menyediakan pemrosesan logis dari perintah yang masuk dan kemungkinan kegagalan yang diberikan, dan juga menghasilkan semua sinyal yang diperlukan untuk sistem indikasi dan kontrol. (lihat gambar 6)
Gambar 6. Model unit kontrol katup (BEECH)Diagram pada Gambar 5-6 adalah skema perpustakaan umum untuk memodelkan pembangkit listrik tenaga nuklir. Blok-blok ini tidak diubah oleh pengguna, tetapi dianggap siap dan digunakan untuk membuat algoritma kontrol. Algoritma kontrol dibuat dalam bentuk sheet. Dalam kasus kami, lembar algoritma kontrol katup disajikan pada Gambar 7.
Pembentukan langsung perintah "terbuka" atau "tutup" (Lebih Banyak, Lebih Sedikit) dilakukan dalam blok konversi relai pulsa (FIR). Unit ini dapat dilakukan baik pada "logika besi" (transistor, relay, amplifier), dan dalam bentuk program.
Pada input blok EPI, ketidakcocokan dihitung, dihitung oleh blok PID dalam bentuk persentase penyimpangan. Berdasarkan data ini, unit itu sendiri menghasilkan pulsa "terbuka" atau "tutup" (Lebih, Kurang) untuk unit kontrol katup. Diagram blok EPI ditunjukkan pada Gambar 8.
Algoritma kontrol kecepatan ditunjukkan pada Gambar 9.
Sebagai data awal untuk perhitungan regulator tekanan, kecepatan yang ditetapkan dan pembacaan sensor digunakan.
Algoritma PID itu sendiri ditunjukkan pada Gambar 10.
Sensor kecepatan memperhitungkan penundaan, inersia, dan kesalahan sensor sebenarnya. Diagram model sensor ditunjukkan pada Gambar 11.
Gambar 7. Algoritma kontrol katupGambar 8. Diagram blok FIRGambar 9. Algoritma dari tombol kontrolGambar 10. Kontroler PIDGambar 11. Model SensorSeperti yang bisa kita lihat, modelnya cukup detail (lebih dari seribu blok) dan tidak linier sama sekali.
Karena dalam percobaan ini kami sedang mengeksplorasi kemungkinan mengoptimalkan dan mengelola sistem yang kompleks, detail model matematika penting bagi kami dari sudut pandang nonlinieritas dan kompleksitasnya. Oleh karena itu, kombinasi "liar" seperti itu dari program kontrol nyata dari regulator PLTN dan model mesin "nyata" membentuk tugas untuk menguji regulator dengan model kompleks.
- Sistem kontrol menggunakan pengaturan berikut:
- buka dan tutup katup - 10 detik
- kisaran pengaturan kecepatan mesin - 1500 - 4000 rpm
- dead band untuk regulator - 1%
Penyesuaian model dan eksperimen numerik
Model yang kami jelajahi hanya menggambarkan mesinnya. Dan semua tindakan kontrol, seperti konsumsi bahan bakar, sudut rotasi baling-baling pemandu, laju aliran, dll., Diatur dalam bentuk fungsi yang berubah seiring waktu. Kami telah menciptakan model pasokan bahan bakar yang “lebih jujur” dan berusaha menghubungkannya dengan model mesin. Desain percobaan numerik adalah sebagai berikut:
- membawa model mesin ke kecepatan nominal;
- alihkan pasokan bahan bakar ke sistem kontrol yang dibuat;
- buat kontrol kecepatan.
Gambar 12 menunjukkan sirkuit kontrol untuk melakukan percobaan numerik.
Gambar 12. Model kontrol eksperimen numerikModel dapat bekerja dalam mode optimisasi atau mode kontrol.
Ketika mode optimisasi aktif, unit optimisasi berfungsi, dalam mode off, ia tidak berpartisipasi dalam perhitungan.
Semua model yang terhubung dalam satu paket dianggap bertukar data secara sinkron melalui basis data sinyal. Dalam proyek manajemen penagihan, data ditransfer dari satu model ke model lainnya. Secara khusus, tekanan dari ruang bakar mesin ditransmisikan ke tekanan di outlet sistem bahan bakar, dan putaran yang dihitung dari poros tekanan rendah ditransmisikan ke model sensor untuk perhitungan dalam sistem kontrol.
Untuk mensimulasikan ketidakakuratan pengukuran kecepatan, white noise ditambahkan ke nilai kecepatan poros yang dihitung.
Kecepatan yang diset ditransmisikan ke unit optimisasi. Untuk memantau kualitas transien, laju aliran dan posisi katup digunakan.
Sistem kontrol dibuat dalam bentuk mesin negara dengan tiga keadaan (lihat Gambar 13):
- Akselerasi mesin. Dalam keadaan ini, model mesin beroperasi secara independen dari sistem bahan bakar, dan konsumsi bahan bakar diatur sebagai fungsi linear satu demi satu. Regulator dimatikan, dan putaran putaran poros bertekanan rendah yang dihitung ditransmisikan ke putaran set.Tergantung pada sinyal tingkat atas, transisi dapat terjadi baik dalam keadaan optimasi atau dalam keadaan kontrol.
- Optimasi. Dalam kondisi ini, konsumsi bahan bakar diambil dari model hidrolik dan dipindahkan ke model mesin. Kontroler PID aktif dan menyesuaikan posisi katup. Koefisien PID dari kontroler diambil dari blok optimisasi dan diterapkan ke controller dalam mode optimisasi. Sebagai tindakan uji, perubahan dalam kecepatan engine diatur.
- Manajemen Persis sama dengan optimasi, dengan pengecualian mentransmisikan koefisien ke pengontrol PID.
Gambar 13. Mesin negara dari sistem manajemen mesinGambar 14. Status “Akselerasi Mesin” dan “Optimasi”Penyesuaian pengontrol dilakukan dengan metode optimisasi. Diagram blok optimisasi ditunjukkan pada Gambar 15. Bergantung pada unit kontrol mana yang digunakan dalam sistem untuk kontrol, blok optimisasi memilih nilai untuk blok PID atau blok kontrol fuzzy.
Saat mengatur, white noise tidak diperhitungkan (di blok itu diatur sebagai 0).
Gambar 15. Blok optimisasi regulatorHasil simulasi
Untuk memilih koefisien pengontrol PID, proses berikut digunakan:
Dalam 10 detik, akselerasi dilakukan menggunakan kurva konsumsi bahan bakar yang telah dihitung sebelumnya. Kecepatan rotasi poros tekanan rendah pada akhir akselerasi adalah 3.564 rpm.
Pada 10 detik perhitungan, mesin negara akan berganti. Mulai saat ini, konsumsi bahan bakar diambil dari model hidrolik, dan frekuensi yang diatur untuk regulator adalah 3.600 rpm.
Pada 20 detik perhitungan, frekuensi yang disetel berubah - 3900 rpm.
Dengan demikian, regulator harus mengerjakan langkah 36 rpm pada 10 detik perhitungan dan langkah 300 rpm pada 30 detik perhitungan.
Kontroler PID yang disetel berhasil mengatasi tugas ini, dengan mempertimbangkan fakta bahwa pada 10 detik, selain lompatan dalam putaran, lonjakan konsumsi bahan bakar terjadi ketika beralih ke model hidraulik (lihat Gambar 16)
Gambar 16. Proses turnover dan kontrol untuk pengontrol PIDUntuk membuat pengontrol berdasarkan logika fuzzy dan kemurnian percobaan, kami menggunakan pengontrol PID yang sudah dikonfigurasi yang sama (lihat Gbr. 10), di mana kami menambahkan model pengontrol berdasarkan logika fuzzy dan mengganti output pengontrol - alih-alih PID, kami mengirim sinyal yang diperoleh dalam logika fuzzy .
Dengan demikian, semua parameter lain yang terkait dengan normalisasi, zona tidak sensitif, pekerjaan EPI tetap sama seperti untuk PID.
Output dari controller, sama dengan output untuk PID, adalah persentase ketidakcocokan.
Dan kami meninggalkan pengontrol PID itu sendiri sehingga kami dapat membandingkan dampak apa yang diberikan oleh regulator. (lihat gbr. 17)
Gambar 17. Mengubah PID menjadi Fuzzy LogicRegulator itu sendiri terlihat sama seperti pada artikel pertama . (lihat gbr. 18). Ketidakcocokan adalah input, turunan pertama dan kedua dari ketidakcocokan ditentukan secara numerik dan basis sederhana dari tiga aturan digunakan:
- Jika kurang dan menurun dan melambat => berkurang.
- Jika norma keduanya konstan dan tidak berubah => jangan berubah .
- Jika lebih dan meningkat dan mempercepat => meningkat .
Gambar 18. Diagram pengontrol fuzzy.Untuk penyesuaian, kami menggunakan variabel yang sama yang kami gunakan dalam artikel pertama - ini adalah rentang penyimpangan dari penyimpangan derivatif pertama dan kedua.
Setelah optimasi, kami memulai proses transisi yang sama.
Gambar 19. Perputaran dan kontrol untuk logika fuzzyKontroler logika fuzzy baik-baik saja. Harap dicatat bahwa sesuai dengan posisi katup gerbang, langkah "dibentuk oleh diri kita sendiri" terbentuk ketika katup berhenti, berhenti, dan kemudian bergerak lagi.
Dilihat oleh jadwal 19, logika fuzzy menangani peningkatan kecepatan mesin pesawat jauh lebih baik!
Sekarang kita akan mengubah kondisi masalah yang disetel ke langkah positif 300 rpm dan menguji langkah negatif -1500 rpm. (Jika Anda mengambil lebih banyak, katup mungkin menutup, tetapi saya tidak tahu bagaimana model akan berperilaku pada konsumsi bahan bakar nol, meskipun mesin nyata memungkinkan penutupan jangka pendek dari pasokan bahan bakar.)
Pada perhitungan 20 detik, kami mengatur frekuensi ke 2100 rpm. Dan mari kita lihat bagaimana regulator kita bekerja. Yang pertama di atas ring adalah Fuzzy Logic.
Gambar 20. Praktek mengurangi kecepatan. Logika fuzzyEksperimen kedua adalah dengan kontroler PID. Dan apa yang kita lihat? Ini adalah kegagalan total, pengendali PID, yang disetel untuk meningkatkan kecepatan, tidak dapat mengatasi penurunan frekuensi. (lihat 21) Sesuatu sekarang mengkhawatirkan pembangkit listrik tenaga nuklir kami.
Model mesin pada putaran rendah ternyata benar-benar tidak terkendali dengan bantuan pengontrol PID yang disetel untuk mengendalikan putaran tinggi.
Ngomong-ngomong, dapat dilihat bahwa pematian pendek pasokan bahan bakar (katup menutup sepenuhnya) tidak menyebabkan runtuhnya model mesin turbojet.
Gambar 21. Praktek mengurangi kecepatan. Kontroler PID.Ini meminta cek dengan regulator SDA, di mana turunan kedua digunakan. Karena model seperti itu telah dibuat untuk artikel sebelumnya (lihat Gambar 22), maka mengubah logika fuzzy menjadi aturan lalu lintas adalah masalah dua detik. (lihat gbr. 23).
Gambar 22. Diagram struktural aturan lalu lintas regulator.Gambar 23. Mengganti PID dengan aturan lalu lintas dalam algoritma kontrolKami menyesuaikan pengontrol dengan metode optimisasi dan mengulangi pengurangan kecepatan.
Gambar 24 Menguji pengurangan kecepatan pengendali aturan lalu lintasSDA bekerja dengan overshoot, tetapi jelas lebih baik daripada PID, dan hampir sama baiknya dengan logika fuzzy. Tapi ada overshoot!
Mari menyulitkan tugas - tambahkan noise ke sensor
Sekarang mari kita coba menambahkan white noise ke sensor pengukuran sinyal dan melihat bagaimana regulator berperilaku dengan sensor nyata. Zona mati adalah 1% dari kecepatan maksimum - itu adalah 40 rpm. Atur white noise ke 50 rpm.
Karena PID tidak bekerja pada kecepatan yang lebih rendah, kami akan menguji pada peningkatan.
Regulator kontrol lalu lintas jelas tidak mengatasi kebisingan seperti itu, meskipun mempertahankan kecepatan yang diperlukan, tetapi katup kontrol bergetar, seperti pada tarian St Vitus, ketika kecepatan yang disetel menyala. Pada Gambar 25, bagian 25 - 26 detik dari proses diperbesar secara khusus
Gambar 25 Meningkatkan RPM dengan noise di sensor. Peraturan lalu lintasGambar 26 Meningkatkan RPM dengan noise di sensor. Kontroler PIDTransien untuk pengontrol PID tidak berubah meskipun noise pada sensor RPM. Manajemen hadir dengan langkah yang jelas dan panjang.
Alarm untuk pembangkit listrik tenaga nuklir surut.
Gambar 27. Kontroler fuzzy dengan noise pada sensor.Pengontrol dengan logika fuzzy dengan noise juga mengontrol, tetapi pada saat aplikasi ke keadaan stasioner, fluktuasi dalam posisi badan pengatur terjadi.
Kesimpulan
Seri ketiga dari tes logika fuzzy terhadap PID dan SDA berakhir dengan kemenangan logika fuzzy. Berbeda dengan model sederhana dari artikel sebelumnya .
Ternyata tidak mungkin mengontrol pengontrol PID pada kecepatan rendah.
Keuntungan PID yang teridentifikasi secara eksperimental adalah tidak adanya osilasi dengan sensor bising.
Omong-omong, dinamika mesin (grafik akselerasi) ternyata sangat mirip dengan dinamika model yang disederhanakan.