一、前言(项目痛点与选型需求)
项目硬件:直流减速电机 + 1000 线正交编码器、H 桥 L298N 驱动、STM32F103 主控
开发中遇到典型问题:
分不清位置 / 增量 PID,随便套用代码出现电机抖动、飞车;
两种算法代码完全耦合,无法快速切换对比调试;
电机启停、负载变化时转速超调严重,无防积分饱和、输出限幅处理;
编码器测速与 PID 运算周期不匹配,闭环响应滞后;
代码绑定电机硬件,无法复用在温控、液位控制场景。
本文核心方案:
通俗拆解位置式、增量式 PID 数学公式与输出本质区别;
结构体封装双算法,宏定义一键切换,上层调用接口完全统一;
正交编码器定时周期测速,固定周期执行 PID 保证闭环稳定;
工业优化:积分限幅、输出变化量限幅、PWM 上下限保护;
完整项目链路:编码器测速→PID 运算→PWM 输出驱动电机,可搭配 OLED 实时显示转速。
二、位置式 / 增量式 PID 深度原理对比
2.1 基础公式通俗解读
位置式 PID
输出直接为完整执行机构控制量(完整 PWM 数值)。特点:输出是绝对位置,每一次输出都依赖全部历史误差积分。
增量式 PID
输出仅为本次控制量变化值,新输出 = 上次输出 + 增量。
特点:只输出变化量,无积分累加项,不存在长时间积分饱和。
2.2 核心差异对照表
STM32 直流电机闭环调速项目|位置式 / 增量式 PID 底层差异拆解,双算法可切换模块化
张小明
前端开发工程师
大模型Agent开发:从原理到实战的必备指南
1. 为什么每个程序员都该了解大模型Agent上周帮团队面试了几个三年经验的开发,当我问"如何用大模型优化现有业务系统"时,大多数人还在说调API这种基础操作。这让我意识到,掌握智能体开发正在从加分项变成必备技能。现在连产品经理都…
Privazer源码开发避坑实战指南
Privazer源码级避坑指南技术文章大纲1. 引言简要介绍Privazer的背景和用途(隐私清理工具)。强调源码级开发和定制化可能遇到的典型问题。2. 开发环境配置编译工具链要求(如Visual Studio版本、第三方库依赖)。常见环境配置错误及解…
【Java转AI实战】第1讲:Java工程师的AI转型地图——你70%的技能已经够用了
你不需要从零学AI,你需要的是一张从Java通往AI的地图。 你现在的焦虑,我一年前也有过 2024年下半年,我在科大讯飞负责一个教育资源搜索平台——用Elasticsearch做全文检索,多个LLM做内容生成,视频用ASR转写后做知识点…
Obsidian 同步怎么选?Nutstore Sync、官方 Sync、WebDAV、Git 全面对比
一、先说结论:不想复杂配置,建议先看 Nutstore Sync 如果你现在搜索“Obsidian 同步有什么简单方法”,很多回答会先推荐官方 Sync、iCloud、Git、Syncthing 或 WebDAV。 这些方案都能用,但如果你的需求是: 不想折腾…
小白程序员必备:手把手教你搭建多模态 GraphRAG 知识库问答系统(附收藏)
本文详细介绍了如何搭建一个完整的多模态知识库问答系统,解决传统 RAG 在文档解析和检索质量上的痛点。通过使用 MinerU 进行多格式文档解析,结合 LangExtract 实体抽取,构建 Neo4j 知识图谱和 Milvus 向量索引,最终利用 LangChai…
实验室服务器远程访问终极方案:SSH 反向隧道 + systemd 自动重连
一、问题背景在很多实验室环境中:GPU 服务器(内网机器)❌ 没有公网 IP无法直接 SSH ❌无法用 VS Code Remote ❌Jupyter / TensorBoard 无法访问 ❌但通常:👉 可以访问外网(主动连接)Ǵ…