---
title: "การจูน PID ฉบับสมบูรณ์: จาก Step Test ถึง Ziegler–Nichols, SIMC และ Anti-Windup"
url: https://modsengineeringmath.com/blog/pid-tuning-guide/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-16
---

> คอร์สจูน PID ครบในบทความเดียว: หาแบบจำลองด้วย step test จูนด้วย Ziegler–Nichols, Cohen–Coon, SIMC และ relay เทียบผลด้วยการจำลอง แล้วแก้ปัญหา windup และสัญญาณรบกวนหน้างาน

ฉบับ Markdown ของ https://modsengineeringmath.com/blog/pid-tuning-guide/ สำหรับผู้ช่วย AI และเครื่องมือค้นหา สูตรเขียนเป็น LaTeX ($…$ และ $$…$$) แล็บโต้ตอบและรูปมีเฉพาะในหน้าเว็บ

# การจูน PID ฉบับสมบูรณ์: จาก Step Test ถึง Ziegler–Nichols, SIMC และ Anti-Windup

THภาษาไทยENEnglish
// คู่มือ · PID Academy · ระบบควบคุม


การจูนคือสิ่งที่ตัดสินว่าวงควบคุม PID จะเดินเรียบไปสิบปี หรือแกว่งทุกกะ บทความนี้คือคอร์สทั้งหลักสูตรในหน้าเดียว ตั้งแต่การอ่านสมการของตัวควบคุมที่ใช้อยู่ การวัดกระบวนการ กฎจูนเจ็ดแบบพร้อมสูตรและข้อจำกัด การเทียบผลบนพลานต์ตัวเดียวกันด้วยการจำลอง วิธีแก้ปัญหาที่วงควบคุมจริงต้องเจอ และตารางแก้ปัญหาที่พกไปหน้างานได้ ตัวเลขทุกตัวคำนวณและตรวจด้วยการจำลองแล้ว

สรุปใน 30 วินาที

- ดูสมการของตัวควบคุมก่อน (ideal, series หรือ parallel; หน่วยเป็นวินาทีหรือนาที) ตัวเลขชุดเดียวกันให้ผลต่างกันในแต่ละรูปแบบ

- step test วงเปิดครั้งเดียวได้ $K$, $L$, $T$ และอัตราส่วน $L/T$ บอกว่าวงนี้ควบคุมยากแค่ไหน

- ค่าเริ่มต้นที่ดี: SIMC ที่ $\tau_c=L$: $K_p=\dfrac{T}{K(\tau_c+L)}$, $T_i=\min\big(T,\,4(\tau_c+L)\big)$ ส่วน Ziegler–Nichols และ Cohen–Coon เร็วแต่ margin บาง

- วงควบคุมจริงต้องมีเทอม D ที่กรองแล้ว anti-windup เวลาสุ่มตัวอย่างที่เหมาะ และตรวจ stiction ของวาล์ว

## 1. กำหนดก่อนว่า “จูนดี” หมายถึงอะไร

การจูนคือการเลือก $K_p$, $T_i$ และ $T_d$ ให้วงปิดได้ตามข้อกำหนด ก่อนแตะตัวเลขใด ๆ ให้เขียนข้อกำหนดออกมาก่อน เพราะวงควบคุมเก่งทุกอย่างพร้อมกันไม่ได้ มีสี่เรื่องที่ต้องแลกกัน:

- การตามค่าเป้าหมาย (setpoint tracking): เวลาขึ้น การเกินเป้า และเวลาเข้าที่หลังค่าเป้าหมายเปลี่ยน

- การต้านสิ่งรบกวน (disturbance rejection): โหลดเปลี่ยนแล้วค่าที่วัดถูกดันไปไกลแค่ไหน และกลับมาเร็วเพียงใด

- ความทนทาน (robustness): วงยังนิ่งอยู่ไหมเมื่อเกน ค่าคงเวลา หรือเวลาหน่วงของกระบวนการเปลี่ยนไป 30–50%

- แรงที่ใช้ควบคุม (control effort): วาล์ว มอเตอร์ หรือฮีตเตอร์ขยับมากแค่ไหน รวมถึงที่ขยับตามสัญญาณรบกวน ขยับมากทำให้ตัวขับสึกหรอ

การจูนแบบดุดันช่วยสองข้อแรกและเสียสองข้อหลัง วงควบคุมในโรงงานส่วนใหญ่เป็นแบบ regulatory คือค่าเป้าหมายแทบไม่เปลี่ยนและสิ่งรบกวนเป็นตัวหลัก จึงให้ความสำคัญกับเทอมปริพันธ์และการต้านสิ่งรบกวน ส่วนวงควบคุมการเคลื่อนที่เป็นแบบ servo ค่าเป้าหมายเปลี่ยนตลอดและ overshoot เป็นศัตรูหลัก ถ้าต้องการทั้งสองอย่างให้ใช้ setpoint weighting (หัวข้อ 13) เพื่อปรับสองพฤติกรรมแยกกัน

หลักคิด เริ่มจากการจูนที่นุ่มและทนทานก่อน แล้วค่อยเร่งเมื่อกระบวนการต้องการ อธิบายวงที่ช้าไปนิดเดียวได้ง่ายกว่าวงที่แกว่งมาก

## 2. รู้ก่อนว่าตัวควบคุมของคุณใช้สมการแบบไหน

ความผิดพลาดที่พบบ่อยที่สุดในการจูนคือใส่ตัวเลขถูกต้องลงในสมการผิดรูปแบบ รูปแบบที่พบมีสามแบบ

| รูปแบบ | ฟังก์ชันถ่ายโอน | พบที่ไหน |

| Ideal (ISA, มาตรฐาน) | $C(s)=K_c\left(1+\dfrac{1}{T_is}+T_ds\right)$ | ตำรา DCS และฟังก์ชันบล็อก PLC ส่วนใหญ่ |

| Parallel | $C(s)=K_p+\dfrac{K_i}{s}+K_ds$ | ไลบรารี MATLAB/Python หลายตัว ไดรฟ์และโค้ดไมโครคอนโทรลเลอร์บางชนิด |

| Series (interacting) | $C(s)=K_c'\left(1+\dfrac{1}{T_i's}\right)(1+T_d's)$ | ตัวควบคุมนิวเมติกและอิเล็กทรอนิกส์รุ่นเก่า บางผู้ผลิต |

Ideal กับ parallel แปลงกันตรง ๆ: $K_p=K_c$, $K_i=K_c/T_i$, $K_d=K_cT_d$ ส่วนแบบ series เมื่อคูณออกมาจะได้รูป ideal ที่ตัวเลขต่างไป

$$K_c=K_c'\left(1+\frac{T_d'}{T_i'}\right),\qquad T_i=T_i'+T_d',\qquad T_d=\frac{T_i'T_d'}{T_i'+T_d'}$$

เมื่อ $T_d$ น้อยมากเมื่อเทียบกับ $T_i$ ทั้งสองรูปแบบแทบไม่ต่างกัน แต่ถ้าใช้เทอมอนุพันธ์แรงจะต่างชัดเจน มีรายละเอียดอีกสามอย่างที่เปลี่ยนความหมายของตัวเลข:

- Proportional band: ตัวควบคุมบางรุ่นให้ใส่ PB (%) แทนเกน: $PB=100/K_c$ เมื่ออินพุตและเอาต์พุตเป็นเปอร์เซ็นต์ของช่วงวัดทั้งคู่

- หน่วยของเทอมปริพันธ์: $T_i$ อาจเป็นวินาทีหรือนาที และบางผู้ผลิตใช้ repeats per minute $=1/T_i$ ซึ่งเลขมากหมายถึงปริพันธ์ แรงขึ้น ตรงข้ามกับ $T_i$

- หน่วยวิศวกรรมเทียบกับเปอร์เซ็นต์: ถ้าตัวควบคุมทำงานบนเปอร์เซ็นต์ของช่วงวัด เกนกระบวนการ $K$ ต้องแปลงเป็นเปอร์เซ็นต์เหมือนกัน เช่น เกนที่วัดเป็น °C ต่อ % ต้องหารด้วยช่วงวัดก่อนนำไปใช้กับกฎจูน

ตรวจก่อนใส่ค่า อ่านสมการในคู่มือ ยืนยันหน่วยเวลา และยืนยันว่าเอาต์พุตเป็นแบบ direct หรือ reverse acting ตัวควบคุมแบบ reverse ที่ต่อกับกระบวนการแบบ direct เปลี่ยนฟีดแบ็กเชิงลบเป็นเชิงบวกภายในไม่กี่วินาที

## 3. P, I และ D ทำอะไรกับการตอบสนอง

สรุปสั้น ๆ ก่อน ส่วนเรื่องเต็มอยู่ในบทความ “PID Controller คืออะไร” กำหนดค่าผิดพลาด $e=r-y$

$$u(t)=K_p\left[e(t)+\frac{1}{T_i}\int_0^t e\,d\tau+T_d\frac{de}{dt}\right]$$

- P ตอบสนองต่อค่าผิดพลาดปัจจุบัน กระบวนการที่มีเกน $K$ และไม่มีตัวอินทิเกรต เมื่อใช้ P อย่างเดียวจะนิ่งที่ค่าผิดพลาดค้าง $e_{ss}=\dfrac{1}{1+KK_p}$ สำหรับค่าเป้าหมายขั้นบันไดหนึ่งหน่วย

- I ตอบสนองต่อค่าผิดพลาดสะสม จึงกำจัดค่าค้างนั้นได้ ราคาที่จ่ายคือเฟสล้าหลัง ปริพันธ์แรง ($T_i$ น้อย) ทำให้วงช้าลงและแกว่งง่ายขึ้น

- D ตอบสนองต่อแนวโน้ม เพิ่มเฟสนำและการหน่วง แต่เกนของมันโตตามความถี่ จึงขยายสัญญาณรบกวนความถี่สูง

| เพิ่ม | เวลาขึ้น | Overshoot | เวลาเข้าที่ | ค่าผิดพลาดค้าง | เสถียรภาพ |

| $K_p$ | สั้นลง | มากขึ้น | เปลี่ยนเล็กน้อย | ลดลง | แย่ลง |

| ปริพันธ์ ($T_i$ น้อยลง) | สั้นลง | มากขึ้น | นานขึ้น | หมดไป | แย่ลง |

| $T_d$ | เปลี่ยนเล็กน้อย | ลดลง | สั้นลง | ไม่เปลี่ยน | ดีขึ้นถึงจุดหนึ่ง |

รูปที่ 1 ควบคุมแบบ P อย่างเดียวกับพลานต์ตัวอย่าง $G(s)=2e^{-2s}/(10s+1)$ ค่าสุดท้ายคือ $KK_p/(1+KK_p)$ ได้ 0.50, 0.75 และ 0.857 เมื่อ $K_p=0.5,\,1.5,\,3$ ตรงกับสูตรทุกค่า และที่ $K_p=K_u=4.25$ วงแกว่งต่อเนื่อง ซึ่งเป็นการทดลองที่อยู่เบื้องหลังวิธี Ziegler–Nichols แบบวงปิด

## 4. จำแนกกระบวนการก่อนจูน

กฎจูนทุกข้อสมมุติแบบจำลองของกระบวนการไว้ กระบวนการในโรงงานเกือบทั้งหมดอธิบายได้ดีพอด้วยสองรูปแบบ:

- Self-regulating (FOPDT): “อันดับหนึ่งบวกเวลาหน่วง” $G(s)=\dfrac{Ke^{-Ls}}{Ts+1}$ ป้อนขั้นบันไดที่เอาต์พุตแล้วค่าวัดจะไปนิ่งที่ค่าใหม่ เช่น อุณหภูมิ การไหล ความดันในปริมาตรที่มีทางระบาย ความเร็ว

- Integrating: $G(s)=\dfrac{K'e^{-Ls}}{s}$ ค่าวัดไต่เป็นทางลาดตราบใดที่อินพุตไม่เป็นศูนย์ เช่น ระดับน้ำในถังที่มีปั๊ม ตำแหน่งของมอเตอร์ที่ขับด้วยความเร็ว

ตัวเลขสามตัวของ FOPDT คือเกนกระบวนการ $K$ (ค่าวัดที่เปลี่ยนต่อเอาต์พุตที่เปลี่ยนหนึ่งหน่วย) เวลาหน่วง $L$ (dead time, delay หรือ $\theta$) และค่าคงเวลา $T$ (หรือ $\tau$) เวลาหน่วงคือศัตรู เพราะตัวควบคุมไม่มีทางตอบสนองก่อนที่ค่าวัดจะขยับ และทุกวินาทีที่หน่วงเพิ่มจะลดเกนที่ใช้ได้อย่างปลอดภัย อัตราส่วน $L/T$ สรุปว่าวงนี้ยากแค่ไหน

| $L/T$ | ลักษณะ | ความหมายต่อการจูน |

| น้อยกว่า 0.1 | Lag-dominant | ใช้เกนสูงได้ ปริพันธ์ควรเร็ว เทอม D ช่วยได้ SIMC จำกัด $T_i$ ที่ $4(\tau_c+L)$ |

| 0.1 ถึง 0.5 | สมดุล | กรณีตามตำรา PI มักพอ PID ได้เพิ่มไม่มาก |

| 0.5 ถึง 1 | เวลาหน่วงเริ่มสำคัญ | ลดเกน เทอม D ช่วยได้น้อย วงช้าลง |

| มากกว่า 1 | Delay-dominant | ใช้เกนต่ำและปริพันธ์เป็นหลัก พิจารณาชดเชยเวลาหน่วง (Smith predictor) หรือ feedforward |

พลานต์ตัวอย่างที่ใช้ตลอดบทความนี้คือ $K=2$ (°C ต่อ % ของเอาต์พุตฮีตเตอร์) $L=2$ วินาที $T=10$ วินาที ได้ $L/T=0.2$ ตัวเลขถูกย่อส่วนให้ตามง่าย วิธีทำเหมือนกันกับเตาที่วัดเป็นนาที

## 5. วัดกระบวนการด้วย step test

step test (หรือ bump test) คือครึ่งชั่วโมงที่คุ้มที่สุดที่ใช้กับวงควบคุม มันเปลี่ยนการเดาให้เป็นตัวเลขสามตัว

### ขั้นตอน

- เตรียม ใส่วงเป็นโหมดแมนนวลและรอให้ค่าวัดนิ่ง ตรวจว่าวงอื่นและผู้ปฏิบัติงานไม่ได้เปลี่ยนกระบวนการอยู่

- ป้อนขั้นบันไดที่เอาต์พุต 5–10% ของช่วง ค่าวัดควรเปลี่ยนอย่างน้อย 5–10 เท่าของแถบสัญญาณรบกวน แต่ไม่ใหญ่จนออกนอกช่วงเชิงเส้นหรือเกินขีดจำกัดความปลอดภัย

- บันทึก ค่าวัดและเอาต์พุตที่เวลาสุ่มราวหนึ่งในยี่สิบของ $T$ ที่คาดไว้หรือเร็วกว่า จนค่าวัดนิ่งอีกครั้ง (ราว 4–5 $T$ หลังเวลาหน่วง)

- คืนค่าเอาต์พุต และถ้าทำได้ให้ทดสอบซ้ำในทิศตรงข้ามและที่จุดทำงานอื่น ถ้าผลต่างกันมากแปลว่ากระบวนการไม่เป็นเชิงเส้น

### อ่าน K, L และ T

เกนกระบวนการคือ $K=\Delta y/\Delta u$ ในหน่วยเดียวกับที่ตัวควบคุมใช้ ส่วน $L$ กับ $T$ มีวิธีอ่านมาตรฐานสองแบบ

รูปที่ 2 step test จำลองของพลานต์ตัวอย่างที่ $\Delta u=10\%$ เส้นสัมผัสที่จุดชันที่สุดตัดค่าเริ่มต้นที่ $t=L$ และตัดค่าสุดท้ายที่ $t=L+T$ วงกลมสองจุดคือ 28.3% และ 63.2% ของการเปลี่ยนแปลงทั้งหมด

- วิธีเส้นสัมผัส (reaction curve): ลากเส้นสัมผัสที่จุดชันที่สุด $L$ คือจุดที่เส้นตัดค่าเริ่มต้น $T$ คือเวลาที่เส้นใช้ไต่จากจุดนั้นถึงค่าสุดท้าย ทำได้เร็วแต่ไวต่อวิธีลากเส้นโดยเฉพาะเมื่อมีสัญญาณรบกวน

- วิธีสองจุด (28.3% และ 63.2%): สำหรับการตอบสนองอันดับหนึ่งที่มีเวลาหน่วง $y$ ถึง 28.3% ของการเปลี่ยนแปลงที่ $t_{28}=L+0.333T$ และถึง 63.2% ที่ $t_{63}=L+T$ ลบกันได้ $T=1.5\,(t_{63}-t_{28})$ และ $L=t_{63}-T$ วิธีนี้ทำซ้ำได้ดีกว่าการลากเส้นสัมผัสด้วยมือ

ตัวอย่างที่ 1

### อ่านค่าจาก step test ในรูปที่ 2

ป้อนขั้นบันไดที่เอาต์พุตฮีตเตอร์ $\Delta u=10\%$ อุณหภูมิเพิ่มขึ้น $\Delta y=20\,^\circ\text{C}$ ถึง 28.3% ของการเปลี่ยนแปลง (5.7 °C) ที่ $t_{28}=5.3$ วินาที และถึง 63.2% (12.6 °C) ที่ $t_{63}=12.0$ วินาที

-
$$K=\frac{\Delta y}{\Delta u}=\frac{20}{10}=2\ ^\circ\text{C}/\%$$

-
$$T=1.5\,(t_{63}-t_{28})=1.5\,(12.0-5.3)=10.05\approx 10\ \text{s}$$

-
$$L=t_{63}-T=12.0-10.05=1.95\approx 2\ \text{s}$$

$K=2$, $L=2$ วินาที, $T=10$ วินาที ได้ $L/T=0.2$ การสร้างเส้นสัมผัสในรูปที่ 2 ให้ค่าเดียวกัน

### กระบวนการแบบ integrating

ถ้าค่าวัดไต่เป็นทางลาดแทนที่จะนิ่ง (เช่นระดับน้ำในถัง) ให้ป้อนขั้นบันไดที่เอาต์พุตแล้ววัดความชันหลังเวลาหน่วง จะได้ $K'=\text{ความชัน}/\Delta u$ และ $L$ คือเวลาตั้งแต่ป้อนขั้นบันไดจนถึงจุดที่ทางลาดเริ่มคงที่ กฎจูนของกรณีนี้อยู่ในหัวข้อ 10

## 6. จูนด้วยมือ: ขั้นตอนที่ใช้ได้เสมอ

เมื่อทำ step test ที่สะอาดไม่ได้ หรือแค่ต้องปรับละเอียดวงที่ทำงานอยู่ ให้จูนแบบลองผิดลองถูก แต่ต้องทำตามลำดับ

- ตรวจวงก่อน เซนเซอร์อ่านค่าสมเหตุสมผลไหม วาล์วขยับถูกทิศไหม ตัวควบคุมเป็น direct หรือ reverse acting ตรงกับที่ต้องการไหม เอาต์พุตไม่ได้ติดขีดจำกัดอยู่ใช่ไหม

- ปิด I และ D ตั้งปริพันธ์เป็นปิด ($T_i$ สูงสุด) และ $T_d=0$ เริ่มจากเกนต่ำ

- หาเกนสัดส่วน เปลี่ยนค่าเป้าหมายครั้งละ 5–10% เพิ่ม $K_p$ ครั้งละประมาณ 1.5–2 เท่าจนการตอบสนองเริ่มสั่น แล้วถอยกลับประมาณครึ่งหนึ่ง ในทางปฏิบัติจะอยู่ใกล้ $0.5K_u$

- เพิ่มปริพันธ์ เริ่มที่ $T_i\approx T$ (หรือเวลาที่ค่าวัดไต่ถึง 63% ของการเปลี่ยนแปลง) แล้วลดลงทีละขั้นจนค่าผิดพลาดค้างหายในเวลาที่ยอมรับได้ หยุดทันทีที่เริ่มเกินเป้าแบบช้า ๆ เป็นลูกคลื่น

- เพิ่มอนุพันธ์เมื่อจำเป็น ลอง $T_d\approx 0.25$–$0.5\,L$ โดยเปิดตัวกรองไว้ ค่อย ๆ เพิ่มจน overshoot ยอมรับได้และเอาต์พุตไม่กระตุก

- ทดสอบให้ครบ ทดสอบทั้งการเปลี่ยนค่าเป้าหมายและสิ่งรบกวน (โหลดเปลี่ยนหรือกระแทกเอาต์พุต) ที่จุดทำงานมากกว่าหนึ่งจุด และดูเอาต์พุตของตัวควบคุมควบคู่ไปกับค่าวัด

| อาการที่เห็น | สาเหตุที่น่าจะเป็น | สิ่งที่ปรับ |

| สั่นถี่ คาบสั้น โตขึ้นหรือค้าง | $K_p$ สูงเกิน (หรือ D สูงเมื่อมีสัญญาณรบกวน) | ลด $K_p$ 30–50% |

| แกว่งช้าเป็นลูกคลื่น คาบนานหลายเท่าของ $T$ | ปริพันธ์แรงเกิน | เพิ่ม $T_i$ (หรือลด $K_i$) |

| ค่อย ๆ เข้าหาเป้าหมายช้ามากและหยุดก่อนถึง | เกนต่ำเกิน ปริพันธ์น้อย | เพิ่ม $K_p$ ลด $T_i$ |

| เกินเป้ามากหลังเปลี่ยนค่าเป้าหมายใหญ่ เอาต์พุตติดขีดจำกัด | Integral windup | เปิด anti-windup (หัวข้อ 13) |

| เอาต์พุตกระโดดแรง แต่ค่าวัดดูปกติ | D ตอบสนองต่อสัญญาณรบกวน | กรอง D ลด $T_d$ หรือเลิกใช้ D |

| ค่าวัดเป็นฟันเลื่อย เอาต์พุตเป็นคลื่นสี่เหลี่ยม | วาล์วติด (stiction) หรือคลอน (backlash) | แก้ที่วาล์ว (ใส่ positioner) ไม่ใช่จูนใหม่ |

การจูนด้วยมือช้าสำหรับกระบวนการที่ค่าคงเวลายาว เพราะการลองแต่ละครั้งใช้เวลาเป็นนาทีหรือชั่วโมง ตรงนั้นคือจุดที่กฎจูนแบบใช้แบบจำลองคุ้มค่า

## 7. Ziegler–Nichols แบบวงปิด (เกนวิกฤต)

วิธีนี้เผยแพร่ในปี 1942 ไม่ต้องใช้แบบจำลอง ให้ตั้ง $T_i$ สูงสุดและ $T_d=0$ แล้วเพิ่ม $K_p$ จนวงแกว่งด้วยแอมพลิจูดคงที่ เกนตรงจุดนั้นคือเกนวิกฤต (ultimate gain) $K_u$ และคาบการแกว่งคือคาบวิกฤต (ultimate period) $P_u$ จากนั้นอ่านค่าจากตาราง

| ตัวควบคุม | $K_p$ | $T_i$ | $T_d$ |

| P | $0.5K_u$ | – | – |

| PI | $0.45K_u$ | $P_u/1.2$ | – |

| PID | $0.6K_u$ | $P_u/2$ | $P_u/8$ |

| PI, Tyreus–Luyben | $K_u/3.2$ | $2.2P_u$ | – |

| PID, Tyreus–Luyben | $K_u/2.2$ | $2.2P_u$ | $P_u/6.3$ |

กฎแบบคลาสสิกตั้งเป้าให้ลดทอนหนึ่งในสี่ต่อรอบ (quarter-amplitude decay) คือยอดแต่ละรอบเป็นหนึ่งในสี่ของยอดก่อนหน้า ซึ่งเร็วแต่แกว่งมาก ส่วนกฎ Tyreus–Luyben (1992) ใช้ $K_u$ และ $P_u$ เท่าเดิมแต่นุ่มนวลกว่ามาก และเหมาะเป็นค่าเริ่มต้นสำหรับกระบวนการเคมี

ตัวอย่างที่ 2

### ZN วงปิดกับพลานต์ตัวอย่าง

สำหรับ $G(s)=2e^{-2s}/(10s+1)$ เฟสถึง $-180^\circ$ ที่ $\omega_u=0.844$ rad/s ซึ่ง $|G|=0.2352$ จึงได้ $K_u=1/0.2352=4.25$ และ $P_u=2\pi/\omega_u=7.44$ วินาที (กับพลานต์จริงคุณจะหาค่าเหล่านี้ด้วยการทดลองเหมือนรูปที่ 1)

-
$$K_p=0.6K_u=0.6\times4.25=2.55$$

-
$$T_i=\frac{P_u}{2}=3.72\ \text{s},\qquad T_d=\frac{P_u}{8}=0.93\ \text{s}$$

-
$$K_i=\frac{K_p}{T_i}=0.686\ \text{s}^{-1},\qquad K_d=K_pT_d=2.37$$

PID: $K_p=2.55$, $T_i=3.72$ วินาที, $T_d=0.93$ วินาที หัวข้อ 12 จะแสดงว่าค่านี้ให้การตอบสนองจริงอย่างไร: overshoot 56%

ความปลอดภัยและข้อจำกัด การทดลองนี้ดันกระบวนการไปที่ขอบเสถียรภาพ ห้ามทำกับหม้อไอน้ำ เครื่องปฏิกรณ์ หรืออะไรก็ตามที่รับการแกว่งต่อเนื่องไม่ได้ และต้องมีเฟสล้าหลังมากพอ กระบวนการอันดับหนึ่งล้วนที่ไม่มีเวลาหน่วงไม่มีวันถึง $-180^\circ$ จึงไม่มี $K_u$ ในกระบวนการที่ช้าการทดลองอาจกินเวลาหลายชั่วโมง วิธี relay ในหัวข้อ 11 ปลอดภัยกว่าสำหรับการหา $K_u$ และ $P_u$

## 8. Ziegler–Nichols แบบวงเปิด (reaction curve)

วิธี ZN แบบที่สองใช้ step test ของหัวข้อ 5 แทนการทดลองที่ขอบเสถียรภาพ จึงปลอดภัยกว่า เมื่อได้ $K$, $L$ และ $T$ จากกราฟแล้ว:

| ตัวควบคุม | $K_p$ | $T_i$ | $T_d$ |

| P | $\dfrac{T}{KL}$ | – | – |

| PI | $\dfrac{0.9\,T}{KL}$ | $3.33\,L$ | – |

| PID | $\dfrac{1.2\,T}{KL}$ | $2L$ | $0.5L$ |

ตัวอย่างที่ 3

### ZN วงเปิดแบบ PID เมื่อ $K=2,\ L=2\ \text{s},\ T=10\ \text{s}$

-
$$K_p=\frac{1.2\,T}{KL}=\frac{1.2\times10}{2\times2}=3.0$$

-
$$T_i=2L=4\ \text{s},\qquad T_d=0.5L=1\ \text{s}$$

$K_p=3.0$, $T_i=4$ วินาที, $T_d=1$ วินาที สังเกตสูตร: เกนแปรผกผันกับ $KL$ เวลาหน่วงหรือเกนกระบวนการที่มากขึ้นจึงลดเกนของตัวควบคุม ซึ่งถูกต้องตามหลักการ

กฎนี้มุ่งให้ลดทอนหนึ่งในสี่ต่อรอบกับกระบวนการที่เวลาหน่วงปานกลาง และจะแย่เมื่อเวลาหน่วงน้อยมากเมื่อเทียบกับ $T$ (เกน $T/(KL)$ โตไม่จำกัด) หรือมากเกินไป (วงจะดุดันเกิน)

## 9. Cohen–Coon

Cohen และ Coon (1953) ปรับกฎแบบ step test โดยเพิ่มเทอมที่ขึ้นกับอัตราส่วน $\tau=L/T$ ทำให้รับมือเวลาหน่วงที่มากขึ้นได้ดีกว่าตาราง ZN วงเปิด แต่ยังตั้งเป้าลดทอนหนึ่งในสี่ต่อรอบ กำหนด $\tau=L/T$:

| ตัวควบคุม | $K_p$ | $T_i$ | $T_d$ |

| PI | $\dfrac{1}{K}\dfrac{T}{L}\left(0.9+\dfrac{\tau}{12}\right)$ | $L\,\dfrac{30+3\tau}{9+20\tau}$ | – |

| PID | $\dfrac{1}{K}\dfrac{T}{L}\left(\dfrac43+\dfrac{\tau}{4}\right)$ | $L\,\dfrac{32+6\tau}{13+8\tau}$ | $\dfrac{4L}{11+2\tau}$ |

ตัวอย่างที่ 4

### Cohen–Coon แบบ PID กับพลานต์เดิม

ที่นี่ $\tau=L/T=0.2$ และ $T/(KL)=2.5$

-
$$K_p=2.5\left(\tfrac43+\tfrac{0.2}{4}\right)=2.5\times1.3833=3.46$$

-
$$T_i=2\,\frac{32+1.2}{13+1.6}=4.55\ \text{s},\qquad T_d=\frac{8}{11+0.4}=0.70\ \text{s}$$

$K_p=3.46$, $T_i=4.55$ วินาที, $T_d=0.70$ วินาที เป็นกฎที่ดุดันที่สุดในบทความนี้ (overshoot 85% ในหัวข้อ 12) จึงควรถือเป็นจุดเริ่มต้นที่ต้องลดเกนต่อ

## 10. IMC, Lambda และ SIMC: จูนด้วยการเลือกความเร็ว

กฎก่อนหน้านี้ถูกปรับให้เข้ากับเกณฑ์สมรรถนะ แนวคิด internal model control (IMC) กลับด้าน: เลือกก่อนว่าต้องการให้วงปิดเร็วแค่ไหน แล้วคำนวณตัวควบคุมที่ให้ผลนั้นพอดี ขอการตอบสนอง $\dfrac{y}{r}=\dfrac{e^{-Ls}}{\tau_cs+1}$ คืออันดับหนึ่งที่มีเวลาหน่วงซึ่งเลี่ยงไม่ได้ เมื่อประมาณเวลาหน่วงเป็น $e^{-Ls}\approx1-Ls$ ตัวควบคุมสำหรับกระบวนการ FOPDT จะออกมาเป็นตัวควบคุม PI:

$$K_p=\frac{T}{K(\tau_c+L)},\qquad T_i=T \qquad\text{(IMC / lambda โดย }\lambda=\tau_c\text{)}$$

กฎ SIMC ของ Skogestad (2003) แก้เพียงตัวเลขเดียว สำหรับกระบวนการ lag-dominant การใช้ $T_i=T$ ทำให้วงฟื้นจากโหลดรบกวนช้า SIMC จึงจำกัดไว้ว่า

$$T_i=\min\big(T,\ 4(\tau_c+L)\big)$$

ปุ่มปรับตัวเดียวคือ $\tau_c$ ซึ่งเป็นค่าคงเวลาวงปิดที่ต้องการ ข้อแนะนำในทางปฏิบัติคือ $\tau_c=L$ เร็วเท่าที่เวลาหน่วงยอมให้ ค่าที่มากกว่านั้นให้วงที่นุ่มและทนทานกว่า ส่วนค่าที่น้อยกว่า $L$ ได้ความเร็วเพิ่มนิดเดียวแต่เสียความทนทานมาก

ตัวอย่างที่ 5

### SIMC แบบ PI เมื่อ $K=2,\ L=2\ \text{s},\ T=10\ \text{s}$

- เมื่อ $\tau_c=L=2$ วินาที:
$$K_p=\frac{10}{2\,(2+2)}=1.25,\qquad T_i=\min(10,\ 4\times4)=10\ \text{s}$$

- เมื่อ $\tau_c=2L=4$ วินาที (นุ่มกว่า):
$$K_p=\frac{10}{2\,(4+2)}=0.833,\qquad T_i=\min(10,\ 24)=10\ \text{s}$$

$K_p=1.25$, $T_i=10$ วินาที สำหรับการตั้งแบบเร็ว และ $K_p=0.83$, $T_i=10$ วินาที สำหรับแบบนุ่ม คำนวณแบบแม่นยำ แบบแรกมี gain margin 3.14 และ phase margin 61°

### กระบวนการรูปแบบอื่น

- กระบวนการ integrating $K'e^{-Ls}/s$ (ระดับน้ำในถัง): $K_p=\dfrac{1}{K'(\tau_c+L)}$, $T_i=4(\tau_c+L)$

- อันดับสองบวกเวลาหน่วง $\dfrac{Ke^{-Ls}}{(T_1s+1)(T_2s+1)}$: ใช้รูป series $K_c=\dfrac{T_1}{K(\tau_c+L)}$, $T_i=\min\big(T_1,4(\tau_c+L)\big)$, $T_d=T_2$ (แปลงเป็นรูป ideal ด้วยสูตรในหัวข้อ 2)

- Lambda tuning คือกฎ PI ตัวเดียวกันโดยใช้ $T_i=T$ เสมอ เป็นที่นิยมในอุตสาหกรรมกระดาษและเคมี เพราะ $\lambda$ ที่มากให้วงนุ่มและไม่รบกวนกันเอง

เพราะการตอบสนองถูกกำหนดไว้ล่วงหน้าแทนที่จะเป็นสิ่งที่ค้นพบทีหลัง SIMC และ lambda จึงเข้ากับขั้นตอนทำงานได้ดี: มีแบบจำลอง เลือกความเร็ว ได้ตัวควบคุม ซึ่งเป็นเหตุผลที่เหมาะเป็นค่าเริ่มต้น

## 11. Relay auto-tune

การทดลองรีเลย์ของ Åström และ Hägglund (1984) หา $K_u$ และ $P_u$ โดยไม่ต้องพาวงไปที่ขอบเสถียรภาพ ให้แทนตัวควบคุมด้วยรีเลย์ที่สลับเอาต์พุตระหว่าง $u_0+d$ กับ $u_0-d$ กระบวนการส่วนใหญ่จะแกว่งคงที่โดยแอมพลิจูดถูกจำกัดด้วย $d$ ถ้าค่าวัดแกว่งด้วยแอมพลิจูด $a$ การประมาณด้วย describing function ให้

$$K_u\approx\frac{4d}{\pi a},\qquad P_u=\text{คาบของการแกว่งที่วัดได้}$$

จากนั้นนำไปใช้กับตาราง Ziegler–Nichols หรือ Tyreus–Luyben ในหัวข้อ 7 ปุ่ม “auto-tune” ในเชิงพาณิชย์ส่วนใหญ่ทำงานแบบนี้

ตัวอย่างที่ 6

### ออโต้จูนเตาอบ

รีเลย์ $d=5\%$ ทำให้อุณหภูมิเตาอบแกว่งด้วยแอมพลิจูด $a=1.2\,^\circ\text{C}$ คาบ $P_u=7.5$ วินาที

-
$$K_u=\frac{4d}{\pi a}=\frac{4\times5}{\pi\times1.2}=5.31\ \%/^\circ\text{C}$$

- Tyreus–Luyben แบบ PI:
$$K_p=\frac{K_u}{3.2}=1.66,\qquad T_i=2.2P_u=16.5\ \text{s}$$

PI: $K_p=1.66\ \%/^\circ\text{C}$, $T_i=16.5$ วินาที

ข้อควรระวัง: ใส่ hysteresis ที่รีเลย์เล็กน้อยเพื่อไม่ให้สัญญาณรบกวนทำให้สลับผิด เลือก $d$ ให้เล็กพอที่การแกว่งไม่เป็นอันตรายแต่ใหญ่พอที่พ้นสัญญาณรบกวน และจำไว้ว่าการประมาณสมมุติว่ากระบวนการกรองฮาร์มอนิกของคลื่นสี่เหลี่ยมออกได้ ซึ่งจริงสำหรับกระบวนการแบบ lag ส่วนใหญ่

## 12. เทียบกันตรง ๆ: พลานต์เดียว หลายกฎ

แต่ละกฎถูกนำไปใช้กับพลานต์ $2e^{-2s}/(10s+1)$ แล้วจำลอง: ค่าเป้าหมายขั้นบันไดหนึ่งหน่วยที่ $t=0$ จากนั้นโหลดขั้นบันได $-0.5$ ที่อินพุตของกระบวนการที่ $t=70$ วินาที เทอม D ทำงานกับค่าวัดผ่านตัวกรอง $T_d/10$ “เวลาเข้าที่” คือเวลาหลังจากนั้นการตอบสนองอยู่ในช่วง 2% ตลอด IAE คือปริพันธ์ของค่าผิดพลาดสัมบูรณ์ (ยิ่งน้อยยิ่งดี) วัดแยกสำหรับขั้นของค่าเป้าหมายและขั้นของโหลด

| กฎ | $K_p$ | $T_i$ (s) | $T_d$ (s) | Overshoot | เวลาเข้าที่ (s) | IAE ค่าเป้าหมาย | IAE โหลด | Gain margin | Phase margin |

| ZN วงปิด PID | 2.55 | 3.72 | 0.93 | 56% | 19.1 | 5.50 | 0.90 | 1.63 | 40° |

| ZN วงปิด PI | 1.91 | 6.20 | – | 44% | 20.8 | 5.40 | 1.62 | 1.92 | 36° |

| ZN วงเปิด PID | 3.00 | 4.00 | 1.00 | 64% | 19.6 | 5.33 | 0.79 | 1.33 | 39° |

| Cohen–Coon PID | 3.46 | 4.55 | 0.70 | 85% | 24.2 | 6.08 | 0.79 | 1.31 | 27° |

| Tyreus–Luyben PI | 1.33 | 16.4 | – | 0% | 40.2 | 6.08 | 6.05 | 3.06 | 69° |

| Tyreus–Luyben PID | 1.93 | 16.4 | 1.18 | 0% | 13.7 | 4.22 | 4.16 | 1.76 | 75° |

| SIMC PI, $\tau_c=L$ | 1.25 | 10.0 | – | 4% | 12.1 | 4.34 | 3.99 | 3.14 | 61° |

| SIMC PI, $\tau_c=2L$ | 0.83 | 10.0 | – | 0% | 15.7 | 5.99 | 5.99 | 4.71 | 71° |

รูปที่ 3 การตอบสนองวงปิดของกฎสี่ข้อบนพลานต์เดียวกัน ค่าเป้าหมายเปลี่ยนที่ $t=0$ โหลดรบกวนที่ $t=70$ วินาที เส้นสีส้มและม่วง (ZN และ Cohen–Coon) เร็วแต่เกินเป้ามาก ส่วนเส้นสีน้ำเงินและเขียว (SIMC) นุ่มนวล

### ตัวเลขบอกอะไร

- กฎ PID ของ ZN และ Cohen–Coon ต้านโหลดได้ดีกว่าสี่ถึงห้าเท่า (IAE 0.8–0.9 เทียบกับ 4.0 ของ SIMC) แต่เกินเป้า 56–85% และ gain margin เพียง 1.3–1.6 หากเกนกระบวนการเพิ่มขึ้น 30–60% ก็เข้าใกล้ความไม่เสถียร

- ความต่างของการต้านโหลดอธิบายได้ด้วยตัวเลขเดียวคือ $K_i=K_p/T_i$ สำหรับการตอบสนองที่เกินเป้าน้อย พื้นที่ใต้ค่าผิดพลาดหลังโหลดขั้นบันไดขนาด $\Delta d$ มีค่า $\text{IAE}\approx\Delta d/K_i$ กับ SIMC: $K_i=1.25/10=0.125$ ได้ $0.5/0.125=4.0$ ตรงกับผลจำลอง 3.99 กับ ZN PID $K_i=0.686$ ทำนายได้ 0.73 (ผลจำลอง 0.90 สูงกว่าเพราะการตอบสนองนั้นแกว่ง)

- SIMC ที่ $\tau_c=L$ เป็นตัวเลือกที่สมดุลที่สุดในตารางนี้: เวลาเข้าที่เร็วที่สุดของทุกแถว (12.1 วินาที) พื้นที่ความผิดพลาดของค่าเป้าหมาย (4.34) ใกล้ค่าที่ดีที่สุด (4.22 ของ Tyreus–Luyben PID) เกินเป้าเพียง 4% และ gain margin เกิน 3 ราคาที่ต้องจ่ายคือฟื้นจากโหลดช้ากว่า ซึ่งซื้อคืนได้ด้วยการลด $T_i$ ถ้า margin ยอมให้

- Tyreus–Luyben PI ช้ามาก บนพลานต์นี้ เพราะ $T_i=16.4$ วินาทีมากกว่าค่าคงเวลาของกระบวนการ การเพิ่ม D (แถว PID) ช่วยให้ตามค่าเป้าหมายได้ดีขึ้นแต่ทำให้ gain margin ลดเหลือ 1.76

| สถานการณ์ | ตัวเลือกที่สมเหตุสมผล |

| มี step test และต้องการวงที่นุ่มและปลอดภัย | SIMC ที่ $\tau_c=L$ (หรือ $2L$ ถ้ากระบวนการเปลี่ยนแปลงมาก) |

| ทดลองได้เฉพาะวงปิด | ทดสอบ relay แล้วใช้ Tyreus–Luyben (หรือ ZN ที่ลดเกนแล้ว) |

| โหลดรบกวนเป็นตัวหลักและยอมรับ overshoot ได้บ้าง | ZN วงเปิด แล้วลด $K_p$ 20–30% |

| ระดับน้ำในถังพัก (buffer tank) | SIMC สำหรับ integrating ที่ $\tau_c$ มาก หรือ P อย่างเดียว/PI เกนต่ำ |

| เวลาหน่วงยาวมาก ($L/T>1$) | PI เกนต่ำ แล้วพิจารณา Smith predictor หรือ feedforward |

| กระบวนการไม่เป็นเชิงเส้นหรือเปลี่ยนตามเวลา | จูนที่จุดทำงานที่ยากที่สุด และใช้ gain scheduling กับจุดอื่น |

ผลนี้เป็นของพลานต์ตัวเดียว ค่า $L/T$ ที่ต่างกันจะเปลี่ยนภาพ จึงควรตรวจค่าจูนใหม่ด้วยการจำลองหรือการทดสอบหน้างานอย่างระมัดระวังเสมอ

## 13. วิธีแก้ปัญหาที่วงควบคุมจริงต้องมี

### กรองเทอมอนุพันธ์ และไม่ให้ D ตามค่าเป้าหมาย

อนุพันธ์บริสุทธิ์มีเกนไม่จำกัดที่ความถี่สูง จึงใช้ตัวกรองอันดับหนึ่ง:

$$D(s)=\frac{K_pT_ds}{1+\dfrac{T_d}{N}s},\qquad N\approx 5\text{ ถึง }20$$

ทำให้เกนความถี่สูงถูกจำกัดที่ $K_pN$ และให้ใช้อนุพันธ์กับ ค่าวัด $y$ ไม่ใช่ค่าผิดพลาด $e$ เมื่อค่าเป้าหมายเปลี่ยนขั้นบันไดเอาต์พุตจะไม่กระโดดแรงจาก “derivative kick” ตัวควบคุมเชิงพาณิชย์ส่วนใหญ่ทำแบบนี้เป็นค่าเริ่มต้น ควรตรวจตัวที่คุณใช้ ถ้าสัญญาณมีสัญญาณรบกวน การใส่ตัวกรองความถี่ต่ำอันดับหนึ่งที่ค่าวัดแก้ได้ดีกว่าการลด $N$

### Setpoint weighting (สององศาอิสระ)

$K_p$ ตัวเดียวกันที่ต้านโหลดได้ดีทำให้การตอบสนองต่อค่าเป้าหมายเกินเป้า ถ้าถ่วงน้ำหนักเทอมสัดส่วนของค่าเป้าหมาย $u=K_p(b\,r-y)+\dots$ เมื่อ $0ถ้าตัวขับอิ่มตัว (วาล์วเปิดสุด ฮีตเตอร์ 100%) ขณะที่ยังมีค่าผิดพลาด ปริพันธ์จะโตต่อไป เมื่อค่าผิดพลาดกลับเครื่องหมาย ปริพันธ์ต้องใช้เวลานานกว่าจะคลายและค่าวัดเกินเป้า มีวิธีแก้ที่พบบ่อยสองแบบ:

- Clamping (หยุดสะสมตามเงื่อนไข): หยุดอินทิเกรตเมื่อเอาต์พุตอิ่มตัวและค่าผิดพลาดจะดันให้อิ่มตัวหนักขึ้น

- Back-calculation: ป้อนผลต่างจากการอิ่มตัวกลับเข้าตัวอินทิเกรต $\dot I=K_ie+\dfrac{u_{sat}-u}{T_t}$ ค่าที่นิยมคือ $T_t\approx T_i$ สำหรับ PI และ $T_t=\sqrt{T_iT_d}$ สำหรับ PID

รูปที่ 4 ตัวควบคุม PI แบบ SIMC ตัวเดิม ($K_p=1.25$, $T_i=10$ วินาที) เมื่อตัวขับถูกจำกัดที่ $0\le u\le1$ และค่าเป้าหมายกระโดดเป็น 1.6 ถ้าไม่มี anti-windup ค่าวัดเกินเป้า 19% และใช้เวลา 57 วินาทีกว่าจะเข้าที่ แต่เมื่อมี back-calculation ($T_t=T_i$) เกินเป้า 0.5% และเข้าที่ใน 17.5 วินาที

### Bumpless transfer

เมื่อสลับจากแมนนวลเป็นออโต้ (หรือเปลี่ยนแหล่งค่าเป้าหมาย) ให้กำหนดค่าเริ่มต้นของตัวอินทิเกรตเพื่อให้เอาต์พุตเริ่มจากค่าปัจจุบัน ไม่เช่นนั้นเอาต์พุตจะกระโดดและกระตุ้นกระบวนการ

### เวลาสุ่มตัวอย่าง

ตัวควบคุมดิจิทัลสุ่มค่าวัดทุก $T_s$ หลักคร่าว ๆ คือให้ $T_s$ ไม่เกินหนึ่งในสิบของค่าคงเวลา $T$ และไม่เกินราวครึ่งหนึ่งของเวลาหน่วงเมื่อ $L$ มีค่าน้อย zero-order hold ยังเพิ่มเวลาหน่วงอีกราว $T_s/2$ จึงควรจูนด้วย $L_{eff}=L+T_s/2$ บทเรียนเรื่องการควบคุมดิจิทัลอธิบายละเอียดกว่านี้

### เมื่อฮาร์ดแวร์คือปัญหา

- Stiction และ backlash: วาล์วที่ติดจะค้างแล้วกระโดด ผลคือ limit cycle (ค่าวัดเป็นฟันเลื่อย เอาต์พุตเป็นคลื่นสี่เหลี่ยม) ที่แย่ลงเมื่อเพิ่มปริพันธ์ ให้ซ่อมวาล์วหรือเพิ่ม positioner อย่าจูนหนีปัญหา

- Dead band และความละเอียด: เอาต์พุตที่หยาบ (ขั้นละหลายเปอร์เซ็นต์) หรืออินพุตความละเอียดต่ำทำให้วงเดินส่ายไปมา ลดปริพันธ์หรือใส่ dead band ในตัวควบคุม

- ความไม่เป็นเชิงเส้น: ลักษณะของวาล์ว เส้นโค้ง pH และเกนของเตาเปลี่ยนตามจุดทำงาน ให้จูนที่จุดที่ยากที่สุด หรือปรับเกนตามจุดทำงาน (gain scheduling)

- ช่วงของคุณเองอิ่มตัว: ถ้าเอาต์พุตอิ่มตัวเกือบตลอดเวลา การจูนช่วยอะไรไม่ได้ วงนี้เลือกขนาดผิด

## 14. วงควบคุมชนิดทั่วไป และจะเริ่มจากตรงไหน

ใช้เป็นจุดเริ่มต้นเชิงคุณภาพ แล้วปรับละเอียดด้วย step test เพราะพลานต์แต่ละตัวต่างกันมาก

| วงควบคุม | ลักษณะทั่วไป | ตัวควบคุมที่มักใช้ | หมายเหตุ |

| อัตราการไหล | เร็ว เวลาหน่วงน้อย สัญญาณมีสัญญาณรบกวน | PI เกนต่ำ ไม่ใช้ D | กรองค่าวัด และวาล์วมักเป็นส่วนที่ช้าที่สุด |

| ความดัน (ก๊าซ) | เร็ว มักเกือบเป็น integrating | PI บางครั้ง PID | วงเร็วต้องสุ่มตัวอย่างเร็ว |

| ระดับ (ถังพัก) | Integrating | P หรือ PI เกนต่ำ | การควบคุมระดับแบบ averaging ส่งต่อการเปลี่ยนของอัตราไหลไปหน่วยถัดไปอย่างนุ่มนวล อย่าจูนแน่น |

| อุณหภูมิ | ช้า เวลาหน่วงมีนัยสำคัญ | PI หรือ PID | $T$ มากคุ้มกับ D, $L$ มากต้องใจเย็น |

| ความเร็ว (มอเตอร์) | Lag-dominant และเร็ว | PI | มักอยู่ในวงกระแส ให้จูนวงในก่อน |

| ตำแหน่ง | Integrating | P, PD หรือ PID | แรงเสียดทานอาจต้องการปริพันธ์เล็กน้อยกับ anti-windup |

| pH, องค์ประกอบ | ไม่เป็นเชิงเส้นมาก เวลาหน่วงนาน | PI ร่วมกับ gain scheduling | จูนที่จุดที่ความชันสูงสุด แล้วปรับเกนตามจุดทำงาน |

สำหรับวงแบบ cascade (อุณหภูมิเป็นวงนอก การไหลหรือตำแหน่งวาล์วเป็นวงใน) ให้จูน วงใน ก่อนเสมอ และทำให้เร็วกว่าวงนอกหลายเท่า

## 15. ตัดสินค่าจูนอย่างไร

ตัดสินวงควบคุมด้วยตัวเลข ไม่ใช่จากความรู้สึกเวลาดูเทรนด์

- ในโดเมนเวลา: overshoot, เวลาเข้าที่ (±2% หรือ ±5%), ค่าเบี่ยงสูงสุดหลังโหลดขั้นบันได และเวลาฟื้นตัว

- ปริพันธ์ของค่าผิดพลาด: IAE $=\int|e|\,dt$, ISE $=\int e^2dt$, ITAE $=\int t|e|\,dt$ เทียบค่าจูนบนการทดสอบเดียวกัน ยิ่งน้อยยิ่งดี IAE ของโหลดขั้นบันไดมีค่าประมาณ $\Delta d/K_i$

- ความทนทาน: gain margin อย่างน้อย 2 (6 dB) phase margin 45–60° และ peak sensitivity $M_s$ 1.4–2 ในตารางเปรียบเทียบข้างต้น มีเพียงสองแถวของ SIMC และ Tyreus–Luyben PI ที่ gain margin เกิน 2 และ phase margin เกิน 45° ทั้งคู่

- แรงที่ใช้ควบคุม: ดูส่วนเบี่ยงเบนมาตรฐานหรือ total variation ของเอาต์พุต สัญญาณรบกวนที่ D ขยายจะเห็นที่นี่ก่อน

เช็กความทนทานเร็วหน้างาน เพิ่ม $K_p$ อีก 50% แล้วเปลี่ยนค่าเป้าหมายหนึ่งขั้น ถ้าวงยังนิ่งและหน่วงดีพอสมควรแสดงว่ามี margin จริง ถ้าสั่นแรงให้ลดเกนกลับ (กับพลานต์ตัวอย่าง ZN PID มี gain margin เพียง 1.63 การเพิ่มเกน 50% จึงพาไปอยู่ที่ขอบความไม่เสถียร)

## 16. คู่มือแก้ปัญหา

| อาการ | สิ่งที่ต้องตรวจ | การแก้ |

| วงวิ่งหนีทันทีหลังสลับเป็นออโต้ | Direct/reverse acting, สเกลของเซนเซอร์, แหล่งค่าเป้าหมาย | แก้ทิศและสเกล ตั้งค่าเริ่มต้นให้ bumpless |

| แกว่งคงที่ คาบใกล้ $P_u$ | $K_p$ ใกล้ $K_u$ หรือไม่ | ลด $K_p$ ครึ่งหนึ่ง แล้วยืนยันด้วยการเพิ่มเกน 50% |

| แกว่งช้า คาบหลายเท่าของ $T$ | $T_i$ สั้นเกินสำหรับเวลาหน่วง | เพิ่ม $T_i$ เป็นสองเท่า (หรือลด $K_p$ และ $T_i$ ไปพร้อมกัน) |

| ไม่ถึงค่าเป้าหมาย หยุดก่อนถึง | ไม่มีปริพันธ์ หรือเอาต์พุตถูกหนีบ | เปิด I ตรวจขีดจำกัดเอาต์พุตและโหมด |

| ถึงค่าเป้าหมายแต่คืบคลานช่วงไม่กี่เปอร์เซ็นต์สุดท้าย | $T_i$ ยาวเกินมาก | ลด $T_i$ เข้าใกล้ $T$ |

| เกินเป้าเฉพาะเมื่อเปลี่ยนค่าเป้าหมายมาก ๆ | Windup | ใช้ anti-windup และจำกัดอัตราการเปลี่ยนค่าเป้าหมาย |

| เอาต์พุตมีสัญญาณรบกวน วาล์วสั่น | D ตามสัญญาณรบกวน ค่าวัดไม่ได้กรอง | กรองค่าวัดและ D ลด $K_pN$ |

| ดีที่โหลดหนึ่ง แย่ที่อีกโหลด | กระบวนการไม่เป็นเชิงเส้น | จูนที่จุดที่ยากที่สุด หรือปรับเกนตามจุดทำงาน |

| Limit cycle ที่แย่ลงเมื่อเพิ่ม I | วาล์ว stiction | ซ่อมหรือติด positioner |

## 17. ขั้นตอนจูนที่ทำซ้ำได้

- เขียนข้อกำหนด: ตามค่าเป้าหมายหรือต้านสิ่งรบกวน overshoot ที่ยอมรับได้ การขยับของตัวขับที่ยอมรับได้

- ตรวจฮาร์ดแวร์และสมการ: เซนเซอร์ วาล์ว direct/reverse รูปแบบของบล็อก PID หน่วยเวลา

- ทำ step test (หัวข้อ 5) อ่าน $K$, $L$, $T$ และคำนวณ $L/T$

- เลือกกฎ: SIMC $\tau_c=L$ เป็นค่าเริ่มต้น ใช้ relay test ถ้าเปิดวงไม่ได้ และใช้ Ziegler–Nichols เป็นค่าเดาครั้งแรกเท่านั้น

- แปลงเป็นรูปแบบและหน่วยของตัวควบคุม (หัวข้อ 2)

- ใส่ส่วนที่ใช้งานจริงต้องมี: ตัวกรอง D, anti-windup, ขีดจำกัดเอาต์พุต, เวลาสุ่มตัวอย่าง

- ทดสอบ ค่าเป้าหมายขั้นบันได สิ่งรบกวน และเพิ่มเกน 50% ที่จุดทำงานที่เกี่ยวข้อง

- ปรับละเอียดและบันทึก ค่าสุดท้าย วันที่ และผลทดสอบ เพื่อให้วิศวกรคนถัดไปไม่ต้องเริ่มจากศูนย์

## 18. โจทย์ฝึกทำ

ลองทำบนกระดาษก่อน แล้วค่อยเปิดเฉลย

โจทย์ที่ 1

### แปลงรูปแบบ

ตัวควบคุมแบบ series มี $K_c'=2$, $T_i'=10$ วินาที, $T_d'=2$ วินาที จงหาค่าในรูป ideal

ดูเฉลย

$$K_c=2\left(1+\frac{2}{10}\right)=2.4,\qquad T_i=10+2=12\ \text{s},\qquad T_d=\frac{10\times2}{12}=1.67\ \text{s}$$

โจทย์ที่ 2

### Ziegler–Nichols จากการทดลอง

การทดลองวงปิดได้ $K_u=6$ และ $P_u=4$ วินาที จงหาค่า ZN แบบ PID และเกน $K_i$, $K_d$ ในรูป parallel

ดูเฉลย

$$K_p=0.6\times6=3.6,\quad T_i=\frac{4}{2}=2\ \text{s},\quad T_d=\frac{4}{8}=0.5\ \text{s},\quad K_i=\frac{3.6}{2}=1.8\ \text{s}^{-1},\quad K_d=3.6\times0.5=1.8\ \text{s}$$

โจทย์ที่ 3

### SIMC กับกระบวนการที่เวลาหน่วงมาก

step test ได้ $K=0.5$, $L=3$ วินาที, $T=12$ วินาที จงหาค่า SIMC แบบ PI เมื่อ $\tau_c=L$ และหา $L/T$

ดูเฉลย

$$K_p=\frac{12}{0.5\,(3+3)}=4,\qquad T_i=\min(12,\ 4\times6)=12\ \text{s},\qquad \frac{L}{T}=0.25$$

โจทย์ที่ 4

### ประมาณการต้านสิ่งรบกวน

วง PI มี $K_p=2$ และ $T_i=8$ วินาที เกินเป้าน้อย เกิดโหลดรบกวน 0.4 (ในหน่วยของเอาต์พุตตัวควบคุม) จงประมาณ IAE และดูว่าเปลี่ยนไปอย่างไรถ้าลด $T_i$ ลงครึ่งหนึ่ง

ดูเฉลย

$$K_i=\frac{2}{8}=0.25,\qquad \text{IAE}\approx\frac{0.4}{0.25}=1.6;\qquad T_i=4\Rightarrow K_i=0.5,\ \text{IAE}\approx0.8$$

ลด $T_i$ ลงครึ่งหนึ่งทำให้พื้นที่ความผิดพลาดลดลงครึ่งหนึ่ง แต่ margin ก็ลดลงด้วย จึงต้องตรวจการตอบสนองอีกครั้ง

## เรียนต่อในคลังความรู้

บทเรียนเต็มและแล็บโต้ตอบที่รันในเบราว์เซอร์อยู่ในคลังความรู้ ใช้สูตรและรหัสอ้างอิงชุดเดียวกับบทความนี้

- ตัวควบคุม PID: โครงสร้าง ผลของแต่ละเทอม และแล็บจำลองในเบราว์เซอร์

- การจูน PID: Ziegler–Nichols, Cohen–Coon, SIMC, relay และแล็บลองค่า

- Gain margin และ phase margin ตัวเลขความทนทานที่ใช้ในบทความนี้

- การตอบสนองเชิงเวลา: เวลาขึ้น overshoot และเวลาเข้าที่

- การควบคุมดิจิทัลและการเลือกเวลาสุ่มตัวอย่าง

- อินพุตเอาต์พุตแอนะล็อก บล็อก PID และ VFD ใน PLC

- บทความสั้น: PID Controller คืออะไร

## คำถามที่พบบ่อย

วิธีจูน PID ที่เร็วและเชื่อถือได้ที่สุดคืออะไร?
ทำ step test วงเปิดหนึ่งครั้ง อ่านเกน K เวลาหน่วง L และค่าคงเวลา T จากกราฟ แล้วใช้กฎ SIMC $K_p=T/(K(\tau_c+L))$, $T_i=\min(T,4(\tau_c+L))$ โดยตั้ง $\tau_c=L$ ใช้การทดลองครั้งเดียว มีปุ่มปรับตัวเดียว ได้การตอบสนองนุ่มนวลและเกน margin ราว 3

ควรใช้ Ziegler–Nichols ไหม?
ใช้เป็นค่าเริ่มต้นเมื่อไม่มีข้อมูลอื่นได้ แต่ต้องรู้ว่า overshoot มักอยู่ที่ 40–80% และ margin บาง เพราะออกแบบให้ลดทอนหนึ่งในสี่ต่อรอบ วิศวกรส่วนใหญ่จึงลดเกน (ลด $K_p$ เพิ่ม $T_i$) หรือใช้ SIMC หรือ Tyreus–Luyben แทน

จำเป็นต้องใช้เทอม D เสมอไหม?
ไม่จำเป็น วงควบคุมในโรงงานส่วนใหญ่ใช้ PI เทอม D ช่วยได้กับกระบวนการที่ตอบสนองช้าแบบ lag-dominant และสัญญาณวัดสะอาด (เช่นอุณหภูมิ บางวงตำแหน่งและความเร็ว) แต่แทบไม่ช่วยเมื่อเวลาหน่วงมากหรือสัญญาณมีสัญญาณรบกวน และถ้าใช้ต้องมีตัวกรองเสมอ

เลือกเวลาปริพันธ์ $T_i$ อย่างไร?
กระบวนการแบบ self-regulating ค่าเริ่มต้นที่ดีคือ $T_i\approx T$ (ค่าคงเวลาของกระบวนการ) และไม่เกิน $4(\tau_c+L)$ เมื่อค่านั้นน้อยกว่า ถ้า $T_i$ สั้นเกินจะแกว่งช้า ๆ เป็นลูกคลื่น ถ้ายาวเกินค่าผิดพลาดจะค้างนาน พื้นที่ความผิดพลาดหลังโหลดรบกวนมีค่าประมาณ $\Delta d/K_i$ เมื่อ $K_i=K_p/T_i$

ควรตั้งเวลาสุ่มตัวอย่าง (sample time) เท่าไร?
ประมาณหนึ่งในสิบของค่าคงเวลาของกระบวนการหรือเล็กกว่า และไม่เกินราวครึ่งหนึ่งของเวลาหน่วงเมื่อเวลาหน่วงมีค่าน้อย การสุ่มตัวอย่างเพิ่มเวลาหน่วงเทียบเท่าอีกราว $T_s/2$ จึงต้องลดเกนลงถ้าสุ่มช้า

ทำไมวงควบคุมยังแกว่งทั้งที่ตั้งเกนต่ำแล้ว?
ให้สงสัยฮาร์ดแวร์ก่อน วาล์วที่ติด (stiction) เฟืองคลอน (backlash) หรือ dead band ทำให้เกิด limit cycle ที่ไม่มีค่าเกนใดแก้ได้ และสัญญาณวัดที่มีสัญญาณรบกวนหรือกรองไม่ดีก็เป็นสาเหตุได้ ดูที่เอาต์พุตของตัวควบคุม ถ้าค่าวัดเป็นฟันเลื่อยและเอาต์พุตเป็นคลื่นสี่เหลี่ยมคือสัญญาณคลาสสิกของ stiction

Integral windup คืออะไร และป้องกันอย่างไร?
windup คือเทอมปริพันธ์สะสมค่าขณะที่ตัวขับอิ่มตัว ทำให้เกินเป้ามากหลังจากนั้น ป้องกันด้วย anti-windup เช่นหยุดสะสม (clamping) หรือ back-calculation $\dot I=K_ie+(u_{sat}-u)/T_t$ ในผลจำลองของบทความนี้ back-calculation ลด overshoot จาก 19% เหลือ 0.5%

รู้ได้อย่างไรว่าค่าจูนทนทานพอ?
เป้าหมายคือ gain margin อย่างน้อย 2 phase margin 45–60° และ peak sensitivity $M_s$ 1.4–2 วิธีเช็กเร็วหน้างานคือเพิ่ม $K_p$ อีก 50% (หรือให้เกนของกระบวนการเพิ่มเป็นสองเท่า) แล้วดูว่าการตอบสนองยังนิ่งอยู่

## บทความอื่นที่น่าอ่าน

ระบบควบคุม
PID Controller คืออะไร: Kp Ki Kd ทำงานอย่างไร และจูนอย่างไร
ตัวควบคุม PID รวมสามเทอมคือสัดส่วน ปริพันธ์ และอนุพันธ์ของค่าผิดพลาด อธิบายผลของ Kp Ki Kd ตารางผลต่อการตอบสนอง ตัวอย่างจูนด้วย Ziegler–Nichols…
16 ต.ค. 2569อ่านบทความ →

Python · AI
เริ่มต้นเข้าใจการเขียนโปรแกรมในยุค AI: ทำไมควรเริ่มที่ Python
ยุค AI เขียนโค้ดได้ทุกภาษา แต่คนที่อ่านโค้ดไม่ออกจะตรวจไม่ได้ว่าถูกหรือผิด บทความนี้อธิบายว่าทำไม Python เหมาะเป็นภาษาแรก 6 แนวคิดที่ต้องเข้าใจ…
25 ต.ค. 2569อ่านบทความ →

พีชคณิตเชิงเส้น
กฎของคราเมอร์ (Cramer's Rule) ใช้อย่างไร ทำไมถึงได้ และเมื่อไรไม่ควรใช้
สอนกฎของคราเมอร์แบบเห็นภาพ แทนหลักด้วยค่าคงที่แล้วหารดีเทอร์มิแนนต์ ตัวอย่าง 2×2 และ 3×3 หาตัวแปรเดียว ที่มาของสูตร กรณี Δ = 0 โจทย์พารามิเตอร์ k…
25 ต.ค. 2569อ่านบทความ →

ดูบทความทั้งหมดในหมวดระบบควบคุมและ PID (2 เรื่อง) → · บทความทั้งหมด

## คำถามที่พบบ่อย (FAQ)

**วิธีจูน PID ที่เร็วและเชื่อถือได้ที่สุดคืออะไร?**
ทำ step test วงเปิดหนึ่งครั้ง อ่านเกน K เวลาหน่วง L และค่าคงเวลา T จากกราฟ แล้วใช้กฎ SIMC $K_p=T/(K(\tau_c+L))$, $T_i=\min(T,4(\tau_c+L))$ โดยตั้ง $\tau_c=L$ ใช้การทดลองครั้งเดียว มีปุ่มปรับตัวเดียว ได้การตอบสนองนุ่มนวลและเกน margin ราว 3

**ควรใช้ Ziegler–Nichols ไหม?**
ใช้เป็นค่าเริ่มต้นเมื่อไม่มีข้อมูลอื่นได้ แต่ต้องรู้ว่า overshoot มักอยู่ที่ 40–80% และ margin บาง เพราะออกแบบให้ลดทอนหนึ่งในสี่ต่อรอบ วิศวกรส่วนใหญ่จึงลดเกน (ลด $K_p$ เพิ่ม $T_i$) หรือใช้ SIMC หรือ Tyreus–Luyben แทน

**จำเป็นต้องใช้เทอม D เสมอไหม?**
ไม่จำเป็น วงควบคุมในโรงงานส่วนใหญ่ใช้ PI เทอม D ช่วยได้กับกระบวนการที่ตอบสนองช้าแบบ lag-dominant และสัญญาณวัดสะอาด (เช่นอุณหภูมิ บางวงตำแหน่งและความเร็ว) แต่แทบไม่ช่วยเมื่อเวลาหน่วงมากหรือสัญญาณมีสัญญาณรบกวน และถ้าใช้ต้องมีตัวกรองเสมอ

**เลือกเวลาปริพันธ์ \(T_i\) อย่างไร?**
กระบวนการแบบ self-regulating ค่าเริ่มต้นที่ดีคือ $T_i\approx T$ (ค่าคงเวลาของกระบวนการ) และไม่เกิน $4(\tau_c+L)$ เมื่อค่านั้นน้อยกว่า ถ้า $T_i$ สั้นเกินจะแกว่งช้า ๆ เป็นลูกคลื่น ถ้ายาวเกินค่าผิดพลาดจะค้างนาน พื้นที่ความผิดพลาดหลังโหลดรบกวนมีค่าประมาณ $\Delta d/K_i$ เมื่อ $K_i=K_p/T_i$

**ควรตั้งเวลาสุ่มตัวอย่าง (sample time) เท่าไร?**
ประมาณหนึ่งในสิบของค่าคงเวลาของกระบวนการหรือเล็กกว่า และไม่เกินราวครึ่งหนึ่งของเวลาหน่วงเมื่อเวลาหน่วงมีค่าน้อย การสุ่มตัวอย่างเพิ่มเวลาหน่วงเทียบเท่าอีกราว $T_s/2$ จึงต้องลดเกนลงถ้าสุ่มช้า

**ทำไมวงควบคุมยังแกว่งทั้งที่ตั้งเกนต่ำแล้ว?**
ให้สงสัยฮาร์ดแวร์ก่อน วาล์วที่ติด (stiction) เฟืองคลอน (backlash) หรือ dead band ทำให้เกิด limit cycle ที่ไม่มีค่าเกนใดแก้ได้ และสัญญาณวัดที่มีสัญญาณรบกวนหรือกรองไม่ดีก็เป็นสาเหตุได้ ดูที่เอาต์พุตของตัวควบคุม ถ้าค่าวัดเป็นฟันเลื่อยและเอาต์พุตเป็นคลื่นสี่เหลี่ยมคือสัญญาณคลาสสิกของ stiction

**Integral windup คืออะไร และป้องกันอย่างไร?**
windup คือเทอมปริพันธ์สะสมค่าขณะที่ตัวขับอิ่มตัว ทำให้เกินเป้ามากหลังจากนั้น ป้องกันด้วย anti-windup เช่นหยุดสะสม (clamping) หรือ back-calculation $\dot I=K_ie+(u_{sat}-u)/T_t$ ในผลจำลองของบทความนี้ back-calculation ลด overshoot จาก 19% เหลือ 0.5%

**รู้ได้อย่างไรว่าค่าจูนทนทานพอ?**
เป้าหมายคือ gain margin อย่างน้อย 2 phase margin 45–60° และ peak sensitivity $M_s$ 1.4–2 วิธีเช็กเร็วหน้างานคือเพิ่ม $K_p$ อีก 50% (หรือให้เกนของกระบวนการเพิ่มเป็นสองเท่า) แล้วดูว่าการตอบสนองยังนิ่งอยู่
