---
title: "PID Controller คืออะไร: Kp Ki Kd ทำงานอย่างไร และจูนอย่างไร"
url: https://modsengineeringmath.com/blog/what-is-pid-controller/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-16
---

> ตัวควบคุม PID รวมสามเทอมคือสัดส่วน ปริพันธ์ และอนุพันธ์ของค่าผิดพลาด อธิบายผลของ Kp Ki Kd ตารางผลต่อการตอบสนอง ตัวอย่างจูนด้วย Ziegler–Nichols และปัญหาที่พบจริง

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

# PID Controller คืออะไร: Kp Ki Kd ทำงานอย่างไร และจูนอย่างไร

THภาษาไทยENEnglish
// บทความ · ระบบควบคุม


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

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

- $u(t)=K_pe(t)+K_i\int e\,dt+K_d\dfrac{de}{dt}$ โดย $e=r-y$

- P = ปัจจุบัน · I = อดีต (กำจัดค่าผิดพลาดคงตัว) · D = แนวโน้ม (ลดการเกินเป้า)

- จูนเริ่มต้นด้วย Ziegler–Nichols แล้วปรับละเอียดจากผลตอบสนองจริง

## สูตรและฟังก์ชันถ่ายโอนของ PID

ให้ $r(t)$ เป็นค่าที่ต้องการ $y(t)$ เป็นค่าที่วัดได้ และค่าผิดพลาด $e(t)=r(t)-y(t)$

$$u(t)=K_p\,e(t)+K_i\int_0^t e(\tau)\,d\tau+K_d\,\frac{de(t)}{dt}$$

ในโดเมน $s$ ได้ตัวควบคุมที่เขียนได้สองรูปเทียบเท่ากัน

$$C(s)=K_p+\frac{K_i}{s}+K_d s \;=\; K_p\left(1+\frac{1}{T_i s}+T_d s\right),\qquad K_i=\frac{K_p}{T_i},\; K_d=K_pT_d$$

รูปแรกใช้ในคู่มือซอฟต์แวร์หลายตัว รูปหลังพบในตำราและตัวควบคุมอุตสาหกรรม ต้องดูว่าอุปกรณ์ที่ใช้ตั้งค่าแบบไหน

## แต่ละเทอมทำอะไร

- P (สัดส่วน): ผิดพลาดมากสั่งแรง ผิดพลาดน้อยสั่งเบา เพิ่ม $K_p$ ทำให้เร็วขึ้น แต่ถ้ามากเกินไปจะแกว่งหรือไม่เสถียร และระบบส่วนใหญ่ยังเหลือค่าผิดพลาดคงตัวเมื่อมี P อย่างเดียว

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

- D (อนุพันธ์): ดูอัตราการเปลี่ยนของค่าผิดพลาด ช่วยเบรกล่วงหน้า ลดการเกินเป้า แต่ขยายสัญญาณรบกวนความถี่สูง

### ผลของการเพิ่มแต่ละค่าต่อการตอบสนองขั้นบันได

| เพิ่ม | เวลาขึ้น | เกินเป้า | เวลาเข้าที่ | ค่าผิดพลาดคงตัว |

| $K_p$ | ลดลง | เพิ่มขึ้น | เปลี่ยนเล็กน้อย | ลดลง |

| $K_i$ | ลดลง | เพิ่มขึ้น | เพิ่มขึ้น | กำจัดได้ |

| $K_d$ | เปลี่ยนเล็กน้อย | ลดลง | ลดลง | ไม่เปลี่ยน |

ตารางนี้เป็นแนวโน้มทั่วไปของระบบอันดับต่ำ ค่าทั้งสามส่งผลต่อกัน จึงต้องจูนร่วมกัน ไม่ใช่ปรับทีละตัวแล้วเสร็จ

## จูนเริ่มต้นด้วย Ziegler–Nichols (วิธีวงปิด)

ตั้ง $K_i=K_d=0$ เพิ่ม $K_p$ ทีละน้อยจนระบบแกว่งสม่ำเสมอ บันทึกค่า $K_p$ ตอนนั้นเป็น $K_u$ (ultimate gain) และคาบการแกว่งเป็น $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$ |

ตัวอย่าง

### พบ $K_u=8$ และ $P_u=2$ วินาที

-
$$K_p=0.6\times8=4.8,\qquad T_i=\frac{2}{2}=1\ \text{s},\qquad T_d=\frac{2}{8}=0.25\ \text{s}$$

-
$$K_i=\frac{K_p}{T_i}=4.8,\qquad K_d=K_pT_d=4.8\times0.25=1.2$$

ค่าเริ่มต้น $K_p=4.8$, $K_i=4.8\ \text{s}^{-1}$, $K_d=1.2\ \text{s}$ วิธีนี้มักให้การเกินเป้าสูง ให้ใช้เป็นจุดเริ่มต้นแล้วลด $K_p$ หรือ $K_i$ ลงตามผลตอบสนองจริง

## ปัญหาที่พบจริง

- Integral windup: ตัวขับอิ่มตัวแต่เทอม I ยังสะสม ทำให้เกินเป้ามากเมื่อค่าผิดพลาดกลับเครื่องหมาย แก้ด้วย anti-windup เช่น หยุดสะสมเมื่ออิ่มตัว

- สัญญาณรบกวนในเทอม D: ใส่ตัวกรองความถี่ต่ำที่เทอมอนุพันธ์ และหาอนุพันธ์จากค่าที่วัด $y$ แทนค่าผิดพลาด $e$ เพื่อไม่ให้เกิดการกระชากเมื่อเปลี่ยนค่าเป้าหมายทันที

- ความหน่วงเวลา (dead time): ยิ่งมาก ยิ่งต้องลด $K_p$ และเทอม D ไม่ช่วยมากนัก

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

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

- การจูน PID: Ziegler–Nichols, Cohen–Coon และวิธีอื่น

- เสถียรภาพของระบบควบคุม

- ระบบควบคุมทั้งชุด: ป้อนกลับ รูทโลคัส โบด

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

Kp Ki Kd แต่ละค่าทำหน้าที่อะไร?
Kp ตอบสนองต่อค่าผิดพลาดปัจจุบัน เพิ่มแล้วเร็วขึ้นแต่เสี่ยงเกินเป้า Ki สะสมค่าผิดพลาดในอดีต ช่วยกำจัดค่าผิดพลาดคงตัว Kd ดูแนวโน้มของค่าผิดพลาด ช่วยลดการเกินเป้าแต่ไวต่อสัญญาณรบกวน

ทำไมบางระบบใช้แค่ PI ไม่ใช้ PID?
เพราะเทอมอนุพันธ์ขยายสัญญาณรบกวนจากเซนเซอร์ วงควบคุมที่สัญญาณวัดมีสัญญาณรบกวนมาก เช่น อัตราการไหลและระดับของเหลว จึงมักใช้ PI ซึ่งเรียบง่ายและเพียงพอ ส่วนระบบที่ตอบสนองช้าและสัญญาณวัดสะอาดอาจได้ประโยชน์จากเทอม D

Integral windup คืออะไร?
เมื่อตัวขับ (วาล์ว มอเตอร์ ฮีตเตอร์) อิ่มตัวแล้ว แต่ค่าผิดพลาดยังไม่เป็นศูนย์ เทอมปริพันธ์จะสะสมค่าต่อไปเรื่อย ๆ พอค่าผิดพลาดกลับเครื่องหมายจึงใช้เวลานานกว่าจะคลาย ทำให้เกินเป้ามาก แก้ด้วย anti-windup เช่น หยุดสะสมเมื่ออิ่มตัว

Ziegler–Nichols ใช้ได้กับระบบทุกชนิดไหม?
ไม่ทุกชนิด วิธีวงปิดต้องปล่อยให้ระบบแกว่งต่อเนื่องที่ $K_u$ ซึ่งอาจอันตรายกับกระบวนการจริง และให้ผลเริ่มต้นที่มักแกว่งแรง ควรใช้เป็นจุดเริ่มต้นแล้วจูนละเอียดต่อ

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

ระบบควบคุม
การจูน PID ฉบับสมบูรณ์: จาก Step Test ถึง Ziegler–Nichols, SIMC และ Anti-Windup
คอร์สจูน PID ครบในบทความเดียว: หาแบบจำลองด้วย step test จูนด้วย Ziegler–Nichols, Cohen–Coon, SIMC และ relay เทียบผลด้วยการจำลอง แล้วแก้ปัญหา windup…
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)

**Kp Ki Kd แต่ละค่าทำหน้าที่อะไร?**
Kp ตอบสนองต่อค่าผิดพลาดปัจจุบัน เพิ่มแล้วเร็วขึ้นแต่เสี่ยงเกินเป้า Ki สะสมค่าผิดพลาดในอดีต ช่วยกำจัดค่าผิดพลาดคงตัว Kd ดูแนวโน้มของค่าผิดพลาด ช่วยลดการเกินเป้าแต่ไวต่อสัญญาณรบกวน

**ทำไมบางระบบใช้แค่ PI ไม่ใช้ PID?**
เพราะเทอมอนุพันธ์ขยายสัญญาณรบกวนจากเซนเซอร์ วงควบคุมที่สัญญาณวัดมีสัญญาณรบกวนมาก เช่น อัตราการไหลและระดับของเหลว จึงมักใช้ PI ซึ่งเรียบง่ายและเพียงพอ ส่วนระบบที่ตอบสนองช้าและสัญญาณวัดสะอาดอาจได้ประโยชน์จากเทอม D

**Integral windup คืออะไร?**
เมื่อตัวขับ (วาล์ว มอเตอร์ ฮีตเตอร์) อิ่มตัวแล้ว แต่ค่าผิดพลาดยังไม่เป็นศูนย์ เทอมปริพันธ์จะสะสมค่าต่อไปเรื่อย ๆ พอค่าผิดพลาดกลับเครื่องหมายจึงใช้เวลานานกว่าจะคลาย ทำให้เกินเป้ามาก แก้ด้วย anti-windup เช่น หยุดสะสมเมื่ออิ่มตัว

**Ziegler–Nichols ใช้ได้กับระบบทุกชนิดไหม?**
ไม่ทุกชนิด วิธีวงปิดต้องปล่อยให้ระบบแกว่งต่อเนื่องที่ $K_u$ ซึ่งอาจอันตรายกับกระบวนการจริง และให้ผลเริ่มต้นที่มักแกว่งแรง ควรใช้เป็นจุดเริ่มต้นแล้วจูนละเอียดต่อ
