จากบล๊อก Ziegler Nicoles ออกแบบพีไอดี เพื่อควบคุมการถ่ายโอนความร้อน(Heat Transfer) เมื่อไม่มีข้อมูลใดๆ มาก่อนเลย ทำให้เราสามารถออกแบบพีไอดี คอนโทรลเลอร์ โดยที่ไม่จำเป็นต้องทราบสมการพลศาสตร์ของระบบถ่ายโอนความร้อนเลย
แต่ในกรณี ผู้ออกแบบมีความสนใจที่จะพัฒนาระบบต่อเนื่อง การหา Transfer Function ของระบบให้ได้ก็เป็นแนวทางที่ควรดำเนินการ
ระบบการถ่ายโอนความร้อน ภายในพื้นที่ควบคุมอาจแสดงได้ดังรูปที่ 1
จากรูปที่ 1 พบว่า Heater จะทำหน้าที่ผลิตความร้อน ภายในพื้นที่ควบคุมที่มีการหุ้มฉนวนโดยเราจะถือว่ามีการสูญเสียความร้อนน้อยมาก (adiabatic system) และมีเซนเซอร์ตรวจจับอุณหภูมิ
ระบบการถ่ายโอนความร้อนในพื้นที่ควบคุม มักจะมีสมการพลศาสตร์ดังนี้
(1)
\(\Theta\) อัตราการไหลของความร้อน
\(C_{d}\) สัปประสิทธิการจุความร้อนของพื้นที่ทำความร้อน
dT คือผลต่างอุณหภูมิ
R ค่าความต้านทานทางความร้อน
Take Laplace สมการ (1) จะได้
(2)
จัดรูปสมการ (2)
(3)
จากสมการ (3) ทำให้เราทราบว่าระบบการถ่ายโอนความร้อนพื้นฐาน เป็นระบบที่เป็นสมการอนุพันธ์อันดับหนึ่ง ทั้งนี้หากผู้อ่านประสงค์จะศึกษารายละเอียดมากขึ้นสามารถดูได้จากบล๊อก จำลองการทำงานของระบบ First Order System โดย Matlab/Simulink
แต่อย่างไรก็ตามบล๊อกนี้เราจะสมมติไว้ก่อนว่าผู้อ่านไม่ทราบพารามิเตอร์ที่ใช้ในการออกแบบระบบถ่ายโอนความร้อนเลย เราจึงเก็บสมการ (3) ไว้ในใจก่อน และพอที่จะใช้เป็นแนวทางว่าผลตอบสนองของระบบการถ่ายโอนความร้อนในกรณีนี้ ก็น่าจะออกมารูปแบบเดียวกับผลเฉลยของสมการ (3)
การหา Transfer function ของระบบทางความร้อนจึงจะใช้การทดลองแทน
จากบล๊อก Ziegler Nicoles ออกแบบพีไอดี เพื่อควบคุมการถ่ายโอนความร้อน(Heat Transfer) เมื่อไม่มีข้อมูลใดๆ มาก่อนเลย เราได้ทำการทดลองและได้ผลการทดลองดังรูปที่ (2)
รูปที่ 2 เป็นการทำการทดสอบระบบแบบ Open Loop โดยขณะทดสอบมีอุณหภูมิโดยรอบ 34oC ตั้งคำสั่งให้เตาอบทำอุณหภูมิ 92oC จากการตรวจสอบวงจรเพาเวอร์ของ Heater ปรากฎว่าเมื่อมีคำสั่งทำอุณหภูมิ 92oC มีแรงดันไฟฟ้าคำสั่งมายังวงจรผลิตความร้อน 0.5V นอกจากนี้ยังพบว่าเซนเซอร์วัดอุณหภูมิ ใช้ไอซีเบอร์ AD590 จากข้อมูลบน google.com พบว่าจะให้แรงดัน 10mV/oC
เริ่มหา Transfer function ของระบบตามขั้นตอนดังนี้
1) จากบล๊อก จำลองการทำงานของระบบ First Order System โดย Matlab/Simulink เราทราบว่าค่า Time Constant ของระบบพลศาสตร์อนุพันธ์อันดับหนึ่ง คือเวลาที่ระบบให้ผลตอบสนอง 63.2% ดังนั้นจากการทำลองเรากำหนด Set Point = 92oC ดังนั้น 63.2% = 0.632(92) = 58.144 oC
จากรูปที่ 2 จะพบว่าระบบเซนเซอร์จะตรวจจับอุณหภูมิได้ 58.144 oC ที่เวลาประมาณ 125 Sec.
จะได้การประมาณ Transfer function ของระบบดังรูปที่ 3
2) เซนเซอร์วัดอุณหภูมิ ใช้ไอซีเบอร์ AD590 จากข้อมูลบน google.com พบว่าจะให้แรงดัน 10mV/oC ดังนั้นเมื่ออุณภูมิถึง 92 oC เซนเซอร์จะให้แรงดันไฟฟ้าออกมา 0.92 โวลท์
ดังนั้นสัญญาณ Reference ก็ควรจะมีเสกลเดียวกับเซนเซอร์ ผู้เขียนเลือกที่จะเสกลสัญญาณทางฝั่ง Set Point เพื่อให้สัญญาณอ้างอิงมีขนาดเล็กสะดวกต่อการใช้คำนวณ แสดงดังรูปที่ 4
3) จากการตรวจสอบวงจรเพาเวอร์ของ Heater ปรากฎว่าเมื่อมีคำสั่งทำอุณหภูมิ 92oC มีแรงดันไฟฟ้าคำสั่งมายังวงจรผลิตความร้อน 0.5V ทำการเสกลค่าที่ได้อีกครั้งเพื่อให้มีแรงดันเท่ากับค่าก่อนเข้าวงจรเพาเวอร์แอมป์ของฮีตเตอร์ ดังรูปที่ 5
4) จากสัญญาณ 0.5V ในข้อที่ 3 จะทำให้วงจรเพาเวอร์แอมป์ของฮีตเตอร์มีการปล่อยกระแสไฟฟ้าจำนวนหนึ่งเพื่อทำให้ผลตอบสนองของระบบ 63.2% = 58.144 oC ที่เวลา 125 Sec. แล้วท้ายที่สุดผลตอบสนองลู่เข้าสู่ 92oC
ผู้เขียนประมาณวงจรเพาเวอร์แอปของฮีตเตอร์ให้เป็นสมการเชิงเส้น ดังแสดงในรูปที่ 6
5) เพิ่มตัวควบคุม PID ที่คำนวณได้จากบล็อก Ziegler Nicoles ออกแบบพีไอดี เพื่อควบคุมการถ่ายโอนความร้อน(Heat Transfer) เมื่อไม่มีข้อมูลใดๆ มาก่อนเลย
นำข้อมูลที่ได้จากการวิเคราะห์ (1) – (5) มาทำการเขียนคอนโทรลบล็อกไดอะแกรมบนโปรแกรม Simulink ดังภาพ และทำการ Simulation
จะได้ผลตอบสนองดังนี้
เป็นธรรมชาติของระบบการถ่ายโอนความร้อน หากเรามีการเร่งอุณภูมิในอัตรที่สูง เมื่ออุณภูมิของห้องเพิ่มถึงค่า Set Point แล้วก็ตาม อุณหภูมิจะยังคงเพิ่มขึ้นไปอย่างต่อเนื่องอีกสักช่วงเวลาหนึ่ง ไม่สามารถหยุดตรงจุด Set point ได้พอดี ดังนั้นจะเห็นว่าระบบทางความร้อนจะมี Over shoot ที่ค่อนข้างสูง
วิธีการหนึ่งที่ผู้ออกแบบจะใช้ร่วมก็คือการติดตั้งพัดลมดูดความร้อน เมื่ออุณภูมิสูงเกินกว่าค่า Set Point ผู้เขียนได้เพิ่มแบบจำลองของพัดลมโดยใช้สมการพลศาสตร์ที่มีอนุพันธ์อันดับหนึ่งโมเดลการทำงานของพัดลม จึงทำให้ระบบมีผลตอบสนองที่ดีขึ้นดังนี้
ดาวน์โหลดไฟล์ Matlab/Simulink ได้ทีนี่