TÓM TẮT CƠ CHẾ PHÁT XUNG PWM ĐIỀU KHIỂN VAN
Dưới đây là phân tích hoàn chỉnh về cách phát xung PWM điều khiển van dựa trên đoạn code bạn đã đưa ở trên (không cần file bổ sung – vì code you pasted đã đầy đủ phần PWM).
Tôi sẽ giải thích rõ ràng – từng bước – đúng bản chất điều tốc thủy điện, vì PWM ở đây không phải PWM tần số cao, mà là PWM chu kỳ dài để điều khiển van thủy lực (van tăng/van giảm).
🟦 I. CÁC BIẾN PWM CHÍNH TRONG CODE
| Biến | Ý nghĩa |
|---|---|
PWM_x_Pulse_P | Chu kỳ PWM (Period) – đơn vị 0.1 ms |
PWM_x_Pulse_t | Độ rộng xung (Pulse width) – 0…10000 = 0–100% duty |
PWM_1 | Điều khiển van TĂNG |
PWM_2 | Điều khiển van GIẢM |
PWM_3, PWM_4 | Bản sao output để đưa ra PTO chân cứng |
🟦 II. LUỒNG XỬ LÝ PWM (TỪ HMI → VAN)
1) Người vận hành nhập chu kỳ từ HMI
-
HMI nhập đơn vị ms
-
PLC nhân ×10 ⇒ đơn vị thực 0.1 ms
▶ Ví dụ:
HMI nhập 20000 →
PWM_P = 20000 × 10 = 200000
→ 200000 × 0.1ms = 20s chu kỳ PWM
👉 Chu kỳ PWM của hệ thống = 20 GIÂY, phù hợp điều khiển van thủy lực (chậm, mạnh).
2) Tính độ rộng xung (duty) từ thuật toán PID
-
Tín hiệu từ PID được khuếch đại ×5
-
Giới hạn max = 10000 (⇒ 100% duty)
👉 Đây là chuẩn:
| PWM_t | Duty (%) |
|---|---|
| 0 | 0% |
| 5000 | 50% |
| 10000 | 100% |
3) Gán giá trị độ rộng xung ra PWM
PWM_1 tăng van
PWM_2 giảm van
🟦 III. LOGIC NGẮT XUNG 20 GIÂY – 2 GIÂY
Giải thích:
-
Bộ đếm chạy 0 → 18000 (18s)
-
Sau đó reset về 0
-
Vùng 2s còn lại → cưỡng bức tắt PWM
Mục đích:
✔ Bảo vệ cuộn coil
✔ Tránh van bị “gồng” hoặc “nhấp nhả liên tục”
✔ Tăng tuổi thọ van servo
🟦 IV. LOGIC CƯỠNG BỨC TẮT PWM KHI ĐIỀU KIỆN KHÔNG ĐẢM BẢO
Các điều kiện gồm:
-
Mất feedback
-
Chế độ hòa lưới cần ổn định
-
Debug off
-
Tốc độ/góc van đang nằm trong vùng an toàn
-
Không lệch tải lớn
👉 Mục tiêu: tránh phát xung sai làm giật van.
🟦 V. LOGIC KHI STOP MÁY – ĐÓNG VAN THEO XUNG
Khi:
-
Máy STOP (
P_GKPD = 2) -
Đợi 4–5 giây
-
Góc mở thực tế
< 1%
→ PLC bắt đầu gửi xung nghiệp vụ để đóng van từ từ:
→ Van không đóng “cái rụp” → tránh sốc thủy lực.
🟦 VI. LOGIC BẢO VỆ ĐẦU VÀO AD1 (FEEDBACK)
Nếu cảm biến góc van hỏng:
→ KHÔNG cho van chạy khi mất phản hồi.
🟦 VII. PWM_3 và PWM_4 = output mirror
→ Dùng cho phần cứng PTO/PWM output module
→ Đảm bảo van được điều khiển qua chân cứng độc lập.
🟦 VIII. TÓM TẮT CƠ CHẾ PHÁT XUNG PWM ĐIỀU KHIỂN VAN
1) Chu kỳ PWM (period) được nhập từ HMI (ví dụ 20 giây)
2) Duty (%) được tính từ PID → quy ra 0–10000
3) PLC tạo dạng xung:
-
ON = Pulse_t
-
OFF = Pulse_Pulse_P – Pulse_t
4) Xung này cấp cho cuộn van tăng/giảm
➡ Van chạy nhiều hay ít dựa trên tỷ lệ ON/OFF, không phải tốc độ.
🟦 IX. Nếu bạn muốn tôi vẽ dạng xung thực tế
Hãy cho:
-
PWM_1_Pulse_P = ? -
PWM_1_Pulse_t = ?
Tôi sẽ vẽ biểu đồ xung đúng 100% theo thời gian thực, giống oscilloscope.

