STM32自己从零开始实操03:输出部分原理图

2024-05-31 20:12

本文主要是介绍STM32自己从零开始实操03:输出部分原理图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、继电器电路

1.1指路

延续使用 JZC-33F-012-ZS3 继电器,设计出以小电流撬动大电流的继电器电路。

(提示)电路需要包含:三极管开关电路、续流二极管、滤波电容、指示灯、输出部分。

1.2数据手册重要信息提炼

  1. 联系排列:1A、1C。
    有一个常开触点,有一个常闭触点。
  2. 初始接触电阻最大值:100mΩ(在1A 24VDC 时)。
    指在给定的电流和电压条件下,触点初始接触时的最大电阻。
  3. 标准情况:
    额定电压VDC:3V;吸合电压VDC:2.25V;释放电压VDC:0.15V;
    最大允许电压VDC(20℃):3.9V;线圈电阻: 20±10% Ω

    后续更正用 5V 供电
  4. 最大开关电流:10A
    指继电器能够承受的最大开关电流,超过此电流可能导致继电器损坏或不稳定。

1.3自己画图

1.3.1自己的理解:

  1. 滤波电容:本项目常规滤波电容值 0.1uF ,这样电源在给继电器供电时稳定一点。
  2. 继电器开启时的指示灯,10K 限流电阻是本项目与 LED 灯常规搭配使用的电阻。
  3. 限流电阻,限制一下流经继电器的电流。阻值较小,意思一下。
  4. 续流二极管,选择是开关速度比较快的肖特基二极管。
  5. 三极管开关电路,功能:使单片机 IO 口 → 控制三极管通断 → 控制继电器电路的运行与否。
  6. 输出部分
    将三个输出全部引出来了,其中 2 端可以作为公共端接 220V,其他两端可以接灯等负载

1.3.2计算

关于三极管开关电路详情见基于三极管的开关电路_三极管开关电路-CSDN博客,在3、5中的电阻值计算也是参照该博客,计算详情如下(不知道对不对)。

然而在复盘计算的过程,我发现:继电器的等效电阻只有 20Ω ,我用 220Ω 的电阻来限流, 220Ω 的电阻分压之后,继电器上就没有电压,没有足够的电流了,故去掉 3 中的“限流电阻”,具体计算过程如下(绿色框中)。

1.4改进

我设计的电路中的一些值和老师设计的电路中一些值,有微小出入,我个人觉得电路都是可以运行的同的。需要改进的地方如下:

(1)为了和电源指示灯区分开,这里用蓝色 LED 灯,请注意由于不同颜色的 LED 灯光的波长不同,驱动的电流等不一样,蓝色 LED 灯一般搭配的限流电阻为 470Ω。

(2)当三极管导通的瞬间会有一个 100mA 比较大的电流流过继电器的控制部分到三极管到地,滤波电容选择为 10uF。原因:

  1. 线圈电感效应:继电器的线圈本质上是一个电感元件。当电压突然加到电感上时,电感会抵抗电流的突然变化,根据法拉第电磁感应定律,线圈内会产生反向电动势,这会导致在导通瞬间线圈的电流迅速增加。
  2. 初始充电电流:在三极管刚导通的瞬间,继电器线圈两端的电压突然上升,产生了较大的初始电流。这是因为线圈在开始充电时,相当于一个短路,电流会迅速上升到线圈的电感能够维持的最大值。
  3. 电路瞬态响应:当三极管导通,电源电压通过线圈加到三极管上,由于线圈的电感特性,瞬间会产生一个大的冲击电流。这是电路的瞬态响应过程,电流会逐渐减少到线圈的稳态工作电流。

所以当:三极管 + 电感元件时,滤波电容需要大一点。

(3)原本电路设计犯低级问题,多了一根导线。二极管就应该放在电路里,并且就是不需要其他支路,3.3V 导通时电流从继电器,不能多一根线,从该线上流,继电器上还流个屁。

1.4第二次改进

在上面改进后的电路中,个人是按照 3.3V 计算得到相关的值。

虽然电路应该也是可以运行的通,但是由于硬件工程师的经验:一般像继电器这种需要靠电流电磁感应效应吸合开关、蜂鸣器尽量发出较大的蜂鸣声(下面)这样的电路会选择驱动力再大一点的电源,所以这里选择 5V 供电。

(之前的输入部分是由各个芯片驱动,芯片要求的电源电压为 3.3V 就使用 3.3V 的电源。)

I_{c}=\frac{3.75V}{55\Omega }=68mA

I_{b}=\frac{1}{10}I_{c}\approx 7mA

R_{b}=\frac{3.3V}{7mA}\approx 470\Omega

二、无源蜂鸣器驱动电路

蜂鸣器电路基本和上面继电器电路一样。

使用 SEA-1285F-0520-42Ω-40P6.5 蜂鸣器,部分参数如下:

额定电压:5V;工作电压:4~7V;消耗电流:≤50mA;线圈电阻:42±5Ω。

R_{b}电阻计算:

I_{c}=\frac{4.3V}{42\Omega }=102mAI_{b}=\frac{1}{10}I_{c}\approx 10 mA

R_{b}=\frac{3.3V}{10mA}=330\Omega→也使用上面一样470Ω无碍

三、NPN和PNP 输出电路

这篇关于STM32自己从零开始实操03:输出部分原理图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018930

相关文章

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员