Robot_Driver
项目介绍
项目主题:基于国产RT-Thread实时操作系统的智能搬运机器人
硬件设计:STM32核心板+扩展板设计,具备多底盘自动判断与驱动功能。同时在电驱系统上搭配激光雷达数据输入
软件设计:RT-Thread
1.硬件设计
目前尚未毕业,暂时不公开放新版设计图及PCB工程,还请理解。等过两个月毕业了就设置public
1.1核心板设计
核心板主控为STM32F407VET6,为什么选这个?(当然是因为大家用的多)
参考了很多轮趣及立创开发板的设计,毕竟实验室买了轮趣全套的小车
为了方便使用立创SMT的时候降本,替换了扩展库的器件为标准库的,降低20元/种的换料费
1.1.1主控电源
5V
因为核心板经常接的是PC端的USB,而又有板载电源独立供电的需求,所以在这里将USB_5V和板载的供电PIN_5V做了隔离,用的是标准库的肖特基二极管1N5819,以防板载电源反灌到电脑的USB端口。
5V-3V3
除此之外,通用的5V转3.3V设计用标准库的AMS1117-3.3,这个非常便宜,但注意VIN和VOUT都要接带有极性的钽电容为佳,刚好标准库里有一个10uF电容,直接接到输入输出端。
1.1.2芯片电源
芯片的电源有VDD、VDDA、VSS、VSSA、VBAT、VREF+
以下大概是其各个的作用:
VDD:V Drain 即电子流向的漏极,也就是+正极,因历史原因理论上的VD变为VDD
VDDA:VDD的模拟部分,即为模拟部分供电的VDD正极
VSS:V Source 即电子流出的源极,也就是-负极,因历史原因理论上的VS变为VSS
VSSA:VSS的模拟部分,即为模拟部分供电的VSS负极
VBAT:V BATTERY,即电源或外部电池的接入
VREF+:V REFERENCE,即参考电压,可以用VDDA接一个47Ω电阻,也可以使用其他的更精准的电压源,这里接VDDA的3.3V为芯片的ADC采样提供标准参考电压。
还要在每对供电脚都放一个100nF电容,注意电流回流路径
1.1.3主控电路
STM32还有两个接电容的引脚VCAP_1及VCAP_2,为了保证内部主调压器的电压稳定,选择不当可能会引起程序无法下载或者运行不稳定的情况。数据手册里也给出这个电容的相关参考参数。我们这里选取2.2uF
1.1.4晶振电路
晶振电路需要计算其匹配的电容,计算电容的公式如下:
CL=CS+(CD×CG)/(CD+CG )
其中,CS为晶体两个管脚间的寄生电容(Shunt Capacitance),在晶振的数据手册上可以找到
CD表示晶体振荡电路输出管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CO、外加匹配电容CL2,即CD=CPCB+CO+CL2
CG表示晶体振荡电路输入管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CI、外加匹配电容CL1,即CG=CPCB+CI+CL1
通常情况下,为了保持晶振的负载平衡,要求CG=CD
了解以上公式后,去晶振及芯片的数据手册中找CL、Cs、Ci
该图片为选取的晶振参数
从该图得知,CL=20pF(这个已知不需要纠结10或20),Cs=5pF
再到stm32f407手册里搜索input capacitance,得到Ci=5pF的数值
所以原式就变成了
CL = CG*CG/(CG+CG) + Cs
20 = CG/2 + 5
CG = 30pF
也就是
30 = Ci + Cpcb + CL1
30 = 5 + 0.2 + CL1(晶振布线时都会要求晶振尽量靠近振荡电路,所以CPCB一般比较小,取0.2pF)
CL1 = 24.8pF
考虑到嘉立创基础库里最相近的只有22pF,所以CL1与CL2都选择22pF的值
掉电后不需要记录系统时间,舍去低速晶振。
最后注意数字地模拟地单点相连,可以选0Ω电阻或者磁珠,但通常选电阻因为其对所有频段都有过滤效果。
1.1.5按键电路
按键电路主要分为平时拉低的和平时拉高的,尤其是复位按键、唤醒按键和BOOT0或1按键这种特殊电位的按键。其中复位按键一般拉高,用户(唤醒)按键及BOOT0一般拉低
1.1.6预留IO
自行预留即可。