Skip to content

PID调试器项目详解

约 806 字大约 3 分钟

嵌入式PID控制单片机MSPM0G3507

2025-08-04

PID调试器项目详解

项目演示

B站视频 - 功能演示及详细介绍

项目简介

本项目是基于TI MSPM0G3507单片机开发的PID调试器,具备PID算法定速和定距两大核心功能。通过直观的参数调节界面,可以实时观察PID控制效果,是学习PID控制算法的理想实验平台。

核心功能

  • PID参数调节:通过五个独立按键(上、下、左、右、中)实现对PID参数的精确调整
  • 定速控制:实时调节电机转速,观察PID控制效果
  • 定距控制:精确控制电机运动距离,适用于位置控制场景
  • 参数可视化:通过LCD屏幕实时显示PID参数和控制效果

硬件参数

  • 主控芯片:TI MSPM0G3507单片机
  • 显示模块:ST7789 LCD显示屏,用于PID功能控制及参数调试
  • 电源管理:TPS5450 DC-DC转换器,支持多种供电方式:
    • DC电源输入
    • 接线端子供电
    • Type-C接口供电
  • 电机驱动:BDR6126D驱动芯片
  • 控制接口:五向独立按键(上、下、左、右、中)

硬件设计详解

本项目由电源部分、主控板部分、按键部分和电机控制部分组成,整体架构如下图所示:

系统架构图PCB设计图

电源电路设计

采用TYPE-C-16P接口作为供电接口,同时复用USB数据引脚用于程序下载和调试:

  • USB数据引脚直接连接到单片机的对应引脚(USBD+ IO20, USBD- IO19)
  • CC1和CC2引脚加入5.1K下拉电阻,确保与不同主机的兼容性
  • 通过TPS5450和LDO进行降压,为主控提供稳定电源
电源电路

软件实现

按键处理

项目中使用了FlexibleButton按键库,其中包含一段经典的三行按键算法:

read_data = keydata^0xFFFF;
trg = read_data & (read_data ^ cont);
cont = read_data;

这段代码实现了按键的边沿检测,能够有效过滤按键抖动,提高按键响应的可靠性。

源码获取

完整代码已开源到Gitee平台:distance_pid项目仓库

制作指南

注意事项

  • 焊接顺序:先焊接贴片元器件,再焊接插件元器件
  • 焊接完成后,务必用万用表测量检查是否有短路和虚焊,防止烧坏主控板
  • 程序移植时,建议参考官方示例代码而非仅依赖文档,避免踩坑

组装流程

组装过程相对简单,按照PCB标识依次安装各部分组件即可:

组装过程1组装过程2

成品展示

成品图1成品图2
贡献者: cpnknjk