Bài đăng kỹ thuật
Triển khai và phân tích hệ thống
LẬP TRÌNH STM32 ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC VỚI FULL STEP / HALF STEP
STM32 điều khiển động cơ bước – Full Step / Half Step, đảo chiều, hiển thị LCD và giám sát UART
Dự án xây dựng hệ thống điều khiển động cơ bước sử dụng vi điều khiển STM32F103C8T6, cho phép lựa chọn nhiều chế độ hoạt động như Full Step, Half Step, điều khiển chiều quay thuận – ngược, dừng tức thời và thay đổi tốc độ trực tiếp bằng biến trở analog. Toàn bộ trạng thái hệ thống được hiển thị đồng thời trên LCD và Virtual Terminal thông qua UART.
Chức năng chính của hệ thống
- Lựa chọn chế độ Full Step hoặc Half Step
- Điều khiển chiều quay thuận (CW) và ngược (CCW)
- Dừng động cơ tức thời
- Điều chỉnh tốc độ bằng biến trở ADC
- Hiển thị tốc độ trên LED 7 đoạn
- Hiển thị trạng thái trên LCD 16x2
- Giám sát dữ liệu thời gian thực qua UART
Nguyên lý hoạt động
STM32 đọc giá trị analog từ biến trở thông qua ADC để tính toán tốc độ phát xung điều khiển. Tùy theo nút nhấn chế độ được chọn, vi điều khiển sẽ phát chuỗi kích từ tương ứng cho động cơ bước qua driver công suất L298.
Các chế độ điều khiển
1. Full Step
Trong chế độ Full Step, cuộn dây động cơ được kích theo chu kỳ đầy đủ, giúp moment lớn và chuyển động ổn định.
2. Half Step
Trong chế độ Half Step, chuỗi kích xen kẽ giữa một pha và hai pha, giúp động cơ quay mịn hơn và tăng độ phân giải góc bước.
3. Điều khiển chiều quay
Người dùng lựa chọn chiều quay thuận hoặc ngược thông qua nút nhấn điều khiển, STM32 sẽ đảo thứ tự phát xung tương ứng.
Hiển thị trạng thái hệ thống
LCD 16x2
- MODE: FULL / HALF
- DIR: CW / CCW
- SPD: giá trị tốc độ hiện tại
LED 7 đoạn
Hiển thị trực tiếp giá trị tốc độ hoặc thông số điều khiển thời gian thực.
UART Monitoring
Virtual Terminal hiển thị:
MODE: FULL STEP DIR : CW SPD : 2047 STATUS: RUN
Phần cứng sử dụng
- STM32F103C8T6
- Driver L298
- Động cơ bước 4 pha
- LCD 16x2
- LED 7 đoạn
- Biến trở ADC
- UART Virtual Terminal
Driver công suất L298
STM32 xuất tín hiệu điều khiển tới các chân IN1, IN2, IN3, IN4 của L298. Driver đóng vai trò khuếch đại dòng để điều khiển cuộn dây động cơ bước.
ADC điều chỉnh tốc độ
Biến trở RV1 tạo điện áp analog đưa vào chân ADC của STM32, giá trị đọc được dùng để thay đổi thời gian delay giữa các xung điều khiển.
Các kiến thức kỹ thuật áp dụng
- ADC đọc tín hiệu analog
- GPIO điều khiển chuỗi kích động cơ bước
- UART truyền dữ liệu giám sát
- LCD 16x2 giao tiếp song song
- LED 7 đoạn multiplexing
- State machine điều khiển chế độ
Ứng dụng thực tế
Mô hình phù hợp để phát triển các hệ thống: máy CNC mini, robot định vị, băng tải chính xác, cơ cấu chấp hành bước trong công nghiệp và đào tạo kỹ thuật điều khiển động cơ.
Ưu điểm của dự án
Dự án tích hợp đồng thời nhiều ngoại vi quan trọng của STM32: ADC, UART, LCD, LED 7 đoạn, điều khiển động cơ công suất, giúp người học hiểu rõ cách xây dựng hệ thống nhúng hoàn chỉnh.
```