esp32 nes 教程 esp32-s_esp32 nes 教程

简 介: 设置制作了ESP32的转接板,使其比较方便在面包板上进行测试。关键词: ESP32,MicroPython

 

▌01 ESP32-S转接模块

在 ESP32-WROOM-32D WiFi+蓝牙模块 ESP32串口转WiF乐鑫ESPRESSIF 购买到(¥14)的ESP32模块,需要通过转接模块来开针对其仿真与开发。

  在 ESP32串口WiFi双天线 博文中,测试了使用 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型 在 Thonny 下对于ESP32的简单引出的管脚完成 MicroPython 固件 的下载,并进行初步的程序开发。

  设置转接板则是将开发ESP32变得更加的可靠。

1.设计ESP32转接电路板(1)原理图设计

  为了借助于面包板进行快速电路原型,设计模块转接板具有以下两组接口:

面包板的实验接口,PIN约为20;具有

电源

AD,IO,UART,SPI等接口

UART标准下载接口;6PIN, 定义参见在 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型 中的定义。

【I.建立元器件库】

  根据 ESP32数据手册 建立ESP32-S的原理图AltumDesign原理库器件。

esp32 nes 教程 esp32-s_esp32 nes 教程_02

▲ ESP32-S 模块的管脚定义

esp32 nes 教程 esp32-s_原理图_03

▲ ESP32-S AD库元器件

【II.建立PCB库】

esp32 nes 教程 esp32-s_esp32 nes 教程_04

▲ ESP32-s模块的尺寸封装图

esp32 nes 教程 esp32-s_stm32_05

▲ 建立的ESP32 AltiumDesign PCB库文件

【III.设计原理图】1

esp32 nes 教程 esp32-s_转接板_06

▲ ESP32S转接模块的原理图

板上的LED端口:

LED1:IO5

LED2:IO18

  下面是根据 ESP32-WROOM-32U 数据手册给出测试模块外部20PIN引脚功能定义如下表格俗称:

【表1-1-1-3 外部引脚定义】

管脚

功能

ESP管脚

功能

PIN1

3.3V

2

电源 3.3V

PIN2

GND

1

接地

PIN3

GPIO36

4

ENSOR_VP,GPIO36, ADC1_CH0, RTC_GPIO0

PIN4

GPIO39

5

SENSOR_VN,GPIO39, ADC1_CH3, RTC_GPIO3

PIN5

GPIO34

6

GPIO34, ADC1_CH6, RTC_GPIO4

PIN6

GPIO35

7

GPIO35, ADC1_CH7, RTC_GPIO5

PIN7

GPIO32

8

GPIO32, XTAL_32K_P (32.768 kHz 晶振输入), ADC1_CH4, TOUCH9, RTC_GPIO9

PIN8

GPIO33

9

GPIO33, XTAL_32K_N (32.768 kHz 晶振输出), ADC1_CH5, TOUCH8, RTC_GPIO8

PIN9

GPIO25

10

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

PIN10

GPIO26

11

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

PIN11

GPIO27

12

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

PIN12

GPIO14

13

GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK,SD_CLK, EMAC_TXD2

PIN13

GPIO12

14

GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2,SD_DATA2, EMAC_TXD3

PIN14

GPIO13

16

GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3,SD_DATA3, EMAC_RX_ER

PIN15

RXD1

17

GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD

PIN16

TXD1

18

GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD

PIN17

GPIO15

23

GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD,SD_CMD, EMAC_RXD3

PIN18

GPIO2

24

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0

PIN19

RXD2

27

GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT

PIN20

TXD2

28

GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180

(2)设计PCB板
【I.设计的单面实验板】

  为了适应 一分钟快速值班方法 ,设计了单面PCB布线。

esp32 nes 教程 esp32-s_转接板_07

▲ 单片版快速制版PCB图

【II.焊接后侧测试板】

  将一分钟制版之后的 快速制版 PCB 经过焊接进行测试。

  使用 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型 通讯板,利用Thonny开发环境进行连通测试。

esp32 nes 教程 esp32-s_esp32 nes 教程_08

▲ 焊接之后测测试版

2.初步测试ESP32-S转接板

(1)测试板上LED
【I.程序代码】
from machine                import Pin,PWM
import time
led1 = Pin(5, Pin.OUT)
led2 = Pin(18, Pin.OUT)
while True:
    led1.on()
    led2.off()
    time.sleep_ms(250)
    led1.off()
    led2.on()
    time.sleep_ms(250)
【II.运行结果】

esp32 nes 教程 esp32-s_stm32_09

▲ 测试LED简单程序

 

▌02


1.出现的问题

  利用相同的转接板在焊接ESP32-WROOM-32 模块的时候,发现它工作不正常。总是出现下载错误、Thonny连接错误等问题。

2.解决方法

  根据网络上别人设计中,看到在模块的RST上没有增加上拉电阻以及对应的电容。

  在现在的转接板上使用临时焊接的方式增加了RRST,CST,模块便可以比较稳定的进行下载和工作了。

  技术规格书: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32d_esp32-wroom-32u_datasheet_cn.pdf

  参考设计:https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32desp32-wroom-32u_mo_zu_can_kao_she_ji_.zip

esp32 nes 教程 esp32-s_python_10

 

▌结论


通过初步的实验给出了对于ESP32-S使用MicroPython进行开发的工具链,它们包括:

  • 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型
  • Thonny 开发环境
  • MicroPython 关于ESP32相关的官方文档
  • ESP32-S 相关的数据手册

  关于ESP32模块的进一步实验可以参见 测试ESP32S基本模块功能,验证是否可以应用在AI只能竞赛检测调制激光信号 。

 

■ 相关文献链接:

  • ESP32-WROOM-32D WiFi+蓝牙模块 ESP32串口转WiF乐鑫ESPRESSIF
  • ESP32串口转WiFi双天线ESP32-S模组
  • 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型
  • 安装 Thonny 软件环境开发PI Pico
  • MicroPython 固件
  • ESP32-WROOM-32U
  • 一分钟制版法
  • 一分钟制版之后
  • MicroPython 关于ESP32相关的官方文档

  1. ESP32S模块转接板AD工程文件:AD\Test\2021\PYBOARD\TestESP32S.SchDoc ↩︎