ตอนที่ 8: เจาะลึก P (Proportional): แก้ไขข้อผิดพลาดตามสัดส่วน

1. 🎯 ตอนที่ 8: เจาะลึก P (Proportional): ฮีโร่ผู้รวดเร็วแต่ไปไม่ถึงฝั่งฝัน (แก้ไขข้อผิดพลาดตามสัดส่วน)
2. 📖 เปิดฉาก (The Hook)
สวัสดีครับน้องๆ และนักพัฒนาทุกท่าน! กลับมาลุยกันต่อในซีรีส์ เจาะลึกวิศวกรรมระบบควบคุม (Control Systems) จาก 101 ถึง Advance สไตล์รุ่นพี่วิศวกรครับ
ในตอนที่แล้ว เราได้เห็นข้อจำกัดของการควบคุมแบบสุดโต่งอย่าง On-Off Control กันไปแล้ว ที่สั่งงานแค่ 0% กับ 100% จนทำให้ระบบเกิดการแกว่ง (Hunting) ไม่ยอมหยุด วันนี้เราจะมาก้าวเข้าสู่โลกของการควบคุมแบบ “แปรผันต่อเนื่อง” หรือ Continuous Control กันครับ
ลองจินตนาการดูนะครับว่า ถ้าเรากำลังขับรถไปจอดที่ป้ายหยุดรถหน้าบ้าน (Setpoint) ถ้าเราขับแบบ On-Off คือเหยียบคันเร่งมิดไมล์ แล้วพอกันชนแตะป้ายปุ๊บก็กระทืบเบรกมิดด้าม… รถคงพังและคนขับคงคอหักแน่ๆ! ในความเป็นจริง สมองมนุษย์เราฉลาดกว่านั้นครับ ถ้าระยะทางยังเหลืออีกไกล เราจะเหยียบคันเร่งลึก แต่พอรถเริ่มเข้าใกล้เป้าหมาย เราจะ “ค่อยๆ ถอนคันเร่ง” เพื่อให้รถไหลไปจอดได้อย่างนุ่มนวล
หลักการเลียนแบบพฤติกรรมนี้ในทางวิศวกรรมควบคุม เราเรียกว่า การควบคุมแบบสัดส่วน (Proportional Control) หรือ P-Control ครับ วันนี้เราจะมาเจาะลึกกลไกของมันกันว่า มันทำงานอย่างไร และทำไมถึงมีคำสาปที่ชื่อว่า “Steady-state error” ติดตัวมันมาด้วยเสมอ!
3. 🧠 แก่นวิชา (Core Concepts)
Proportional Control (การควบคุมแบบสัดส่วน) คือ โหมดการควบคุมพื้นฐานที่สุดในสมการ PID หลักการทำงานของมันตรงไปตรงมามากครับ คือ “ใช้ขนาดของความผิดพลาด มาเป็นตัวกำหนดขนาดของแรงสั่งงาน” (Uses error to reduce error)
- กลไกการทำงาน: สัญญาณสั่งงานที่ออกจากตัวควบคุม (Controller Output, $u(t)$) จะแปรผันตรง (Proportional) กับค่าความผิดพลาด (Error, $e(t)$) ณ วินาทีนั้นๆ
- สมการเปรียบเทียบ (Car Accelerator Analogy):
สมมติเป้าหมาย (Setpoint) คือระยะทาง 10 กิโลเมตร รถอยู่ที่ตำแหน่ง 0 กิโลเมตร ดังนั้น Error = 10 km
เรากำหนดค่าเกนสัดส่วน (Proportional Gain: $K_p$) = 5
- วินาทีแรก: รถจะพุ่งด้วยความเร็ว (Output) = $5 \times 10 = 50$ km/h
- เมื่อรถวิ่งมาถึงกิโลเมตรที่ 5 (Error เหลือ 5 km): ความเร็วจะลดลงเหลือ $5 \times 5 = 25$ km/h
- เมื่อรถวิ่งมาถึงกิโลเมตรที่ 9 (Error เหลือ 1 km): ความเร็วจะลดลงเหลือ $5 \times 1 = 5$ km/h จะเห็นว่ายิ่งเข้าใกล้เป้าหมาย ระบบจะยิ่งลดการจ่ายพลังงานลง ทำให้การเข้าสู่เป้าหมายเป็นไปอย่างนุ่มนวล
- ข้อดี (Pros): ตอบสนองรวดเร็ว (Fast response), ช่วยลดเวลาไต่ระดับ (Rise time), และขจัดปัญหาการแกว่งรุนแรง (Hunting) ที่พบใน On-Off Control ได้อย่างเด็ดขาด

4. 🧮 ร่ายมนต์สมการและโค้ดควบคุม (The Math & Implementation)
ในมุมมองของคณิตศาสตร์วิศวกรรม (Time Domain) สมการของตัวควบคุมแบบสัดส่วนเขียนได้ดังนี้ครับ: $$ u(t) = K_p e(t) + u_b $$ โดยที่:
- $u(t)$ คือ สัญญาณสั่งงาน (Control Variable / Output)
- $K_p$ คือ อัตราขยายสัดส่วน (Proportional Gain) ยิ่งค่ามาก ระบบยิ่งตอบสนองแรง
- $e(t)$ คือ ค่าความผิดพลาด หาได้จาก $SP - PV(t)$
- $u_b$ คือ ค่าไบแอส (Bias) หรือ Nominal Control Value เป็นแรงสั่งงานพื้นฐานเผื่อไว้ตอนที่ Error เป็น 0
ในการนำไปเขียนโค้ดลง Microcontroller (เช่น STM32 ในลูปภาษา C/C++) การแปลงทฤษฎีนี้ทำได้ง่ายมากครับ:
// ตัวแปรในระบบ (Global Variables)
float Kp = 5.0; // ค่าเกนสัดส่วน (Proportional Gain)
float bias = 0.0; // แรงสั่งงานพื้นฐาน (Bias)
float setpoint = 100.0; // เป้าหมายที่ต้องการ
float P_Controller_Update(float measured_value) {
// 1. คำนวณค่าความผิดพลาด ณ ปัจจุบัน (Calculate Error)
// ถ้ารถยังไม่ถึงเป้าหมาย ค่านี้จะเป็นบวก
float error = setpoint - measured_value;
// 2. คำนวณแรงสั่งงานตามสัดส่วน (Proportional Control Law)
// ยิ่ง Error มาก ยิ่งเหยียบคันเร่งลึก!
float output = (Kp * error) + bias;
// 3. การจำกัดแรงสั่งงาน (Actuator Saturation)
// เพราะในโลกจริง มอเตอร์รับไฟได้จำกัด (เช่น PWM 0-100%)
if(output > 100.0) output = 100.0;
if(output < 0.0) output = 0.0;
return output;
}5. 🛡️ เคล็ดลับจากคัมภีร์ลับ (Under the Hood / Pro-Tips)
ดูเหมือนจะสมบูรณ์แบบใช่ไหมครับ? รถค่อยๆ ชะลอเมื่อเข้าใกล้เป้าหมาย… แต่ในโลกแห่งความเป็นจริง P-Control มีจุดอ่อนร้ายแรงที่วิศวกรทุกคนต้องปวดหัว นั่นคือ “Steady-state error” หรือที่เรียกกันว่า “ออฟเซต (Offset)”
ทำไมถึงเกิด Offset? กลับไปที่สมการ $u(t) = K_p e(t)$ สมมติว่ารถของคุณวิ่งไปจนถึงเป้าหมายพอดีเป๊ะ ($PV = SP$) นั่นแปลว่า Error $e(t) = 0$ เมื่อ $e(t) = 0$ ผลลัพธ์คือสมองกลจะสั่งความเร็ว $u(t) = 0$ ไปด้วย! แต่เดี๋ยวก่อน… ในโลกความจริง รถยนต์ต้องเจอกับ “แรงเสียดทานถนน” หรือโดรนต้องเจอกับ “แรงโน้มถ่วงโลก” ถ้าระบบสั่ง $u(t) = 0$ พลังงานก็จะไม่พอเอาชนะแรงต้านเหล่านี้ รถก็จะหยุดนิ่ง “ก่อน” ที่จะถึงเป้าหมาย
เพื่อให้รถมีแรงขับเคลื่อนสู้กับแรงเสียดทานได้ ระบบ “จำเป็นต้องมี Error ค้างไว้” (A non-zero error is required to drive it) เพื่อให้สมการ $K_p \times Error$ มีค่ามากพอที่จะสร้างแรงผลักดันชดเชยแรงต้านเหล่านั้น นี่คือเหตุผลที่ P-Control ตามลำพัง ไม่มีวันเข้าเป้าได้ 100% ครับ!
สมการพิสูจน์ความจริง: หากเราวิเคราะห์ระบบ Type 0 ด้วยทฤษฎีบทค่าสุดท้าย (Final Value Theorem) ในโดเมน S เราจะพบสมการความผิดพลาดที่สภาวะคงตัวสำหรับอินพุตแบบขั้นบันได (Step Input) ดังนี้: $$ e_{ss} = \lim_{s \to 0} \frac{1}{1 + G(s)} = \frac{1}{1 + K_p} $$ สมการนี้บอกเราว่า:
- ค่าออฟเซต $e_{ss}$ จะไม่มีวันเป็น 0 ตราบใดที่ระบบไม่มี Integrator (1/s) อยู่ภายใน
- เราสามารถ “ลด” ออฟเซตได้ โดยการ “เพิ่ม” ค่า $K_p$ ให้สูงขึ้น
- ข้อควรระวัง (Pro-Tip): แม้การเพิ่ม $K_p$ จะทำให้ Offset เล็กลง แต่ถ้าคุณเพิ่ม $K_p$ มากเกินไป ระบบจะกลายเป็นคนบ้าพลัง ตอบสนองไวเกินเหตุจนเกิดการพุ่งเกิน (Overshoot) และถ้าระบบมี Delay โพลของระบบใน S-plane จะย้ายไปฝั่งขวา ทำให้เครื่องจักรของคุณสั่นและไร้เสถียรภาพในที่สุดครับ!
6. 🏁 บทสรุป (To be continued…)
Proportional Control (P-Control) คือพระเอกที่ช่วยให้เครื่องจักรของเรามีการตอบสนองที่แปรผันตามสถานการณ์ ขจัดความรุนแรงของ On-Off Control ได้อย่างยอดเยี่ยม แต่มันก็เหมือนฮีโร่ที่แรงตกตอนจบ เพราะมันต้องการ “ข้อผิดพลาด” เพื่อหล่อเลี้ยงให้ตัวมันเองทำงานต่อไปได้ ทำให้เกิด Steady-state error หรือ Offset ทิ้งไว้เป็นอนุสรณ์เตือนใจ
คำถามคือ แล้วเราจะขจัด Offset บ้าๆ นี้ให้กลายเป็นศูนย์สนิท 0.00% ได้อย่างไรโดยไม่ต้องไปเสี่ยงเพิ่มค่า $K_p$ จนเครื่องพัง? ในตอนต่อไป เราจะไปพบกับจิ๊กซอว์ชิ้นสำคัญที่จะมาอุดรอยรั่วนี้ นั่นคือการควบคุมแบบ Integral (I) รอติดตามกันนะครับ!
ต้องการที่ปรึกษาด้านการออกแบบระบบควบคุม (Control Systems), หุ่นยนต์อัตโนมัติ (Robotics) หรือพัฒนาระบบ Automation ขั้นสูงให้กับโรงงานของคุณ? ทีมงาน WP Solution พร้อมให้บริการออกแบบและติดตั้งระบบแบบครบวงจร ดูรายละเอียดบริการของเราได้ที่: www.wpsolution2017.com หรือพูดคุยปรึกษาเบื้องต้นได้ที่ Line: wisit.p