
【立创天猛星】PID学习套件
简介
基于立创·天猛星 MSPM0G3507 开发板制作的简易 PID 入门套件,对带编码器的电机,使用 PID 控制算法,实现 定速功能 和 定距功能,再通过屏幕显示出 PID 参数以及当前值与目标值的曲
简介:基于立创·天猛星 MSPM0G3507 开发板制作的简易 PID 入门套件,对带编码器的电机,使用 PID 控制算法,实现 定速功能 和 定距功能,再通过屏幕显示出 PID 参数以及当前值与目标值的曲开源协议
:GPL 3.0
描述
项目简介
基于立创·天猛星 MSPM0G3507 开发板制作的简易 PID 入门套件,对带编码器的电机,使用 PID 控制算法,实现 定速功能 和 定距功能,再通过屏幕显示出 PID 参数以及当前值与目标值的曲线变化。

利用这款开发板,配合编码器电机和屏幕,你可以轻松学习并实践经典的 PID 控制算法,实现电机的两个核心功能:
定速控制:
做什么: 让电机保持你设定的恒定速度运行。
怎么做: 套件会实时读取电机的当前转速。当你设定好一个目标速度后,PID 算法会自动调节电机的动力(比如电压或电流),让电机的实际转速又快又稳地达到你设定的目标值,并保持住。就像给汽车定速巡航一样。
定距控制:
做什么: 让电机精确地转动到你设定的圈数或角度。
怎么做: 编码器会记录电机转了多少“步”(称为脉冲)。你设定一个目标脉冲数(比如转1圈需要1000个脉冲,目标转3圈就是3000个脉冲)。PID 算法会自动调节电机动力,让电机当前转到的脉冲数精准地追上目标脉冲数。转少了就加速,转多了就倒转一点回来,最终稳稳停在目标位置。就像让电机精确地走完设定的“步数”。
实时显示:
套件上的 1.9 寸 SPI 屏幕会实时显示:
关键的 PID 调节参数 (让你看到算法是如何工作的)。
电机当前值(速度或脉冲数)和目标值随时间变化的曲线图,直观地看到 PID 控制的效果。
硬件亮点:
主控:立创·天猛星 MSPM0G3507 开发板。
动力:BDR6126D 电机驱动模块 (负责给电机提供动力)。
眼睛:1.9 寸中景园 SPI 屏幕 (显示数据和曲线)。
通用性:电机接口兼容市面上主流的编码器电机。
动手实践:所有元器件均采用插件式封装! 方便初学者焊接练习,是入门电子制作和练习焊接技能的理想选择。
软件特色:直击核心,简单易用
底层掌控: 软件采用裸机编程(无操作系统),使用 轮询(Polling) + 中断(Interrupt) + 状态机(State Machine) 的高效架构编写驱动和逻辑,让你深入理解嵌入式系统的基础运行方式。
PID 极简教学: 跳过冗长的理论推导! 我们直接告诉你 “如何使用” PID。就像使用一个数学公式计算器:
你提供:当前值 (速度或脉冲数)、目标值、以及关键的 P, I, D 三个参数。
套件内部:无脑代入 PID 计算公式。
输出结果:直接得到需要给电机的控制量 (如PWM占空比)。
目标:让你像理解 1 + 1 = 2 一样,快速掌握 PID 的应用精髓,并能通过调节 P/I/D 参数观察效果。
项目功能
屏幕显示二级菜单,通过按键选择;
屏幕显示PID曲线变化;
按键长短按控制和调参;
实现电机PID的实时定速调整;
实现电机PID的实时定距调整;
硬件电路解析
(一)如何驱动电机?两种简单方法:

方法一:直接电平控制 (开/关 & 转向)
原理: 将连接电机的两个 GPIO 引脚配置为普通输出模式。
转动: 让两个引脚输出不同的电平 (一个高 H,一个低 L),电机就会转动。
转向: 交换两个引脚的电平 (H 变 L,L 变 H),就能改变电机的转动方向。
停止: 让两个引脚输出相同电平 (都 H 或都 L),根据驱动芯片,通常会让电机停止(刹车或滑行)。
特点: 简单易懂,只能控制电机的启动、停止和方向,无法调节转速。 速度是固定的(最大速度或停止)。

方法二:PWM 调速控制 (核心功能所需!)
为什么需要? 直接电平控制无法改变电机转速。要实现套件的核心功能——定速控制,必须能平滑调节电机的速度。这就需要 PWM (脉冲宽度调制)。
原理: 将连接电机的 GPIO 引脚配置为定时器 (Timer) 的 PWM 输出模式。
控制:
通过定时器产生一个固定频率的方波信号(例如 10,000 Hz)。
改变 PWM 信号的占空比(即一个周期内高电平时间所占的比例),就能连续调节电机的平均电压,从而精确控制电机的转速。
占空比 0% -> 等效电压 0V -> 停止。
占空比 100% -> 等效电压满额 -> 最大转速。
占空比 50% -> 等效电压一半 -> 中等转速。
方向控制: 通常需要两个 PWM 通道 (或配合一个方向引脚) 来实现正反转调速。例如:
PWM1 输出有效占空比, PWM2 输出 0% (或低电平) -> 正转。
PWM1 输出 0% (或低电平), PWM2 输出有效占空比 -> 反转。
配置要点:
初始化用到的定时器 (Timer) 和 PWM 通道。
设置 PWM 的基础频率。10,000 Hz (10kHz) 是一个常用且合适的起点。(注意:最佳频率取决于你的电机和驱动芯片特性,可以调整)
在代码中,通过改变捕获比较寄存器 (CCR) 的值来动态调节占空比,这是实现 PID 速度控制的关键。
(二)如何知道电机转得有多快?
本套件使用的电机自带霍尔编码器。它就像电机的“眼睛”和“里程表”,能告诉我们电机转得有多快和朝哪个方向转。
构造: 由两部分组成:
磁环 (码盘): 固定在电机轴上,跟着电机一起转。环上均匀分布着多个南北磁极交替的小磁铁。
霍尔元件: 固定在电机外壳上,不转动。它紧挨着旋转的磁环。

工作原理: 当电机转动时,磁环上的小磁铁会一个接一个地扫过霍尔元件。每扫过一个磁极(无论是N极还是S极),霍尔元件就会感应到磁场的变化,并输出一个电脉冲信号。电机转一圈,就会输出固定数量的脉冲(这个数量取决于磁环上的磁极对数)。
核心思想:电机转得越快,它“吐出”脉冲的速度就越快!
方法 (M法测速 - 频率法): 我们固定一个很短的时间窗口(比如 10毫秒、50毫秒 或 1秒),然后在这个窗口内数一数编码器产生了多少个脉冲。
数到的脉冲数 多 -> 说明单位时间内转过的“磁铁”多 -> 速度快!
数到的脉冲数 少 -> 说明单位时间内转过的“磁铁”少 -> 速度慢!
单位: 速度可以用 脉冲数/秒 (PPS) 表示。如果你知道电机转一圈对应多少脉冲(比如 PPR = Pulses Per Revolution),还能换算成更直观的 转/分钟 (RPM)。
举个栗子:
在最近的 100毫秒 内,数到了 50 个脉冲 -> 速度 = 50脉冲 / 0.1秒 = 500 脉冲/秒 (PPS)。
如果这个电机转一圈有 1000 个脉冲 (PPR=1000),那么转速 = (500 PPS) * (60 秒/分钟) / (1000 脉冲/圈) = 30 转/分钟 (RPM)。
(三)如何知道电机朝哪边转?(转向判断)
秘诀就在于 A相 和 B相 脉冲信号的“先后顺序”(90度相位差)!
常用方法 (边沿检测):
我们设置一个中断,让它只在 A相信号 的上升沿 (或下降沿) 触发。
当 A相 的边沿到来触发中断时,我们立刻检查此刻 B相 的电平状态:
情况1: 如果发现 B相是低电平 (L) -> 这表示 B相 的边沿 落后于 A相 -> 电机正在 正转 (顺时针)
情况2: 如果发现 B相是高电平 (H) -> 这表示 B相 的边沿 领先于 A相 -> 电机正在 反转 (逆时针)

软件代码
软件代码介绍部分,我个人认为嘉立创的教程已经足够详细,各位如果想要更清楚软件代码的逻辑和代码操作过程,可以去这个链接查看。
https://wiki.lckfb.com/zh-hans/tmx-mspm0g3507/training/easy-pid-beginner-kit/
例程下载地址
https://gitee.com/lcsc/easy-pid-beginner-kit/tree/master/examples/Keil/
购买注意事项
关于硬件物料购买的渠道,最方便快捷的就是立创商城直接购买,因为很多小元器件,比如电容,电阻,如果是在淘宝商家单买的话,通常出现需要一个型号的电阻或电容至少买50个,而且其它电机,屏幕都是单独商家购买,需要单独付每个的运费,价格上直接在嘉立创购买会更占优势,每个月都有京东的免邮卷,到货速度嘎嘎快,以下是购买链接。
https://item.szlcsc.com/51193413.html?fromZone=s_s__%2522PID%2522&spm=sc.gbn.xh3.zy.t&lcsc_vid=QFldU1EAQllWX1BREgRXXlxWE1NfUVAEQ1QIBlZXE1MxVlNST1hYVlZXR1VfUzsOAxUeFF5JWBYZEEoVDQ0NFAdIFA4DSA%3D%3D

焊接组装流程
如果你是新手,那么这个项目就非常适合你上手,全插件的板子非常容易焊接(焊接时需要保持通风开阔的环境,防止过度吸入有毒气体!!!!),焊接温度适宜在350度,温度过高易导致助焊剂挥发过快导致难上锡。
焊完的效果图如下:

当你已经完成了焊接,关于电机的组装流程图如下:
先找到板子上的定位孔

电机接口朝下,两个孔对应定位孔

将配套螺丝插入定位孔,并用螺母固定,电机就固定完成了

实物图
注意!!!开发板方向一定要插对(板子右下角有丝印可以确定方向),否则会直接烧坏芯片!!!

(本次开源部分图片均引自嘉立创开发文档)
https://wiki.lckfb.com/zh-hans/tmx-mspm0g3507/training/easy-pid-beginner-kit/
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










