ESP32 Actuator với Phản Hồi
Trong hướng dẫn trước, chúng ta đã học về ESP32 - Linear Actuator (Thiết Bị Truyền Động Thẳng). Trong hướng dẫn này, chúng ta sẽ học về linear actuator có phản hồi (còn gọi là feedback linear actuator). Tín hiệu phản hồi từ linear actuator cung cấp thông tin để xác định vị trí của stroke và từ đó điều khiển vị trí. Cụ thể, chúng ta sẽ học:
- Cách hoạt động của feedback linear actuator
- Cách tìm vị trí của feedback linear actuator (theo milimeter)
- Cách điều khiển vị trí của linear actuator
Linh Kiện Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Linear Actuator 12V với Feedback | ||
| 1 | × | Module Driver Motor L298N | ||
| 1 | × | Adapter Nguồn 12V | ||
| 1 | × | Đầu Jack Nguồn DC | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Feedback Linear Actuator
Feedback linear actuator là một linear actuator có tín hiệu phản hồi cho phép xác định vị trí và điều khiển nó. Phản hồi là một potentiometer xuất ra giá trị điện áp tỷ lệ với vị trí của stroke.
Pinout của Feedback Linear Actuator
Một Feedback Linear Actuator có 5 dây:
- Dây dương actuator: Dây này được sử dụng để điều khiển linear actuator bằng điện áp cao (12V, 24V, 48V...).
- Dây âm actuator: Dây này được sử dụng để điều khiển linear actuator bằng điện áp cao (12V, 24V, 48V...).
- Dây 5V: dây này được sử dụng cho potentiometer phản hồi. Kết nối dây này với 5V hoặc 3.3V
- Dây GND: dây này được sử dụng cho potentiometer phản hồi. Kết nối dây này với GND
- Dây potentiometer: (còn gọi là dây phản hồi, hoặc dây output) dây này xuất ra giá trị điện áp tỷ lệ với vị trí của stroke.

Cách Hoạt Động
Nếu chúng ta cung cấp điện áp cao cho dây dương và âm, stroke của actuator sẽ được mở rộng hoặc thu gọn. Cụ thể, nếu chúng ta kết nối:
- 12V (12V, 24V, 48V...) và GND với dây dương và dây âm tương ứng: linear actuator mở rộng tốc độ tối đa cho đến khi đạt giới hạn.
- 12V (12V, 24V, 48V...) và GND với dây âm và dây dương tương ứng: linear actuator thu gọn tốc độ tối đa cho đến khi đạt giới hạn.
- Trong khi mở rộng hoặc thu gọn, nếu chúng ta ngừng cấp điện cho actuator (GND cho cả dây dương và âm), actuator sẽ dừng mở rộng/thu gọn
※ Lưu ý:
- Giá trị điện áp để điều khiển actuator phụ thuộc vào thông số kỹ thuật của actuator. Đọc datasheet hoặc hướng dẫn để biết giá trị điện áp tương ứng.
- Actuator có thể giữ vị trí ngay cả khi ngừng cấp điện trong khi mang tải.
Giá trị điện áp trong dây potentiometer tỷ lệ với vị trí của stroke trên actuator. Bằng cách đo điện áp này, chúng ta có thể biết vị trí của stroke.
Sơ Đồ Đấu Dây
Vui lòng tháo bỏ tất cả ba jumper trên module L298N trước khi đấu dây.

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Cách điều khiển mở rộng/thu gọn linear actuator
Xem hướng dẫn ESP32 - Linear Actuator (Thiết Bị Truyền Động Thẳng)
Cách tìm vị trí của linear actuator
Phần dưới đây cho thấy cách xác định vị trí của stroke trên linear actuator.
Hiệu Chuẩn
- Xác định chiều dài của stroke của actuator (theo milimeter) bằng cách đo (sử dụng thước) hoặc đọc datasheet
- Xác định các giá trị output khi linear actuator được mở rộng hoàn toàn và thu gọn hoàn toàn bằng cách chạy code dưới đây
- Bạn sẽ thấy log trên Serial Monitor như ví dụ dưới đây
- Ghi lại những giá trị này
- Nếu các giá trị min/max bị hoán đổi, hãy hoán đổi IN1_PIN và IN2_PIN
Code ESP32 tính toán vị trí của actuator
- Cập nhật ba giá trị đã hiệu chuẩn vào code
- Upload code lên ESP32
- Xem kết quả trên Serial Monitor
Cách điều khiển linear actuator đến một vị trí cụ thể
※ Lưu ý:
Hướng dẫn này sử dụng hàm analogRead() để đọc giá trị từ ADC (Analog-to-Digital Converter) kết nối với potentiometer. ADC của ESP32 tốt cho các dự án KHÔNG cần độ chính xác cao. Tuy nhiên, đối với các dự án cần đo lường chính xác, hãy lưu ý:
- ADC của ESP32 không hoàn toàn chính xác và có thể cần hiệu chuẩn để có kết quả đúng. Mỗi board ESP32 có thể khác nhau một chút, vì vậy bạn cần hiệu chuẩn ADC cho từng board riêng lẻ.
- Hiệu chuẩn có thể khó khăn, đặc biệt đối với người mới bắt đầu, và có thể không luôn cho kết quả chính xác như bạn mong muốn.
Đối với các dự án cần độ chính xác cao, hãy cân nhắc sử dụng ADC bên ngoài (ví dụ ADS1115) với ESP32 hoặc sử dụng Arduino, có ADC đáng tin cậy hơn. Nếu bạn vẫn muốn hiệu chuẩn ADC của ESP32, tham khảo ESP32 ADC Calibration Driver
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.