记录树莓派RP2040的踩坑之路

1 篇文章 0 订阅
1 篇文章 0 订阅

项目历程

寄语:每次的项目都会踩各种各样的坑,把这些记录下来,希望能给各位遇到类似问题的人提供一点点解决方向吧。记录的稍微有点杂,因为是在做3D打印机项目遇到的问题,所以可能会掺进一些3D打印机相关的内容。项目结束后会在文章末尾附上PCB项目链接。

1.起因

观望了很久的开源3D打印机,VORON系列是个非常不错的选择,自由度很高,玩家也很多。最近有点空闲,所以在某鱼上淘了一台250mm打印尺寸的,想着研究研究。淘来的这个打印机工具头部分使用的是一块普通的集线板,通过一根很粗的多芯线连接到主板,理线麻烦而且断线的话很难受。工具头加热部分也是用一根26AWG的线连接,PCB上走线很细,导致热端加热的时候线和PCB非常热,所以决定重新做个喷头板,解决这些问题。

2.器件选型

简单略过电源部分器件选型,直达主题吧。只要是MCU方案的期间选型,在网上逛了一圈,发现大家有用STM32和RP2040的,STM32自己玩的比较多了,所以就瞄准了RP2040,想体验一下U盘拖拽下载的便捷。RP2040开源方案有很多,3D打印板厂的Fly、必趣都有相对应的方案(非常感谢两家公司的开源精神,开源精神万岁!),我借鉴了必趣的EBB SB2209 CAN V1.0 (RP2040)方案(感谢必趣开源原理图),CAN在上位机端用起来稍微有点麻烦,所以我把这部分改为了RS232和USB(开始这个项目的时候必趣还没有出USB版本),通过拨码开关进行选择。既然选择了USB通信,那我就加了一个USB HUB,采用的是沁恒的CH334F方案(成本低,外围简单)。MCU使用RP2040,搭配W25Q16JVUXIQ(官方开发板使用)。以下是MCU及Flash的原理图部分。
MCU部分
Flash部分

3.PCB

测试的时候不小心弄坏了24V的DCDC,新的到了再换上去。没焊接RS232芯片,暂时用不上。先焊接好电源部分,确认5V供电及3.3V供电正常,再焊接其余芯片。
工具头板

4.问题来了!

开开心心的插上USB线,连上电脑BOOM!(开玩笑的),连上电脑,瞬间弹出U盘文件夹,OK,MCU应该正常,但是看起来有点不对劲的样子。我插上电脑的时候可并没有按BOOT按键!

弹出的U盘界面

我试了下把klipper生成的 .uf2 在这里插入图片描述
程序拖进去,果然卡在了这个界面

复制

等待了一会儿就弹出复制失败的提示。

复制超时提示

5.尝试解决

现状:RP2040能够被电脑识别,并且尝试打开模拟U盘内的文件是可以正常打开的,Reset按键能正常复位MCU。手摸PCB无异常发热(条件简陋没有热成像)。
尝试通过以下方式解决问题

1.电源问题

RP2040的电源引脚挺多的,3.3V、1.1V、参考电压输入。先对比与官方开发板在供电部分有无差别。
官方原理图MCU部分
初步对比无明显区别。
使用万用表测量电容两端电压,3.3V、1.1V、参考电压均正常。

2.焊接问题

经检查,MCU四周焊点饱满,Flash四周焊点饱满,电容电阻焊接均无明显异常。重新分别加焊MCU、Flash,均无法解决。

3.芯片问题

取下Flash芯片,将PCBA连接电脑,电脑显示为U盘,将程序拖入该U盘,瞬间瞬间复制完成并复位MCU,复位后依然在电脑上显示为U盘

再次对比MCU部分原理图与官方开发板的原理图区别。发现晶振部分在RP2040的XOUT引脚串入了1K电阻
官方原理图晶振部分
遂将PCB割线串入1K电阻
XOUT串入1K电阻
依旧无法解决问题。

取下W25Q16JVUXIQ Flash芯片,通过飞线将GD25Q32连上PCB,接上电脑,复制程序,依旧无法复制进去。(此时已取下Flash CS引脚的上拉电阻)
在这里插入图片描述

4.瞎折腾

由于手上没有多的W25Q16JVUXIQ和RP2040芯片(做了三个板子,全部用掉了,且三个板子均无法烧录程序),怀疑需要通过SWD烧录进初始程序。在瞎折腾一通的时候发现按住BOOT按键的时候程序能复制进去,但是依旧是自动复位后在电脑上识别为U盘。

下一步准备买几块开发板,把上面的RP2040和W25Q16JVUXIQ芯片搬上这个PCB试试看。

5.再次比对Flash部分电路

买了几块RP2040的开发板到货了,把这个板子上的RP2040和W25Q16JVUXIQ芯片与开发板上的芯片互换,开发板正常烧录运行,这块PCB依旧无法下载。其实经过几次来回折腾,大概能知道问题出在哪一块了,既然是单MCU可以直接进USB BOOT,那证明RP2040运行没问题,问题就出在W25Q16JVUXIQ及其外围电路上了。我不太喜欢割PCB上的线,所以一直都忽略了一个地方,从而导致出现了一个非常严重的问题!
第三方原理图片选引脚官方原理图片选引脚
不论是官方或是第三方原理图,均在Flash片选引脚与BOOT按键之间串联了一个1K电阻,并且(最重要的是)我为了给按键滤波,竟然给BOOT按键并联上了一个100nF电容!
BOOT引脚并联电容

这是一个相当严重的问题,不论是程序运行或下载程序时,这个片选引脚经常会被拉低,如果有电容在这里,不就等于给片选滤波了吗!果断拆掉该电容,割线串入1K电阻,完美解决!

结语

后记
手焊的可能有点问题,焊的不好轻喷
因为失误给片选引脚并联上了电容,导致Flash芯片无法正常工作!
稍后上传优化后的工程,以供各位参考借鉴。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值