问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

嵌入式硬件设计实例:基于STM32的流水灯原理图和PCB设计

创作时间:
作者:
@小白创作中心

嵌入式硬件设计实例:基于STM32的流水灯原理图和PCB设计

引用
CSDN
1.
https://blog.csdn.net/tilblackout/article/details/136437752

本文将详细介绍基于STM32的流水灯硬件设计,包括原理图设计和PCB设计的各个方面。通过本文的学习,读者将掌握STM32最小系统的设计方法,了解电源部分、Buck电路、LED部分的设计要点,以及PCB布局和布线的注意事项。

1 目标和需求

本篇文章的目标是实现一个简单的流水灯硬件设计。具体需求如下:

  • 主控芯片:选择STM32F103系列芯片,因为只需要GPIO功能即可实现流水灯效果。
  • 电路组成
  • 调试接口:4线SWD
  • 晶振
  • Buck降压电路:提供3.3V电压给主控
  • 8个LED灯

电路组成实际上就是STM32最小系统,再加上8个LED灯。

2 原理图设计

2.1 电源部分

电源部分是硬件电路板设计中最重要的一部分。以下是具体的电源设计:

2.1.1 电源座子

使用12V适配器供电,选择DC12圆孔封装。封装有3个引脚,1个是12V,2个是GND。

实际的电路如下:

2.1.2 Buck电路

对于STM32芯片来说,系统的电压是3.3V的,所以需要一个降压电路。简单地介绍一下Buck电路。

Buck电路是一种常见的降压型(step-down)直流-直流(DC-DC)转换器电路。它的主要作用是将一个较高的直流电压转换为一个较低的直流电压。Buck电路的工作原理基于电感和开关元件的组合,通过周期性地打开和关闭电路中的开关元件来实现电压的降低。

假设输入为15V,要降压为5V,中间是一个开关,输出连接一个电容。控制开关,闭合开关,将电容充电到6V时断开,到4V时再闭合开关。但刚开始电容相当于短路,此时电流非常大,会损坏电容,所以要在前面再串一个电阻。但电阻会消耗功率,所以不太合适。现在又不希望刚开始电容电流无限大,又不希望前面消耗功率。而电感可以阻碍电流的增大,它是BUCK电路中最核心的器件。

刚开始电感的阻抗无穷大,两端电压就等于输入电压,接着电感的压降越来越小,电流逐步增大,这样电流正好就满足了电容缓慢充电。电感的电流不会突变,但电压会突变,而这有后面的电容限制这个突变。

开关断开时,由于15V还存在着,电感产生的感生电动势会到开关左端,从而产生电弧。所以要给电感一个回路。

  • 放电时经过二极管放电,上端电压为-0.7V,所以开关的耐压要大于15.7V;二极管的耐压要大于15V。
  • 电感上升阶段斜率逐渐变缓
  • 电感下降阶段斜率逐渐变抖,最终会趋于稳定。

2.1.2.2 Buck电路设计

选择MP2359作为Buck降压芯片。根据手册中的典型设计,设计原理图如下:

其中:

  • R1和R2是反馈电阻,用于控制输出电压大小。
  • 二极管D1是肖特基二极管,因为它有更好的快速开关特性、抗热性能和低正向压降。
  • CB提供Bootstrap电压,存储开关周期内的电荷。
  • 电感的作用是储能,C1和C2是输入/输出滤波电容。

2.2 STM32最小系统

选择STM32F103VET6型号。根据官方数据手册设计原理图,分为系统电源部分和其他引脚部分。

  • 由于本例中没有用到特别多片上外设,其他引脚就简单地放在一起了。如果用上了,建议继续将引脚归类和细分,如SPI放一起,I2C放一起等;这样做不仅是为了美观,也是为了减少错误。

电源部分

其他引脚部分

接着添加晶振和调试引脚:

  • 晶振:STM32中有两种晶振:
  • OSC:连接8MHz的外部晶振,用于提供系统时钟(SYSCLK)或主时钟。
  • OSC32:连接32.768kHz的外部晶振,常用于RTC模块。

实际上在这么简单的应用中,完全可以不接任何晶振,直接使用内部晶振。

  • 复位引脚NRST的电容:主要是防止由于开关或其他外部因素引起的短时噪声或干扰对NRST引脚的误触发。如果接了一个按键用于复位,那电容还可以调整复位脉冲的上升时间,防止快速或突发的电平变化触发不必要的复位。

2.3 流水灯设计

流水灯部分的原理很简单,当GPIO输出高电平时,LED点亮,反之熄灭。电阻的大小取决于所选LED的数据手册。

3 PCB设计

由于原理图非常简单,二层板足以。以下是PCB设计中需要注意的细节:

3.1 封装选择

  • 电阻和LED:选择0603封装,由于是初学,选择大一些的封装。注意,封装越小,能承受的功率越小。
  • 电容:对于Buck电路来说,输入和输出的电压很大,需要选择大一点的封装,C3和C4选择C1206封装;其他选择0603封装。
  • 肖特基二极管:根据所用二极管的手册选择,这里是DO-216AA。

3.2 电源滤波考虑

在电源附近放置104电容,主要目的是:

  • 抑制高频噪声
  • 提供瞬态稳定性
  • 降低电源线上的尖峰

在设计PCB时,根据STM32芯片或其他芯片的封装布局,确定需要添加的104电容数量,并在原理图中添加,然后布局时放在电源附近。

对应放在STM32的几个电源附近:

3.3 Buck电路布局和布线

电源是系统中最重要的一部分,除了需要尽可能地将电源线弄宽之外,还需要注意以下布局和布线要点:

  • 强电路径(GND/IN/SW)应该尽可能短且宽
  • 输入电容需要和IN和GND引脚尽可能近
  • 外部反馈电阻需要离FB引脚近
  • 开关节点的走线短且远离反馈网络
  • 对于6号开关引脚SW,由于频率很高,建议把连在这个引脚的电容、肖特基二极管和电感直接敷铜。

3.4 LED部分设计

由于是做流水灯,所以LED需要放在一起。在原理图中,会根据布线的难易程度,尽可能地将物理上要放在一起的器件所对应的引脚放在一起。

3.5 3D演示

以下是该板子的3D图:

4 总结

本篇文章简单介绍了嵌入式单片机的一个简单的最小系统的设计,涉及的知识点包括电源设计、Buck电路设计、STM32最小系统设计、LED设计以及PCB布局布线等。如果要做更复杂的PCB设计,如高频、强弱电、EMC等,还需要考虑更多方面的因素,如电容电阻的参数、阻值大小、容值大小等。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号