1 引言
存在决定意识。野火的指南者开发板板载ESP8266模块,一次比赛使用过ESP-01,并且这次比赛总结大会上老师说高集成度才算有技术含量,萌生了自制一个WIFI模块的想法,算是大学四年的心愿。春招在一次电话技术面试中坐了40min牢,被教训:做项目要把每个地方搞懂,否则就是做一个玩具。
开始做之前想着,最难搞的肯定是天线部分,这是射频的领域。还有ESP8266的工作逻辑没搞懂:自己买一个ESP8266芯片,要不要像用STM32那样单独编程才能使用AT指令。百度很久也没看到有人分享自制经验,都是买模块。只能依靠官方手册自己研究了。乐鑫的手册真的很多很杂,介绍芯片的手册都好几本名字还不一样。官方技术文档下载地址:
技术文档 | 乐鑫科技
最重要的是《ESP8266硬件设计指南》
一开始想搞懂原理就复习了电路里的阻抗部分,还绕了弯路也没走对。即使被教训要搞懂原理,但我不太想往射频方向发展,要花的精力很多,很多东西没去学。我这第一篇技术文档水平不高,也不保证对,只是当作学习笔记和分享了。既然写东西给别人看就写的详细,好多文章都是没头没尾。只是做模块的话,讲到的阻抗知识和自控的复阻抗可以不看。
2 两个问题的回答
(1)天线的设计很严格难度很高吗,板载天线怎么搞?
答:不严格,即使硬件设计指南中说了最佳后端天线匹配阻抗和RF ⾛线须做50Ω单端阻抗控制(硬件设计指南的1.4.5. 射频和1.6.3.3. 射频设计),但最后很惊喜地发现稍微乱来也行,阻抗不匹配也能用。
板载天线,封装和原理图直接用嘉立创的用户开源,太nb了嘉立创,非常方便。至于天线尺寸形状是怎么设计的,这不是靠个人能研究的,都是用公司设计的几款经典板载天线,可以到这个网站里面学习一点点知识。
几款经典2.4GHz板载天线 附尺寸及pcb文件资料
2.4G Antennas, 2.4G板载天线, 设计资料,-AntennaHome
- (2)自己买一个ESP8266芯片,要不要像用STM32那样单独编程才能烧固件和使用AT指令?
答:不用,芯片出厂已经内置程序了,就像STM32的程序下载,直接把hex文件里的数据下载到STM32的程序存储区里。顺便看看STM32参考手册的P33 2.4启动配置这一节以及给出的AN2606应用笔记,就知道STM32串口下载为什么只能通过USART1下载。
烧录固件时,ESP8266从UART接收到的数据会自动转发到外置FLASH。在《ESP8266EX技术规格书》中说到,⽤户程序必须由外部FLASH存储。
3 硬件设计
嘉立创开源:自制 WIFI模块 ESP-01
3.1 原理图
我看了多份原理图,《ESP8266EX硬件设计指南》的电路图设计,野火的指南者开发板的原理图,野火做的WIFI模块的原理图,主要是这三份,安信可的ESP-01s的规格书也有原理图,但不好。
图3.1 《ESP8266EX硬件设计指南》的电路图设计
图3.2 野火的指南者开发板的原理图
图3.3 野火做的WIFI模块的原理图
基本上按照原理图画就行了,麻烦的地方在于几张原理图有不一样的地方。CHIP_EN引脚不用加电阻;SDIO_CLK的电阻我用的200Ω,跟《硬件设计指南》的一样;U0TXD我跟指南者的一样。除了LNA的匹配网络以外基本都没什么问题。
ANT就是antenna,天线的两端确实就是一端接芯片的LNA一端接GND。LNA是Low Noise Amplifier, 低噪声功率放大器。芯片引脚定义LNA是射频天线接⼝,也就是通过这个引脚接发高频WIFI信号。
为什么LNA能够和GND相连而不短路?先推荐博主kukela,
MyBusinessCard: Web名片 Wi-Fi名片 ESP8266 BV1ay4y1C7zS
看他视频学习下,他很厉害,用了仿真软件,我就不想搞那么麻烦了。低频信号会短路,但高频信号的频率很高,波长很短,天线上LNA到GND的距离对高频信号来说是非常长的,而ESP8266的射频是2.4G Hz。接地也是为了做阻抗匹配,阻抗不匹配信号传输过程中能量就会有很大衰减,kukela的网页就打开的慢。但我是没做好匹配也完全能用,这只能说ESP8266很强了。
至于阻抗的概念就不说了。阻抗匹配就是调节信号源与负载之间的阻抗,使信号传输过程中能量衰减最小。高频电路的阻抗不是我们平常认为的像直流电路那样电阻越小越好。像这篇文章里说的,高中物理也学过:“当负载电阻跟信号源内阻相等时,负载可获得最大输出功率,这就是我们常说的阻抗匹配之一,此结论同样适用于低频电路及高频电路。
”阻抗匹配,最强介绍,不懂的入!
特性阻抗跟我们通常理解的电阻不是一个概念,它与传输线的长度无关。文章里这个知识点非常重要,后面画PCB会用到。
《硬件设计指南》也说了最佳阻抗匹配。
图3.4 《硬件设计指南》的射频电路
图中两个并联电容和一个串联电感组成的网络叫做Π型匹配网络。可以理解为通过调节网络的阻抗值将输出端阻抗的电抗部分也就是虚部抵消掉,把无功功率抵消掉,只剩有功功率,因为无功功率对信号使有害的。
但是我没完全搞明白——从天线⽅向看进来,最佳后端天线匹配阻抗为 39-j6 Ω——这句话的意思。https://zhuanlan.zhihu.com/p/26063425在这篇文章里,计算网络的元件值是要提前知道负载的阻抗的,我没条件知道负载也就是板载天线的阻抗,那我怎么选取元件的值呢?
我尝试去计算这个网络的阻抗是不是就等于39-j6 Ω,但我的计算结果完全与这个数值不相关。最后焊接的时候,我只像野火那样串连一个5.6pF电容,两个并联元件都没焊,很惊喜地发现可以用。
我做完项目后结合下面的资料,猜想结论是,用仪器测量实际电路的阻抗,再选取元件来匹配阻抗。但我没有这样的仪器,而且最后也能用,就没深究了,查了很多帖子都不能让我满意,感觉还是得看书和教材。
射频模块天线匹配思路总结
3.2 阻抗计算(正确性不保证)
下面展示我的阻抗计算过程,不知道对不对,只是用于做学习记录,也是为了请读者指正。只为做模块可以跳过。
使用邱关源的《电路》的计算方法。“从天线⽅向看进来”,这句话我不懂什么意思,只能试着算。为了方便阻抗值都取整。首先取输入在左侧,结果是j18Ω左右,过程如下。
输入在左侧的结果
这个结果不是39-j6 Ω,那么试试输入放右侧,这个应该正确些,因为LNA在网络右侧。但结果却是j8Ω左右。
输入在右侧的结果
ps:我还复习了自控,因为自控里有用到复阻抗,但那是用来求传递函数的,不是求电路阻抗的,写文档时才发现,真是糊涂。
3.2 PCB设计
资料参考:各种PCB板载天线以及PCB设计要点
首先时天线怎么搞。这个嘉立创里人家直接给你了,牛逼。
买到的模块上的天线,其实就是个大焊盘,不通电时万用表去测它和GND是连通的。我使用的是kukela的封装,就是PCB工作台的“实心填充”——覆盖了阻焊油的铜线。
射频走线阻抗
不仅是《硬件设计指南》要求射频走线阻抗50Ω,这也是通用的要求,至于为什么,这个我看不懂。射频工程师必知必会——为什么是“50欧姆”?
前面说过,走线阻抗与距离无关,这个结论给PCB布线带来很大方便,我们只需要控制线宽就可以了。不同厂家、不同材料、不同板层、不同板厚的走线阻抗都不同,这就要用到嘉立创的阻抗计算神器:嘉立创阻抗计算
还有看这篇文章:嘉立创打样的阻抗匹配_嘉立创阻抗匹配_可可芯意的博客-CSDN博客
里面说两层板做匹配没意义,确实,因为两层板的50Ω阻抗走线非常宽,这是不现实的。然而我做的就是两层,因为我打了板才看到这篇文章,当时想着先试试,能不能不用编程直接烧固件还不知道呢,而且当时PCB画的我很烦躁,天线封装有些奇奇怪怪的报错,还有我只会画两层板。但也能用,画的时候尽量粗吧,我的LNA走线宽16mil,板厚0.8mm。板薄些,50Ω阻抗的要求线宽就会减少。从下面两图对比就知道,4层板要求的线宽就很正常了。
资料和《硬件设计指南》都有说,天线下方净空不铺铜,在边缘的铺铜区打满不规则排列的地孔,为了吸收天线对其它器件的干扰信号。匹配网络的三个元件封装越小越好,封装越小,高频特性越好(ESL和ESR更低)。我跟kukela一样用的是0201的,然而因为最小只用过0603,我以为模块上的也是0201,买到0201才发现:0201比蚂蚁还小,模块上的是0402。0201就tm不是人焊的,虽然我和kukela都焊上去了(悲)。所以用0402的封装就行了。其它都跟普通画板差不多。元件也要选高品质因数的,kukela说手册上写了高频那就可以用,其它参数可以不用在意。至于电容电感的ESR、ESL、谐振频率那些知识,可以看下面的文章:
高速电路中电感的选型和应用 360°详解去耦电容,真正的理解及在真正工程中的使用!
3.3 焊接与测试
ESP8266只有QFN封装,我第一次焊接是用烙铁加锡丝用回流焊的方法,这样很不好,因为散热底座的锡是凹凸不平的,导致很难对齐,QFN最难的就是怎么对齐。真的巨折磨。第二块板用锡膏加热风枪,先焊盘涂锡膏,用镊子把锡膏抹均匀且量少,用热风枪加热融化并凝固后,加助焊剂贴上芯片对齐再吹热。这样的方法也很难,第一次就引脚短路了,因为压住芯片加热芯片是会移动的,顺带着锡的流动导致焊盘之间短路。第二次吹下来涂助焊剂再贴上去加热就好了,纯靠运气。据说正确的方法是用锡膏把焊盘涂饱满,上助焊剂,芯片放上去,表面张力会自动对齐。真tm神奇,表面张力是什么鬼。
焊完要用万用表测是否短路,最重要的电源不短路,第一块板焊不好,GPIO0引脚电压是1.8V,正常的模块是3.3V,算是个偶然发现的小方法。
干货|QFN封装懒人焊接方法 - 知乎
焊完直接烧固件就能用了,怎么烧固件看别的教程。但我也遇到问题,自己做的模块烧乐鑫的官方固件用不了,烧完接上串口调试助手不停发乱码,擦掉烧安信可的ai-thinker_esp8266_at_firmware_dout_v1.5.4.1-a_20171130就可以,我手上买的ESP-01还被我烧录多次就坏了烧录不了,听说别人也是烧多了就坏了。
前四个就是乐鑫的官方固件,好像是在SDK的下载包里,暂时找不到链接。最后一个就是安信可写的固件,用这个应该是最好的,因为买的模块都是安信可做的。
总结
真的没什么技术含量,拿到板子后工作量主要在焊接上(悲)。很多东西还是不懂。方向不是搞射频,能不能懂看以后会不会接触到了。文章来源:https://www.toymoban.com/news/detail-730547.html
在即将成为脑力无产者的时候完成这个心愿是幸福的。“在劳动已经不仅仅是谋生的手段,而且本身成了生活的第一需要之后.......”(《哥达纲领批判》),这段时间的劳动是自由的,没有被异化的,没有被强迫的。马克思主义的“人的自由”,是生产劳动的自由,在这段时间在一定程度上体会到了。文章来源地址https://www.toymoban.com/news/detail-730547.html
到了这里,关于自制ESP8266 WIFI模块 ESP-01/阻抗匹配、射频天线高频电路学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!