
TI开发板-PID修炼内功大增
简介
用TI 芯片,立创天猛星开发板做主控,实现电机转速、转距的pid控制。
简介:用TI 芯片,立创天猛星开发板做主控,实现电机转速、转距的pid控制。开源协议
:Public Domain
描述
PID 控制简介
入门嵌入式开发,PID是一个绕不过去的坎,感谢立创给这个训练营学习的机会,专注做好一件事,专注打磨PID控制修炼,提升PID玩法内功!
项目概述:
项目主要内容如下:
开发板:LCKFB-TMX-MSPM0G3507 (商城编号 C42378531)
电机驱动芯片:BDR6126D(商城编号 C7424658)
电机:带编码器的减速电机,具体为1:48减速比编码电机(电机轴转48圈,带动外部驱动轴转1圈)
屏幕:1.9寸 ST7789 SPI 屏幕(淘宝)
按键:常见的4抓直插按键均可
其他内容:见附件BOM表格~
避免买错?请看最后部分的图片示例,给了需要的图片。
控制原理(小学生能听懂的表述):
电机如何转动的:电机是2脚的碳刷电机,碳刷电机可以控制的两个内容是电机转向、电机转速。转向控制:也就是两端分别接正负极即可驱动,当正负极反接,电机转向翻转;转速控制:有刷电机的转速与驱动电压有关,额定电压内,电压越高转速越快。具体多快是由电机磁铁强度、线圈匝数等决定的,这些量决定了磁感应强度,磁感应强度受电压控制,因此简而言之是额定电压内,电压升高,电机转速增快。基于此,电机驱动芯片BDR6126D数据手册 通过控制芯片控制输出电机两端正负极以及电压变化改变电机转向,通过pwm来调整电压控制电机转速。下图是芯片原理图,通过BI FI各接一个到mcu的pin上,通过控制这两个高低电平,决定BO、FO的输出电平。

PID如何工作的:想象你骑着一辆电动自行车,你想让它稳稳地保持20公里/小时的速度。但路上有上坡、下坡、顶风,速度会变快或变慢。PID控制器就是你的“自动油门助手”,它帮你自动调节油门大小(控制电机的电流或电压),让车速尽快稳定在20公里/小时。
- P - 比例控制(现在慢了多少?马上加油!)
- I - 积分控制(一直没到20?持续补油!)
- D - 微分控制(当转速暴跌时, 反向作用 → 大幅加油门!当转速暴涨时,会立即 减小油门!核心是“抑制变化速度”,防止过冲和震荡)
转速是如何识别的:该项目的电机编码器使用的是 霍尔编码器。霍尔编码器由码盘和霍尔元件组成。霍尔码盘与电机主轴同轴,码盘上等分的分布有多个磁极,电机转动时,霍尔元件会输出若干个脉冲信号,我们正是利用这些脉冲信号实现电机的测速和电机转向的判断。
-
- 当电机转的慢的时候,这个脉冲的输出速度就慢;
- 当电机转的快的时候,这个脉冲的输出速度就快;
那么我们就可以取固定时间内脉冲数的变化,来确定电机速度。


完整的驱动逻辑:
定速:设定速度-->启动-->识别当前速度-->计算pid-->调整pwm输出-->达到设定速度
定距:电机经过减速器后旋转一圈的编码器脉冲数为 ( 13 x 2 ) x 48 = 1248 (脉冲/转) 又已知转一圈 = 360°,则每一个脉冲的角度为:每脉冲度数 = 360 ➗ 电机旋转一圈的编码器脉冲数,则指定角度的脉冲数为:指定角度的脉冲数 = 目标角度 ➗ 每脉冲度数
因此,定距简而言之:设定角度-->判断正反转-->转为需要编码数据脉冲数-->启动-->pid控制得到的脉冲数-->达到角度。

视频演示:
【PID 训练营作品】 https://www.bilibili.com/video/BV1LrTAzqEug/?share_source=copy_web&vd_source=315a22798fe1704a16ab3221f825b1cc
PCB实物图:
PCB裸板:

PCB焊接后:

3D打印箭头:链接跳转,欢迎助力!
代码结构:

相关淘宝链接(便于复刻避坑买错):
屏幕:金逸晨1.9寸TFT液晶屏ST7789小屏170*320长条屏LCD全视角SPI彩屏-淘宝网
编码减速电机:AB相编码器电机 智能小车 TT马达 码盘测速 两轮自平衡小车竞赛-淘宝网
相关图片:

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程

评论