AMS1117和LM2596S芯片的问题总结

一种方案是用两片AMS1117,12V输入,降到5V和3.3V。
一种是用LM2596芯片加外围元件构成DCDC降压器得到5V和3.3V。

相比较,AMS1117方案外围电路较为简单,但是使用场合又有什么限制呢?


电源变换方案不是电压合适了就行,还要考察电流、耗散功率、纹波参数、效率等其它因素。

1117是线性稳压器,有多种规格。常见SOT223封装的最大电流为800mA-1A,对应5V输出的话,最大输出功率也就5W。如果电机是5V-10W的,显然无法驱动,再要考虑输入输出压降带来的耗散功率以及因此导致的发热、散热问题。

而2596是开关电源芯片,虽然外部电路较为复杂,相应的效率当然更高,散热也更小。


这两个片子比较常用,用的批量很大,成本不高,给stm32的系统供电,2596从12V降到5V,再用1117降到3.3V,没特别要求的供电,这种方案可适用大多数的供电场合。


<参考>
http://bbs.eeworld.com.cn/thread-1099033-1-1.html

<think>嗯,我现在要解决如何将ESP8266-01S模块连接到STM32F103C8T6开发板的问题。我对这两个模块的接线不太熟悉,所以需要先了解它们的引脚通信方式。 首先,ESP8266-01S是一个Wi-Fi模块,常用于物联网项目,通过串口与主控芯片通信。它的引脚可能包括VCC、GND、TX、RX、RST、EN等。而STM32F103C8T6是一款基于ARM Cortex-M3的微控制器,有多个GPIO引脚串口接口。 接下来,我需要确定两者的电压是否匹配。ESP8266-01S的工作电压通常是3.3V,而STM32F103C8T6的I/O引脚也是3.3V,所以这里电压应该没问题,不需要电平转换。但要注意不能接5V电源到ESP模块,否则可能损坏它。 然后是串口通信的问题。ESP8266的TX引脚应该连接到STM32的RX引脚,而ESP的RX连接到STM32的TX。不过需要注意,STM32可能有多个串口,比如USART1、USART2等。假设使用USART1,那么对应的引脚是PA9(TX)PA10(RX)。但ESP8266-01S的TXRX具体是哪个引脚呢?我需要查一下ESP8266-01S的引脚排列。记得ESP8266-01S的引脚顺序可能不同,比如从上面看,从左到右依次是GND、GPIO2、GPIO0、RX、TX、CH_PD(EN)、RST、VCC。所以,ESP的TX应接STM32的RX(比如PA10),ESP的RX接STM32的TX(比如PA9)。 另外,ESP模块的CH_PD(EN)引脚需要接高电平(3.3V)以启用模块,GPIO0在正常工作时应为高电平,如果GPIO0接地则会进入烧录模式。所以需要确保GPIO0通过电阻上拉到3.3V,或者直接连接到VCC?或者是否悬空也可以?可能最好接上拉电阻到3.3V,以确保稳定。RST引脚通常接高电平,如果需要复位,可以接STM32的一个GPIO控制,但一般情况下直接接VCC也可以保持模块正常工作。 电源部分,STM32的3.3V输出是否足够给ESP8266供电?ESP8266在发送数据时可能有较大的电流需求,可能导致电压下降。可能需要外接3.3V稳压电源,或者确认STM32的稳压器能提供足够的电流。否则,可能会遇到不稳定的问题,比如模块重启或无法连接Wi-Fi。 接线步骤总结: 1. VCCGND连接,确保电源稳定。 2. 交叉连接TXRX。 3. 处理EN、GPIO0、RST等引脚的状态。 4. 可能需要连接STM32的某个GPIO到ESP的RST,以便软件复位,但非必需。 5. 检查是否有其他引脚需要配置,比如GPIO2是否需要接特定电平。 可能遇到的问题:如果ESP模块无法启动,可能是EN引脚没有接高,或者GPIO0被拉低进入了烧录模式。另外,电源不足也会导致模块工作异常。需要测试各个引脚的电压是否正确,并确保串口通信的波特率设置正确(通常默认是115200)。 最后,编写代码时,STM32需要通过串口发送AT指令给ESP8266,配置Wi-Fi连接等。需要确保串口初始化正确,并处理可能的响应延迟或错误。</think>### ESP8266-01S与STM32F103C8T6接线详解 #### 1. **电压匹配** - **ESP8266-01S**:需 **3.3V供电**,直接使用STM32的3.3V输出引脚(注意电流需足够,建议外接稳压电源)。 - **STM32F103C8T6**:I/O电平为3.3V,与ESP兼容,无需电平转换。 #### 2. **核心接线(串口通信)** | ESP8266-01S引脚 | STM32F103C8T6引脚 | 功能说明 | |------------------|-------------------|------------------| | TX | PA10 (USART1_RX) | ESP发送 → STM接收 | | RX | PA9 (USART1_TX) | ESP接收 ← STM发送 | | VCC | 3.3V | 电源正极 | | GND | GND | 电源地 | #### 3. **控制引脚配置** | ESP8266-01S引脚 | 连接方式 | 作用说明 | |------------------|------------------------|--------------------------------------------------------------------------| | EN (CH_PD) | 直接接3.3V | 高电平使能模块工作 | | GPIO0 | 接10kΩ上拉电阻至3.3V | 高电平为正常工作模式;低电平进入固件烧录模式(需避免误接地) | | RST | 接10kΩ上拉电阻至3.3V | 高电平保持运行;若需软件复位,可接STM32 GPIO(如PA0)并控制高低电平 | #### 4. **电源注意事项** - **电流需求**:ESP8266峰值电流可达170mA,若STM32板载LDO(如AMS1117)输出能力不足,需外接独立3.3V电源。 - **推荐方案**:使用外部稳压模块(如LM1117-3.3)为ESP单独供电,共地连接。 #### 5. **接线图示例** ```plaintext ESP8266-01S STM32F103C8T6 ------------------------------------- VCC → 3.3V (或外部电源) GND → GND TX → PA10 (USART1_RX) RX → PA9 (USART1_TX) EN → 3.3V GPIO0 → 10kΩ → 3.3V RST → 10kΩ → 3.3V (或接PA0) ``` #### 6. **代码配置要点** 1. **初始化串口**:STM32使用USART1(波特率默认115200,需与ESP一致): ```c HAL_UART_Init(&huart1); // 配置波特率、数据位、停止位等 ``` 2. **发送AT指令**: ```c char cmd[] = "AT\r\n"; HAL_UART_Transmit(&huart1, (uint8_t*)cmd, strlen(cmd), 100); ``` 3. **接收响应**:需处理中断或DMA,避免数据丢失。 #### 7. **常见问题排查** - **模块不启动**:检查EN是否接高,GPIO0是否未被拉低。 - **通信失败**:确认TX/RX交叉连接,波特率匹配,电源稳定。 - **Wi-Fi断连**:检查电源是否在发送数据时电压跌落(示波器监测)。 #### 8. **进阶优化** - **硬件流控**:若需稳定大数据传输,可连接ESP的RTS/CTS至STM32对应引脚。 - **低功耗模式**:通过GPIO控制ESP的EN引脚,实现远程唤醒。 通过以上步骤,可实现可靠的串口通信与Wi-Fi功能集成。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值