HP OTTO-MUS PRIME - Mô hình Otto xe tải DIY
Dự án Otto xe tải đầy thú vị dành cho người mới bắt đầu học CAD và điện tử. Đây là trải nghiệm cá nhân của mình từ việc thiết kế trên Onshape đến lập trình ESP32, cùng chia sẻ về quá trình in 3D thực tế.
Mô tả
Otto xe tải (Otto the Truck)
Khi mới biết đến cuộc thi trên Printables, mình thực sự chẳng biết phải làm gì cả. Mình chỉ lướt web rồi tình cờ thấy cuộc thi về Otto.
Điều buồn cười là mình thậm chí còn không sở hữu bộ kit Otto hay máy in 3D. Thế nên mình bắt đầu tìm hiểu về Otto thông qua CAD và nghiên cứu cách các bộ phận lắp ráp với nhau.
Kinh nghiệm duy nhất của mình với CAD chỉ là một chút TinkerCAD hồi học ở trường và một ít FreeCad.
Đây là mô hình đầu tiên mình đăng tải, nhưng mình chưa ưng ý lắm nên quyết định làm lại.

Mình nhanh chóng nhận ra TinkerCAD hay FreeCAD không đủ để đáp ứng những gì mình muốn xây dựng, nên mình quyết định học Onshape và dùng nó để tạo ra bản thiết kế cuối cùng.
Mình bắt đầu bằng bản vẽ 2D đơn giản để hiểu về kích thước, hình dáng và ý tưởng biến Otto thành một chiếc xe tải.

Sau khi hoàn thành mô hình, mình phát hiện một người bạn có máy in 3D nên đã nhờ bạn ấy in giúp. Nhờ vậy mình mới kiểm tra được số đo có chính xác không và liệu thiết kế khớp trượt có hoạt động cho người khác khi in hay không. (Bật mí: nó không hoạt động)
Trong quá trình đó có những sai sót nhỏ và phải thiết kế lại, nhưng đó là một phần của trải nghiệm. Sau này mình mới biết máy in của bạn mình bị lỗi cong vênh, nên bản in nhận được cũng gặp chút vấn đề.

Dù không có bộ kit Otto, mình vẫn muốn tìm hiểu về phần điện tử. Mình đã mượn một chiếc ESP32, động cơ servo và cảm biến siêu âm từ trường. Mình đã viết code để giúp nó di chuyển qua lại dựa theo cảm biến mắt.
#include <ESP32Servo.h>
#define SERVO_PIN 13
#define TRIG_PIN 5
#define ECHO_PIN 18
Servo myServo;
long getDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH, 30000);
if (duration == 0) return 999;
return duration * 0.034 / 2;
}
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
myServo.attach(SERVO_PIN);
myServo.writeMicroseconds(1500);
delay(2000);
}
void loop() {
long dist = getDistance();
if (dist > 20) {
myServo.writeMicroseconds(2000);
} else {
myServo.writeMicroseconds(1000);
delay(3000);
myServo.writeMicroseconds(1500);
delay(500);
}
delay(100);
}

Vì chỉ có một động cơ nên hiện tại Otto chỉ có thể di chuyển qua lại😂, nhưng phần điện tử và lập trình đều hoạt động tốt. Việc này giúp mình hiểu được cách các linh kiện điện tử trong Otto phối hợp với nhau.
Bạn có thể thấy mình phải dùng cả Lego và dây thun cho lần in đầu vì máy gặp lỗi.
Đây là lần thử thứ hai của mình (26/03/2019)

Mình bắt đầu dự án này chỉ vì muốn học thêm điều gì đó mới mẻ.
Chỉ sau đó mình mới nhận ra mình đã thực hiện đúng tinh thần mà Otto được tạo ra: truyền cảm hứng cho học sinh và người mới bắt đầu khám phá, chế tạo và học hỏi.
Mục tiêu thực sự không phải là thắng cuộc, mà là những kiến thức, sai lầm và cả quá trình mình trải qua.
Otto đã truyền cảm hứng để mình khám phá CAD, điện tử và các khía cạnh kỹ thuật chuyên sâu hơn.
Mình chỉ muốn gửi lời cảm ơn đến đội ngũ Otto vì đã giúp mình khám phá những điều thú vị và tìm ra sở thích mới;)
Thông tin
Otto xe tải sử dụng tất cả các linh kiện điện tử gốc có trong bộ HP Robots | Otto Starter – Creator Kit.
In ấn
Mỗi lỗ hoặc khe hở hẹp đều được thiết kế chừa thêm khoảng trống để trừ hao sai số.
Đầu phun (Nozzle): 0.4mm
Chất liệu: PLA
Chất lượng: Mình dùng 0.8mm High Quality.
❗Bạn cũng có thể dùng 0.16mm để in nhanh hơn, mình gặp chút vấn đề với máy in ở mức 0.16mm do hiện tượng cong vênh.
Supports: Mình dùng chế độ Tree mặc định.
Tổng thời gian in mất 3 ngày.
Lắp ráp
Giấy phép
Tác phẩm này được cấp phép theo
Creative Commons — Attribution — Noncommercial — Share AlikeCC-BY-NC-SA
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!