你是否曾对那些能够精妙地保持平衡的机器设备感到好奇?

从无人机到独轮平衡车,背后都蕴藏着复杂的控制系统。

今天,我们来介绍一个充满挑战与乐趣的项目——制作一个球平衡机器人。这不仅是一个酷炫的摆件,更是一次深入学习机器人、传感器和控制系统的机会。

在这里插入图片描述

这个项目源于一位创客的亲身实践,他从零开始,通过这个项目掌握了传感器、控制系统和逆运动学等核心知识,甚至学会了如何系统性地解决问题。它非常适合新手,也为那些希望将理论知识付诸实践的学生提供了完美的平台。

项目解析:三足鼎立的“平衡大师”

球平衡机器人,从工程角度看,是一个精巧的“三维平面并联机构”(3-RRS parallel manipulator)。你可以把它想象成一个由三条腿支撑的托盘。当小球偏离中心时,这三条“腿”——也就是三个步进电机——会协同工作,精确地调整托盘的倾斜角度,就像一个经验丰富的服务员在托盘上保持酒杯平衡一样,最终让小球始终回到中心位置。

在这里插入图片描述

那么,它到底是怎么做到这一切的呢?

简单来说,整个过程遵循一个闭环控制系统:

  1. 感知(输入): 平台上的电阻式触摸屏会实时感知小球的位置坐标。
  2. 计算(处理): 微控制器接收到这些坐标后,会进行复杂的运算,包括逆运动学PID控制。逆运动学计算出为了让小球回到中心,三个电机需要转动的角度;PID控制器则像机器人的“大脑”,不断地根据小球的当前位置和速度,精细地调整输出,以确保小球能平稳、快速地回到中心,而不是来回振荡。
  3. 执行(输出): 电机驱动器接收到微控制器的指令后,会精准地控制步进电机转动,从而调整平台的角度。

准备材料

要打造这个机器人,你需要准备以下核心部件和工具。

每个选择都有讲究:

  • 主控核心: 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创客社区论坛下载所有打包文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93055.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93055.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93055.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

21.Linux HTTPS服务

Linux : HTTPS服务协议传输方式端口安全性HTTP明文传输80无加密,可被窃听HTTPS加密传输443HTTP SSL/TLS 数据加密(防窃听)身份认证(防伪装)完整性校验(防篡改)OpenSSL 证书操作核心命令命令选项…

SqlSugar 跨方法 操作临时表

.net项目中时长会有用到临时表的操作结果如下所示但是在SqlSugar中可能因为会话问题导致临时表访问受限 搜索到的方式var conn (SqlConnection)sugarClient.Ado.Connection;if (conn.State ! System.Data.ConnectionState.Open) {conn.Open();}using (var cmd new SqlCommand…

怎么用飞算javaAI实现视频逐帧截图并保存

相信很多朋友都遇到过这样的需求:想从视频中截取特定帧作为素材,却苦于没有简单易用的工具,要么操作复杂难以精准定位,要么导出的图片质量不佳。市面上的视频处理软件要么功能冗余,要么需要付费才能使用逐帧截取功能&a…

【2】Transformers快速入门:统计语言模型是啥?

一句话看懂统计语言模型核心任务:教电脑判断一句话 “像不像人话” (比如“我爱吃苹果”✅ vs “苹果吃爱我”❌)1. 早期:死磕语法规则 → 失败! 科学家思路(1970年前): 像语文老师一…

[激光原理与应用-230]:物理学主要分支、研究对象、衍生技术及职业方向解析

物理学作为自然科学的核心学科,其分支体系覆盖从微观粒子到宏观宇宙的广阔领域,并通过交叉融合衍生出众多前沿技术。以下从经典与现代物理学分支、交叉学科、技术转化及职业方向四个维度展开分析:一、经典物理学分支:宏观世界的基…

北京JAVA基础面试30天打卡08

RocketMQ、RabbitMQ与Kafka对比及常见问题解决方案 一、概述 消息队列(Message Queue, MQ)是企业IT系统内部通信的核心手段,用于提升性能、实现系统解耦和流量削峰。它具有低耦合、可靠投递、广播、流量控制、最终一致性等功能,是…

【CSS 变量】让你的 CSS “活”起来:深入理解 CSS 自定义属性与主题切换

【CSS 变量】让你的 CSS “活”起来:深入理解 CSS 自定义属性与主题切换 所属专栏: 《前端小技巧集合:让你的代码更优雅高效》 上一篇: 【CSS 视觉】无需JS,纯 CSS 实现酷炫视觉效果(clip-path, filter, b…

RAG初步实战:从 PDF 到问答:我的第一个轻量级 RAG 系统(附详细项目代码内容与说明)

RAG初步实战:从 PDF 到问答:我的第一个轻量级 RAG 系统 项目背景与目标 在大模型逐渐普及的今天,Retrieval-Augmented Generation(RAG,检索增强生成)作为连接“知识库”和“大语言模型”的核心范式&#…

自主泊车算法

看我的git 在 open space 空间下规划出⼀条⾃⻋到停⻋位的⽆碰撞轨迹 满⾜平滑约束 可跟踪 考虑动态障碍物约束 在路径不可⽤的情况下 具备重规划能⼒ 重规划时能够做到⽆缝切换 即从原路径⽆缝切换到重规划路径 ⽆明显体感 规划频率 10HZ

USB 2.0 学习(2)- 连接

上回说到 usb的信号 k 状态和 j 状态,补充一下 usb的一些电气小知识。 1.USB设备有四根线 电源线VBus、 D、 D-、 地线GND 2.USB主机端的 D 和 D-各有1个15k下拉电阻,这是为了准确检测 D还是D-线上电平的变化 因为USB总线检测USB设备是低速还是全速设备…

解锁 Appium Inspector:移动端 UI 自动化定位的利器

​ 在移动端 UI 自动化测试中,元素定位是绕不开的核心环节。无论是 Android 还是 iOS 应用,能否精准、高效地定位到界面元素,直接决定了自动化脚本的稳定性和可维护性。而 Appium Inspector 作为 Appium 生态中专门用于元素定位的工具&#…

机器学习概念1

了解机器学习1、什么是机器学习机器学习是一门通过编程让计算机从数据中进行学习的科学 通用定义:机器学习是一个研究领域让计算机无须进行明确编程就具备学习能力 工程化定义:一个计算机程序利用经验E来学习任务T,性能是P,如果针…

前端html学习笔记5:框架、字符实体与 HTML5 新增标签

本文为个人学习总结,如有谬误欢迎指正。前端知识众多,后续将继续记录其他知识点! 目录 前言 一、框架标签 作用: 语法: 属性: 二、字符实体 作用: 三、html5新增标签 语义化 状态 列…

Day05 店铺营业状态设置 Redis

Redis 入门 Redis 简介 Redis 是一个基于内存的 key-value 结构数据库。 基于内存存储,读写性能高 适合存储热点数据(热点商品,资讯,新闻) 企业应用广泛 redis 中文网:Redis中文网 Redis 下载与安装 R…

Linux驱动开发probe字符设备的完整创建流程

一、 设备号分配1.静态分配通过register_chrdev_region预先指定设备号(需要确保未被占用)2.动态分配通过alloc_chrdev_region由内核自动分配主设备号,一般都是动态分配以避免冲突。3316 xxxx_dev.major 0; 3317 3318 if (xx…

生产环境中Spring Cloud Sleuth与Zipkin分布式链路追踪实战经验分享

生产环境中Spring Cloud Sleuth与Zipkin分布式链路追踪实战经验分享 在复杂的微服务架构中,服务调用链路繁杂,单点故障或性能瓶颈往往难以定位。本文结合真实生产环境案例,分享如何基于Spring Cloud Sleuth与Zipkin构建高可用、低开销的分布…

基于Python的《红楼梦》文本分析与机器学习应用

本文将详细介绍如何使用Python和机器学习技术对《红楼梦》进行深入的文本分析和处理,包括文本分卷、分词、停用词处理、TF-IDF特征提取以及文本可视化等关键技术。一、项目概述本项目的目标是对中国古典文学名著《红楼梦》进行全面的自动化处理和分析,主…

Bevy渲染引擎核心技术深度解析:架构、体积雾与Meshlet渲染

本文将深入探讨Bevy游戏引擎的渲染架构,重点分析其体积雾实现原理、Meshlet渲染技术以及基于物理的渲染(PBR)系统。内容严格基于技术实现细节,覆盖从底层渲染管线到高级特效的全套解决方案。一、Bevy渲染架构深度解析1.1 核心架构…

CASS11计算斜面面积

1.生成三角网2.工程应用--计算表面积--根据三角网

借助Rclone快速从阿里云OSS迁移到AWS S3

本文作者: 封磊 Eclicktech SA | AWS Community Builder DevTool | AWS UGL | 亚马逊云科技云博主 阿里云&InfoQ&CSDN签约作者 概述 随着企业云战略的调整和多云架构的普及,数据迁移成为了一个常见需求。本文将详细介绍如何使用Rclone工具,高效…