---
title: "ระบบควบคุมเมคาทรอนิกส์: เซนเซอร์ แอคชูเอเตอร์ เซอร์โว และคาสเคด"
url: https://modsengineeringmath.com/learn/control-systems/mechatronics/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-12
---

> ระบบควบคุมในงานเมคาทรอนิกส์ องค์ประกอบ เซนเซอร์ (เอนโค้ดเดอร์ Hall IMU วัดกระแส) แอคชูเอเตอร์ (มอเตอร์ DC BLDC สเต็ปเปอร์ เซอร์โว) ไดรเวอร์ H-bridge และ PWM ออกแบบลูปคาสเคดกระแส ความเร็ว ตำแหน่งทีละขั้นพร้อมตัวเลขจริง feedforward แรงเสียดทาน backlash เรโซแนนซ์และฟิลเตอร์ notch ความละเอียดเอนโค้ดเดอร์ และไอเดียโปรเจกต์เมคาทรอนิกส์มากมาย

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

# ระบบควบคุมเมคาทรอนิกส์: เซนเซอร์ แอคชูเอเตอร์ เซอร์โว และคาสเคด

// บทที่ 13.23 · ระบบควบคุม · Mechatronic Systems Control


เมคาทรอนิกส์คือจุดที่กลไก ไฟฟ้า อิเล็กทรอนิกส์ และซอฟต์แวร์มาบรรจบกัน และระบบควบคุมคือกาวที่ยึดทุกอย่างไว้ เครื่อง CNC เครื่องพิมพ์ 3 มิติ กิมบอลกล้อง สายพานลำเลียง แขนกล และหุ่นยนต์ทุกตัว มีหัวใจเดียวกัน: มอเตอร์ที่ถูกคุมด้วยลูปซ้อนกระแส–ความเร็ว–ตำแหน่ง หน้านี้ออกแบบเซอร์โวจริงตั้งแต่เลือกเซนเซอร์จนถึงตั้งเกนทุกลูป ด้วยตัวเลขจากมอเตอร์ในตัวอย่าง M-2 สูตรใช้รหัส K

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

- คาสเคด: กระแส (kHz) ⊂ ความเร็ว (100 Hz) ⊂ ตำแหน่ง (10 Hz) ห่างกัน 5–10 เท่า

- ลูปกระแส PI: $K_P = L\omega_{ci},\ K_I = R\omega_{ci}$ (ศูนย์หักล้างขั้วไฟฟ้า)

- ลูปความเร็ว PI: $K_P = J\omega_{cs}/K_t$ ศูนย์ที่ $\omega_{cs}/5$ · ลูปตำแหน่ง P: $K_P = \omega_{cp}$

- Feedforward ความเร็ว/ความเร่ง ลดความผิดพลาดขณะเคลื่อนที่ได้มากกว่าเพิ่มเกน

## องค์ประกอบ: เซนเซอร์ แอคชูเอเตอร์ ไดรเวอร์ พื้นฐาน

| ส่วน | ตัวเลือก | ข้อควรรู้ด้านการควบคุม |

| เซนเซอร์ตำแหน่ง | เอนโค้ดเดอร์ incremental/absolute, โพเทนชิโอมิเตอร์, resolver, Hall | ความละเอียดจำกัด → ควอนไทซ์ · อนุพันธ์ของตำแหน่งได้ความเร็วที่มีสัญญาณรบกวน |

| เซนเซอร์ความเร็ว/มุม | แทโคเจเนอเรเตอร์, ไจโร (IMU), คำนวณจากเอนโค้ดเดอร์ | ไจโรมีดริฟต์ ต้องหลอมรวมกับ accelerometer (complementary/Kalman) |

| เซนเซอร์กระแส | ตัวต้านทาน shunt + แอมป์, Hall-effect | สุ่มกลางพัลส์ PWM เพื่อเลี่ยงริปเปิล |

| แอคชูเอเตอร์ | DC มีแปรง, BLDC/PMSM, สเต็ปเปอร์, เซอร์โว RC, โซลินอยด์, นิวแมติก | แบบจำลอง M7 · BLDC ใช้ FOC ทำให้เหมือน DC |

| ไดรเวอร์ | H-bridge (MOSFET), อินเวอร์เตอร์สามเฟส | PWM ≥ 20 kHz (เกินช่วงได้ยิน) · dead-time ทำให้เกิด dead-zone · เกน $V_{bus}$ |

| ตัวควบคุม | MCU (STM32, ESP32, Arduino), DSP, FPGA, PLC | คาบสุ่ม หน่วงคำนวณ ความละเอียด PWM (ดิจิทัล) |

K1 Encoder resolution ความละเอียดเอนโค้ดเดอร์

$$\Delta\theta = \frac{360^\circ}{4N_{PPR}}, \qquad \Delta\omega_{\min} = \frac{2\pi}{4N_{PPR}\,T_s} \ \text{rad/s (วิธีนับพัลส์ต่อคาบ)}$$

ตัวคูณ 4 จาก quadrature (นับทุกขอบของ A และ B) · ความเร็วต่ำใช้วิธีจับเวลาระหว่างพัลส์ (T-method) หรือผสม (M/T method)

ตัวอย่าง K-1 · เอนโค้ดเดอร์ 1000 PPR

### ความละเอียดมุมและความเร็วเป็นเท่าไร ถ้าคำนวณความเร็วทุก 1 ms

- $4 \times 1000 = 4000$ นับต่อรอบ: $\Delta\theta = 0.09^\circ$ K1

- 1 นับต่อ 1 ms = $\frac{1}{4000}$ รอบ ต่อ 1 ms = 0.25 รอบ/วินาที = 15 rpm

มุมละเอียด 0.09° แต่ความเร็วละเอียดแค่ 15 rpm ที่ 1 kHz: ที่ความเร็วต่ำค่าจะกระโดด 0, 15, 0, 15 rpm ทำให้ลูปความเร็วสั่น ต้องเพิ่มคาบคำนวณ ใช้ T-method หรือใช้ตัวสังเกตประมาณความเร็ว

## ออกแบบลูปคาสเคดทีละชั้น กลาง

ออกแบบจากในออกนอก แต่ละลูปถือว่าลูปในเร็วพอจนเป็น 1 (ตามหลักแบนด์วิดท์ห่าง 5–10 เท่า) หลักการเดียวกับลูปแทโค

K2 Current (torque) loop ลูปกระแส

$$\frac{I}{V} \approx \frac{1}{Ls + R}, \qquad C_i(s) = K_{P}\frac{s + R/L}{s}:\ \ K_P = L\,\omega_{ci},\ \ K_I = R\,\omega_{ci} \ \Rightarrow\ \frac{I}{I^*} = \frac{\omega_{ci}}{s + \omega_{ci}}$$

ศูนย์ของ PI หักล้างขั้วไฟฟ้า $-R/L$ วงปิดเป็นอันดับหนึ่งที่แบนด์วิดท์ $\omega_{ci}$ · แรง EMF ต้านช้ามากเทียบกับลูปนี้ (มองเป็นการรบกวน)

K3 Speed loop ลูปความเร็ว

$$\frac{\Omega}{I^*} \approx \frac{K_t}{Js}, \qquad C_\omega(s) = K_P + \frac{K_I}{s}:\ \ K_P = \frac{J\omega_{cs}}{K_t},\ \ K_I = K_P\frac{\omega_{cs}}{5}$$

ครอสโอเวอร์ที่ $\omega_{cs}$ ศูนย์ PI ต่ำกว่า 5 เท่า (PM ≈ 70°) · $J$ ต้องรวมโหลดที่สะท้อนผ่านเกียร์ (M10) ไม่อย่างนั้นแบนด์วิดท์จริงจะต่ำกว่าที่ออกแบบ

K4 Position loop + feedforward ลูปตำแหน่งและป้อนไปข้างหน้า

$$\omega^* = K_{P\theta}(\theta^* - \theta) + \dot\theta^*, \qquad i^* = C_\omega(\omega^* - \omega) + \frac{J}{K_t}\ddot\theta^*, \qquad K_{P\theta} = \omega_{cp}$$

ลูปตำแหน่ง P พอ เพราะพลานต์มีอินทิเกรเตอร์อยู่แล้ว (ชนิด 1) · feedforward ความเร็วและความเร่งจากวิถีที่วางแผนไว้ ทำให้ following error เกือบเป็นศูนย์ขณะเคลื่อนที่ โดยไม่ต้องเพิ่มเกน (ไม่เสียเสถียรภาพ)

ตัวอย่าง K-2 · ตั้งเกนเซอร์โวทั้งสามชั้น

### มอเตอร์ $R = 2\ \Omega,\ L = 1$ mH, $J = 10^{-5}$ kg·m², $K_t = 0.02$ N·m/A ต้องการแบนด์วิดท์ กระแส 1 kHz ความเร็ว 100 Hz ตำแหน่ง 10 Hz

- กระแส K2: $\omega_{ci} = 2\pi(1000) = 6283$ → $K_P = 10^{-3}(6283) = 6.28$ V/A, $K_I = 2(6283) = 12566$ V/(A·s)

- ความเร็ว K3: $\omega_{cs} = 628$ → $K_P = \dfrac{10^{-5}(628)}{0.02} = 0.314$ A·s/rad, $K_I = 0.314 \times 628/5 = 39.5$ A/rad

- ตำแหน่ง K4: $K_{P\theta} = 2\pi(10) = 62.8$ (rad/s)/rad

จำลองแบบเต็ม (รวม EMF และไดนามิกทุกลูป): ลูปกระแส PM 90° แบนด์วิดท์ 1.0 kHz · ลูปความเร็ว PM 73° ครอสโอเวอร์ 101 Hz · ลูปตำแหน่ง PM 89° ครอสโอเวอร์ 10.4 Hz ไม่มี overshoot เข้าที่ใน 64 ms

python-control ✓ · ในงานจริงจำกัด $i^*$ ไม่เกินกระแสสูงสุดของมอเตอร์ และจำกัด $\omega^*$ ด้วย พร้อม anti-windup ทุกชั้น

## ปัญหาจริง: แรงเสียดทาน backlash และเรโซแนนซ์ ขั้นสูง

K5 Mechanical resonance and notch filter เรโซแนนซ์ทางกลและฟิลเตอร์ notch

$$\omega_r = \sqrt{k\left(\frac{1}{J_m} + \frac{1}{J_L}\right)}, \qquad N(s) = \frac{s^2 + 2\zeta_z\omega_0s + \omega_0^2}{s^2 + 2\zeta_p\omega_0s + \omega_0^2},\ \ \zeta_z \ll \zeta_p$$

เพลาหรือสายพานยืดหยุ่น ($k$) ทำให้มอเตอร์กับโหลดเป็นสองมวลที่สั่นใส่กัน ยอดเรโซแนนซ์บนโบดทำให้ GM หาย · วาง notch ที่ $\omega_0 = \omega_r$ หรือจำกัดแบนด์วิดท์ลูปความเร็วให้ต่ำกว่า $\omega_r/3$

K6 Friction compensation ชดเชยแรงเสียดทาน

$$T_f = T_c\operatorname{sign}(\omega) + b\,\omega, \qquad i_{ff} = \frac{\hat T_c\operatorname{sign}(\omega^*) + \hat b\,\omega^*}{K_t}$$

ใช้ $\omega^*$ (ค่าสั่ง) แทน $\omega$ วัด เพื่อไม่ให้สั่นรอบความเร็วศูนย์ · ชดเชยไม่ครบ ปล่อยให้เทอม I จัดการส่วนที่เหลือ

## แล็บ: ลูปความเร็วของมอเตอร์

พลานต์คือมอเตอร์จาก M-2 ($\frac{49.8}{0.05s + 1}$ rad/s ต่อ V) และแบบมีโหลดเฉื่อยมากขึ้น ลองตั้ง PI แล้วดูการรบกวนจากโหลดครึ่งทาง เปิด “จำกัด |u|” ที่ 12 V เพื่อเห็นข้อจำกัดของแหล่งจ่าย

กำลังโหลดแล็บ (ต้องเปิด JavaScript)

## ไอเดียโปรเจกต์เมคาทรอนิกส์ (จากง่ายไปยาก)

| โปรเจกต์ | สิ่งที่ได้เรียน | หน้าที่เกี่ยวข้อง | ระดับ |

| คุมความเร็วพัดลม/มอเตอร์ DC ด้วยเอนโค้ดเดอร์ | PI, PWM, วัดความเร็ว | PID | พื้นฐาน |

| คุมอุณหภูมิกล่อง/หัวแร้ง/เตาอบรีโฟลว์ | FOPDT, จูน PID, anti-windup | จูน PID | พื้นฐาน |

| หุ่นยนต์เดินตามเส้น | PD, เซนเซอร์อาร์เรย์, ความเร็วล้อ | โรโบติกส์ | พื้นฐาน |

| เซอร์โวตำแหน่งจากมอเตอร์ DC | คาสเคด, feedforward | หน้านี้ | กลาง |

| Ball-and-beam / ball-on-plate | ระบบชนิด 2, lead, กล้อง | lead | กลาง |

| ลอยแม่เหล็ก (maglev) | พลานต์ไม่เสถียร, ทำให้เป็นเชิงเส้น, lead | ทำเป็นเชิงเส้น | กลาง |

| กิมบอลกล้องสองแกน | IMU, sensor fusion, PI อัตราหมุน | ดิจิทัล | กลาง |

| ลูกตุ้มกลับหัวบนรถ / Furuta pendulum | ปริภูมิสถานะ, LQR, swing-up | LQR | ขั้นสูง |

| เครื่อง CNC / พล็อตเตอร์ 2 แกน | วางแผนวิถี, ประสานหลายแกน | วิถี | ขั้นสูง |

| ไดรฟ์ BLDC แบบ FOC | Clarke–Park, ลูปกระแส dq | คลาร์ก-พาร์ก | ขั้นสูง |

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

## ต่อยอดไปหน้าถัดไป

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

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

ทำไมเซอร์โวไดรฟ์ใช้ลูปซ้อนสามชั้น?
เพราะแต่ละชั้นจัดการปัญหาคนละความเร็ว ลูปกระแสในสุด (kHz) คุมแรงบิดและป้องกันกระแสเกิน ลูปความเร็ว (หลักร้อย Hz) ต้านการรบกวนจากโหลด ลูปตำแหน่งนอกสุด (หลักสิบ Hz) ทำให้ถึงเป้า ลูปในที่เร็วทำให้ลูปนอกเห็นพลานต์ที่ง่ายขึ้น และจำกัดค่าแต่ละชั้นได้อย่างปลอดภัย

แบนด์วิดท์ของแต่ละลูปควรห่างกันเท่าไร?
กฎทั่วไปคือ 5 ถึง 10 เท่า เช่น ลูปกระแส 1–2 kHz ลูปความเร็ว 100–200 Hz ลูปตำแหน่ง 10–30 Hz ถ้าห่างน้อยกว่านั้น ลูปในจะเพิ่มเฟสล่าช้าให้ลูปนอกจนมาร์จินลดลง

เลือกมอเตอร์สำหรับโปรเจกต์อย่างไร?
สเต็ปเปอร์เหมาะกับงานตำแหน่งเบา ๆ ไม่ต้องมีเซนเซอร์ (เครื่องพิมพ์ 3 มิติ) แต่หลุดขั้นได้ถ้าโหลดเกิน มอเตอร์ DC มีแปรงถ่านควบคุมง่าย ราคาถูก เหมาะกับหุ่นยนต์ล้อ BLDC/PMSM มีประสิทธิภาพสูงและเร็ว ต้องใช้ไดรเวอร์ FOC เหมาะกับโดรนและแขนกล ส่วนเซอร์โว RC รวมมอเตอร์ เกียร์ และตัวควบคุมตำแหน่งไว้ในตัว

มด

อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์

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

**ทำไมเซอร์โวไดรฟ์ใช้ลูปซ้อนสามชั้น?**
เพราะแต่ละชั้นจัดการปัญหาคนละความเร็ว ลูปกระแสในสุด (kHz) คุมแรงบิดและป้องกันกระแสเกิน ลูปความเร็ว (หลักร้อย Hz) ต้านการรบกวนจากโหลด ลูปตำแหน่งนอกสุด (หลักสิบ Hz) ทำให้ถึงเป้า ลูปในที่เร็วทำให้ลูปนอกเห็นพลานต์ที่ง่ายขึ้น และจำกัดค่าแต่ละชั้นได้อย่างปลอดภัย

**แบนด์วิดท์ของแต่ละลูปควรห่างกันเท่าไร?**
กฎทั่วไปคือ 5 ถึง 10 เท่า เช่น ลูปกระแส 1–2 kHz ลูปความเร็ว 100–200 Hz ลูปตำแหน่ง 10–30 Hz ถ้าห่างน้อยกว่านั้น ลูปในจะเพิ่มเฟสล่าช้าให้ลูปนอกจนมาร์จินลดลง

**เลือกมอเตอร์สำหรับโปรเจกต์อย่างไร?**
สเต็ปเปอร์เหมาะกับงานตำแหน่งเบา ๆ ไม่ต้องมีเซนเซอร์ (เครื่องพิมพ์ 3 มิติ) แต่หลุดขั้นได้ถ้าโหลดเกิน มอเตอร์ DC มีแปรงถ่านควบคุมง่าย ราคาถูก เหมาะกับหุ่นยนต์ล้อ BLDC/PMSM มีประสิทธิภาพสูงและเร็ว ต้องใช้ไดรเวอร์ FOC เหมาะกับโดรนและแขนกล ส่วนเซอร์โว RC รวมมอเตอร์ เกียร์ และตัวควบคุมตำแหน่งไว้ในตัว
