Thiết kế khối lập phương tự cân bằng trên một góc
(willempennings.nl)- Một khối lập phương đứng trên một góc duy trì cân bằng bằng ba bánh phản lực và bộ điều khiển, đồng thời điều khiển cả chuyển động quay theo trục; đây là một dự án phần cứng mã nguồn mở
- Nguyên mẫu là Cubli của ETH Zürich, còn Bobrow và cộng sự tại University of São Paulo đã bổ sung khái niệm điều khiển giúp giảm số IMU cần thiết từ 6 xuống 1
- Vì các công trình trước đây phần lớn không công khai, người chế tạo đã reverse-engineer thiết kế cơ khí, mạch điện, cấu hình và mã, rồi công bố dưới dạng hoàn toàn mã nguồn mở
- Phần cứng gồm kết cấu thép không gỉ và nhôm, 3 động cơ Maxon 60W, bộ điều khiển động cơ 4-quadrant, pin LiPo 6S1P, ESP32-S3 và bo mạch tùy chỉnh chứa IMU
- Hiện tại, khối lập phương đang ở giai đoạn được con người dựng lên rồi tự giữ cân bằng; mục tiêu tiếp theo là dùng phanh cơ khí để khối lập phương tự nhảy lên vị trí cân bằng
Khối lập phương dòng Cubli được làm lại dưới dạng mã nguồn mở
- Khối lập phương này có thể cân bằng trên một góc, đồng thời thực hiện chuyển động quay có kiểm soát quanh trục
- Cốt lõi của hoạt động là một phương thức điều khiển thông minh và ba bánh phản lực
- Ý tưởng nguyên mẫu bắt nguồn từ Cubli của các nhà nghiên cứu ETH Zürich
- Sau đó, Bobrow và cộng sự tại University of São Paulo đã đưa vào khái niệm điều khiển cải tiến, giảm số IMU cần thiết từ 6 xuống 1
- Vì các công trình trước đây phần lớn không công khai, người chế tạo đã reverse-engineer mọi thứ, vẽ lại từ đầu và công bố
- Các tệp thiết kế, cấu hình và mã được công bố trong kho GitHub
- BOM theo ước tính của người chế tạo vào khoảng gần €2500
Thiết bị thiên về học tập và nghiên cứu hơn là tính thực dụng
- Bản thân khối lập phương chủ yếu là một trải nghiệm học tập và dự án nghiên cứu, không có nhiều giá trị thực dụng trực tiếp
- Tuy vậy, bánh phản lực dùng cùng nguyên lý được sử dụng để điều khiển tư thế trong vệ tinh như James Webb telescope
- Giống như máy phân loại M&Ms trước đây, một thiết bị nhìn bề ngoài có vẻ vô dụng vẫn có thể mang lại giá trị thực trong các ứng dụng tương tự
Kết cấu cơ khí và chế tạo
- Toàn bộ kết cấu cơ khí nhìn chung khá giống Cubli ban đầu, nhưng có một số khác biệt ở chi tiết
- Kết cấu cơ bản gồm 8 cornerstone và 6 face plate
- Trong 6 face plate, 3 tấm có thêm hình dạng để đỡ cụm động cơ và bánh phản lực
- Tất cả bộ phận được thiết kế trong Fusion 360
- Người chế tạo cho rằng việc dùng Fusion 360 thay cho Siemens NX từng dùng trước đây giúp dễ chia sẻ thiết kế với cộng đồng DIY hơn
- Phần lớn các bộ phận kết cấu được làm bằng thép không gỉ để đảm bảo độ bền
- Face plate được làm bằng nhôm để giảm trọng lượng
- Sau khi lắp ráp, độ cứng kết cấu đã đủ nên không cần làm face plate bằng thép
- Các bộ phận kim loại được CNC tại PCBWay
- Một phần chi phí do PCBWay tài trợ
- Quy trình đặt hàng được dùng là tải bộ phận lên, chỉ định vật liệu rồi báo giá được tính tự động
- Một số vấn đề nhỏ trong sản xuất được xử lý nhanh chóng, và các bộ phận ăn khớp với nhau không gặp vấn đề
Cụm động cơ và bánh phản lực
- Bánh phản lực có thể đạt tối đa 6000 rpm, nên cần thiết kế vừa chắc chắn vừa nhẹ
- Động cơ được nối với cầu thép không gỉ bằng ba vít đầu chìm, còn cầu được cố định vào face plate nhôm
- Trên trục động cơ có gắn một hub nhỏ, được cố định bằng ba set screw
- Nếu lỗ tâm của hub không vuông góc với mặt tam giác phẳng, bánh sẽ không thẳng hàng với trục động cơ, có thể gây rung và mài mòn
- Bánh phản lực được gắn vào hub bằng ba vít đầu chìm
- Những sai lệch rất nhỏ của hub và bánh được bù bằng cách chèn các mảnh giấy nhỏ giữa các bề mặt tiếp xúc
- Face plate có một radial ball bearing nhỏ và được cố định bằng keo cyanoacrylate
- Vòng bi này đỡ một đầu của trục động cơ
- Đầu còn lại của trục được đỡ bởi vòng bi bên trong động cơ
- Quy trình lắp ráp này được lặp lại ba lần để tạo thành một nửa khối lập phương, còn các face plate còn lại được ghép trực tiếp mà không cần lắp ráp đặc biệt
- Để đơn giản hóa việc đi dây, một động cơ được đặt với hướng khác so với hướng chuẩn của cầu
Cấu hình điện và cơ khí
- Giống như các balancing cube khác dùng dòng động cơ EC flat của Maxon, dự án này cũng chọn linh kiện Maxon
- Động cơ và bộ điều khiển là các linh kiện then chốt để khối lập phương giữ cân bằng bằng mô-men xoắn
- Nhiều động cơ DC không có datasheet nêu rõ hằng số mô-men
- Nhiều bộ điều khiển BLDC hoặc ESC chỉ cung cấp điều khiển tốc độ, không cung cấp điều khiển dòng điện
- Dự án này bắt buộc cần quan hệ mô-men–dòng điện và điều khiển dòng điện
- Động cơ được chọn là Maxon 60W motor, còn bộ điều khiển động cơ 4-quadrant tương thích có thể cung cấp dòng tối đa 6A
- 6A ở 24V tương đương gần 150W
- Vượt quá công suất định mức của động cơ, nhưng quá tải ngắn hạn không gây vấn đề
- Bộ điều khiển tích hợp thuật toán I2t để giới hạn dòng nếu ước tính nhiệt độ cuộn dây sẽ tăng quá cao
- Khi giữ cân bằng, dòng điện thường rất thấp nên khả năng chạm giới hạn này trong vận hành bình thường là thấp
- Phần mềm điều khiển động cơ Escon cung cấp chạy thử động cơ, công cụ tuning, và dashboard hiển thị trạng thái cùng I/O trong khi hoạt động
Pin và bo mạch tùy chỉnh
- Pin sử dụng pin lithium-polymer 6S1P
- Vì động cơ có định mức 24V, pin LiPo 6 cell với điện áp danh định 22,2V khá phù hợp
- Dung lượng là 1300mAh, 29Wh, và thường có thể cấp nguồn cho khối lập phương ít nhất 1 giờ
- Mainboard là thiết kế tùy chỉnh
- Ba bộ điều khiển động cơ
- IMU
- Bo phát triển ESP32-S3
- Mạch bảo vệ
- Bộ ổn áp
- Ngõ ra RC servo motor cho phanh cơ khí
- Ngõ ra phanh cơ khí là phần thiết kế chuẩn bị trước để khối lập phương có thể tự jump-up lên vị trí cân bằng
- Thiết kế phanh hiện vẫn chưa hoàn tất
- Bo mạch được lắp ráp bằng cách phủ solder paste, đặt linh kiện dán bề mặt, reflow bằng lò nướng bánh mì nhỏ, rồi hàn thủ công các linh kiện through-hole
- Trong quá trình tích hợp và kiểm thử, một số lỗi routing được phát hiện và sửa bằng bodge wire
- Chỉ một trong các ngõ vào số của bộ điều khiển động cơ hỗ trợ PWM, nhưng tín hiệu PWM lại được route đến một ngõ vào không hỗ trợ
- Một bo mạch riêng để gắn pin cũng được thiết kế
- 2 đầu nối XT60
- 2 công tắc mắc song song để tính đến dòng tối đa 18A
Port bộ điều khiển và điều khiển cân bằng
- Bộ điều khiển không được thiết kế mới, mà port cubli-firmware của Fabio Bobrow từ Arm Mbed sang Arduino
- Vi điều khiển dùng ESP32 thay vì STM32 Nucleo
- Vì IMU dùng ICM20948 của TDK Invensense, driver tương ứng cũng được viết lại
- Bộ điều khiển tư thế chính phải đồng thời đáp ứng hai mục tiêu mâu thuẫn nhau
- Giữ khối lập phương ở tư thế mong muốn, tức vị trí cân bằng không ổn định
- Giữ tốc độ bánh phản lực gần mức tối thiểu
- Nếu không xét mục tiêu thứ hai, tốc độ bánh có thể mất kiểm soát, động cơ bị bão hòa và không thể tác dụng mô-men lên khối lập phương
- Nếu lực cố giữ tốc độ bánh gần 0 quá lớn, khối lập phương sẽ đổ
- Ngược lại, nếu lực đó quá yếu, tốc độ bánh có thể tăng theo đúng nghĩa là mất kiểm soát
- Để đồng thời có hiệu năng cân bằng tốt, triệt nhiễu và tốc độ bánh thấp, cần tìm gain phù hợp
Sai số hằng và tích phân vị trí bánh
- Bộ điều khiển cũng có cơ chế xử lý sai số hằng
- Sai số hằng là trường hợp vị trí cân bằng được thiết lập và vị trí cân bằng thực tế hơi khác nhau do phân bố khối lượng của khối lập phương không hoàn hảo
- Trong bộ điều khiển PID thông thường, thành phần integral xử lý loại sai số này
- Bộ điều khiển này dùng vị trí của bánh như giá trị tích phân
- Khi đặt một quả cà chua lên khối lập phương để thay đổi phân bố khối lượng, bánh phản lực sẽ tăng tốc rồi giảm tốc trong khi di chuyển đến vị trí mới, bù cho sai số tăng thêm
Điểm vướng trong quá trình tuning
- Chạy thử và tuning bộ điều khiển chiếm phần lớn nhất trong các công việc liên quan đến mã
- Trước tiên, mất vài ngày để khớp dấu của nhiều tín hiệu
- Sau đó phải tìm gain cho bộ điều khiển
- Phương pháp tuning trong luận văn của Bobrow không hoạt động với khối lập phương này
- Khối lập phương này dùng bánh khác với khối lập phương của Bobrow, nên không thể tái sử dụng nguyên xi các gain
- Sau quá trình tuning thủ công lặp đi lặp lại, hiệu năng ổn định như thấy trong video đã đạt được
Các khối lập phương tương tự và bước tiếp theo
- Người chế tạo cho rằng đây là khối lập phương hoàn toàn mã nguồn mở đã đạt hiệu năng cân bằng tương tự Cubli
- Các dự án tương tự được tài liệu hóa tương đối tốt gồm:
- Mục tiêu tiếp theo là thêm phanh cơ khí vào bánh phản lực
- Phanh có thể dừng bánh rất nhanh, tạo ra mô-men lớn hơn nhiều so với mức động cơ có thể trực tiếp tạo ra
- Mô-men này cho phép khối lập phương tự leo lên vị trí cân bằng bằng jump-up manoeuver
- Theo người chế tạo, hiện chỉ Cubli gốc có chức năng này
- Cơ chế phanh của Cubli không được ưu tiên vì nhiều lý do, nên dự kiến sẽ dùng một cách tiếp cận khác
1 bình luận
Ý kiến trên Hacker News
Với tư cách là người có bằng thạc sĩ về điều khiển và xử lý tín hiệu rồi cuối cùng lại làm công việc nhàm chán hơn, tôi từng nghĩ việc mất nhiều ngày đảo dấu tín hiệu là do thiếu kinh nghiệm
Hóa ra ngay cả trong phán đoán đó, tôi cũng đã chọn sai dấu
x *= -1.0; //DO NOT TOUCHAi cũng làm vậy cả, nhưng thường thì người ta sẽ thử nghiệm trước khi dán nó bằng băng keo lên một khối thuốc nổ nặng hàng nghìn kg rồi bấm nút đỏ :)
Mọi bộ điều khiển mà tôi thiết kế và triển khai cuối cùng đều khiến tôi chấp nhận thực tế rằng cần đủ unit test để bảo đảm các hành vi như dấu và hướng
Xem video đó thật sự ấn tượng
Đó là trải nghiệm gần nhất với suy nghĩ “chẳng phải đây đơn giản là ma thuật sao”
Cách nó phản ứng khi bị đẩy giống cảm giác lần đầu tiếp xúc với nam châm, nhưng giờ như thể đang nhìn thấy một lực hoàn toàn mới
Nó tự duy trì cân bằng như một vật sống, chống lại thay đổi của môi trường, và ngay cả khi đặt một quả cà chua lên trên thì nó cũng thích nghi ngay, giống như cơ thể chúng ta thích nghi với thay đổi tải trọng
Nếu một ngày nào đó có phiên bản nhỏ sản xuất hàng loạt giá 50 đô la bán trên Amazon, tôi nhất định muốn mua về nghịch
https://youtu.be/n_6p-1J551Y?si=zvwORnuPZmgXw0S8
Khi học lập trình, tôi từng cảm thấy “chỉ cần dành thời gian viết chương trình là có thể bắt máy tính làm bất cứ điều gì mình muốn”
Lý thuyết điều khiển cũng đem lại cảm giác tương tự, nhưng lần này giống như đang “lập trình” các định luật vật lý để thay đổi cách thế giới thực vận hành
Tìm trên YouTube sẽ thấy cả ví dụ hơn 10 năm tuổi
Tôi rất thích sự nghiệp kỹ sư phần mềm của mình, nhưng mặt khác cũng ước gì ngày trước mình đã học một lĩnh vực có thể bắt đầu tạo ra những thứ như thế này
Thật sự rất ngầu
Giống như phần lớn chúng ta đã học lập trình vậy ;-)
Có điều đừng bắt đầu dự án đầu tiên bằng khối lập phương tự cân bằng; hãy mua một bo Arduino hoặc ESP và bắt đầu bằng việc làm đèn LED nhấp nháy
Như một phương án dung hòa, tôi đã ổn định với tự động hóa gia đình và các dự án điện tử sở thích dùng vi điều khiển như esp32, rpi pico
Rất đáng thử nếu bạn muốn làm ra thứ gì đó có thể cầm nắm được
Nhân tiện, tổng chi phí linh kiện của dự án khối lập phương này vào khoảng 2500 euro
Ít nhất là cho đến khi tôi phát hiện ra những công việc trên thị trường chỉ toàn là chế tạo máy móc giết người
Với tôi là vậy, còn mỗi người có thể khác
Tutorial tốt, phần giới thiệu sản phẩm và video cũng làm rất chỉn chu
Gần như sản phẩm nào cũng có video đi kèm, nên đây là nơi rất dễ khiến bạn tiêu tiền
Nó cũng giúp ích cho sự nghiệp kỹ sư phần mềm nhờ tăng tốc độ, độ chính xác và hiệu quả khi lập trình
https://www.reddit.com/r/ErgoMechKeyboards/comments/hj0q8x/f...
Tôi rất mong chờ phần họ nói sẽ thêm phanh cơ khí vào bánh xe phản lực để cho phép thao tác nhảy, giúp khối lập phương tự đạt đến vị trí cân bằng
Đó luôn là phần tôi thấy ngầu nhất trong dự án Cubli
Video: https://youtu.be/n_6p-1J551Y?t=92
Nếu muốn leo lên thì không nên là hình tròn, nhưng nếu muốn lăn xuống thì các cạnh bo tròn có vẻ tốt
Tôi hình dung một dạng gồm hai vòng tạo thành hình cầu: xoay 90 độ để chuyển giữa chế độ lăn và chế độ đi bộ
Khối đó nhảy lên cạnh, rồi lại leo lên đỉnh và bắt đầu xoay, và có thể làm như vậy trên bất kỳ bề mặt nào
Tôi nghĩ phần lớn những người tưởng mình quen thuộc với vật lý cũng sẽ khá bối rối, và nếu khối lập phương bất ngờ nhảy ngược từ đỉnh xuống mặt phẳng để cho thấy đó không phải là cơ cấu nhô ra giấu kín, có lẽ họ sẽ nghiêm túc nghĩ đến khả năng có ma thuật
Giờ chỉ cần một vỏ gỗ đẹp và một đế sạc cảm ứng phù hợp nữa là đủ
Nếu là Kickstarter thì cứ lấy tiền của tôi đi
Tôi nhớ đến tàu monorail Brennan
Một video rất thú vị https://www.youtube.com/watch?v=kUYzuAJeg3M
Nghệ thuật xuất sắc
Tác phẩm khác này của cùng người làm thì hoàn toàn khác, nhưng xem cũng thú vị không kém: https://www.youtube.com/watch?v=P9jyNIWsRvI
Mình thật sự thích những kỹ sư làm nghệ thuật
Đây là một tác phẩm gắn bánh đà phản lực vào một chiếc sofa 170 năm tuổi, khiến nó đứng trên một chân một cách khó tin
Cuối cùng, khi bánh đà phản lực đạt tới giới hạn, chiếc sofa đổ xuống và phát nổ; nếu hỏi tác giả thì có lẽ ông ấy sẽ nói nó trông giống như một mối quan hệ con người
Dạo này cũng khó mà không liên tưởng đến chính trị
Tác phẩm này cũng được Prix Ars Electronica, một vinh dự rất cao trong thể loại này, công nhận
Video: https://www.youtube.com/watch?v=uQRP-b68fnE
Bài viết: https://ars.electronica.art/aeblog/en/2014/07/02/auf-der-suc...
Thật ra có vẻ hai thứ này có thể kết hợp với nhau khá dễ
Chủ nhật nào mình cũng thường hào hứng vì đạt tới một tầm cao mới bằng code, cảm thấy hài lòng vì đã đẩy sự bền bỉ và sáng tạo của mình đi xa hơn; nhưng đọc những bài như thế này thì thấy hoàn toàn bất lực
Mình thiếu kiên nhẫn và thậm chí còn quá sợ để thử làm những thứ như vậy
Vài tuần qua mình bắt đầu học React như một dự án phụ, và khá tự hào khi làm được thứ mà bạn bè thật sự có thể dùng
Tất nhiên là không có yếu tố “wow”, nhưng khi làm cũng không tốn 2500 đô la, và cũng không cần chi phí học tập kéo dài nhiều năm, thậm chí hàng chục năm
Trong bất kỳ lĩnh vực nào, số người trở thành giỏi nhất thế giới đều rất ít, nhưng điều đó không quan trọng
Sự thật đó không thay đổi những gì mình có thể làm
Khá nhiều kit thậm chí không cần hàn
Bắt đầu từ con số không hoàn toàn là quá khó, vì bạn phải tự tìm hiểu linh kiện nào khớp với nhau, cần bao nhiêu điện năng, v.v.
Như vậy sẽ dễ hơn nhiều, và cũng có thể dùng linh kiện có sẵn hoặc linh kiện làm thủ công
Thật ra mình bị thu hút bởi ngoại hình ngầu của chính món đồ hơn là chuyện nó giữ thăng bằng
Mình lập tức tìm xem có bán không, và có vẻ nếu tự làm thì tốn khoảng 2500 đô la
Có thể gọi là liều lĩnh cũng được, nhưng nếu có một phiên bản lớn hơn với các điểm bám dọc theo các cạnh, mình sẵn sàng trả tiền để leo thử
Mình muốn tự cảm nhận nó phản ứng thế nào với chuyển động của mình
Một thí nghiệm tư duy thú vị
Mình tự hỏi ý tưởng làm cho nó tự nằm xuống lại trên bộ sạc Qi hoặc pogo pin khi pin yếu hoặc khi bánh đà điều khiển phản lực bị bão hòa thì sẽ thế nào
Có lẽ đó là việc sau khi gắn phanh để nó có thể tự đứng dậy
Khoảng cách có thể là một vấn đề