Trang chủ • Dự án • DỰ ÁN LẬP TRÌNH STM32

#15 STM32 ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG ENCODER | ĐO TỐC ĐỘ RPM + HIỂN THỊ LCD + UART + PWM

STM32 ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG ENCODER | ĐO TỐC ĐỘ RPM + HIỂN THỊ LCD + UART + PWM

DỰ ÁN LẬP TRÌNH STM32 ~3 phút đọc Cập nhật 25/04/2026

Nội dung bài đăng

  • Phân tích mục tiêu hệ thống và yêu cầu điều khiển.
  • Mô tả thuật toán PLC/HMI và cấu trúc truyền thông.
  • Tổng hợp thông số, lưu ý triển khai và mở rộng thực tế.

Bài đăng kỹ thuật

Triển khai và phân tích hệ thống

#15 STM32 ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG ENCODER | ĐO TỐC ĐỘ RPM + HIỂN THỊ LCD + UART + PWM

STM32 ĐIỀU KHIỂN ĐỘNG CƠ DC SỬ DỤNG ENCODER | ĐO TỐC ĐỘ RPM + HIỂN THỊ LCD + UART + PWM

STM32 điều khiển động cơ DC sử dụng Encoder – đo tốc độ RPM, PWM, hiển thị LCD và UART

Link: https://www.youtube.com/watch?v=eXiXWmpnLeo Dự án xây dựng hệ thống điều khiển động cơ DC sử dụng vi điều khiển STM32F103C8T6 kết hợp encoder phản hồi tốc độ, cho phép đo chính xác số vòng quay RPM theo thời gian thực, điều chỉnh tốc độ bằng PWM, đồng thời hiển thị đầy đủ trạng thái vận hành trên màn hình LCD và truyền dữ liệu giám sát qua UART Terminal. Nguyên lý sử dụng timer encoder mode trên STM32 giúp đọc trực tiếp xung A/B từ encoder bằng phần cứng timer, tăng độ ổn định khi đo tốc độ và xác định chiều quay động cơ.

Video mô phỏng và trình diễn hệ thống

Xem video: STM32 điều khiển động cơ DC sử dụng Encoder | RPM + LCD + UART + PWM

Nguyên lý hoạt động của hệ thống

Động cơ DC được điều khiển thông qua driver công suất L298, trong đó STM32 tạo tín hiệu PWM để thay đổi điện áp trung bình cấp cho động cơ. Encoder gắn phía sau động cơ phát xung phản hồi về timer encoder, STM32 tính toán số xung trong khoảng thời gian xác định để suy ra tốc độ quay RPM. Dữ liệu sau đó được hiển thị đồng thời trên LCD và UART terminal.

  • Điều chỉnh tốc độ bằng biến trở ADC
  • Điều khiển chiều quay thuận / nghịch
  • Đọc encoder A/B bằng Timer Encoder Mode
  • Hiển thị trạng thái RUN / STOP
  • Hiển thị PWM, RPM, ADC theo thời gian thực

Các thành phần chính của mô hình

  • STM32F103C8T6
  • Driver động cơ L298
  • Động cơ DC encoder
  • Màn hình LCD 20x4
  • UART Virtual Terminal
  • Biến trở điều chỉnh tốc độ
  • LED báo mức tốc độ từ thấp đến cao
  • Nút RUN / STOP / FORWARD / REVERSE

Thông tin hiển thị trên LCD

Thông số Ý nghĩa
TRẠNG THÁI RUN / STOP
CHIỀU THUẬN / NGHỊCH
TỐC ĐỘ RPM thời gian thực
PWM Duty cycle điều khiển động cơ
ADC Giá trị biến trở đọc được

Hiển thị mức tốc độ bằng LED

Hệ thống sử dụng nhiều LED màu để biểu diễn các cấp tốc độ từ thấp đến cao, giúp quan sát trực quan trạng thái động cơ mà không cần nhìn vào màn hình LCD.

  • LED LOW
  • LED MEDIUM
  • LED HIGH
  • LED MAX SPEED

Kiến thức kỹ thuật đạt được

  • Timer PWM trên STM32
  • Timer Encoder Mode đọc xung quadrature
  • ADC đọc biến trở
  • UART truyền dữ liệu giám sát
  • Điều khiển động cơ DC công suất
  • Hiển thị LCD 20x4

Ứng dụng thực tế

Mô hình là nền tảng quan trọng cho các hệ thống điều khiển động cơ trong robot, băng tải, servo tốc độ thấp, AGV, xe tự hành và các hệ thống truyền động cần phản hồi tốc độ chính xác.

```
Xem liên kết ngoài