当前位置: 首页 > article >正文

别再只测角度了!用AS5600磁编码器DIY你的桌面小玩意:转速表、舵机闭环控制与无线姿态监测

AS5600磁编码器的创意实践从转速测量到无线姿态监测在创客和硬件开发者的世界里精确的角度测量一直是许多项目的基础需求。AS5600磁编码器以其高精度、非接触式测量和简单的I2C接口成为了众多DIY爱好者的首选传感器。但大多数教程都停留在基础的角度读取上这就像拥有一辆跑车却只在小区里转悠——实在是大材小用。1. 项目构思与系统设计AS5600的12位分辨率意味着它能检测到0.088度的角度变化这种精度足以支撑许多有趣的应用。我们可以从三个维度来思考它的潜力运动检测通过定时采样将角度变化转换为转速闭环控制为舵机或电机提供实时位置反馈无线监测将角度数据通过蓝牙/WiFi传输到移动设备提示AS5600的I2C地址固定为0x36这简化了多设备连接时的地址管理问题在设计这类项目时我们需要考虑几个关键因素考虑因素转速表舵机控制无线监测采样频率高(100Hz)中等(50-100Hz)低(10-50Hz)数据处理简单计算PID算法数据打包硬件需求定时器显示电机驱动无线模块2. 电机转速表的实现转速测量看似简单但有几个技术细节需要注意。AS5600输出的原始角度值是0-4095(12位)我们需要处理数值溢出和采样时机的问题。// 转速计算核心代码 uint16_t lastAngle 0; unsigned long lastTime 0; void calculateRPM() { uint16_t currentAngle as5600.readAngle(); unsigned long currentTime millis(); // 处理角度溢出 int16_t deltaAngle (currentAngle - lastAngle) % 4096; if(deltaAngle 2048) deltaAngle - 4096; else if(deltaAngle -2048) deltaAngle 4096; float deltaTime (currentTime - lastTime) / 1000.0; // 转换为秒 float rpm (deltaAngle / 4096.0) * (60.0 / deltaTime); lastAngle currentAngle; lastTime currentTime; displayRPM(rpm); // 自定义显示函数 }实际应用中还需要考虑采样间隔优化太短会引入噪声太长会降低响应速度滤波处理简单的移动平均能显著改善读数稳定性显示刷新OLED屏幕不宜刷新过快通常30Hz足够3. 舵机闭环控制系统开环控制的舵机存在位置漂移问题特别是在有负载的情况下。AS5600可以构建一个经济高效的闭环系统。硬件连接示意图AS5600 → 磁铁 → 舵机转轴 ↑ └── 固定在舵机外壳PID控制的核心实现// 简化的PID控制器 class PIDController { public: PIDController(float kp, float ki, float kd) : Kp(kp), Ki(ki), Kd(kd), lastError(0), integral(0) {} float compute(float setpoint, float input) { float error setpoint - input; integral error; float derivative error - lastError; lastError error; return Kp*error Ki*integral Kd*derivative; } private: float Kp, Ki, Kd; float lastError, integral; }; // 使用示例 PIDController pid(0.8, 0.01, 0.05); void controlLoop() { float currentAngle as5600.readAngle() * AS5600_RAW_TO_DEGREES; float output pid.compute(targetAngle, currentAngle); servo.write(90 output); // 假设舵机中位在90度 }调试技巧先调P参数直到系统开始振荡然后减半再调D参数来抑制振荡最后加入少量I参数消除稳态误差4. 无线姿态监测系统结合ESP32的蓝牙功能我们可以创建一个无线姿态监测装置。这里的关键是数据打包和传输效率。#include BLEDevice.h #include BLEServer.h #include BLEUtils.h #include BLE2902.h BLECharacteristic *pCharacteristic; bool deviceConnected false; void setupBLE() { BLEDevice::init(AS5600 Monitor); BLEServer *pServer BLEDevice::createServer(); BLEService *pService pServer-createService(SERVICE_UUID); pCharacteristic pService-createCharacteristic( CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_NOTIFY ); pCharacteristic-addDescriptor(new BLE2902()); pService-start(); BLEAdvertising *pAdvertising pServer-getAdvertising(); pAdvertising-start(); } void sendAngleData() { if(!deviceConnected) return; uint16_t angle as5600.readAngle(); uint8_t data[2] { (angle 8) 0xFF, // 高字节 angle 0xFF // 低字节 }; pCharacteristic-setValue(data, 2); pCharacteristic-notify(); }在接收端(如手机App)需要处理数据解析将两个字节重新组合为角度值数据可视化实时绘制角度变化曲线姿态计算多个传感器数据融合可得到3D姿态5. 进阶技巧与故障排除磁编码器的性能很大程度上取决于磁铁的选择和安装。经过多次实验我发现这些经验特别有用使用直径6mm的钕磁铁效果最佳磁铁与传感器间距保持在1-3mm范围内确保磁铁中心对准传感器中心常见问题排查表现象可能原因解决方案读数跳变磁铁距离过远调整间距至1-3mm角度不准磁铁偏心重新对中安装I2C通信失败上拉电阻缺失添加4.7kΩ上拉电阻数据更新慢采样间隔过长优化代码时序对于需要更高精度的场合可以考虑使用AS5600的模拟输出模式增加温度补偿磁铁强度会随温度变化多传感器数据融合在最近的一个机械臂项目中我将AS5600安装在每个关节处通过ESP32的WiFi将数据实时传输到上位机实现了比传统电位器方案更高的精度和可靠性而成本只有商业编码器的三分之一。

相关文章:

别再只测角度了!用AS5600磁编码器DIY你的桌面小玩意:转速表、舵机闭环控制与无线姿态监测

AS5600磁编码器的创意实践:从转速测量到无线姿态监测 在创客和硬件开发者的世界里,精确的角度测量一直是许多项目的基础需求。AS5600磁编码器以其高精度、非接触式测量和简单的I2C接口,成为了众多DIY爱好者的首选传感器。但大多数教程都停留在…...

五分钟完成Nodejs环境下的Taotoken大模型api接入

五分钟完成Nodejs环境下的Taotoken大模型API接入 1. 准备工作 在开始接入Taotoken服务之前,需要确保已经完成以下准备工作。首先,注册并登录Taotoken平台,在控制台中创建API Key。这个Key将作为身份验证凭证用于后续的API调用。其次&#x…...

跨平台游戏模组获取指南:WorkshopDL如何打破Steam创意工坊壁垒

跨平台游戏模组获取指南:WorkshopDL如何打破Steam创意工坊壁垒 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG、Epic Games Store等平台购买了游戏&…...

如何快速配置Cyber Engine Tweaks:面向《赛博朋克2077》玩家的完整优化指南

如何快速配置Cyber Engine Tweaks:面向《赛博朋克2077》玩家的完整优化指南 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks Cyber Engine Tweak…...

海思Hi35xx芯片开发避坑指南:SVP、MPP、NNIE、ACL四大模块到底怎么用?

海思Hi35xx芯片开发实战:四大核心模块深度解析与应用指南 第一次拿到海思Hi35xx开发板时,面对SDK里密密麻麻的文档和一堆专业术语,我完全懵了——SVP、MPP、NNIE、ACL这些模块到底该先用哪个?它们之间又是什么关系?记得…...

LoFT框架:参数高效微调解决长尾数据学习难题

1. 项目背景与核心价值长尾分布问题在现实世界的数据集中普遍存在——少数类别拥有大量样本,而多数类别只有寥寥数个样本。这种数据不平衡性给机器学习模型带来了巨大挑战,传统监督学习方法往往在头部类别上表现优异,却难以识别尾部类别。与此…...

终极指南:5分钟快速上手ChineseSubFinder自动化中文字幕下载

终极指南:5分钟快速上手ChineseSubFinder自动化中文字幕下载 【免费下载链接】ChineseSubFinder 自动化中文字幕下载。字幕网站支持 shooter、xunlei、arrst、a4k、SubtitleBest 。支持 Emby、Jellyfin、Plex、Sonarr、Radarr、TMM 项目地址: https://gitcode.com…...

Escrcpy实战指南:高效管理Android设备的智能控制解决方案

Escrcpy实战指南:高效管理Android设备的智能控制解决方案 【免费下载链接】escrcpy 📱 Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 你是否曾为同时管理多台An…...

百度网盘秒传脚本:告别重复上传,实现永久文件分享的3步解决方案

百度网盘秒传脚本:告别重复上传,实现永久文件分享的3步解决方案 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 你是否曾经因为百度…...

三步打造你的中国象棋AI智能助手:VinXiangQi完整指南

三步打造你的中国象棋AI智能助手:VinXiangQi完整指南 【免费下载链接】VinXiangQi Xiangqi syncing tool based on Yolov5 / 基于Yolov5的中国象棋连线工具 项目地址: https://gitcode.com/gh_mirrors/vi/VinXiangQi 还在为找不到合适的象棋对手而烦恼吗&…...

微信好友关系检测终极指南:3分钟找出谁偷偷删了你

微信好友关系检测终极指南:3分钟找出谁偷偷删了你 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 你…...

新手首次使用Taotoken调用Codex模型完成代码补全的全流程指南

新手首次使用Taotoken调用Codex模型完成代码补全的全流程指南 1. 注册账号与获取API Key 访问Taotoken官网完成账号注册流程。登录后进入控制台,在左侧导航栏找到「API密钥管理」页面。点击「创建新密钥」按钮,系统会生成一个以sk-开头的API Key字符串…...

解密Bebas Neue:一款开源几何字体的设计哲学与工程实践

解密Bebas Neue:一款开源几何字体的设计哲学与工程实践 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 在数字设计领域,字体选择往往决定了项目的视觉基调。当设计师寻求既具备专业质感又…...

MCP Server开发与增长实战:让AI助手主动调用你的API服务

1. 项目概述:从API到AI原生工具的桥梁 如果你手头有一个成熟的API服务,无论是数据核验、内容审核还是商品查询,你可能会发现一个尴尬的现实:你的API在开发者圈子里可能小有名气,但在AI助手(如Claude、Curso…...

从‘弹个窗’到‘拿Cookie’:用Burp插件xssValidator实战演练三种XSS漏洞的完整攻击链

从‘弹个窗’到‘拿Cookie’:Burp插件xssValidator实战三种XSS攻击链 在Web安全领域,XSS漏洞如同潜伏的幽灵,它能让看似无害的网页变成攻击者的武器。不同于纸上谈兵的理论分析,本文将带您进入攻击者的实战视角,用Burp…...

轻量级多模态学习框架LightFusion解析与应用

1. 项目概述:当多模态遇上轻量化在计算机视觉与自然语言处理的交叉领域,多模态学习正经历着从"重装坦克"到"轻型突击队"的转型。LightFusion框架的诞生,恰好解决了当前多模态模型普遍存在的三大痛点:参数膨胀…...

强化学习在复杂文档解析中的应用与优化

1. 项目背景与核心价值文档解析一直是NLP领域极具挑战性的任务。传统方法通常采用OCR识别规则模板的流水线方案,但面对复杂版式、多栏混排等场景时效果往往不尽如人意。三年前我在处理金融合同时就深有体会——表格跨页、手写批注、印章遮挡等场景让传统解析方法束手…...

5分钟告别Figma英文界面:设计师的终极汉化解决方案

5分钟告别Figma英文界面:设计师的终极汉化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?菜单看不懂、属性面板一头雾水…...

LoongArch CPU设计实战:手把手教你用数据前递技术优化流水线冲突(附完整Verilog代码)

LoongArch CPU设计实战:手把手教你用数据前递技术优化流水线冲突(附完整Verilog代码) 当你第一次看到自己设计的LoongArch CPU流水线因为数据冲突频繁停顿,时钟周期像堵车一样堆积时,那种挫败感我深有体会。去年在调试…...

手把手教你复现百卓Smart S85F文件上传漏洞(CVE-2024-0939),附Yakit实战截图

实战指南:利用Yakit复现百卓Smart S85F文件上传漏洞(CVE-2024-0939) 在网络安全领域,漏洞复现是验证和深入理解漏洞的关键步骤。本文将带领读者一步步复现百卓Smart S85F设备中的文件上传漏洞(CVE-2024-0939&#xff…...

Linux桌面光标主题定制:从Circularity-Cursor安装到个性化配置全攻略

1. 从“千篇一律”到“眼前一亮”:为什么我们需要自定义光标如果你和我一样,在Linux桌面上度过了无数个日夜,那么对系统自带的那些光标主题,恐怕早已从习惯变成了“视而不见”。默认的“Adwaita”或者“DMZ-White”虽然经典&#…...

三步构建个人数字漫画库:零门槛本地化管理方案

三步构建个人数字漫画库:零门槛本地化管理方案 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.com/gh_mirrors…...

WaveTools:简单三步解锁鸣潮120FPS的终极工具箱指南

WaveTools:简单三步解锁鸣潮120FPS的终极工具箱指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools鸣潮工具箱是一款专为《鸣潮》玩家设计的开源辅助工具,能够一键解锁游…...

RimWorld性能优化终极指南:Performance-Fish模组深度解析

RimWorld性能优化终极指南:Performance-Fish模组深度解析 【免费下载链接】Performance-Fish Performance Mod for RimWorld 项目地址: https://gitcode.com/gh_mirrors/pe/Performance-Fish 还在为《环世界》后期卡顿而烦恼吗?当殖民地规模扩大&…...

OpenCore安装指南:如何在PC上成功安装macOS的5个关键步骤

OpenCore安装指南:如何在PC上成功安装macOS的5个关键步骤 【免费下载链接】OpenCore-Install-Guide Repo for the OpenCore Install Guide 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Install-Guide 你是否曾经梦想在一台普通PC上运行macOS&…...

QKeyMapper:一款无需重启Windows的按键映射解决方案

QKeyMapper:一款无需重启Windows的按键映射解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键鼠,手…...

告别权限报错!Win11管理员模式+Python 3.11安装Binwalk完整避坑实录

告别权限报错!Win11管理员模式Python 3.11安装Binwalk完整避坑实录 在Windows 11上安装Binwalk这类工具时,许多开发者都会遇到令人头疼的权限问题。特别是当Python安装在系统目录(如C:\Program Files)时,各种"拒绝…...

长期项目使用Taotoken在账单追溯与用量分析上的便利

长期项目使用Taotoken在账单追溯与用量分析上的便利 1. 项目维度的用量全景视图 在长期技术项目中,模型API的调用往往分散在不同模块和开发阶段。Taotoken提供的项目级用量聚合功能,能够将同一API Key下的所有请求按时间维度自动归类。控制台的「用量分…...

没人敢说的实话!《灵魂摆渡・浮生梦》怕了孤身闯局的海棠山铁哥和《第一大道》

《灵魂摆渡浮生梦》到底在怕什么? 一场“资本泡沫”与“凡人初心”的终极对决今天不绕弯子,敢说全网没人敢说的实话。 背靠资本、手握IP、铺天盖地营销的《灵魂摆渡浮生梦》,看似来势汹汹、不可撼动,实则早已慌了阵脚—— 它怕了&…...

如何一键备份你的知乎创作?这款工具让所有内容永久保存

如何一键备份你的知乎创作?这款工具让所有内容永久保存 【免费下载链接】zhihu_spider_selenium 爬取知乎个人主页的想法、文篇和回答 项目地址: https://gitcode.com/gh_mirrors/zh/zhihu_spider_selenium 在知乎这个知识分享平台上,你是否曾担心…...