Aquifers
← 所有项目

PERSONAL PROJECT / 个人项目

Where Motors Turn

从单轴实转、encoder 与安全停止开始,逐步建立两自由度桌面云台的底层电控。

作者
Aquifers
当前范围
单轴开环 bring-up · 速度观测开发
技术
C · STM32F103 · STM32 HAL · CMake · PWM · encoder

从一根轴开始的桌面云台

Where Motors Turn 的目标是两自由度桌面云台。当前先把一条执行与观测链路做清楚:STM32F103C8T6 控制 motor driver,驱动带 Hall encoder 的减速电机,再读取实际运动。

项目使用 STM32 HAL 与固定周期采样,当前位于单轴、低能量、开环 bring-up阶段。完整双轴控制、位置环和速度 PI/PID 尚未实现;能够转动是起点,不是完成一台云台。

执行之前,先能安全停止

当前样机由 MG310P20-7.4V 电机与 D153C V1.1 双路 TB6612FNG 模块组成。固件保留有限输出范围、明确的驱动使能和停止路径;通信超时后,2 秒 watchdog 撤销输出,回到 disabled / coast / pwm=0。

首次单轴空载实转已经观察到正反转正常,watchdog 可以停止驱动,期间没有观察到 MCU 复位或串口中断。这是当前样机与测试条件下的执行链证据,不能代表负载运行或无人值守安全。

encoder:先知道运动发生了什么

TIM2 使用 encoder mode 3/x4 读取 A/B 相。已有实测确认了方向识别与 16-bit wraparound 后的软件累计:当前接法下,正转计数下降,反转计数上升。

速度观测器已实现 1 kHz 原始计数差与 raw RPM,以及 20 ms 非重叠矩形平均。原始值仍被保留,便于观察低速量化和短窗口平均的关系;stop 与换向不会抹掉惯性滑行。

这个速度版本已有构建记录,尚未在实机上验证速度数值与曲线。输出轴计数换算使用的 CPR 仍是 provisional,需要机械标定,不能把暂定比例当作测量结果。

当前执行与观测的验证边界
能力当前证据
单轴空载正反转 / watchdog已在样机观察
encoder 方向 / wraparound 累计已在样机观察
1 kHz speed / 20 ms averaging已有实现与构建,待实机验证
PID / IMU / 完整 2DOF未完成,属于后续目标

还没有闭合的边界

机械零位、行程、限位、急停与每轴电流保护还需要落实。encoder 没有零位索引,无法仅凭上电后的计数知道绝对角度;空载测试也无法证明堵转保护或负载能力。

当前样机的控制电平组合能够工作,但不等于满足 driver 最坏条件下的规格保证。这些问题需要分别通过电气与机械验证处理,不能靠加入闭环算法绕过。

实物照片尚待补充。本页没有用厂商图片替代样机,也没有把规划中的第二轴当作已完成硬件。

计划与目标

先让速度观测获得可核对的实测与标定,再逐步接入受保护的闭环控制。两轴协同与更完整的姿态/位置控制,需要建立在明确的机械范围、观测能力和安全停止机制上。

最终希望形成可解释、可调试的桌面云台底层系统:用户能知道它想怎么动、实际怎么动,以及为什么停止。当前单轴 bring-up 是这条路线的第一段。

本页展示技术与历史样机测试的汇总,本轮没有重新驱动电机或测量硬件。源码与仓库链接暂未开放。