Saya sedang membangun oven reflow yang dikendalikan oleh hobi saya sendiri. Saya menggunakan relay (mekanis) untuk menghidupkan atau mematikan pemanas (yaitu tabung kuarsa). Saya perhatikan pemanasan memudar beberapa detik sebelum suhu mulai naik.
Untuk saat ini saya mengelola profil suhu secara manual dengan bantuan Arduino, yang hanya mematikan pemanas ketika suhu yang ditetapkan tercapai. Misalnya ketika saya mengatur suhu ke, katakanlah 120 ° Celcius dan pemanas berhenti, suhu masih naik 10-20 derajat sehingga ada sedikit overshoot kemudian beberapa dering, yang menurun perlahan.
Saya telah membaca dan menyaksikan banyak contoh yang memanfaatkan PID untuk kontrol suhu yang lebih baik. Tanpa itu saya hanya akan menghentikan pemanas, seperti 10-20 derajat di bawah nilai yang ditetapkan dan menyalakannya dalam waktu singkat setelah itu sampai suhu stabil di sekitar nilai yang ditetapkan. Saya hanya tahu delta bervariasi dengan suhu sehingga mungkin tidak semudah itu - saya tahu tentang sifat eksponensial kenaikan suhu dengan nilai yang ditetapkan tetap.
Jadi siapa pun dapat menjelaskan dalam istilah awam bagaimana PID menyumbang inersia, misalnya apa peran bagian integral dan apa yang dimainkan bagian turunan dalam istilah sederhana, serta bagaimana / jika saya bisa mengetahui secara intuitif estimasi derivatif dan integral kuantitas tanpa menggunakan perhitungan yang rumit.
Jawaban:
Saya harus + komentar Glen. Dia secara konsisten memiliki otaknya di tempat yang tepat, IMHO. Tidak ada yang lebih sulit untuk ditangani dalam PID selain aΔt menunda. Saya telah berurusan dengan kontrol suhu lampu-dipanaskan untuk IC wafer FAB, dalam beberapa cara atau lainnya, selama bertahun-tahun. Mari saya mulai dengan ikhtisar PID dan berbicara sedikit tentang di mana itu TIDAK akan berguna seperti dalam kasus lain. Saya juga akan menyarankan salah satu dari banyak domain lain dari metode kontrol yang dapat Anda jelajahi, tetapi dengan prioritas langkah-langkah yang harus Anda ambil terlebih dahulu sebelum pergi ke tempat lain.
Ekspresi kanonik untuk kontrol PID adalah:
Dengan parameter pengontrol menjadi keuntungan proporsionalK , waktu yang tidak terpisahkan Tsaya , dan waktu turunan Td .
Deskripsi di atas, ditambahkan ke deskripsi Anda sendiri tentang masalah keterlambatan Anda, akan menyarankan bahwa istilah turunan akan membantu Anda. Tapi seperti biasa, tidak ada yang semudah itu.
Kontrol proporsional-integral sudah cukup ketika dinamika proses berada di urutan pertama. Sangat mudah untuk menemukan ini dengan mengukur langkah-respons. (Jika kurva Nyquist hanya terletak pada kuadran ke-1 dan ke-4.) Ini juga dapat berlaku dalam kasus-kasus di mana prosesnya tidak membutuhkan kontrol yang ketat, bahkan jika bukan dari urutan pertama.
Kontrol PID cukup untuk proses di mana dinamika dominan berada di urutan ke-2. Kontrol suhu sering terjadi di sini. Jadi, sekali lagi, ini mungkin berargumen untuk menambahkan kontrol derivatif dalam situasi Anda.
Namun. Semua hal di atas hanya harus dipertimbangkan setelah Anda melakukan segala hal yang mungkin untuk meningkatkan beberapa hal:
Saya ingin menguraikan sedikit tentang poin terakhir ini. Bayangkan proses kontrol seperti Anda berdiri di suatu tempat, mencoba menyodok tiang bambu yang tipis, sangat fleksibel dan goyah ke dalam lubang rumah burung yang jauh yang duduk di pohon di atas dan jauh dari Anda. Jika Anda dekat dan batang bambu pendek, mudah. Anda dapat melakukannya setiap saat dengan cepat dan mudah. Tetapi jika tiang bambu panjang dan rumah burung jauh dari Anda, itu sangat, sangat sulit dilakukan. Tiang terus berkeliaran dan itu membuat prediksi dan kontrol Anda sangat sulit.
(Jika belum jelas, panjang batang bambu seperti waktu tunda loop.)
Jadi penundaan mungkin MIMPI BURUK TERBURUK dari sistem kontrol. Lebih banyak penundaan sangat buruk. Jadi, sangat penting bagi Anda untuk melakukan segala daya untuk mengurangi keterlambatan ini. Tapi ada satu hal lagi yang penting.
Sekarang bayangkan situasi yang sama. Tapi sekarang tiang bambu juga terus berubah panjang. Terkadang lebih pendek, kadang lebih lama, dan bervariasi terus menerus tanpa prediksi dari pihak Anda. Anda sekarang harus terus mengubah sikap Anda dan Anda tidak pernah tahu kapan penundaan akan berubah. Ini adalah situasi yang ada jika PERANGKAT LUNAK Anda tidak mengontrol dengan sangat hati-hati dan dengan tangan besi, penundaan waktu dalam memproses nilai ADC Anda dan menghasilkan output kontrol DAC.
Jadi, sementara penundaan cukup buruk untuk sistem kontrol PID. Penundaan variabel bahkan lebih buruk. Jadi Anda harus memperhatikan desain perangkat lunak Anda - perhatian yang sangat ketat - sehingga Anda tidak memiliki pernyataan IF dan kode perhitungan bersyarat, atau penggunaan timer yang ceroboh, dll., Yang semuanya dapat menyebabkan variasi signifikan dalam keterlambatan antara sampel dan kontrol output.
Anda perlu memasukkan hal-hal di atas ke dalam manajemen sebelum MAKA mengkhawatirkan apakah Anda perlu kontrol turunan atau tidak. Hal pertama yang pertama. Bersihkan tindakanmu. Kemudian periksa sistem untuk menentukan apa yang masih harus dilakukan (menggunakan PI vs PID, misalnya.)
Saya sedang mengerjakan sistem kontrol PID menggunakan sistem pirometer yang sangat akurat (juga sangat mahal bagi pelanggan.) Saya menerima telepon dari seorang peneliti Kanada yang bekerja dengan pirometer kami, tetapi menggunakan pengontrol PID terpisah dari perusahaan komersial yang sangat besar (terbesar di dunia melakukan hal-hal ini.) Peneliti berjuang dengan riak di sisi boule gallium arsenide yang dia tarik dari lelehan. Dan ingin bantuan saya dalam mencari tahu variabel kontrol PID yang tepat. (Dalam boule-pulling, kamu menginginkan diameter yang sangat seragam.)
Kontroler yang ia gunakan cukup baik dengan ukuran standar apa pun. Tapi itu menambahkan penundaan --- dan penundaan itu bervariasi juga, karena perangkat lunak di dalamnya tidak secara ketat mengontrol penundaan yang diperkenalkan ke keseluruhan lingkaran kontrol.
Jadi, hal pertama yang saya katakan kepadanya adalah bahwa saya akan menambahkan kontrol PID ke perangkat lunak dalam pirometer kami dan bahwa ia harus PULL controller eksternal dari sistem yang ia gunakan. Saya menambahkan perangkat lunak itu dalam waktu kurang dari seminggu dan mengirimnya sistem piro yang dimodifikasi. Saya tidak melakukan apa pun dengan perangkat lunak PID. Namun, saya menjaga variabilitas saya dalam ADC ke DAC hingga kurang dari beberapa mikrodetik dan memperketat keterlambatan keseluruhan juga menjadi sekitar 100 mikrodetik. Saya mengirim itu kepadanya.
Saya menerima telepon Senin minggu depan. Jalan-jalan itu hampir terlepas dengan sempurna, tanpa riak sama sekali.
Itu sederhana seperti hanya mengurangi penundaan dan juga mengurangi variabilitas dalam penundaan itu. Tidak ada yang istimewa tentang kontrol PID, sama sekali. Itu adalah implementasi vanila sederhana yang akan menghasilkan siapa pun pertama kali belajar tentang vanila.
Ini menggambarkan pentingnya memeras keterlambatan dan keterlambatan variabilitas. Tentu saja, kontrol derivatif dapat memberikan semacam prediksi "garis potong / garis singgung" prediksi. Tapi tidak ada yang menggantikan penundaan dan menjaga variabilitas ke minimum absolut, juga.
Terus pikirkan tentang tiang bambu dan masalah lubang rumah burung.
Kesimpulan?
Kontrol sistem dengan waktu tunda yang dominan sangat sulit. Saya sudah menyarankan beberapa alasan Anda mungkinpercaya bahwa istilah turunan akan membantu penundaan waktu. Tetapi ada kesepakatan umum bahwa tindakan turunan tidak banyak membantu untuk proses yang memiliki penundaan waktu dominan. Inilah sebabnya saya segera menyarankan untuk membantu peneliti itu dengan menghilangkan semua penundaan yang dapat saya hapus dengan mudah (seperti kotak PID eksternal, misalnya.) Saya tidak membayangkan bahwa implementasi saya lebih baik daripada produk komersial. Saya tahu implementasi saya tidak akan hampir sama baiknya, pada kenyataannya. Cripes, saya harus menulisnya dari awal, menguji dan menginstalnya, dan mengirimkan unit dengan perangkat lunak baru yang belum pernah ada sebelumnya di dalamnya, dan melakukan semua itu dalam waktu seminggu. Tetapi saya juga tahu bahwa penundaan itu MEMBUNUH semua peluang yang dimiliki peneliti ini untuk mendapatkan hasil yang diinginkannya. Jadi saya segera tahu bahwa pendekatan terbaik adalah dengan menekan penundaan dan tidak menciptakan beberapa kode PID ajaib yang "cemerlang" yang diterapkan yang hanya bisa diikuti oleh seorang jenius. Ini semua tentang penundaan dan bagaimana penundaan itu berbeda, pertama dan terutama. Sisanya adalah prioritas yang jauh lebih rendah.
Ada beberapa hal yang disebut "kompensator waktu mati." Tetapi dalam analisis akhir, Anda perlu melakukan apa saja untuk menarik penundaan dan menarik variabilitas dalam penundaan itu. Dan kemudian, setelah Anda melakukan semua yang Anda bisa di sana, jika masih ada masalah, kemungkinan Anda membutuhkan kontrol yang lebih canggih daripada PID memungkinkan. Di sini, saya akan meraih transformasi fourier (dan menggunakan transformasi terbalik untuk menganalisis langkah-respons dan mengembangkan deskripsi respons sistem), mungkin. Anda dapat melakukan banyak hal dengan ini yang tidak dapat disentuh dengan PID. Nyaris hasil yang menakjubkan, pada kenyataannya, jika Anda dapat memodelkan fungsi respons dengan cukup baik.
Tetapi dalam kasus Anda saya akan fokus pada memeras penundaan dan variabilitas mereka. Saya pikir Anda harus, jika mungkin, mempertimbangkan untuk menghindari penggunaan kontrol lampu on / off sederhana. Alangkah baiknya jika Anda bisa mengontrol intensitas lampu. Tapi saya tidak tahu apakah Anda bisa mempertimbangkan itu.
sumber
Ini tidak langsung menjawab pertanyaan Anda tetapi memberi Anda beberapa alat untuk bermain untuk meningkatkan pemahaman Anda.
Ada simulator Excel sederhana di Engineers-Excel yang mungkin bermanfaat bagi Anda.
Gambar 1. Model simulator PID.
Bagian yang sulit adalah memodelkan proses Anda - oven - untuk menetapkan penguatan proses K , Ts - konstanta waktu respons dan Ls - jeda respons. Saya menyarankan:
Setelah itu Anda bisa bermain dengan parameter PID untuk melihat apakah Anda bisa mendapatkan respons yang Anda inginkan.
Mengambil beberapa tebakan liar:
Gambar 2. Output simulator PID Excel.
Anda biasanya lolos dengan istilah nol D jika proses Anda tidak mungkin mendapatkan gangguan seperti perubahan tiba-tiba pada setpoint atau perubahan mendadak pada beban termal. Itu menyederhanakan hal-hal ke pengaturan kontrol PI.
Untuk pemanasan, Anda dapat memperoleh daya proporsional dengan menghidupkan dan mematikan daya dengan cukup cepat relatif terhadap waktu respons termal.
Gambar 3. Siklus tugas variabel untuk kontrol AC pemanas.
sumber
Dalam PID ada 3 bagian: Proporsional, Integral dan Derivatif.
Proporsional adalah pengontrol yang paling sederhana. Ini memperkuat kesalahan antara sinyal yang diinginkan dan aktual. Misalnya jika suhu yang diinginkan adalah 100C, sebenarnya adalah 80C, maka output = 20 * Kp. Berapa banyak output yang diberikan disetel oleh Kp.
Jika Anda menyetel Kp terlalu rendah, tidak ada cukup pemanasan, dan itu mungkin tidak pernah mencapai suhu yang diinginkan.
Jika Anda menyetel Kp terlalu tinggi, mungkin akan naik terlalu cepat. Inersia dapat menyebabkan overshoot dan dering. Itu karena ada penundaan antara memberikan daya output tertentu dan mengukur efeknya.
Bagian integral diperlukan jika Anda ingin offset statis rendah. Perhatikan bahwa untuk pengontrol P untuk memberikan output, ia harus memiliki kesalahan saat ini untuk menghasilkan nilai output apa pun. Jika Anda ingin kesalahan menjadi sangat dekat dengan nol, Anda memerlukan bagian-I untuk mengambil alih dari P. Ini mungkin membutuhkan beberapa waktu.
Bagian turunannya mungkin paling menarik untuk masalah inersia Anda. Turunannya terlihat pada tingkat perubahan kesalahan. Jika ada tingkat perubahan besar dalam kesalahan, itu berarti ada inersia yang tinggi. Menggunakan faktor tuned Kd Anda dapat memastikan bahwa output akan melambat kembali dalam waktu. Ini agar inersia melambat sebelum mencapai nilai output akhir.
Ini memungkinkan Anda untuk menggunakan faktor P tinggi (er) untuk respons agresif yang memadai, saat menggunakan D untuk mencegah overshoot. Bagian I yang digunakan untuk membuat kesalahan statis pada akhirnya akan menjadi 0.
sumber