# ext2-ul-EmakefunEmMd40Thirdex **Repository Path**: mind-plus/ext2-ul-EmakefunEmMd40Thirdex ## Basic Information - **Project Name**: ext2-ul-EmakefunEmMd40Thirdex - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-31 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: MindPlus-Ext2 ## README # MD40编码电机模块 ![cover](extension/public/cover.png) `MD40编码电机模块` 是一个适用于 Mind+ V2 上传模式的执行器扩展。 该扩展支持初始化模块和编码电机参数、PWM 占空比与 RPM 转速控制、按角度转动、PID 速度闭环和位置闭环控制,以及读取转速、角度、脉冲数和电机状态等功能,可用于编码电机精确调速与定位控制等应用场景。 支持以下产品 / 型号: - Emakefun MD40 四路编码电机驱动模块(PID 算法,速度闭环和位置闭环控制) ## 积木 扩展提供的主要积木如下: |类型|积木功能| |---|---| |命令|初始化 MD40 模块(设置 I2C 地址)| |命令|初始化编码电机(减速比、每转脉冲数、相位领先)| |命令|将编码电机正转/反转速度设为指定百分比(PWM 占空比)| |命令|将编码电机正转/反转速度设为指定 RPM| |命令|将编码电机以指定 RPM 速度转动指定角度或转到指定角度| |命令|重置或停止编码电机| |命令|设置编码电机角度/速度 PID 控制器参数(P、I、D)| |数值|获取编码电机角度/速度 PID 控制器参数| |数值|获取编码电机速度(%)、速度(RPM)、角度或脉冲数| |布尔|编码电机是否到达指定状态?| |命令|将 DC 电机正转/反转速度设为指定百分比,或停止 DC 电机| ## 示例程序 以下为扩展的基础使用示例: > 注意:以下步骤仅根据现有积木定义和生成代码整理,尚未经过真实硬件测试,仅供参考,不代表已验证可用。 1. 使用“初始 I2C 地址”积木初始化 MD40 模块。 2. 使用“初始编码电机”积木设置减速比、每转脉冲数和相位领先,并按需设置速度和角度 PID 控制器参数。 3. 使用“将编码电机速度设为”积木控制电机转动,用“编码电机速度(RPM)”“编码电机角度”积木读取当前转速和角度,或用“编码电机状态”积木判断是否到达目标位置。 ## 支持列表 |主板型号|实时模式|ArduinoC|MicroPython|备注| |---|:---:|:---:|:---:|---| |dev-DFRobot-microbitV2||||| |dev-DFRobot-arduinoLeonardo||||| |dev-DFRobot-arduinoUno||✓||上传模式| |dev-DFRobot-arduinoNano||✓||上传模式| |dev-DFRobot-handpyEsp32||||| |dev-DFRobot-arduinoMega2560||✓||上传模式| |dev-DFRobot-firebeetleEsp32||✓||上传模式| |dev-DFRobot-firebeetleEsp32E||||| |dev-DFRobot-unihikerK10||||| ## 更新日志 ### V1.0.0 - 扩展库迁移 ## 开发指南 更详细的 Mind+ V2 扩展开发说明请参考:[Mind+官方扩展开发文档](https://mindplus.dfrobot.com.cn/mp2/Extensions/) ## V1 原始库来源 本库迁移自 Mind+ V1(1.x)用户库,保留 `compatibilityId` 字段以兼容旧版工程。 - compatibilityId:`emakefun-emmd40-thirdex` - 原作者:emakefun - 原始仓库:无