想了解更多项目请搜索“项目”标签或者访问我的github仓库。
仓库地址:仓库 – 阡陌 (qianmonai) – Gitee.com



PID_Helper一个侵入式的PID串口自动调参助手软件

项目地址:阡陌/PID_Helper
开发的 PID_Helper 软件,目前已包含功能有:上位机和下位机 MCU 通信协议,电机速度环,位置环 PID 参数自动优化,系统辨识给 PID 初值。参数自动优化部分有粒子群搜索和分阶段整定这两种方案,后者目前效果更好,都是通过得分权重参数来迭代优化的,得分权重参数可在高级选项里自己自定义,最终能优化得到不同倾向的 PID 参数。目前速度环和位置环真实调参测试是可以了,刚下载使用可以在串口选择连接虚拟设备进行模拟测试,软件目前还不是最终版本,还需进一步优化和添加功能,如果有出现问题请留言,我会尽快修复。
1.项目背景
本项目的目的是把在电控调试过程中出现的PID调参过程自动化和可视化。相比于AI直接读取串口来自动优化的方案,本软件自动的调优过程都是在本地完成,不依赖于外部AI调用,优化过程稳定不产生费用,也不怕AI抽风。
注意⚠️:目前软件的应用场景最佳的是负载/无负载裸机和无限位的二维云台调参,有限位的二维云台可以使用位置环模式,其他的应用场景可能不太适合,后续会针对有限位二维云台和小车这样的应用场景推出新的模式!
2.项目介绍
想要使用这个项目请详细阅读README文件和doc文件下的md文件,并且在你的MCU项目中添加相应的接口和串口协议内容,或者直接使用例程代码。例程的电机和控制板使用的是淘宝店铺M创动工坊的https://e.tb.cn/h.R1JtwtL9ilSrf2b?tk=LW225sSrEax
提示:请自行做好程序上的保护!防止上位机输入参数有误,或者失控导致的机械硬件损坏!!!
提供以下参考例程:
- STM32H7(鹿小班开发板):阡陌/PID_Helper_Stm32H7_Example
- ESP32C3(双type-c核心板):阡陌/PID_Helper_ESP32C3_Example
- STM32F103(c8t6系统板):阡陌/PID_Helper_Stm32F1_Example
功能介绍:
1. 串口通信
- 连接下位机串口。
- 接收下位机反馈数据。
- 向下位机发送目标值、PID 参数、模式切换等控制指令。
- 支持速度环和位置环模式同步。
2. 实时数据监控
- 实时显示 actual、target、input、error、P/I/D 等数据。
- 绘制实时曲线,方便观察超调、抖动、稳态误差等现象。
- 显示反馈数据和回应数据的解析结果。
3. PID 参数调试
- 手动修改并下发 Kp / Ki / Kd。
- 支持速度环、位置环不同应用背景。
- 位置环目标范围限制为 -180° ~ 180°。
4. 自动测试与优化
- 速度环支持自动辨识。
- 支持阶跃响应测试。
- 支持闭环自动优化 PID。
- 闭环优化支持分阶段整定和 PSO 粒子群优化。
- 高级选项里可以自定义评分权重和整定百分比。
5. 下位机协议支持
- 接收协议采用小端二进制数据流,节省带宽。
- 下位机反馈包含 8 个字段:
timestamp_ms, actual, target, input, error, p, i, d - 上位机控制协议用于设置 PID、目标值、开环/闭环、速度环/位置环模式等。
3.项目重点内容
核心功能
覆盖串口连接、曲线监控、参数下发、辨识、测试和优化。
软件能力概览
适合需要快速联调、可视化观察和反复优化的 PID 控制项目。
支持速度环 PID 调节模式和位置环 PID 调节模式。位置环目标值按角度处理,范围为 -180° 到 180°。
接收小端二进制反馈数据,发送控制命令并等待 ACK,适合高频、多字段的串口数据传输。
闭环优化支持分阶段整定和 PSO,用户可配置评分权重、P/I/D 阶段测试百分比和小范围微调幅度。










