开源、紧凑、高性能闭环步进电机驱动器,专为 NEMA17 外形电机设计,该驱动器具有安静平稳的运动、高精度位置控制和节能功能等先进功能,非常适合各种应用,包括机器人、数控机床和 3D 打印机。
该项目非常详细,完善,走心,值得一读~
Github地址
https://github.com/creapunk/CLN17
项目概述
CLN17 电机驱动器是一款开源、紧凑型高性能闭环步进电机驱动器,专为 NEMA17 外形尺寸电机而设计。该驱动器具有静音、平滑运动、高精度位置控制和节能等先进功能,是机器人、数控机床和 3D 打印机等各种应用的理想之选。
NEMA17是一种混合式步进电机,以1.8度的步距角旋转,要完成一圈旋转,轴需要200步。NEMA17步进电机(外形如下图)已成为非常流行的步进电机。NEMA17中的17指的是电机的机座尺寸是1.7*1.7英寸(约为42*42毫米,因此NEMA17步进电机也常被称作42步进电机)。而这个数字17与电机的工作电压、电流、步进角度或极性没有关系。
原理框图及原理图(非常nice)
系统架构
为便于理解系统的交互作用和功能,架构分为以下子系统:
- MCU 和接口子系统:处理反馈处理并管理与外部设备的通信,确保完美集成。
- 电源子系统:实现对所有系统组件的电源保护、转换和分配。
- 运动和位置控制子系统:管理连续的电机反馈并精确控制其位置。
PCBA
主要功能
- 闭环控制:电机驱动器支持闭环控制,集成了用于实时位置监控和调整的编码器,确保在恶劣条件下实现精确运动。
- 精确定位:0.01 度的超高位置控制精度可确保高效、低延迟地处理位置信息,并将噪音降至最低,从而实现平稳运行。
- 嵌入式 6 轴 IMU:LSM6DSO IMU 模块具有出色的惯性测量能力,配备 3 轴陀螺仪和 3 轴加速计,可提供精确的运动反馈、系统振动检测和应急响应。
- 自适应扭矩控制:电机驱动器可根据负载要求调整扭矩,从而优化能效、减少压力并延长电机寿命。
- 被动制动和空转:通过被动制动和空转功能,电机可实现平稳减速和滑行,从而提高控制能力和效率。
- 增强的兼容性:多种连接选项,包括 UART、I2C、CAN-Bus(支持 FD)和 USB2.0 Type-C(支持 PowerDelivery),有助于实现无缝通信并轻松集成到现有系统中。
- 运行可靠:通过宽温度范围、诊断功能以及针对 ESD、电流限制、极性反接、过载和 3.3V/5V IO 容差的内置保护,确保可靠运行。
- 增强型安全算法:增强型安全算法可智能监控电机状况,保护电机系统和用户免受潜在伤害。
- 带实时时钟的精确定时:专用的 HSE 和 RTC 时钟晶体可确保关键时间任务的精确定时、可靠的代码执行和准确的时间处理。模块化概念:各种配置既能满足尺寸和性能要求,又能保持成本效益,支持扩展板以实现更多功能。
主要规格
- 宽输入电压:5-25VDC,具有过流保护、极性反接保护和浪涌保护功能
- 额定电流:2ARMS,峰值电流高达 3A
- 功能强大的电机控制:每相连续1.4A RMS 电流,峰值高达 2.5A,微步高达 1/256
- 工作频率:高达 40kHz PWM(可实现无声平稳运动)
- 相位通道电阻:两侧 Mosfets RDSON 170mΩ + 100mΩ 电流感应电阻器
- 编码器位置反馈分辨率:每转一圈 14 位或在 20kHz下 0.02°
- 诊断功能:过热检测、短路检测、欠压检测、连接器未插稳时的开载检测
- 高性能 MCU:运行频率为 170MHz 的 STM32G431CB Arm Cortex-M4,具有经典 EN/DIR/STEP 接口、CAN-Bus、I2C、UART 和支持 PD2.0 的 USB Type-C、
- 紧凑耐用的设计:38x38mm PCB,可选铝制外壳,用于散热和机械保护,高度仅为 7.5mm(带连接器时为 10mm)。
- 工作温度范围:-25 至 +80 摄氏度
软件部分
主要包括以下功能代码组件:
运动控制,负责与电机驱动芯片及其运动的接口。
1).TMC2209 UART 驱动程序控制库
2). 根据给定参数,从 t 开始定期计算函数 [delta steps / dt]:
3). 不同运动模式算法
位置监控器
1).TLE5012 SPI 编码器库
2).绝对坐标控制器
3).步进电机位置控制器
4).位置误差检测器
错误恢复,处理系统误差补偿算法。
- 向层次结构中的上一级控制器发出简单的位置错误通知
- 回滚并执行最后一条导致错误的指令
- 主动 PID 补偿
运动规划器,负责将抽象命令转换为运动控制算法的标准格式。
- G 代码叠加
- Klipper 叠加
- 阶梯导轨接口处理
- UART/I2C/CAN-Bus 的定制叠加
系统参数控制,确保系统安全运行和错误检测
- 工作电压
- 防止过热
- 接口错误预防
- 电机连接检测
- 编码器磁铁存在检查
附加算法
- 无传感器停车
- 工作区自动检测
- IMU 数据处理器
- PowerDelivery UCPD 控制器
- RTC 和独立操作系统
应用场景
- 学习平台
- 数控机床和 3D 打印机
- 机器人与自动化系统
- 协作机器人
- 摄像机和望远镜稳定系统
- 实验室设备
- 工业运动控制系统
- 触觉和力反馈系统