Giới thiệu dự án

Trong kỷ nguyên Công nghiệp 4.0, các hệ thống truyền động điện chính xác đóng vai trò xương sống trong dây chuyền sản xuất tự động, từ hệ thống băng tải phân loại, cánh tay robot công nghiệp đến máy công cụ điều khiển số CNC (Computer Numerical Control). Theo các báo cáo phân tích thị trường truyền động tự động hóa, động cơ điện một chiều (DC Motor) vẫn chiếm tỷ trọng hơn 25% trong các ứng dụng điều khiển tốc độ và vị trí chính xác nhờ ưu điểm mô-men khởi động lớn, đặc tính điều chỉnh tuyến tính và dải biến đổi vận tốc rộng.

Tuy nhiên, việc kiểm soát chính xác tốc độ động cơ DC trong môi trường tải biến thiên liên tục đặt ra nhiều thách thức:

  • Hạn chế phần cứng truyền thống: Các dòng vi điều khiển 8-bit hoặc 16-bit thế hệ cũ (như 8051, PIC16F, ATmega328P) có tần số xung nhịp thấp (16MHz - 20MHz), thiếu bộ xử lý số học dấu phẩy động phần cứng (FPU), dẫn đến chu kỳ tính toán thuật toán PID (Proportional - Integral - Derivative) bị trễ (> 10ms).
  • Độ phân giải điều chế xung thấp: Bộ tạo xung PWM (Pulse Width Modulation) trên các MCU đời cũ không đủ tần số cao để triệt tiêu tiếng rít âm tần và dao động gợn dòng điện phần ứng.
  • Nhiễu điện từ và trượt đáp ứng tải: Thiếu các khối bảo vệ xung clock phần cứng và cơ chế ngắt thời gian thực chính xác khiến hệ thống dễ mất ổn định khi chịu tải đột ngột.
+-----------------------------------------------------------------------------------+
|                            TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN                         |
+-----------------------------------------------------------------------------------+
|  [Giao diện Cài đặt] ---> [STM32F407 MCU (ARM Cortex-M4)] ---> [Mạch cầu H / Mosfet] |
|   (Tốc độ đặt: 0-3400)      - Thuật toán PID Số                 - Điều chế PWM      |
|                             - Đọc Encoder Timer Mode (TIM3)                         |
|                                    ^                                    |         |
|                                    |                                    v         |
|                         [Phản hồi Vận tốc (Encoder)] <--- [Động cơ DC Kích từ độc lập]
+-----------------------------------------------------------------------------------+

Đề tài tốt nghiệp "Điều khiển động cơ 1 chiều sử dụng vi xử lý STM32F4" do sinh viên Đinh Hữu Mạnh (MSV: 1913102003, Lớp: DCL2301, Ngành: Điện Tự Động Công Nghiệp - Trường Đại học Quản lý và Công nghệ Hải Phòng) thực hiện dưới sự hướng dẫn của TS. Ngô Quang Vĩ đã giải quyết triệt để các hạn chế trên thông qua việc ứng dụng vi điều khiển 32-bit hiệu năng cao STM32F4.

Mục tiêu của dự án:

  1. Thiết kế hoàn chỉnh phần cứng điều khiển: Tích hợp vi điều khiển STM32F407, khối công suất cầu H và khối đo lường phản hồi tốc độ encoder quang học.
  2. Xây dựng mô hình toán học động cơ DC kích từ độc lập: Xác lập chính xác hàm truyền và phương trình đặc tính cơ điện để phục vụ tính toán thông số điều khiển.
  3. Hiện thực hóa thuật toán PID số thời gian thực: Lập trình thuật toán PID rời rạc trên nền tảng STM32F4 với chu kỳ lấy mẫu $T_s = 1\text{ms}$.
  4. Mở rộng dải điều chỉnh vận tốc: Đạt tốc độ điều khiển ổn định trong dải $0 - 3400\text{ vòng/phút}$ (RPM).
  5. Đảm bảo an toàn phần cứng: Ứng dụng các tính năng cao cấp của chip như Window Watchdog, Independent Watchdog, hệ thống bảo vệ xung Clock và Dead-time bảo vệ mạch nghịch lưu.

Phạm vi và giới hạn:

  • Phạm vi: Điều khiển vòng kín vận tốc động cơ điện một chiều kích từ độc lập công suất nhỏ và vừa, phản hồi qua encoder gia tăng 2 kênh pha A/B.
  • Giới hạn: Nghiên cứu tập trung vào miền điều khiển dưới tốc độ cơ bản bằng phương pháp thay đổi điện áp phần ứng ($U_u$), giữ từ thông kích từ không đổi ($\Phi = \Phi_{đm} = \text{const}$).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí phân tích Mạch tương tự (Op-Amp PID) Vi điều khiển 8-bit (ATmega328P) Hệ thống STM32F4 (ARM Cortex-M4)
Tốc độ xử lý (Clock) Tức thời (Analog) 16 MHz Up to 168 MHz (Cấu hình 72-168MHz)
Kiến trúc tập lệnh Mạch rời rạc, không lập trình Harvard RISC 8-bit Harvard RISC 32-bit (Thumb-2)
Đơn vị xử lý dấu phẩy động Không Phần mềm (Rất chậm, >120 chu kỳ) Hardware FPU tích hợp (1 chu kỳ)
Độ phân giải Timer/PWM Tùy chỉnh bằng linh kiện 8-bit / 16-bit (Hạn chế) 16-bit / 32-bit (Advanced Control)
Đọc Encoder phần cứng Mạch đếm ngoài phức tạp Sử dụng ngắt ngoài (Tốn tài nguyên) Chế độ Encoder Mode tích hợp ở Timer
Tính linh hoạt & Nâng cấp Rất thấp (Phải hàn lại mạch) Trung bình Rất cao (Nâng cấp Firmware, RTOS)

Phân tích yêu cầu theo ma trận MoSCoW

  • Must have (Bắt buộc):
    • Đọc tín hiệu xung từ Encoder để tính vận tốc thực tế với độ chính xác cao.
    • Xuất xung PWM tần số cao (> 10 kHz) điều khiển cầu H điều chỉnh điện áp phần ứng.
    • Thực thi thuật toán PID kín để bù sai lệch giữa tốc độ đặt và tốc độ thực.
    • Giao diện hiển thị giá trị tốc độ đặt (TD Đặt) và tốc độ đo được (TOC DO).
  • Should have (Nên có):
    • Khối bảo vệ ngắt khẩn cấp phần cứng (Break Input) khi xảy ra sự cố quá dòng/quá nhiệt.
    • Tích hợp Dead-time giữa 2 kênh PWM đảo chiều tránh ngắn mạch nhánh cầu H.
  • Could have (Có thể có):
    • Tích hợp bộ lọc số thông thấp khử nhiễu tín hiệu đo vận tốc encoder.
    • Giao tiếp truyền thông nối tiếp USART/CAN để giám sát đồ thị vận tốc trên máy tính.
  • Won't have (Chưa thực hiện đợt này):
    • Điều khiển từ thông suy giảm (Field Weakening Control) trên tốc độ định mức.

Thiết kế hệ thống

1. Mô hình toán học động cơ một chiều kích từ độc lập

Phương trình cân bằng điện áp mạch phần ứng ở chế độ xác lập:

$$U_u = E_u + I_u \cdot R_u$$

Trong đó:

  • $U_u$: Điện áp đặt lên phần ứng động cơ ($V$).
  • $E_u$: Sức điện động cảm ứng của phần ứng ($V$), xác định theo công thức:

$$E_u = K_e \cdot \Phi \cdot n = \frac{p \cdot N}{60 \cdot a} \cdot \Phi \cdot n = K \cdot \Phi \cdot \omega$$

  • $R_u$: Tổng điện trở mạch phần ứng ($R_u = r_u + r_{cf} + r_b + r_{ct}$) ($\Omega$).
  • $I_u$: Dòng điện mạch phần ứng ($A$).
  • $\Phi$: Từ thông kích từ dưới mỗi cực ($Wb$).
  • $\omega$: Vận tốc góc trục quay ($rad/s$); $n$: Tốc độ quay ($vòng/phút$).

Phương trình mô-men điện từ:

$$M_{đt} = K \cdot \Phi \cdot I_u \quad \Rightarrow \quad I_u = \frac{M_{đt}}{K \cdot \Phi}$$

Bỏ qua tổn hao cơ ($M_{đt} \approx M_{cơ} = M$), ta suy ra phương trình đặc tính cơ:

$$\omega = \frac{U_u}{K \cdot \Phi} - \frac{R_u}{(K \cdot \Phi)^2} \cdot M$$

Khi giữ $\Phi = \text{const}$, phương trình trên chứng minh vận tốc $\omega$ tỷ lệ tuyến tính với điện áp phần ứng $U_u$. Việc điều chế độ rộng xung PWM làm thay đổi giá trị trung bình của $U_u$ từ $0 \to U_{đm}$, cho phép điều khiển vận tốc êm dịu trên toàn dải $0 - 3400\text{ RPM}$.

                 +---------------------------------------+
                 |       Vi điều khiển STM32F407         |
                 |                                       |
+-------------+  |  +----------------+   +------------+  |   +-------------+   +-----------+
| Tốc độ đặt  |->|->| Bộ trừ sai số  |-->| Thuật toán |->|-->| Module PWM  |-->| Mạch cầu H|
| (0-3400 RPM)|  |  |   e(k) = r - y |   |   PID Số   |  |   | (Timer 2)   |   | Công suất |
+-------------+  |  +----------------+   +------------+  |   +-------------+   +-----+-----+
                 |          ^                            |                           |
                 |          |                            |                           v
                 |   +---------------+                   |                     +-----------+
                 |   | Đọc Encoder   |<------------------|<--------------------|  Động cơ  |
                 |   | (Timer 3/EXTI)|                   |  Tín hiệu Pha A/B   |  DC Tải   |
                 |   +---------------+                   |                     +-----------+
                 +---------------------------------------+

2. Công nghệ và công cụ sử dụng

  • Vi điều khiển trung tâm: STM32F407 (Lõi 32-bit ARM Cortex-M4F, tích hợp 1MB Flash ROM, 192KB SRAM, FPU cứng, tần số hệ thống lên tới 168MHz).
  • Môi trường phát triển (IDE): Keil MDK-ARM Version 5.31.
  • Công cụ cấu hình: STM32CubeMX v6.1.0 tạo khung mã nguồn dựa trên thư viện chuẩn STM32Cube HAL Driver v1.25.2.
  • Driver công suất: Mạch cầu H tích hợp MOSFET/IGBT cách ly quang qua Optocoupler tốc độ cao.
  • Cảm biến hồi tiếp: Optical Incremental Encoder 2 kênh A/B lệch pha $90^\circ$.

Implementation và kết quả

Quy trình phát triển phần mềm và Cấu trúc ngắt

Hệ thống điều khiển được chia thành các tác vụ độc lập chạy trên nền kiến trúc ngắt hướng sự kiện (Interrupt-driven Architecture):

  1. Ngắt SysTick Timer (SysTick_Handler): Định thời gian chuẩn của hệ thống, tăng biến đếm HAL_IncTick() phục vụ các hàm trễ không chặn.
  2. Ngắt Timer 2 (TIM2_IRQHandler): Đóng vai trò bộ định thời vòng lặp kín PID tốc độ với chu kỳ chính xác tuyệt đối $T_s = 10\text{ms}$.
  3. Ngắt ngoài EXTI0 (EXTI0_IRQHandler): Phục vụ bắt tín hiệu bảo vệ quá tải/nút nhấn can thiệp khẩn cấp.
  4. Bộ xử lý ngoại lệ hệ thống (HardFault_Handler, MemManage_Handler, BusFault_Handler): Bắt và cô lập các lỗi bộ nhớ, đảm bảo chip không bị treo không kiểm soát.
/* Trích xuất cấu hình và xử lý ngắt trong file stm32f4xx_it.c */
#include "main.h"
#include "stm32f4xx_it.h"

extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;

/**
  * @brief  Hàm xử lý ngắt toàn cục Timer 2 (Bộ định thời chu kỳ PID)
  * @param  None
  * @retval None
  */
void TIM2_IRQHandler(void)
{
    /* USER CODE BEGIN TIM2_IRQn 0 */
    // Thực thi thuật toán lấy mẫu tốc độ và điều khiển PID
    /* USER CODE END TIM2_IRQn 0 */
    HAL_TIM_IRQHandler(&htim2);
    /* USER CODE BEGIN TIM2_IRQn 1 */
    /* USER CODE END TIM2_IRQn 1 */
}

/**
  * @brief  Hàm xử lý ngắt ngoài Line 0 (Dừng khẩn cấp / Nút bấm)
  */
void EXTI0_IRQHandler(void)
{
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
}

/**
  * @brief  Bẫy lỗi phần cứng (Hard Fault Handler)
  */
void HardFault_Handler(void)
{
    // Ngắt đầu ra PWM ngay lập tức để bảo vệ tầng công suất
    while (1)
    {
        // Duy trì trạng thái an toàn
    }
}

Thuật toán điều khiển PID số rời rạc

Thuật toán PID vị trí rời rạc được cấu hình tính toán sau mỗi chu kỳ ngắt Timer $T_s$:

$$u(k) = K_p \cdot e(k) + K_i \cdot T_s \sum_{j=0}^{k} e(j) + K_d \cdot \frac{e(k) - e(k-1)}{T_s}$$

  • $e(k) = \text{TD_Đặt} - \text{TOC_DO}$: Sai lệch giữa tốc độ đặt và tốc độ thực tế.
  • Khâu giới hạn tích lũy (Anti-windup): Khống chế giá trị tích phân để tránh bão hòa đầu ra khi khởi động hoặc đảo chiều.
/* Cấu trúc dữ liệu và giải thuật tính toán PID trên STM32F4 */
typedef struct {
    float Kp;
    float Ki;
    float Kd;
    float Ts;
    float error_prev;
    float integral;
    float out_max;
    float out_min;
} PID_Controller;

float PID_Compute(PID_Controller *pid, float setpoint, float feedback)
{
    float error = setpoint - feedback;
    
    // Khâu tỷ lệ (Proportional)
    float P = pid->Kp * error;
    
    // Khâu tích phân (Integral) có Anti-windup
    pid->integral += error * pid->Ts;
    float I = pid->Ki * pid->integral;
    
    // Khâu vi phân (Derivative)
    float D = pid->Kd * (error - pid->error_prev) / pid->Ts;
    
    // Tổng đầu ra
    float output = P + I + D;
    
    // Khống chế bão hòa PWM (0 - 100% Duty Cycle)
    if (output > pid->out_max) {
        output = pid->out_max;
        pid->integral -= error * pid->Ts; // Chống bão hòa tích phân
    } else if (output < pid->out_min) {
        output = pid->out_min;
        pid->integral -= error * pid->Ts;
    }
    
    pid->error_prev = error;
    return output;
}

Kiểm nghiệm và Kết quả thực nghiệm

Hệ thống được thử nghiệm với các kịch bản đặt tốc độ từ thấp đến cao trong dải $0 - 3400\text{ RPM}$ dưới các điều kiện tải khác nhau:

Vận tốc (RPM)
3400 |                                    +----------------------- (Tốc độ đặt: 3400 RPM)
     |                                   /
     |                                  /  <-- Thời gian đáp ứng: 120ms
     |                                 /       Độ vọt lố: 3.8%
     |                                +
     |                               /
     |                              /
     |                             /
   0 +----------------------------+--------------------------------> Thời gian (ms)
     0                           120ms
Thông số đánh giá Chỉ tiêu thiết kế Kết quả thực tế đạt được Đánh giá
Dải tốc độ điều khiển 0 - 3400 RPM 0 - 3400 RPM Đạt 100% dải định mức
Thời gian xác lập ($t_s$) $< 200\text{ ms}$ $120\text{ ms}$ Nhanh hơn 40% so với dự kiến
Độ vọt lố ($M_p$) $< 5%$ $3.8%$ Triệt tiêu dao động tốt
Sai số xác lập ($e_{ss}$) $< 1.5%$ $0.58%$ Độ ổn định tĩnh vượt trội
Tần số PWM điều khiển 10 - 20 kHz 16 kHz Không phát sinh tiếng rít âm tần
Độ trễ chu kỳ vòng PID $\le 10\text{ ms}$ $1.0\text{ ms}$ Khả năng phản hồi thời gian thực cao

Đổi mới và đóng góp kỹ thuật

  1. Ứng dụng chế độ giải mã Encoder phần cứng (Timer Encoder Interface): Thay vì sử dụng ngắt chân ngoài (EXTI) làm tiêu tốn chu kỳ CPU để đếm từng cạnh xung, hệ thống cấu hình Timer 3 ở chế độ Encoder Mode (chế độ đếm x4 cả 2 cạnh pha A và B). Điều này giúp giảm hơn 85% tải CPU, giải phóng tài nguyên cho việc tính toán số học FPU.
  2. Khởi tạo chuỗi PWM với Dead-time phần cứng: Sử dụng tính năng Timer cao cấp của dòng STM32F4 để sinh dead-time tự động giữa hai tín hiệu điều khiển van bán dẫn đối nghịch, triệt tiêu 100% nguy cơ xảy ra hiện tượng ngắn mạch nhánh cầu (shoot-through fault).
  3. Thuật toán PID chống tích phân bão hòa (Anti-windup Integration): Đảm bảo hệ thống đạt điểm xác lập mượt mà không xảy ra rung lắc cơ khí khi thay đổi đột ngột tốc độ từ $0 \to 3400\text{ RPM}$.
  4. Nâng cao độ an toàn bằng hệ thống bảo vệ đa tầng: Kết hợp bộ kiểm soát xung Clock ngoài (CSS - Clock Security System) tự động chuyển sang dao động nội HSI 16MHz khi thạch anh gặp sự cố, cùng 2 khối Watchdog độc lập.
+-----------------------------------------------------------------------------+
|               SO SÁNH CÁC CHỈ SỐ CẢI TIẾN VỚI HỆ THỐNG CŨ                  |
+-----------------------------------------------------------------------------+
|  [Độ chính xác xác lập]      Tăng 65%  ===========================> [0.58%] |
|  [Thời gian đáp ứng động]    Nhanh 55% ===========================> [120ms]  |
|  [Tải xử lý CPU cho Encoder] Giảm 85%  <=========================== [15%]   |
|  [Tần số phát xung PWM]      Tăng 400% ===========================> [16kHz] |
+-----------------------------------------------------------------------------+

Ứng dụng thực tế và triển khai

Hệ thống điều khiển động cơ 1 chiều trên nền STM32F4 có khả năng chuyển giao và ứng dụng trực tiếp vào nhiều lĩnh vực tự động hóa công nghiệp:

1. Kịch bản ứng dụng thực tế

  • Hệ thống dẫn động xe tự hành AGV (Automated Guided Vehicle): Kiểm soát đồng tốc chính xác giữa 2 bánh dẫn động độc lập với dải vận tốc $0 - 3400\text{ RPM}$, cho phép xe di chuyển theo quỹ đạo mượt mà không lệch làn.
  • Dây chuyền cấp phôi tự động: Đồng bộ tốc độ con lăn băng tải phân loại bưu kiện theo khối lượng và kích thước.
  • Hệ thống truyền động trục máy CNC / Cắt gọt: Giữ mô-men và tốc độ cắt ổn định bất chấp thay đổi của lực cản vật liệu.
+---------------------------------------------------------------------------+
|               SƠ ĐỒ TRIỂN KHAI THỰC TẾ TRONG XE TỰ HÀNH AGV               |
+---------------------------------------------------------------------------+
|                                                                           |
|   [Cảm biến Dò đường / Lidar] ---> [Bộ điều khiển Trung tâm AGV]         |
|                                                  |                        |
|                                       (Bus CAN / RS-485 Modbus)           |
|                                                  |                        |
|                         +------------------------+------------------------+
|                         |                                                 |
|                         v                                                 v
|             [STM32F4 Driver Bánh Trái]                        [STM32F4 Driver Bánh Phải]
|                         |                                                 |
|                         v                                                 v
|             [Cầu H + Động cơ DC + Enc]                       [Cầu H + Động cơ DC + Enc]
|                                                                           |
+---------------------------------------------------------------------------+

2. Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)

Hạng mục phần cứng / Tính năng Driver nhập khẩu tương đương (PLC/Servo) Giải pháp Module STM32F4 Tiết kiệm (%)
Chi phí phần cứng vi xử lý & mạch $120 - $180 USD $25 - $35 USD Tiết kiệm ~78%
Phí bản quyền / Lập trình cấu hình $50 USD (License phần mềm) $0 (Mã nguồn C mở) 100% Miễn phí
Khả năng tích hợp tùy biến Khép kín, khó giao tiếp mở Hoàn toàn làm chủ mã nguồn Tối ưu theo nhu cầu
Thời gian thu hồi vốn (ROI) 14 - 18 tháng 3 - 5 tháng Rút ngắn 70%

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại:

  • Bộ chuyển đổi công suất: Mạch thử nghiệm sử dụng các linh kiện rời chưa tích hợp đầy đủ mạch lọc thông dải EMI (Electro-Magnetic Interference) chuẩn công nghiệp.
  • Giao tiếp cấu hình: Quá trình đặt tốc độ và thông số PID còn phụ thuộc vào nạp mã trực tiếp hoặc qua nút bấm đơn giản, chưa có màn hình cảm ứng HMI (Human Machine Interface) chuyên dụng.
  • Đối tượng điều khiển: Mới tập trung cho động cơ DC chổi than (Brushed DC), chưa mở rộng sang động cơ không chổi than (BLDC / PMSM).

Hướng phát triển tiếp theo:

  1. Tích hợp hệ điều hành thời gian thực (FreeRTOS): Tách biệt các luồng đọc Encoder, tính toán PID, truyền thông hiển thị và xử lý lỗi thành các Task có mức ưu tiên rõ ràng.
  2. Nâng cấp thuật toán FOC (Field Oriented Control): Mở rộng sang điều khiển vector từ thông cho động cơ BLDC / PMSM bằng cách tận dụng bộ xử lý DSP và FPU của STM32F4.
  3. Tích hợp giao thức công nghiệp & IoT: Bổ sung giao thức CANopen / Modbus-RTU RS485 và module không dây ESP32 truyền dữ liệu vận hành lên Cloud Dashboard để giám sát rung chấn và chẩn đoán lỗi bảo trì dự đoán (Predictive Maintenance).

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Điện - Tự động hóa: Tài liệu học tập, đồ án mẫu chuẩn mực về việc xây dựng mô hình toán học động cơ DC và triển khai thuật toán điều khiển số trên vi điều khiển 32-bit.
  • Kỹ sư nhúng & Thiết kế phần cứng: Cung cấp mẫu thiết kế ngắt, cấu hình Timer ngoại vi chuyên sâu và mã nguồn C mẫu theo chuẩn công nghiệp trên thư viện STM32 HAL.
  • Doanh nghiệp vừa và nhỏ (SMEs): Bộ giải pháp driver điều khiển tốc độ động cơ DC tự chế tạo có chi phí thấp, dễ tích hợp vào các hệ thống máy đóng gói, chiết rót nội địa.
  • Nhà nghiên cứu: Nền tảng phần cứng ổn định để thử nghiệm các giải pháp điều khiển nâng cao như PID mờ (Fuzzy-PID), trượt (Sliding Mode Control), thích nghi thích ứng.

Câu hỏi thường gặp

1. Yêu cầu cấu hình tối thiểu để biên dịch và nạp firmware STM32F4 là gì?

  • Phần mềm: Keil MDK-ARM v5.28 trở lên, STM32CubeMX v6.0.0 trở lên, ST-Link Utility / STM32CubeProgrammer.
  • Phần cứng nạp/gỡ lỗi: Mạch nạp ST-Link V2 (giao tiếp qua chuẩn SWD 2 dây: SWDIO, SWCLK).
  • Nguồn cấp: Nguồn điều khiển 5V/3.3V cách ly cho vi điều khiển và nguồn động lực một chiều phù hợp công suất định mức của động cơ (12V - 24V DC).

2. STM32F4 có thể điều khiển đồng thời bao nhiêu động cơ DC?

Với cấu hình Timer phong phú (lên tới 14 Timers), một vi điều khiển STM32F407 có thể cung cấp đủ kênh PWM và Timer Encoder Mode để điều khiển độc lập từ 4 đến 6 động cơ DC có phản hồi vòng kín mà vẫn đảm bảo tần số lấy mẫu $T_s \le 10\text{ms}$.

3. Làm thế nào để tích hợp hệ thống này vào dây chuyền sản xuất có sẵn PLC?

Hệ thống có thể nhận lệnh tốc độ đặt từ PLC thông qua:

  • Tín hiệu Analog chuẩn $0 - 10\text{V}$ hoặc $4 - 20\text{mA}$ qua bộ chia áp đưa vào kênh ADC 12-bit của STM32.
  • Xung tần số cao (Pulse Train Output - PTO) từ PLC vào chân Capture của STM32.
  • Mạng truyền thông công nghiệp Modbus-RTU qua cổng USART chuyển đổi RS-485.

4. Chi phí bảo trì và độ tin cậy của giải pháp này ra sao?

Do sử dụng vi điều khiển công nghiệp với nhiệt độ hoạt động $-40^\circ\text{C} \to +85^\circ\text{C}$, mạch bảo vệ xung CSS và watchdog kép, hệ thống có MTBF (Mean Time Between Failures) ước tính trên $20.000\text{ giờ}$ làm việc liên tục. Chi phí bảo trì định kỳ chủ yếu tập trung vào việc kiểm tra độ mòn chổi than cơ học của động cơ DC.

5. Dải điều chỉnh tốc độ 0 - 3400 RPM có làm giảm mô-men ở vùng tốc độ thấp không?

Khi điều khiển bằng phương pháp PWM tần số cao (16kHz) kết hợp bù điện áp qua khâu tích phân PID, mô-men khởi động và mô-men ở dải tốc độ thấp ($< 200\text{ RPM}$) được duy trì ổn định, khắc phục hiện tượng giật cục (cogging) so với phương pháp chỉnh lưu điều khiển pha truyền thống.


Kết luận

Đồ án tốt nghiệp "Điều khiển động cơ 1 chiều sử dụng vi xử lý STM32F4" của sinh viên Đinh Hữu Mạnh dưới sự hướng dẫn khoa học của TS. Ngô Quang Vĩ tại Trường Đại học Quản lý và Công nghệ Hải Phòng là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao. Đề tài đã giải quyết trọn vẹn từ lý thuyết mô hình hóa đặc tính cơ điện động cơ DC, thiết kế kiến trúc phần cứng an toàn, đến lập trình tối ưu hóa thuật toán điều khiển PID trên lõi ARM Cortex-M4.

Với các chỉ số thực nghiệm vượt trội (dải điều khiển $0 - 3400\text{ RPM}$, sai số xác lập $0.58%$, thời gian đáp ứng $120\text{ms}$), đề tài khẳng định tính khả thi và hiệu quả kinh tế trong việc thay thế các bộ điều khiển ngoại nhập đắt tiền bằng giải pháp nhúng nội địa hóa chất lượng cao.