作为一个刚刚接触单片机的初学者,或者是大学学习单片机时,通常考虑买一块现有的开发板例如stm32开发板,esp32开发板,学习led控制,uart ,i2c ,spi接口等一系列的功能。但是,有没有可能我们自己设计一个开发板,然后学习stm32 和esp32 呢。下面我们就将这个想法实现。
如何设计一个PCB呢?第一 想到的可能是采用AD,PADS这些工具,这些工具学习很有必要但是我想节约时间,简单设计一个开发板,不想自己画芯片封装,不想学习太多工具如何使用,想方便快捷的实现PCB设计,大家可以考虑嘉立创EDA。
讲解之前首先感谢下面这个作者:How to Make Custom ESP32 Board in 3 Hours | Full Tutorial (youtube.com);有兴趣的大家可以看一下,哔站也有相应的视频,两个小时即可实现一个属于自己的PCB,如下图: 嘉立创免费打板,实际到手后,如下图,发现以目前的焊接技术焊接不了,才有了后续自己设计一个PCB的想法。
下面讲解自己设计PCB的想法:
1.PCB上同时具有:stm32 和esp32
2.USB接口提供电源,同时可以通过串口分别同stm32 和 esp32通信
3.stm32和esp32 可以通过串口进行数据传输,为后续stm32联网获取数据留有通信接口
4.板载相应 按键、led、at24c02、温湿度模块方便做一些简单的测试
5.stm32 和esp32 剩余的Pin 全部引出,后续可以作为单独的stm32开发板和esp32开发板进行其他开发。
下面是各个模块电路:
1.电源模块:USB提供5V电源,5V转3.3V作为主控芯片电源,预留出外接5V接口
2.USB转串口采用ch340
3.stm32和esp32 uart转换采用跳线帽
4.stm32主控电路:
5.stm32 复位和下载电路,晶振电路
6.esp32主控电路
7.其他电路
注:电路设计时一定要查看相应芯片手册中相关介绍以及提供的demo电路,还有查看其他开发板设计的相应的电路,前期不同完全可以借鉴别人的经验,可以在后续设计中一步一步的增加自己的经验。以上采用的嘉立创EDA,因为有免费打板。通过电路图转换PCB图,调整元器件位置和布线后(这些经验可以慢慢积累),得到如下图的PCB
制作的是一个四层板(顶层,底层,内电层(3.3V),内电层(GND)),焊接后的实物图:
此电路板相对简单,可以训练制作、焊接、代码调试,很适合自己动手。虽然耗费一些时间和少量的金钱,但是增加的经验不可或缺。