1. I designed a cube that balances itself on a corner (willempennings.nl)
自平衡立方体项目概述
项目背景与目标
该项目旨在构建一个能够通过角点自我平衡并可控旋转的立方体,其创意源自苏黎世联邦理工学院(ETH Zürich)的“Cubli”。作者在现有研究(如Bobrow等人改进的控制方案)基础上进行逆向工程,致力于实现一个完全开源的设计(GitHub),以弥补此前相关项目闭源的不足。
核心工作原理
立方体通过三个反作用飞轮和精密控制算法实现平衡与旋转。反作用飞轮技术也应用于卫星(如詹姆斯·韦伯望远镜)的姿态控制。
机械设计
- 结构:主要由8个“基石”和6个面板组成,其中3个面板承载电机与飞轮组件。
- 材料:主体结构采用不锈钢(高强度),面板使用铝(减轻重量)。
- 制造:金属部件由PCBWay通过CNC加工制造,质量可靠。
- 飞轮组件:每个组件包括电机、不锈钢支架、轮毂和反作用飞轮。设计重点在于轻量化与稳健性,并注意部件对齐以避免振动。通过垫纸等微调方式校正微小不对齐。
- 组装:三个飞轮组件安装于特定面板,其中一个电机方向不同以简化布线。最终形成一个坚固且相对较轻的立方体结构。
电子与机械系统设计
- 电机与控制器:选用高性能的Maxon EC系列无刷电机(60W)和4象限电机控制器(支持电流控制,最高6A)。控制器具备I²t过热保护和调谐软件。
- 电池:采用6S1P锂聚合物电池(22.2V,1300mAh),可续航约1小时。
- 主板:定制设计,集成电机控制器、ICM20948 IMU、ESP32-S3开发板及保护电路、稳压器,并预留机械制动器接口。
- 电源板:简单电路,含XT60连接器和并联开关(应对大电流)。
- 组装与调试:通过回流焊完成表面贴装,手工焊接通孔元件。后期发现并修正了PWM信号布线错误。
控制器设计与算法
- 算法来源:移植自Fabio Bobrow的Arm Mbed代码至Arduino平台(使用ESP32),并重写IMU驱动。
- 控制逻辑:
- 平衡控制:在保持立方体稳定平衡的同时,最小化飞轮转速。
- 积分机制:使用飞轮位置(角度)作为积分项,直观且有效补偿恒定误差(如重量分布不均)。
- 调谐:因硬件差异(飞轮规格不同),需手动反复调整控制器增益,以获得良好的平衡与抗干扰性能。
成本与开源性
- 总成本:约2500欧元。
- 开源:所有设计文件、配置及代码均在GitHub公开。
未来计划
计划添加机械制动器,使飞轮能快速制动从而产生巨大扭矩,实现立方体自动从跌倒状态起立至平衡点,此功能目前仅见于原版Cubli。
项目意义
这是一个兼具学习与研究价值的项目,展示了高精度控制系统与开源硬件设计的结合。作者是已知的全球首个达到类Cubli平衡性能的完全开源立方体实现者。