StepperServoCAN 闭环步进电机控制器 StepperServoCAN

步进电机驱动板 3/5 🧩 软硬件结合 已发布
dzid26 51 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
StepperServoCAN 闭环步进电机控制器

项目简介

闭环步进电机控制器,支持CANbus,开源硬件与代码。


StepperServoCAN 是一个面向两相步进电机的闭环伺服控制器固件项目,专为需要高精度扭矩与角度控制的工业及机器人应用而设计。其核心价值在于将传统开环步进电机升级为具备CAN总线通信能力的智能伺服执行器,解决了步进电机在高速或变负载下容易失步、且无法实时反馈状态的问题。

项目特点

**闭环扭矩控制**:通过 15 位磁性角度传感器实现精确的闭环扭矩控制。
**CAN 总线通信**:支持标准 CAN 协议,可接收扭矩、角度等命令,并反馈状态。
**高度可配置**:支持电机额定电流、额定扭矩、减速比等参数配置,并可反转方向。
**自动校准**:首次上电自动检测电机接线,并支持用户通过按键触发传感器校准。
**与 Openpilot 集成**:提供了与 Openpilot 自动驾驶系统集成的参考实现。
**PC 端测试工具**:提供基于 Python 的 GUI 工具,方便快速测试和调试。
**开源硬件与固件**:基于 GPL v3 许可证,硬件原理图在单独的仓库中。

技术规格

主控芯片 STM32F103C8T6 (ARM Cortex-M3, 72MHz)
角度传感器 TLE5012 (15位 GMR 角度传感器,带温度检测)
电机驱动 A4950 (集成 MOSFET 和电流限制)
通信接口 CAN 2.0
控制模式 扭矩控制、角度控制、软关闭
额定电流 可配置,最大 3.3A
固件开发环境 PlatformIO (VSCode)
许可证 GPL v3

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
STM32F103C8T6 最小系统板 1 或自制 PCB
TLE5012 模块 1 15位 GMR 传感器
A4950 驱动板 1 集成 MOSFET
8V-24V 直流电源 1 根据电机选择
两相步进电机 1 带或不带减速箱
CAN 总线连接器 1 如 DB9 或接线端子
按键 (F1, F2, Rst) 3 用于用户交互
LED (蓝, 红) 2 用于状态指示

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
🔵 数理与计算: 3/5
🔵 动手与操作: 4/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 3/5

所需技能

🔧 **动手能力**:需要焊接电子元件、连接电路、使用调试工具(ST-Link)和万用表。 💻 **编程能力**:需要熟悉 C 语言、PlatformIO 开发环境、Git 版本控制,以及 CAN 总线协议。 ⚡ **电子电路**:需要理解步进电机驱动原理、CAN 总线物理层、电源电路设计。

适用场景

**机器人关节**:用于机器人手臂或移动机器人的精确关节控制。
**自动化设备**:用于 CNC 机床、3D 打印机、传送带等需要精确位置或扭矩控制的设备。
**汽车电子**:作为线控转向或油门控制的执行器,与 Openpilot 等自动驾驶系统集成。
**科研与教育**:用于研究闭环控制算法、CAN 总线通信、嵌入式系统开发。