自己动手造个球平衡机器人
你是否曾对那些能够精妙地保持平衡的机器设备感到好奇?
从无人机到独轮平衡车,背后都蕴藏着复杂的控制系统。
今天,我们来介绍一个充满挑战与乐趣的项目——制作一个球平衡机器人。这不仅是一个酷炫的摆件,更是一次深入学习机器人、传感器和控制系统的机会。
这个项目源于一位创客的亲身实践,他从零开始,通过这个项目掌握了传感器、控制系统和逆运动学等核心知识,甚至学会了如何系统性地解决问题。它非常适合新手,也为那些希望将理论知识付诸实践的学生提供了完美的平台。
项目解析:三足鼎立的“平衡大师”
球平衡机器人,从工程角度看,是一个精巧的“三维平面并联机构”(3-RRS parallel manipulator)。你可以把它想象成一个由三条腿支撑的托盘。当小球偏离中心时,这三条“腿”——也就是三个步进电机——会协同工作,精确地调整托盘的倾斜角度,就像一个经验丰富的服务员在托盘上保持酒杯平衡一样,最终让小球始终回到中心位置。
那么,它到底是怎么做到这一切的呢?
简单来说,整个过程遵循一个闭环控制系统:
- 感知(输入): 平台上的电阻式触摸屏会实时感知小球的位置坐标。
- 计算(处理): 微控制器接收到这些坐标后,会进行复杂的运算,包括逆运动学和PID控制。逆运动学计算出为了让小球回到中心,三个电机需要转动的角度;PID控制器则像机器人的“大脑”,不断地根据小球的当前位置和速度,精细地调整输出,以确保小球能平稳、快速地回到中心,而不是来回振荡。
- 执行(输出): 电机驱动器接收到微控制器的指令后,会精准地控制步进电机转动,从而调整平台的角度。
准备材料
要打造这个机器人,你需要准备以下核心部件和工具。
每个选择都有讲究:
- 主控核心: Teensy 4.0 微控制器。为什么不用常见的Arduino?因为球平衡机器人需要高速、复杂的计算来处理实时传感器数据和控制算法,Teensy 4.0 的强大处理能力是其成功的关键。
-
驱动核心: 三个 Nema 17 步进电机。步进电机能提供高扭矩和精确的步进控制,这对于实现平台角度的微调至关重要。
-
感知核心: 一个电阻式触摸屏。它充当了机器人的“眼睛”,通过电阻变化来判断小球的精确位置。
-
驱动模块: 三个 TMC2208 步进电机驱动器。这些驱动器能将微控制器的信号转化为电机所需的电流,并且拥有静音驱动功能,让机器人运行更平顺。
-
电源: 一个能提供至少 24V、5A 电源的直流电源。步进电机需要较高的电压才能发挥出足够的扭矩。
-
工具: 剪线钳、电烙铁、万用表等基础电子工具。此外,项目的大部分结构件需要通过 3D 打印制作,如果你没有3D打印机,可以寻找线下的创客空间或线上打印服务。
机械结构制作
项目最酷的部分之一就是它的机械设计。作者使用了 Solidworks 设计了所有的机械零件。好消息是,你不需要自己从头设计,作者已经将所有 3D 打印文件开源,你可以直接获取文件并进行打印。这一步主要是将各个零件打印出来,为后续组装做好准备。
电路搭建
这是项目的核心“神经系统”。
你需要根据项目提供的电路图,将 24V 电源、三个电机驱动器和 Teensy 4.0 微控制器连接起来。由于电机需要高压,而微控制器需要5V,因此需要一个稳压器将高压降下来。这一步考验的是你的焊接和电路连接能力,务必确保连接正确、牢固。
物理组装
将 3D 打印好的零件、电机、电路板和触摸屏组装在一起。这个过程需要一定的耐心,将每个部件都按照设计图纸安装到位,确保机械结构能够顺畅地移动,没有卡顿。
程序代码上传与调试
赋予机器人“生命”的关键一步。你需要将项目的代码上传到 Teensy 微控制器中。
代码包含了用于驱动电机、读取触摸屏数据以及实现平衡算法的所有逻辑。上传代码后,你还需要进行校准(Calibration),告诉机器人平台的水平位置,并调整 PID 参数,让它能够更平稳地控制小球。
完成以上步骤,你的球平衡机器人就大功告成了。当你亲手制作的机器人,在代码的驱动下,精准地保持小球的平衡,那种成就感是无与伦比的。
如果你对这个项目感兴趣,可以访问项目的 GitHub 页面,获取所有设计文件和代码:https://github.com/skulkarni3000/ball-balancing-bot
也可以到DF创客社区论坛下载所有打包文件。