基于STM32的流水灯硬件设计:从原理图到PCB布局详解
基于STM32的流水灯硬件设计:从原理图到PCB布局详解
本文将详细介绍基于STM32的流水灯硬件设计,包括原理图和PCB设计流程。通过本文,读者将了解STM32最小系统的设计要点、Buck降压电路的工作原理及设计方法,以及PCB布局的关键注意事项。
1 目标和需求
本项目旨在实现一个简单的流水灯硬件设计。具体需求如下:
- 主控芯片:选用STM32F103系列
- 电路组成:
- 调试接口:4线SWD
- 晶振
- Buck降压电路:提供3.3V电压给主控
- 8个LED灯
电路组成实际上就是STM32最小系统,再加上8个LED灯。
2 原理图设计
2.1 电源部分
电源部分是硬件电路板的核心,主要包括电源座子和Buck降压电路。
2.1.1 电源座子
使用12V适配器供电,选择DC12圆孔封装。封装有3个引脚,1个是12V,2个是GND。
原理图库设计如下:
实际电路如下:
系统地电源从引脚1引入。
2.1.2 Buck降压电路
STM32芯片需要3.3V供电,因此需要Buck降压电路将12V降至3.3V。
2.1.2.1 原理
Buck电路是一种降压型(step-down)直流-直流(DC-DC)转换器电路。其工作原理基于电感和开关元件的组合,通过周期性地打开和关闭电路中的开关元件来实现电压的降低。
假设输入为15V,要降压为5V,中间是一个开关,输出连接一个电容。控制开关,闭合开关,将电容充电到6V时断开,到4V时再闭合开关。但刚开始电容相当于短路,此时电流非常大,会损坏电容,所以要在前面再串一个电阻。但电阻会消耗功率,所以不太合适。现在又不希望刚开始电容电流无限大,又不希望前面消耗功率。而电感可以阻碍电流的增大,它是BUCK电路中最核心的器件。
刚开始电感的阻抗无穷大,两端电压就等于输入电压,接着电感的压降越来越小,电流逐步增大,这样电流正好就满足了电容缓慢充电。电感的电流不会突变,但电压会突变,而这有后面的电容限制这个突变。
开关断开时,由于15V还存在着,电感产生的感生电动势会到开关左端,从而产生电弧。所以要给电感一个回路。
- 放电时经过二极管放电,上端电压为-0.7V,所以开关的耐压要大于15.7V;二极管的耐压要大于15V。
- 开关闭合,电容短路,电感上电压等于15V,K=15/L
- 电感对电容充电,假设电容电压上升到2V,K=13/L
- 电感对电容充电,假设电容电压上升到5V,K=10/L
- 电感上升阶段斜率逐渐变缓
- 刚闭合就断开,电容短路,电感两端压降被二极管钳位为0.7V,K=0.7/L
- 电容充电到2V时断开,K=2.7/L
- 电容充电到5V时断开,K=5.7/L
- 电感下降阶段斜率逐渐变抖,最终会趋于稳定。
2.1.2.2 Buck电路设计
选择MP2359作为降压芯片。根据手册中的典型设计:
其中:
- R1和R2是反馈电阻,用于控制输出电压
- D1是肖特基二极管,具有快速开关特性、抗热性和低正向压降
- CB提供Bootstrap电压
- 电感用于能量存储,C1和C2是输入/输出滤波电容
设计时使能引脚默认使能,肖特基二极管型号可根据实际供货和价格选择。
2.2 STM32最小系统
选择STM32F103VET6型号。根据官方数据手册设计原理图,分为系统电源部分和其他引脚部分。
- 电源部分设计:
- 其他引脚设计:
添加晶振和调试引脚:
- OSC:连接8MHz外部晶振,用于系统时钟
- OSC32:连接32.768kHz外部晶振,用于RTC模块
- NRST引脚添加电容,防止误触发
2.3 流水灯设计
流水灯原理简单,GPIO输出高电平时LED点亮,反之熄灭。电阻大小根据LED数据手册选择。
3 PCB设计
3.1 封装选择
- 电阻和LED:选择0603封装
- 电容:C3和C4选择C1206封装,其他选择0603封装
- 肖特基二极管:根据手册选择DO-216AA封装
3.2 电源滤波考虑
在电源附近添加104电容,用于:
- 抑制高频噪声
- 提供瞬态稳定性
- 降低电源线上的尖峰
布局时将电容放在电源引脚附近,相邻电源引脚可共用一个电容。
3.3 Buck电路布局和布线
- 强电路径(GND/IN/SW)应尽可能短且宽
- 输入电容需靠近IN和GND引脚
- 外部反馈电阻靠近FB引脚
- 开关节点走线短且远离反馈网络
- SW引脚连接的电容、肖特基二极管和电感需敷铜
3.4 LED部分设计
LED需要放在一起,因此在原理图中将相关引脚放在一起,便于布线。
3.5 3D演示
最终的3D效果图如下:
4 总结
本文介绍了基于STM32的流水灯硬件设计,包括原理图和PCB设计的关键要点。对于更复杂的PCB设计,如高频、强弱电、EMC等,还需要考虑更多细节,如电容电阻的参数选择等。