PCB设计教程【大师篇】——STM32开发板原理图设计(电源部分)
前言
本教程基于B站Expert电子实验室的PCB设计教学的整理,为个人学习记录,旨在帮助PCB设计新手入门。所有内容仅作学习交流使用,无任何商业目的。若涉及侵权,请随时联系,将会立即处理
目录
前言
1. 工程创建与前期设置
2. 电源模块设计
输入接口与防反接保护
DC-DC 降压与电源合路
LDO 降压与指示灯
3. 操作要点与资源分享
1. 工程创建与前期设置
- 新建工程:打开立创 EDA 专业版(建议使用最新版本,示例为 V2.2.25),点击「文件 - 新建工程」,命名为 “STM32 电赛单片机开发版” 并保存,系统自动生成包含原理图(SCH)和 PCB 的工程文件。
- 多图页管理:因原理图较复杂,新建 3 个图页并命名为 “主控”“电源”“接口”,分别对应单片机最小系统、电源电路和外围接口,便于模块化设计。
- DRC 设置:进入「设计 - 设计规则」,取消勾选 “元件属性需与供应商编号匹配”(避免非必要报错,适用于手工焊接场景)。
2. 电源模块设计
输入接口与防反接保护
- 三接口输入:
- Type-C 接口:使用 16pin 元件,电源引脚(VBUS)接 5V,地线(GND)接地,CC 引脚通过 5.1kΩ 电阻下拉以确保输出 5V,数据引脚(DP/DN)对称连接实现正反插兼容。
- 螺钉式接线端子 / DC 接口:均输入 12V,正极并联后通过肖特基二极管 SS54(防反接,导通压降小、额定电流 5A)连接后续电路。
DC-DC 降压与电源合路
- 12V 转 5V:采用 TI 的 TPS5450 芯片,参考数据手册设计外围电路:
- 输入滤波:并联铝电解电容(耐压≥16V)和 100nF 陶瓷电容,大电容靠近电源输入端,小电容靠近芯片。
- 反馈采样:通过电阻分压网络(R1=10kΩ,R2≈3.16kΩ)设置输出 5V,反馈引脚(FB)连接芯片的 VSENS 端。
- 输出滤波:并联 330μF 电容和 100nF 陶瓷电容,确保电压稳定。
- 电源合路:将 Type-C 的 5V 与 DC-DC 输出的 5V 通过短接标识符连接(避免直接短接报错),串联开关(六引脚选择一组使用)和保险丝(根据负载功率选择额定电流),输出端标记 “VCC 正 5V”。
LDO 降压与指示灯
- 5V 转 3.3V:使用 AMS1117-3.3 芯片,输入接 5V,输出接 3.3V,两端并联 10μF 和 100nF 陶瓷电容滤波,输出标记 “VCC 正 3.3V”。
- 电源指示灯:
- 5V 电路:串联 5kΩ 限流电阻和 0603 封装 LED。
- 3.3V 电路:串联 2kΩ 限流电阻和 0603 封装 LED,直观显示电源通断状态。
3. 操作要点与资源分享
- 快捷键与库管理:若快捷键异常,可在设置中切换为 “立创 EDA 标准版” 配置;若库中缺少元件,可直接使用分享的工程文件复制已绘元件(包含 STM32 开发版完整原理图)。
- 模块化绘图技巧:按功能分区布局(如电源模块集中在一侧),导线尽量对称整齐,使用网络标签标识同名节点,确保原理图清晰易读。
通过以上步骤,可完成 STM32 开发版原理图的结构化设计,后续可基于此进行 PCB 布局布线及打板验证。
相关文章:
PCB设计教程【大师篇】——STM32开发板原理图设计(电源部分)
前言 本教程基于B站Expert电子实验室的PCB设计教学的整理,为个人学习记录,旨在帮助PCB设计新手入门。所有内容仅作学习交流使用,无任何商业目的。若涉及侵权,请随时联系,将会立即处理 目录 前言 1. 工程创建与前期…...
k8s4部署
configMap configmap概述:数据会存储在etcd数据库,其应用场景主要在应用程序的配置 configmap支持的类型(1)键值对(2)多行数据 pod使用configmap资源有两种常见的方式(1)变量注入&a…...
贝叶斯医学分析中“先验”的如何进行选择(文献解读)
贝叶斯医学分析中“先验”的如何进行选择(文献解读) 作者:Callum Taylor, Kathryn Puxty, Tara Quasim, Martin Shaw 文章标题:Understanding Bayesian analysis of clinical trials: an overview for clinicians 期刊名称&#x…...
【汇编逆向系列】七、函数调用包含多个参数之浮点型- XMM0-3寄存器
目录 1. 汇编代码 1.1 debug编译 1.2 release编译 2. 汇编分析 2.1 浮点参数传递规则 2.2 栈帧rsp的变化时序 2.3 参数的访问逻辑 2.4 返回值XMM0寄存器 3. 汇编转化 3.1 Debug编译 3.2 Release 编译 3.3 C语言转化 1. 汇编代码 上一节介绍了整型的函数传参&#x…...

【MySQL系列】MySQL 执行 SQL 文件
博客目录 一、MySQL 执行 SQL 文件的常见场景二、MySQL 执行 SQL 文件的主要方法1. 使用 MySQL 命令行客户端2. 在 MySQL 交互界面中使用 source 命令3. 使用 MySQL Workbench 等图形化工具4. 使用编程语言接口 三、执行 SQL 文件时的注意事项1. 字符集问题2. 事务处理3. 错误处…...

论文MR-SVD
每个像素 7 个 FLOPs意思: FLOPs(浮点运算次数):衡量算法计算复杂度的指标,数值越小表示运算越高效。含义:对图像中每个像素进行处理时,仅需执行7 次浮点运算(如加减乘除等…...

Java 日期时间类全面解析
Java 日期时间类全面解析:从传统到现代的演进 一、发展历程概览 二、传统日期类(Java 8前) 1. java.util.Date - 日期表示类 Date now new Date(); // 当前日期时间 System.out.println(now); // Wed May 15 09:30:45 CST 2023// 特定时间…...

【工具-Wireshark 抓包工具】
工具-Wireshark 抓包工具 ■ Wireshark 抓包工具■ 通过IP指定查看■■ ■ Wireshark 抓包工具 抓包工具】win 10 / win 11:WireShark 下载、安装、使用 Wireshark下载 阿里云镜像 ■ 通过IP指定查看 ■ ■...
Linux安全机制:从SELinux到Intel SGX的堡垒
Linux安全机制:从SELinux到Intel SGX的堡垒 数字世界的钢铁长城 引言:操作系统的"防御工事" 当服务器每天承受数百万次攻击尝试时,Linux内核的安全机制如同精密的防御系统,在纳秒级时间内做出响应。现代Linux安全架构已…...

设备驱动与文件系统:06 目录与文件
磁盘使用的最后一层抽象:文件系统 今天我们讲第31讲,这一讲将完成磁盘对磁盘使用的最后一层抽象。对此板使用最后一层抽象,抽象出来的是什么呢? 实际上我们使用过磁盘,大家应该有这样的认识,最后不管这个磁…...
C++11 Token Bucket (令牌桶)算法的锁无实现及应用
Token Bucket(令牌桶)算法是一种在流量控制和资源分配领域被广泛应用的技术。它通过约束数据传输速率或任务执行频率,确保系统在资源有限的情况下,能够稳定、高效地运行,避免因突发流量或任务积压而导致的性能下降甚至…...
详细介绍uni-app中Composition API和Options API的使用方法
uni-app 中 Composition API 和 Options API 的使用方法详解 一、Options API(Vue 2.x 传统方式) 1. 基本结构 Options API 通过配置对象的不同选项(如 data、methods、computed 等)组织代码: <template><…...
delphi7 链表 使用方法
在 Delphi 中,链表是一种常见的数据结构,用于存储一系列的元素,其中每个元素都包含一个指向列表中下一个元素的引用。在 Delphi 7 中,你可以手动实现链表,或者使用一些现有的集合类,例如 TList 或者 TLinke…...

Linux 系统中的算法技巧与性能优化
引言 Linux 系统以其开源、稳定和高度可定制的特性,在服务器端、嵌入式设备以及开发环境中得到了极为广泛的应用。对于开发者而言,不仅要掌握在 Linux 环境下实现各类算法的方法,更要知晓如何利用系统特性对算法进行优化,以提升…...

【C++系列】模板类型特例化
1. C模板类型特例化介绍 定义:模板类型特例化(Template Specialization)是C中为模板的特定类型提供定制实现的机制,允许开发者对通用模板无法处理的特殊类型进行优化或特殊处理。 产生标准: C98/03…...

K8S认证|CKS题库+答案| 7. Dockerfile 检测
目录 7. Dockerfile 检测 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、修改 Dockerfile 3)、 修改 deployment.yaml 7. Dockerfile 检测 免费获取并激活 CKA_v1.31_模拟系统 题目 您必须在以…...
JAVA 对象 详解
对象 对象结构: 对象头(元数据和指向class的指针)、实例数据、对齐填充 数组对象: 对象头(元数据和指向class的指针)、数组长度、数组数据、对齐填充 对象创建: 一、当Java虚拟机遇到一条…...
MATLAB实战:四旋翼姿态控制仿真方案
以下是一个基于MATLAB/Simulink的四旋翼姿态控制仿真方案。本方案使用简化姿态动力学模型,并设计PID控制器进行稳定控制。 1. 四旋翼姿态动力学模型 核心方程:I * ω̇ ω (I * ω) τ 其中: I diag([Ixx, Iyy, Izz]) 为转动惯量矩阵 …...

基于Scala实现Flink的三种基本时间窗口操作
目录 代码结构 代码解析 (1) 主程序入口 (2) 窗口联结(Window Join) (3) 间隔联结(Interval Join) (4) 窗口同组联结(CoGroup) (5) 执行任务 代码优化 (1) 时间戳分配 (2) 窗口大小 (3) 输出格式…...

c++对halcon的动态链接库dll封装及调用(细细讲)
七个部分(是个大工程) 一,halcon封装函数导出cpp的内容介绍 二,c++中对halcon环境的配置 三,在配置环境下验证halcon代码 四,dll项目创建+环境配置 五,编辑dll及导出 六,调用打包好的动态链接库的配置 七,进行测试 一,halcon的封装及导出cpp的介绍 1,我这里…...

【优选算法】分治
一:颜色分类 class Solution { public:void sortColors(vector<int>& nums) {// 三指针法int n nums.size();int left -1, right n, i 0;while(i < right){if(nums[i] 0) swap(nums[left], nums[i]);else if(nums[i] 2) swap(nums[--right], num…...
QGraphicsView中鼠标点击与移动事件传递给MainWindow
在Qt图形应用程序开发中,QGraphicsView和QGraphicsScene框架提供了强大的2D图形显示功能。然而,当我们需要在主窗口(MainWindow)中处理这些视图中的鼠标事件。 问题背景 在典型的Qt图形应用程序架构中: MainWindow └── QGraphicsView└── QGraphicsScene└── QGra…...

【图片识别改名】如何批量将图片按图片上文字重命名?自动批量识别图片文字并命名,基于图片文字内容改名,WPF和京东ocr识别的解决方案
应用场景 在日常工作和生活中,我们经常会遇到需要对大量图片进行重命名的情况。例如,设计师可能需要根据图片内容为设计素材命名,文档管理人员可能需要根据扫描文档中的文字对图片进行分类命名。传统的手动重命名方式效率低下且容易出错&…...

RabbitMQ 的高可用性
RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用的RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。 单机模式 单机模式,生产几乎不用。 普通集群模式(无高可用性) 普通集群模…...
DAY 48 随机函数与广播机制
知识点回顾: 随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制 ps:numpy运算也有类似的广播机制,基本一致 作…...
计算机基础知识(第五篇)
计算机基础知识(第五篇) 架构演化与维护 软件架构的演化和定义 软件架构的演化和维护就是对架构进行修改和完善的过程,目的就是为了使软件能够适应环境的变化而进行的纠错性修改和完善性修改等,是一个不断迭代的过程࿰…...
从零开始制作小程序简单概述
以下是结合案例的“从零制作小红书风格小程序”的全流程指南,采用小红书爆款笔记的结构呈现,并附CSDN参考资源👇: 一、核心开发步骤(附工具推荐) 账号与定位 ✅ 注册类型选择:个人店(…...

AI架构师修炼之道
1 AI时代的架构革命 与传统软件开发和软件架构师相比,AI架构师面临着三重范式转换: 1.1 技术维度,需处理异构算力调度与模型生命周期管理的复杂性; 1.2 系统维度,需平衡实时性与资源约束的矛盾; 1.3 价…...
三十五、面向对象底层逻辑-Spring MVC中AbstractXlsxStreamingView的设计
在Web应用开发中,大数据量的Excel导出功能是常见需求。传统Apache POI的XSSF实现方式在处理超大数据集时,会因全量加载到内存导致OOM(内存溢出)问题。Spring MVC提供的AbstractXlsxStreamingView通过流式处理机制,有效…...
Unity的日志管理类
脚本功能: 1,打印日志到控制台 2,显示日志到UI Text 3,将日志写入本地文件 这对unity开发安卓平台来说很有用 using System; using System.IO; using System.Text; using UnityEngine; using UnityEngine.UI;public class FileLo…...