自己用ESP32 C3 layout了一块板子,发现存在wifi可以执行扫描,但是连接不上的情况。
同样的程序在9.9的开发板上面正常的很。
基本锁定是自己的硬件问题。电路图和layout见下:
1、第一时间去百度,有零星的帖子,有部分是说电源问题的,于是用示波器观察了几个电源,纹波和wifi启动的时候的压降都没有很大差异。
2、排除元器件:
a) 因为开发板用的是ESP32 C3,我用的是C3 FN4,所以把我的芯片搬到开发板上,一切正常,排除芯片。
b) 把开发板上芯片外围的元件全部搬过来,问题依旧,排除外围器件。
c) 在另外一块开发板上把陶瓷天线给拆下来,焊接在PCB上,问题得不到解决,
3、其他影响因素
最后发现,把天线附近的那个固定点的铜柱不装,基本上都能连接上,试了10来次,连接时间从2s-16s不等,但是只要把铜柱装上去,总是timeout(>20s)。参考一下,开发板3s内必然连上。
再看了一下官方的设计指南,发现自己layout问题有点多:
1、天线用的库是错的。
2、天线的馈地点接入也是错的,也没有大面积打过孔连接上下两层的地。
3、低估了ESP32 wifi的耗电量,供电部分的线路明显太细了。
4、wifi天线最好另外三个面都要留出净空,别放金属附件。
可能这就是高速射频电路吧,也难怪厂家有直接的wroom模块卖,问题这个模块真的不划算就是了。
后来我又去看了一块我随便画的ESP32 S3板子,这块板子layout也不怎么样,就是天线附近是净空的,也能稳定的连接,基本锁定问题就是这里。
剩下的疑惑:
1、为啥我换陶瓷天线问题解决不了?
以上,我花了两天的时间去debug,经验供大家参考。也唤醒有类似经验的朋友分享下自己的解决思路,我现在还对这个现象没彻底想通。