
电赛-基于TI MSPM0的简易PID入门项目
简介
基于立创·天猛星MSPM0G3507开发板制作的简易PID入门项目教学板,对带编码器的电机使用PID控制算法,实现定速功能和定距功能,再通过屏幕显示出PID参数以及当前值与目标值的曲线变化。
简介:基于立创·天猛星MSPM0G3507开发板制作的简易PID入门项目教学板,对带编码器的电机使用PID控制算法,实现定速功能和定距功能,再通过屏幕显示出PID参数以及当前值与目标值的曲线变化。开源协议
:CC BY-NC-SA 3.0
描述
简易PID入门套件
![]() |
![]() |
|---|
项目介绍
基于 立创·天猛星 MSPM0G3507 开发板制作的简易 PID 入门项目。对带编码器的电机,使用 PID 控制算法,实现 定速功能 和 定距功能,再通过屏幕显示出 PID 参数以及当前值与目标值的动态曲线变化。
传统PID教学常止步于理论,缺乏可视化调试与实时参数优化的实战训练,该项目以“简化复杂理论、突出实践应用”为特色,是缩短PID学习曲线、提升竞赛实战能力的优质资源。
硬件使用立创·天猛星 MSPM0G3507 开发板作为主控,BDR6126D 作为电机驱动,屏幕使用1.9寸中景园SPI屏幕。电机接口适配市场上大多数编码器电机接口。
- 定距: 根据电机旋转一圈的编码器脉冲数,确定电机旋转一圈为多少个 x 脉冲(x脉冲/圈),通过当前脉冲数和目标脉冲数,通过 PID 控制算法,使电机当前实时脉冲以最快的速度接近设定的目标脉冲,达到定距移动的效果。(简单来说就是让电机固定走多少步,走多了就退回,走少了就再走几步)
该项目在硬件上,除开发板外,仅使用一个编码器电机 + 电机驱动 + 屏幕 + 按键 + 电源。元器件全插件,方便焊接入门与练习。
![]() |
![]() |
|---|---|
| 项目焊接说明表 | PCB焊接组装完成展示 |
项目在软件方面,使用裸机的方式编写驱动和逻辑,通过 轮询 + 中断 + 状态机 的架构完成项目。PID 部分不会大篇幅介绍背景、由来、模型等学术说明,将直接告诉你如何使用PID。最终可像 1 + 1 = 2 一样,直接将参数无脑带入公式,应用PID。
![]() |
![]() |
|---|---|
| 定速闭环控制框图 | 定距闭环控制框图 |
功能需求
- 屏幕显示二级菜单,通过按键选择;
- 屏幕显示PID曲线变化;
- 按键长短按控制和调参;
- 实现电机PID的实时定速调整;
- 实现电机PID的实时定距调整;
教程目录
项目在教程方面,教学资源完善,涵盖硬件原理、PCB设计、焊接练习、代码开发到PID调试全流程,适合分阶段教学。
教程文档在线阅读地址:👉立创开发板技术文档中心 | 简易PID入门项目
| 序号 | 章节名称 | 进度 | 学习目标 |
|---|---|---|---|
| 1 | 电路原理分析 | ✅ | 了解项目的硬件原理图,明白每一个器件的作用 |
| 2 | 原理图与PCB设计 | ✅ | 原理图设计包含了元器件选型、搜索以及原理图整理的内容; PCB设计部分包含边框设计、元器件分类布局、PCB走线与设计检查等内容 |
| 3 | 免费PCB打样 | ✅ | 如何在嘉立创平台进行 免费的 PCB 的打样,并拿到PCB实物 |
| 4 | 购买器件 | ✅ | 说明项目的器件购买地址和注意事项 |
| 5 | PCB焊接练习 | ✅ | 掌握常用焊接工具的使用、插件元器件的焊接与拆卸方法 |
| 6 | 开发环境搭建 | ✅ | 了解如何基于 Keil 环境下,对 TI 的 MSPM0G3507 进行开发、调试和下载 |
| 7 | 调试模块驱动 | ✅ | 学习如何搭建基于 Keil 的代码编辑调试环境,包括文件管理、串口调试、LED 调试等 |
| 8 | 彩屏驱动 | ✅ | 学习如何使用MSPM0G3507的keil环境 驱动一块1.9寸的SPI接口彩屏 |
| 9 | 按键驱动 | ✅ | 明白如何配置GPIO外设为输入模式,能够 使用常用的 开源按键库 并移植到自己的工程 |
| 0 | 电机驱动 | ✅ | 学习通过电机驱动芯片 BDR6126D 来驱动电机,并且联合按键 实现长按电机转再长按电机停功能 |
| 11 | 编码器驱动 | ✅ | 明白编码器的测速原理,通过电机上的编码器, 检测电机的速度和旋转方向 |
| 12 | UI与界面管理 | ✅ | 熟悉了解本项目的 UI绘制方法和思路,并且移植到自己的工程当中 |
| 13 | 事件与状态机 | ✅ | 了解常用的软件架构,并 将多个架构组合使用到项目中 |
| 14 | PID定速功能 | ✅ | 了解 PID的基本公式,通过实际值与目标值的误差,实现让实时速度以最快的时间接近目标速度 |
| 15 | PID定距功能 | ✅ | 了解 PID 定距功能的实现方式,通过实际值与目标值的误差,实现让实时角度以最快的时间接近目标角度 |
| 16 | 完整功能案例 | ✅ |
项目展示
| 定速功能 | 定距功能 | 定速模式PID调参效果 |
|---|---|---|
![]() | ![]() | ![]() |
> GIF 大文件使用 https://postimages.org/ 上传图床显示
项目代码开源地址
硬件打样说明
EDA专业版工程中的 V1.0.x 是版本迭代效果。建议使用V1.0.2版本。,如果想节省成本也可以使用V1.0.1版本。
V1.0.0 是初版,打样回来测试基本功能,和测试确认电机安装位置。
V1.0.1 是第一版,优化PCB电机安装孔位,修改编码器B相引脚,增加多编码器电机接口兼容,加入BOM表优化。
V1.0.2 是第二版,增加电源灯,增加滤波电容和储能电容,增加芯片座,优化PCB,增加确认键功能。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。



















