Arduino Cơ cấu chấp hành có phản hồi
Trong một bài hướng dẫn trước, chúng ta đã học về Arduino - Thiết bị chấp hành. Trong bài hướng dẫn này, chúng ta sẽ tìm hiểu về bộ truyền động tuyến tính có phản hồi (hay còn được gọi là bộ truyền động tuyến tính có phản hồi). Phản hồi từ bộ truyền động tuyến tính cung cấp thông tin để xác định vị trí của hành trình của nó, và từ đó điều khiển vị trí. Cụ thể, chúng ta sẽ tìm hiểu:
- Cách hoạt động của một động cơ tuyến tính có phản hồi
- Cách xác định vị trí của động cơ tuyến tính có phản hồi (đơn vị: mm)
- Cách điều khiển vị trí của một động cơ tuyến tính
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | 12V Linear Actuator with Feedback | ||
| 1 | × | L298N Motor Driver Module | ||
| 1 | × | 12V Power Adapter | ||
| 1 | × | DC Power Jack | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Bộ Truyền Động Tuyến Tính Có Phản Hồi
Một động cơ truyền động tuyến tính có phản hồi là một động cơ truyền động tuyến tính có tín hiệu phản hồi cho phép xác định vị trí của nó và điều khiển nó. Tín hiệu phản hồi là một biến trở (potentiometer) phát ra giá trị điện áp tỷ lệ với vị trí của hành trình.
Sơ đồ chân của bộ truyền động tuyến tính có phản hồi
Một động cơ tuyến tính có phản hồi gồm 5 dây:
- Dây dương của bộ truyền động tuyến tính: Dây này được dùng để điều khiển bộ truyền động tuyến tính bằng cách sử dụng điện áp cao (12V, 24V, 48V...).
- Dây dương của bộ truyền động tuyến tính: Dây này được dùng để điều khiển bộ truyền động tuyến tính bằng cách sử dụng điện áp cao (12V, 24V, 48V...).
- Dây 5V: Dây này được dùng cho biến trở phản hồi. Nối dây này với nguồn 5V hoặc 3.3V.
- Dây GND: Dây này dùng cho biến trở phản hồi. Nối dây này với GND.
- Dây biến trở: (còn được gọi là dây phản hồi, hoặc dây ra) Dây này xuất ra giá trị điện áp tỷ lệ với vị trí hành trình.

Cách hoạt động
Nếu chúng ta cấp điện áp cao cho hai dây dương và dây âm, độ dịch chuyển của bộ truyền động sẽ được kéo dài hoặc rút lại. Cụ thể, nếu chúng ta kết nối:
- Kết nối 12V với dây dương và GND với dây âm, tương ứng: động cơ tuyến tính ở tốc độ tối đa kéo dài cho đến khi đạt giới hạn.
- Kết nối 12V với dây âm và GND với dây dương, tương ứng: động cơ tuyến tính ở tốc độ tối đa thu hồi cho đến khi đạt giới hạn.
- Trong khi đang mở rộng hoặc thu hồi, nếu ta ngắt nguồn cho động cơ tuyến tính (GND nối tới cả hai dây dương và dây âm), động cơ tuyến tính sẽ ngừng mở rộng/thu hồi.
※ Lưu ý:
- Giá trị điện áp để điều khiển bộ truyền động phụ thuộc vào thông số kỹ thuật của nó. Đọc bảng đặc tả kỹ thuật (datasheet) hoặc sách hướng dẫn để biết giá trị điện áp tương ứng.
- Bộ truyền động có thể giữ vị trí ngay cả khi ngừng cấp nguồn trong khi mang tải.
Giá trị điện áp trên dây biến trở tỉ lệ với vị trí hành trình của bộ truyền động. Bằng cách đo điện áp này, ta có thể biết vị trí hành trình.
Sơ đồ nối dây
Vui lòng tháo toàn bộ ba jumper trên mô-đun L298N trước khi kết nối dây.

This image is created using Fritzing. Click to enlarge image
Cách điều khiển mở rộng và rút lại của một bộ truyền động tuyến tính
Xem hướng dẫn Arduino - Thiết bị chấp hành
Cách xác định vị trí của bộ truyền động tuyến tính
Dưới đây là cách xác định vị trí hành trình của một bộ truyền động tuyến tính.
Hiệu chuẩn
- Xác định chiều dài hành trình của bộ truyền động (đơn vị mm) bằng cách đo (bằng thước) hoặc đọc bảng dữ liệu
- Xác định các giá trị đầu ra khi bộ truyền động tuyến tính được kéo dài tối đa và thu lại tối đa bằng cách chạy mã dưới đây
- Bạn sẽ thấy nhật ký trên Serial Monitor như ví dụ dưới đây.
- Ghi lại các giá trị này
- Nếu các giá trị tối thiểu và tối đa bị hoán đổi, hãy hoán đổi IN1_PIN và IN2_PIN
Mã Arduino tính toán vị trí của bộ truyền động
- Cập nhật ba giá trị được hiệu chuẩn vào mã nguồn
- Nạp mã lên Arduino
- Xem kết quả trên Serial Monitor
Cách điều khiển một bộ truyền động tuyến tính đến một vị trí xác định
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.