ESP32 C3 WIFI可以扫描但连接不上

作者分享了在自定义ESP32C3PCB板上遇到的WiFi连接问题,经过排查发现布局问题、天线设计和电源供应等因素导致。最终确定问题在于天线附近的固定点和射频电路设计,提醒其他开发者注意高速射频电路布局的关键细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己用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,经验供大家参考。也唤醒有类似经验的朋友分享下自己的解决思路,我现在还对这个现象没彻底想通。

ttk.treeview是Python中的一个GUI控件,用于在GUI应用程序中显示树形数据结构。以下是ttk.treeview的基本界面设计步骤: 1. 导入必要的模块和库,如tkinter和ttk。 2. 创建一个树形结构数据,并将其转换为ttk.treeview格式。 3. 创建一个ttk.treeview控件。 4. 添加列标题。 5. 将数据添加到ttk.treeview中。 6. 设计ttk.treeview的样式和外观,如背景颜色、字体、行高等。 7. 为ttk.treeview添加事件处理程序,如鼠标单击、双击、右击等事件。 以下是一个简单的例子,展示了如何使用ttk.treeview来显示一个树形结构数据: ```python import tkinter as tk from tkinter import ttk def main(): # 创建树形结构数据 data = { 'root': { 'node1': { 'leaf1': None, 'leaf2': None }, 'node2': { 'leaf3': None, 'leaf4': None } } } # 创建ttk.treeview控件 root = tk.Tk() tree = ttk.Treeview(root) # 添加列标题 tree['columns'] = ('count') tree.heading('#0', text='Name', anchor='w') tree.column('#0', anchor='w') tree.heading('count', text='Count') tree.column('count', anchor='center') # 将数据添加到ttk.treeview中 add_node(tree, '', data['root']) # 设置ttk.treeview的样式和外观 style = ttk.Style() style.configure('Treeview', rowheight=25) # 显示ttk.treeview控件 tree.pack() root.mainloop() def add_node(tree, parent, node): # 添加当前节点 if node is not None: tree.insert(parent, 'end', text=node, values=(len(node))) # 添加当前节点的子节点 for key, value in node.items(): add_node(tree, node, value) if __name__ == '__main__': main() ``` 这个例子中,我们首先创建了一个树形结构数据,并将其转换为ttk.treeview格式。然后,我们创建了一个ttk.treeview控件,并添加了列标题。接着,我们将数据添加到ttk.treeview中,并设置了ttk.treeview的样式和外观。最后,我们显示了ttk.treeview控件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值