docs: 添加子模块管理说明并移除许可 + 更新子模块指针
基于 STM32G474 的永磁同步电机 (PMSM) 磁场定向控制 (FOC) 伺服驱动系统完整解决方案,涵盖固件驱动、Bootloader OTA 升级、上位机调试工具、仿真模型四大模块。
┌──────────────────────────────────────────────────────────┐ │ Motor_Studio │ │ 上位机 (Python / PySide6 / Qt) │ │ 参数配置 · 实时监控 · 参数辨识 · 模板 · OTA 升级 │ └───────────────────────────┬──────────────────────────────┘ │ CAN 总线 / 串口 (RS-232) ┌───────────────────────────▼──────────────────────────────┐ │ Motor_Driver (固件) │ │ STM32G474 PMSM FOC 三环伺服驱动器 │ │ 位置环 → 速度环 → 电流环 (SVPWM) + 双编码器 │ │ │ │ ┌───────────────────┐ ┌─────────────────────┐ │ │ │ Motor_Bootloader │ ◄──► │ Motor_Driver APP │ │ │ │ (CAN 远程 OTA) │ │ (FOC 控制) │ │ │ └───────────────────┘ └─────────────────────┘ │ └───────────────────────────┬──────────────────────────────┘ │ 算法对照验证 ┌───────────────────────────▼──────────────────────────────┐ │ Motor_Simulink │ │ FOC SVPWM 调制算法仿真模型 (Simulink) │ └───────────────────────────────────────────────────────────┘
Motor_Bootloader/MDK-ARM/Motor_Bootloader.uvprojx
0x08000000
Motor_Driver/MDK-ARM/Motor_Driver.uvprojx
0x08004000
cd Motor_Studio pip install -e . motorstudio # 或直接: python -m motorstudio
通过 CAN / 串口连接驱动器,即可在线配置参数、实时监控波形、执行参数辨识或触发 OTA 升级(详见 Motor_Studio)。
用 MATLAB / Simulink 打开 Motor_Simulink/foc.slx,验证 SVPWM 调制算法(详见 Motor_Simulink)。
Motor_Simulink/foc.slx
Motor_Project/ ├── Motor_Driver/ # 固件 — PMSM FOC 三环伺服驱动器 (含 APP + Bootloader 源) ├── Motor_Bootloader/ # 独立 Bootloader 工程 (CAN OTA 升级) ├── Motor_Studio/ # 上位机 — 电机调试 / 监控 / 辨识工具 ├── Motor_Simulink/ # FOC SVPWM 仿真模型 └── .gitmodules # 子模块定义 (gitlink.org.cn)
本仓库通过 git submodule 管理四个子模块。总工程并不直接包含子模块的代码,只记录一个指针(指向子模块仓库的某个 commit):
总工程 (Motor_Project) 子模块仓库 (各自独立, gitlink.org.cn) ├── README.md ← 真实文件 Motor_Driver ← git 仓库 ├── Motor_Driver ← 指针 ────► Motor_Bootloader ← git 仓库 ├── Motor_Bootloader ← 指针 ────► Motor_Studio ← git 仓库 ├── Motor_Studio ← 指针 ────► Motor_Simulink ← git 仓库 └── Motor_Simulink ← 指针
git clone --recurse-submodules <仓库地址>
已克隆但缺少子模块时:
git submodule update --init --recursive
# 第一步:在子模块内提交并推送 cd Motor_Studio git add . git commit -m "feat: xxx" git push origin master # 第二步:回总工程更新指针并提交推送 cd .. git add Motor_Studio # 把子模块的新 commit 记录为总工程指针 git commit -m "chore: 更新 Motor_Studio 子模块" git push origin master
只 push 子模块而不更新总工程指针,别人克隆得到的仍是旧 commit。
git pull --recurse-submodules # 或 git pull && git submodule update --init --recursive
cd <子模块> && git checkout master
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Motor_Project — PMSM FOC 伺服驱动系统
基于 STM32G474 的永磁同步电机 (PMSM) 磁场定向控制 (FOC) 伺服驱动系统完整解决方案,涵盖固件驱动、Bootloader OTA 升级、上位机调试工具、仿真模型四大模块。
系统架构
子模块
快速开始
1. 烧录固件
Motor_Bootloader/MDK-ARM/Motor_Bootloader.uvprojx→ 烧录到0x08000000Motor_Driver/MDK-ARM/Motor_Driver.uvprojx→ 烧录到0x080040002. 连接上位机
通过 CAN / 串口连接驱动器,即可在线配置参数、实时监控波形、执行参数辨识或触发 OTA 升级(详见 Motor_Studio)。
3. 仿真验证
用 MATLAB / Simulink 打开
Motor_Simulink/foc.slx,验证 SVPWM 调制算法(详见 Motor_Simulink)。目录结构
子模块管理
本仓库通过 git submodule 管理四个子模块。总工程并不直接包含子模块的代码,只记录一个指针(指向子模块仓库的某个 commit):
克隆(含子模块)
已克隆但缺少子模块时:
修改子模块后提交(两步,缺一不可)
拉取最新代码
注意事项
cd <子模块> && git checkout master,否则 commit 会挂在 detached HEAD 上。关键参数速览