Giới thiệu dự án
Trong kỷ nguyên tự động hóa công nghiệp và Công nghiệp 4.0, hệ thống truyền động điện một chiều (DC Motor Drives) vẫn đóng vai trò xương sống trong nhiều dây chuyền sản xuất đòi hỏi dải điều chỉnh tốc độ rộng, mô-men khởi động lớn và khả năng quá tải cao như máy cán thép, máy công cụ chính xác, thiết bị nâng hạ và đầu máy giao thông vận tải. Theo các báo cáo kỹ thuật ngành truyền động tự động, hơn 25% các cơ cấu chấp hành công nghiệp vừa và nhỏ vẫn ưu tiên sử dụng động cơ DC nhờ tính tuyến tính vượt trội của đặc tính cơ và cấu trúc điều khiển đơn giản hơn so với hệ xoay chiều biến tần phức tạp.
Tuy nhiên, việc điều khiển chính xác vận tốc góc của động cơ DC trong môi trường tải biến thiên liên tục đặt ra những thách thức kỹ thuật lớn:
- Hiện tượng sai lệch tĩnh ($e_{ss}$): Khi chỉ dùng bộ điều chỉnh tỷ lệ ($P$), hệ thống luôn tồn tại độ sụt tốc khi có tải cản ($M_c$), buộc phải tăng hệ số khuếch đại $K_p$, dẫn đến nguy cơ dao động và mất ổn định hệ thống.
- Hiện tượng bão hòa tích phân (Integral Windup): Khi tải thay đổi đột ngột hoặc điểm đặt (Setpoint) thay đổi lớn, thành phần tích phân ($I$) cộng dồn sai số quá mức vượt quá khả năng điện áp định mức của mạch công suất, gây vọt lố nghiêm trọng ($\sigma > 25%$) và kéo dài thời gian quá độ.
- Hạn chế của mạch điều khiển tương tự (Analog Op-Amp): Các bộ điều khiển PID tương tự truyền thống phụ thuộc vào linh kiện thụ động ($R, C$), dễ bị trôi nhiệt ($>10%$), suy giảm độ nhạy theo thời gian và không thể thay đổi thông số $K_p, T_i, T_d$ một cách trực quan, linh hoạt mà không phải can thiệp phần cứng.
+--------------+ +-------------------+ +----------------+
r(t) | Bộ điều khiển| u(t) | Mạch băm xung áp | Uư | Động cơ DC | y(t)
------>| PID số |----->| (PWM Driver/MOSFET|----->| Kích từ độc lập|----+--> Tốc độ
+ - | (PIC16F877A) | | /Chỉnh lưu CL-ĐC) | | | | (RPM)
^ +--------------+ +-------------------+ +----------------+ |
| |
+--------------------- [ Encoder quang hồi tiếp ] <--------------------------+
Đồ án tốt nghiệp đại học ngành Điện Tự Động Công Nghiệp với đề tài: "Thiết kế, chế tạo bộ điều chỉnh PID cho phép điều chỉnh các hệ số khuếch đại và hằng số thời gian" do sinh viên Lã Mạnh Thắng thực hiện dưới sự hướng dẫn của GS.TSKH Thân Ngọc Hoàn đã giải quyết triệt để các hạn chế trên bằng giải pháp số hóa toàn diện.
Mục tiêu kỹ thuật cốt lõi của dự án
- Thiết kế và chế tạo phần cứng điều khiển trung tâm: Ứng dụng vi điều khiển 8-bit Microchip PIC16F877A với thạch anh ngoại 20 MHz để tính toán thuật toán PID thời gian thực.
- Lập trình thuật toán PID rời rạc tích hợp Anti-Windup: Xử lý tín hiệu sai lệch vận tốc $e(t) = r(t) - y(t)$, xuất tín hiệu điều khiển điều chế độ rộng xung (PWM) với tần số đóng cắt tối ưu để điều khiển mạch biến đổi xung áp - động cơ (XA-ĐC).
- Tích hợp giao diện điều khiển ngoại vi HMI trực tiếp: Thiết kế bàn phím ma trận 16 phím ($4 \times 4$) cho phép kỹ sư nhập và thay đổi trực tiếp các hệ số khuếch đại $K_p$, thời gian tích phân $T_i$, thời gian vi phân $T_d$ mà không cần nạp lại firmware.
- Thiết kế mạch phản hồi tốc độ khép kín: Sử dụng Encoder quang học (Optical Incremental Encoder) kết hợp ngắt Timer/Capture của PIC16F877A để đo đếm chính xác tốc độ quay tức thời (vòng/phút - RPM).
- Hiển thị trực quan trên LCD 16x2: Giám sát liên tục giá trị tốc độ đặt ($r$), tốc độ thực tế ($y$), sai số ($e$) và các tham số PID theo chu kỳ thực thi.
| Chỉ số kỹ thuật (Metrics) | Giá trị mục tiêu (Design Target) |
|---|---|
| Dải điều chỉnh tốc độ ($D$) | $10:1$ (từ 150 RPM đến 1500 RPM) |
| Sai số xác lập tĩnh ($e_{ss}$) | $< 0.8%$ tại chế độ đầy tải |
| Độ vọt lố tối đa ($\sigma_{max}$) | $\le 5%$ với thuật toán PID có bù đạo hàm |
| Thời gian xác lập ($t_s$) | $< 1.2\text{ s}$ khi thay đổi bước nhảy Setpoint |
| Tần số phát xung PWM | $4.88\text{ kHz} - 19.53\text{ kHz}$ (triệt tiêu tiếng ồn âm tần) |
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trong lý thuyết truyền động điện tự động, việc điều khiển điện áp phần ứng $U_ư$ cấp cho động cơ một chiều kích từ độc lập là phương pháp điều chỉnh triệt để nhất, cho phép giữ nguyên từ thông định mức $\Phi = \Phi_{đm}$ và bảo toàn độ cứng đặc tính cơ $\beta = \text{const}$:
$$U_ư = E_ư + I_ư(R_ư + R_f)$$
Trong đó sức phản điện động phần ứng được xác định qua biểu thức:
$$E_ư = \frac{p \cdot N}{2\pi \cdot a} \cdot \Phi \cdot \omega = K \cdot \Phi \cdot \omega$$
Phương trình đặc tính cơ tĩnh của động cơ:
$$\omega = \frac{U_ư}{K\Phi} - \frac{R_ư + R_f}{(K\Phi)^2} M$$
So sánh ba phương pháp truyền động kinh điển:
| Tiêu chí so sánh | Hệ Máy phát - Động cơ (F - Đ) | Hệ Chỉnh lưu - Động cơ (CL - ĐC) | Hệ Xung áp - Động cơ (XA - ĐC) dùng Vi điều khiển |
|---|---|---|---|
| Cấu trúc phần cứng | Cồng kềnh, gồm ít nhất 2 máy điện quay | Gọn hơn, dùng Tiristor/Diode công suất | Rất nhỏ gọn, dùng MOSFET/IGBT kết hợp MCU |
| Hiệu suất năng lượng ($\eta$) | Thấp ($55% - 65%$) do tổn thất máy quay | Trung bình ($75% - 85%$) do sóng hài dòng | Cao ($>90%$), tổn hao chuyển mạch thấp |
| Độ linh hoạt điều khiển | Kém, phụ thuộc quán tính từ trường máy phát | Khá, phụ thuộc góc kích mở $\alpha$ | Rất cao, thuật toán PID số linh hoạt, cập nhật $K_p, T_i, T_d$ tức thì |
| Chi phí đầu tư & bảo dưỡng | Rất cao, bảo dưỡng chổi than phức tạp | Trung bình, mạch điều khiển phức tạp | Thấp, dễ module hóa và thay thế linh kiện |
YÊU CẦU ĐẶT TẢ HỆ THỐNG THEO MÔ HÌNH MoSCoW
+-----------------------------------------------------------------------+
| MUST HAVE (Bắt buộc): |
| - Vòng điều khiển PID kín số (Closed-loop Digital PID) |
| - Khối đo đếm Encoder quang với ngắt Capture / Timer |
| - Xuất xung PWM 10-bit điều khiển tầng công suất H-Bridge |
+-----------------------------------------------------------------------+
| SHOULD HAVE (Nên có): |
| - Thuật toán Anti-Windup chống bão hòa khâu tích phân |
| - Giao diện bàn phím ma trận 4x4 nhập thông số Kp, Ki, Kd trực tiếp |
| - Hiển thị LCD HD44780 16x2 thông số Setpoint/Real-time RPM |
+-----------------------------------------------------------------------+
| COULD HAVE (Mở rộng): |
| - Giao tiếp UART truyền dữ liệu đồ thị quá độ lên máy tính PC |
| - Lưu trữ cấu hình tham số PID vào bộ nhớ EEPROM nội của PIC |
+-----------------------------------------------------------------------+
| WON'T HAVE (Chưa áp dụng): |
| - Tự động dò thông số thích nghi bằng mạng nơ-ron (Auto-tuning AI) |
+-----------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình module hóa phần cứng và số hóa giải thuật điều khiển.
+-----------------------------------------------------------------+
| PIC16F877A MCU |
| |
| +-------------+ +---------------+ +-------------+ |
| | Port B: | | Core Timer/ | | Port C/CCP1:| |
| | Keypad 4x4 |------>| PID Engine |------>| PWM Modulator| |
| | Input Logic | | (Anti-Windup) | | (10-bit Res)| |
| +-------------+ +---------------+ +------+------+ |
| ^ | |
| +-------------+ | | |
| | Port D: | | | |
| | LCD 16x2 |<-------------+ | |
| | Display Bus | | | |
| +-------------+ | | |
+-------------------------------|-----------------------|---------+
| |
+---------+---------+ +--------v--------+
| Optical Encoder | | Driver Cách ly |
| Pulse Feedback | | (Opto + H-Bridge|
| (Timer1 Capture) | | IRF540N/L298) |
+---------^---------+ +--------+--------+
| |
+-----+-----------------------v----+
| Động cơ DC + Tải thực nghiệm |
+----------------------------------+
Technology Stack & Linh kiện phần cứng
- Bộ vi điều khiển: Microchip PIC16F877A kiến trúc RISC 8-bit, 35 tập lệnh, tần số 20 MHz (thời gian thực thi lệnh $200\text{ ns}$), bộ nhớ Flash ROM 8K words, RAM 368 bytes, tích hợp 2 khối CCP (Capture/Compare/PWM) và 3 bộ định thời (Timer0, Timer1, Timer2).
- Trình biên dịch & Môi trường phát triển: CCS C Compiler v5.074 IDE, tối ưu hóa các hàm toán học dấu phẩy động và ngắt phần cứng.
- Khối công suất: Mạch băm xung áp sử dụng MOSFET công suất (IRF540N) hoặc IC cầu H (L298N) tích hợp Diode dập xung ngược (Flyback Diode) bảo vệ chuyển mạch cảm kháng $L_ư$.
- Khối cách ly quang: Optocoupler PC817/6N137 cách ly hoàn toàn mạch số điều khiển $5\text{V}$ và mạch lực công suất $24\text{V}/12\text{V}$.
- Khối cảm biến hồi tiếp: Incremental Optical Encoder đĩa quay 100 xung/vòng (PPR), cấp nguồn $5\text{V}$, xuất tín hiệu xung vuông TTL.
- Khối hiển thị & giao tiếp: Màn hình LCD 16x2 chuẩn giao tiếp Hitachi HD44780 chế độ 4-bit/8-bit; Bàn phím ma trận $4 \times 4$ kết nối qua Port B.
Cơ sở toán học thuật toán PID số
Hàm truyền liên tục của bộ điều khiển PID trong miền Laplace:
$$G_{PID}(s) = \frac{U(s)}{E(s)} = K_p + \frac{K_i}{s} + K_d \cdot s = K_p \left(1 + \frac{1}{T_i s} + T_d s\right)$$
Để thực thi trên vi điều khiển PIC16F877A, phương trình vi phân liên tục được rời rạc hóa với chu kỳ lấy mẫu $T_s$ theo phương pháp xấp xỉ hình chữ nhật (Euler backward) cho khâu tích phân và sai phân lùi cho khâu vi phân:
$$u[k] = K_p \cdot e[k] + K_i \cdot T_s \sum_{j=0}^{k} e[j] + \frac{K_d}{T_s} (e[k] - e[k-1])$$
Trong đó:
- $e[k] = r[k] - y[k]$ là sai lệch giữa tốc độ đặt $r[k]$ và tốc độ đo $y[k]$ tại chu kỳ lấy mẫu thứ $k$.
- $e[k-1]$ là sai lệch tại chu kỳ trước đó.
- Tín hiệu đầu ra $u[k]$ sau đó được ánh xạ tuyến tính thành giá trị Duty Cycle nạp vào thanh ghi
CCPR1Lcủa khối PWM.
Methodology
Phương pháp luận thiết kế hệ thống tuân theo mô hình chữ V (V-Model Engineering):
1. Phân tích yêu cầu -> 2. Thiết kế mô hình toán -> 3. Lập trình nhúng (CCS C)
|
6. Tinh chỉnh thực nghiệm <- 5. Đo kiểm phần cứng <- 4. Chế tạo mạch PCB
- Tiến độ triển khai dự án:
| Giai đoạn | Nội dung công việc | Deliverables | Thời gian |
|---|---|---|---|
| P1: Nghiên cứu | Tổng quan động cơ DC, lý thuyết PID, kiến trúc PIC16F877A | Báo cáo cơ sở lý thuyết & tài liệu thiết kế | Tuần 1 - 3 |
| P2: Phần cứng | Vẽ sơ đồ nguyên lý (Schematic), layout PCB bộ điều khiển | Bản vẽ mạch Altium & Board mạch hoàn thiện | Tuần 4 - 6 |
| P3: Lập trình | Viết driver LCD, Keypad, Timer ngắt, khối PWM và thuật toán PID | Mã nguồn C firmware trên CCS C | Tuần 7 - 9 |
| P4: Thử nghiệm | Tinh chỉnh thông số ($K_p, T_i, T_d$) bằng phương pháp thực nghiệm | Đồ thị đáp ứng quá độ và bảng tham số chuẩn | Tuần 10 - 12 |
Implementation và kết quả
Development Process & Mã nguồn thuật toán
Mã nguồn được cấu trúc module hóa trên trình biên dịch CCS C. Thuật toán PID được thực thi định kỳ trong chương trình ngắt Timer0 với chu kỳ trích mẫu $T_s = 20\text{ ms}$ ($50\text{ Hz}$).
// ====================================================================
// THUAT TOAN DIEU KHIEN DONG CO DC BANG PID SO TREN PIC16F877A
// Trinh bien dich: CCS C Compiler v5.074
// ====================================================================
#include <16F877A.h>
#device ADC=10
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT
#use delay(clock=20000000) // Thach anh 20MHz
#include <lcd.c>
// Khai bao cac bien trang thai PID
float Kp = 1.85; // He so ty le
float Ki = 0.45; // He so tich phan
float Kd = 0.08; // He so vi phan
float Ts = 0.02; // Chu ky trich mau Ts = 20ms
int16 setpoint_rpm = 1000; // Toc do dat mong muon (RPM)
int16 current_rpm = 0; // Toc do thuc do tu Encoder (RPM)
int16 pulse_count = 0; // So xung dem tu Timer1
float error = 0.0;
float pre_error = 0.0;
float p_part = 0.0;
float i_part = 0.0;
float d_part = 0.0;
float pid_out = 0.0;
int16 pwm_duty = 0;
// Gioi han Anti-Windup cho khau tich phan va dau ra PWM
#define INTEGRAL_MAX 500.0
#define INTEGRAL_MIN -500.0
#define PWM_MAX 1023 // Do phan giai PWM 10-bit
#define PWM_MIN 0
// Chuong trinh ngat Timer0 thuc thi chu ky dieu khien 20ms
#INT_TIMER0
void timer0_isr() {
set_timer0(60); // Dat lai gia tri nap de tao chu ky 20ms (Fosc = 20MHz)
// 1. Doc so xung tu Encoder qua Timer1 va quy doi sang RPM
pulse_count = get_timer1();
set_timer1(0);
// Voi Encoder 100 xung/vong, Ts = 20ms = 0.02s:
// RPM = (pulse_count / 100) * (60 / 0.02) = pulse_count * 30
current_rpm = pulse_count * 30;
// 2. Tinh toan sai lech
error = (float)(setpoint_rpm - current_rpm);
// 3. Tinh toan thanh phan Ty le (P)
p_part = Kp * error;
// 4. Tinh toan thanh phan Tich phan (I) voi co che Anti-Windup Clamp
i_part += Ki * error * Ts;
if (i_part > INTEGRAL_MAX) i_part = INTEGRAL_MAX;
else if (i_part < INTEGRAL_MIN) i_part = INTEGRAL_MIN;
// 5. Tinh toan thanh phan Vi phan (D)
d_part = Kd * (error - pre_error) / Ts;
pre_error = error;
// 6. Tong hop tin hieu dieu khien u[k]
pid_out = p_part + i_part + d_part;
// 7. Bao hoa va chuyen doi sang gia tri Duty Cycle 10-bit
if (pid_out > (float)PWM_MAX) pwm_duty = PWM_MAX;
else if (pid_out < (float)PWM_MIN) pwm_duty = PWM_MIN;
else pwm_duty = (int16)pid_out;
// 8. Xuat tin hieu PWM toi Module CCP1
set_pwm1_duty(pwm_duty);
}
Testing và validation
Quá trình đo kiểm thực nghiệm được thực hiện trên mô hình động cơ DC $24\text{V} - 45\text{W}$, có gắn tải phanh ma sát và Encoder quang học. Kết quả kiểm tra đáp ứng với tốc độ đặt bước nhảy $r(t) = 1000\text{ RPM}$ được tổng hợp dưới bảng sau:
| Luật điều khiển | Thời gian tăng trưởng ($t_r$) | Thời gian xác lập ($t_s$) | Độ vọt lố ($\sigma%$) | Sai số xác lập ($e_{ss}$) | Trạng thái ổn định khi thêm tải |
|---|---|---|---|---|---|
| Quy luật P ($K_p = 2.0$) | $0.25\text{ s}$ | $0.85\text{ s}$ | $12.5%$ | $3.5%$ (sụt 35 RPM) | Sụt áp, rung lắc khi tải tăng |
| Quy luật PI ($K_p = 1.8, T_i = 0.05\text{s}$) | $0.42\text{ s}$ | $1.45\text{ s}$ | $8.2%$ | $0.0%$ (triệt tiêu) | Chậm hồi phục, có hiện tượng quá độ kéo dài |
| Quy luật PID đề xuất ($K_p=1.85, T_i=0.045\text{s}, T_d=0.008\text{s}$) | $0.28\text{ s}$ | $0.65\text{ s}$ | $2.8%$ | $< 0.2%$ | Bám cực nhanh, hồi phục trong $0.35\text{s}$ |
Tốc độ (RPM)
1200 | ..---.. (Độ vọt lố P: 12.5%)
1050 | .-' '-.
1000 |===========+=============+========================== (Setpoint: 1000 RPM)
| / \__ \ <-- Đáp ứng PID đề xuất (Vọt lố 2.8%, ts=0.65s)
800 | / '--. \
600 | / '------' <-- Đáp ứng P (Tồn tại sai lệch tĩnh ess = 35 RPM)
400 | /
200 | /
0 +-----+---------+---------+---------+---------+-----> Thời gian (giây)
0 0.2 0.4 0.6 0.8 1.0
Đổi mới và đóng góp
- Linh hoạt cấu hình thông số tại hiện trường (On-the-fly Parameter Tuning): Khắc phục hoàn toàn nhược điểm cố định hệ số của các mạch tương tự bằng giao diện bàn phím ma trận số, cho phép người vận hành thay đổi trực tiếp độ lợi $K_p$, hằng số $T_i, T_d$ theo từng đối tượng động cơ cụ thể.
- Khử triệt để hiện tượng bão hòa tích phân (Anti-Windup Clamping): Thuật toán giới hạn biên trên/dưới của tích phân giúp giảm thời gian hồi phục khi khởi động từ $1.8\text{ s}$ xuống $0.65\text{ s}$ (cải thiện $63.8%$).
- Tối ưu hóa tài nguyên phần cứng vi điều khiển 8-bit: Bằng việc tối ưu thuật toán số nguyên và ép kiểu dấu phẩy động cục bộ, mã nguồn thực thi vòng lặp PID chỉ mất $1.8\text{ ms}$, chiếm chưa đầy $10%$ thời gian CPU trong chu kỳ $20\text{ ms}$.
| Tiêu chí | Mạch PID Op-Amp Tương tự | Module PID trên PLC Siemens S7-1200 | Bộ điều khiển PID PIC16F877A (Đồ án) |
|---|---|---|---|
| Độ ổn định nhiệt | Thấp (sai số trôi dạt $>8%$) | Tuyệt đối (Số hóa hoàn toàn) | Rất cao (Đồng hồ thạch anh chính xác) |
| Khả năng thay đổi $K_p, T_i, T_d$ | Phải vặn biến trở hoặc hàn thay $R, C$ | Phải dùng phần mềm TIA Portal trên PC | Nhập trực tiếp từ Keypad $4\times 4$ tích hợp |
| Chi phí phần cứng (BOM) | Thấp ($10 - 15\text{ USD}$) | Rất cao ($300 - 500\text{ USD}$) | Thấp ($20 - 25\text{ USD}$) |
| Thời gian đáp ứng trễ | Tức thời (miền liên tục) | Phụ thuộc Scan cycle ($10 - 50\text{ ms}$) | Chu kỳ trích mẫu chuẩn $20\text{ ms}$ |
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng công nghiệp
- Băng chuyền đóng gói thực phẩm/dược phẩm: Duy trì tốc độ đồng bộ giữa các băng tải nạp liệu và dán nhãn bất chấp trọng lượng sản phẩm thay đổi ngẫu nhiên.
- Hệ trục cuốn dây/cán màng nhựa: Ổn định lực căng và vận tốc dài của vật liệu cuốn, chống đứt gãy sợi trong dệt may.
- Trục chính máy công cụ CNC mini / Robot tự hành AGV: Điều khiển tốc độ bánh xe chủ động bám quỹ đạo chính xác với sai số góc $< 1^\circ$.
+-------------------+ +-------------------+ +-------------------+
| Nguồn 220VAC |----->| Nguồn xung DC |----->| Khối công suất |
| Lưới điện | | 24VDC - 10A | | MOSFET H-Bridge |
+-------------------+ +---------+---------+ +---------+---------+
| |
+---------v---------+ |
| Nguồn hạ áp Logic | |
| 5VDC (LM7805) | |
+---------+---------+ |
| |
+---------v---------+ |
| Bo điều khiển |--[Xung PWM]--> |
| PIC16F877A | (Cách ly) |
+-------------------+ v
+-----------+
| Động cơ DC|
+-----------+
Phân tích chi phí & Hiệu quả kinh tế (ROI)
- Chi phí chế tạo phần cứng (BOM Cost): Tổng chi phí linh kiện (PIC16F877A, PCB, LCD, Keypad, MOSFET, Encoder, linh kiện thụ động) xấp xỉ 450.000 VNĐ - 550.000 VNĐ (~$22 USD).
- Hiệu quả đầu tư: So với việc trang bị một bộ điều tốc công nghiệp chuyên dụng hoặc PLC module (chi phí từ 5.000.000 - 8.000.000 VNĐ), giải pháp tự thiết kế giúp tiết kiệm $>85%$ chi phí chế tạo, thời gian hoàn vốn (ROI) đạt được ngay trong chu kỳ sản xuất thử nghiệm đầu tiên.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Giới hạn kiến trúc 8-bit: Vi điều khiển PIC16F877A không có bộ đồng xử lý dấu phẩy động phần cứng (Hardware FPU), khiến các phép tính toán số học thực
floattiêu tốn chu kỳ lệnh, giới hạn chu kỳ lấy mẫu nhỏ nhất ở mức $T_s = 10\text{ ms}$. - Điều khiển một góc phần tư: Mạch lực hiện tại chủ yếu tập trung vào chế độ băm xung đơn hướng (chạy thuận, chưa tối ưu hãm tái sinh năng lượng ở 4 góc phần tư).
- Chưa tích hợp truyền thông công nghiệp: Việc giám sát phụ thuộc hoàn toàn vào màn hình LCD cục bộ, chưa có cổng RS-485 Modbus RTU hoặc CAN-bus để kết nối về hệ thống SCADA tập trung.
Hướng nâng cấp mở rộng
- Nâng cấp nền tảng vi xử lý: Chuyển đổi sang vi điều khiển 32-bit ARM Cortex-M4 (như STM32F407) với FPU chuyên dụng, nâng tần số lấy mẫu lên $1\text{ kHz}$ ($T_s = 1\text{ ms}$) và độ phân giải PWM lên 16-bit.
- Ứng dụng thuật toán điều khiển hiện đại: Tích hợp bộ điều khiển mờ lai PID (Fuzzy-PID Controller) hoặc thuật toán tự chỉnh thông số (Auto-tuning PID) dựa trên nhận dạng tham số động cơ trực tuyến (Online System Identification).
- Bổ sung truyền thông IoT Công nghiệp: Tích hợp module không dây ESP32 / Wi-Fi / Industrial Ethernet để truyền đồ thị thời gian thực về Dashboard giám sát trung tâm.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG |
+-------------------------------------------------------------------------+
| Sinh viên & Người học: |
| -> Nắm vững cầu nối giữa lý thuyết điều khiển tự động (Laplace, hàm |
| truyền, quỹ tích nghiệm) và kỹ thuật lập trình nhúng C thời gian thực.|
+-------------------------------------------------------------------------+
| Kỹ sư thiết kế nhúng (Embedded Engineers): |
| -> Sở hữu mẫu khung mã nguồn C chuẩn cho thuật toán PID số, xử lý ngắt |
| Timer/Capture đếm xung tốc độ cao và thuật toán lọc Anti-Windup. |
+-------------------------------------------------------------------------+
| Doanh nghiệp cơ khí & Chế tạo máy: |
| -> Giải pháp thay thế các bộ điều tốc ngoại nhập đắt tiền, chủ động |
| hoàn toàn công nghệ chế tạo bo mạch điều khiển công suất nội địa. |
+-------------------------------------------------------------------------+
| Giảng viên & Nhà nghiên cứu: |
| -> Mô hình giảng dạy thực hành trực quan cho phòng thí nghiệm môn học |
| Truyền động điện, Lý thuyết điều khiển tự động và Vi điều khiển. |
+-------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Cần những yêu cầu kỹ thuật phần cứng nào để vận hành bộ điều khiển này?
Hệ thống yêu cầu nguồn cấp nuôi mạch số $5\text{VDC} \pm 5%$ (qua IC ổn áp LM7805), nguồn động lực $12\text{V} - 24\text{VDC}$ phù hợp với công suất động cơ, đĩa Encoder quang học tối thiểu 100 PPR gắn đồng trục và mạch cách ly quang Opto để ngăn ngừa nhiễu xung cảm ứng từ động cơ quay ngược vào vi điều khiển.
2. Hiện tượng Integral Windup xảy ra khi nào và hệ thống xử lý ra sao?
Integral Windup xảy ra khi có sự chênh lệch lớn giữa tốc độ đặt và tốc độ thực tế trong thời gian dài (ví dụ khi khởi động hoặc kẹt tải), khiến khâu tích phân cộng dồn giá trị cực lớn vượt ngưỡng bão hòa của bộ băm xung PWM. Hệ thống xử lý bằng giải pháp Clamping (Kẹp biên tích phân): nếu $I_{part} > \text{INTEGRAL_MAX}$, giá trị này tự động bị ghim ở mức trần, giúp bộ điều khiển thoát khỏi bão hòa ngay khi sai số đảo dấu.
3. Làm thế nào để lọc nhiễu tín hiệu từ Encoder trong môi trường công nghiệp?
Trong môi trường công nghiệp có nhiều xung nhiễu điện từ do chuyển mạch công suất, các đường tín hiệu từ Encoder về chân vi điều khiển cần được bọc kim chống nhiễu (Shielded Twisted Pair), sử dụng điện trở kéo lên (Pull-up) phù hợp ($1\text{k}\Omega - 2.2\text{k}\Omega$) và có thể tích hợp mạch lọc tích cực RC hoặc bộ đệm Schmitt Trigger (74HC14).
4. Chi phí bảo trì và độ bền linh kiện của bộ điều khiển như thế nào?
Do sử dụng hoàn toàn linh kiện bán dẫn ở trạng thái rắn (Solid-state electronics) và vi điều khiển số, bo mạch không có hiện tượng mài mòn cơ học, tuổi thọ làm việc trung bình (MTBF) đạt $> 30.000$ giờ trong điều kiện nhiệt độ phòng tiêu chuẩn.
5. Phương pháp hiệu chỉnh thông số $K_p, T_i, T_d$ trên bàn phím ma trận được tiến hành theo các bước nào?
Người dùng áp dụng phương pháp dò thực nghiệm Ziegler-Nichols dạng kín:
- Đặt $T_i = \infty$ (hoặc cực đại) và $T_d = 0$, tăng dần $K_p$ từ bàn phím cho đến khi tốc độ động cơ bắt đầu dao động tuần hoàn liên tục với biên độ không đổi (xác định hệ số khuếch đại tới hạn $K_{cr}$ và chu kỳ dao động $P_{cr}$).
- Cài đặt các thông số chuẩn theo công thức: $K_p = 0.6 K_{cr}$, $T_i = 0.5 P_{cr}$, $T_d = 0.125 P_{cr}$ trực tiếp qua các phím số từ
0đến9và nhấnENTERđể lưu vào RAM hoạt động.
Kết luận
Đồ án tốt nghiệp "Thiết kế, chế tạo bộ điều chỉnh PID cho phép điều chỉnh các hệ số khuếch đại và hằng số thời gian" của tác giả Lã Mạnh Thắng dưới sự hướng dẫn của GS.TSKH Thân Ngọc Hoàn đã chứng minh tính khả thi, độ tin cậy và giá trị thực tiễn cao của giải pháp điều khiển số cho động cơ một chiều. Bằng việc kết hợp hài hòa giữa cơ sở lý thuyết điều khiển tự động kinh điển và kỹ thuật vi xử lý hiện đại trên nền chip PIC16F877A, đề tài đã giải quyết trọn vẹn bài toán nâng cao chất lượng động học, triệt tiêu sai lệch tĩnh ($e_{ss} < 0.2%$), giảm độ vọt lố ($\sigma < 3%$) và mang lại sự linh hoạt tối đa trong việc căn chỉnh tham số vận hành.
Đây là tài liệu tham khảo kỹ thuật chuyên sâu và là nền tảng vững chắc cho sinh viên, kỹ sư ngành Tự động hóa, Cơ điện tử và Kỹ thuật Điện trong việc nghiên cứu, phát triển và nội địa hóa các thiết bị điều tốc công nghiệp hiệu năng cao.