当前位置: 首页 > news >正文

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:输出部分原理图

一、继电器电路 1.1指路 延续使用 JZC-33F-012-ZS3 继电器,设计出以小电流撬动大电流的继电器电路。 (提示)电路需要包含:三极管开关电路、续流二极管、滤波电容、指示灯、输出部分。 1.2数据手册重要信息提炼 联系排列&…...

Unity中将图片做成Prefab的步骤

Unity中将图片做成Prefab的步骤 在Unity中,将一张图片做成Prefab是一个常见的操作。Prefab是Unity中的一种资源类型,可以让你预先定义一个游戏对象,然后在场景中多次实例化它。以下是详细的步骤: 步骤一:准备图片资源…...

Web前端三大主流框架:React、Vue和Angular

在当前的Web开发领域,前端框架的选择对于项目的成功至关重要。作为一名资深的IT技术员,我对前端技术的发展和行业趋势保持着持续的关注。本文将介绍当前Web前端三大主流框架:React、Vue和Angular,并分析它们各自的优势。 React&a…...

安全风险 - 检测设备是否为模拟器

在很多安全机构的检测中,关于模拟器的运行环境一般也会做监听处理,有的可能允许执行但是会提示用户,有的可能直接禁止在模拟器上运行我方APP 如何判断当前 app 是运行在Android真机,还是运行在模拟器? 可能做 Framework 的朋友思…...

maven的下载以及配置的详细教程(附网盘下载地址)

文章目录 下载配置IDEA内部使用配置 下载 1.百度网盘下载 链接: https://pan.baidu.com/s/1LD9wOMFalLL49XUscU4qnQ?pwd1234 提取码: 1234 2.解压即可 配置 1.打开安装文件下conf下的settings.xml文件,我的如下 2.修改配置信息(目的是为了修改本地…...

Unity3D 主城角色动画控制与消息触发详解

前言 在游戏开发中,角色动画控制和消息触发是非常重要的一部分,它可以让游戏更加生动和互动。本文将详细介绍如何在Unity3D中实现主城角色动画控制与消息触发。 对惹,这里有一个游戏开发交流小组,大家可以点击进来一起交流一下开…...

【Endnote】如何在word界面加载Endnote

如何在word界面加载Endnote 方法1:方法2:从word入手方法3:从CWYW入手参考 已下载EndNote,但Word中没有显示EndNote,应如何加载显示呢? 方法1: 使用EndNote的Configure EndNote.exe 。 具体步骤为&#x…...

优化CPU占用率及内存占用2

在标准化无线通信板时,关注过程序占用ram的问题,当时 发现每一个线程都会分配8M栈空间,这次换rk3568后,偶尔看了下RAM占用,吓了一跳,不但每个线程有8M栈空间,几乎每个线程都占用了64MB的一个RAM…...

C语言(字符和字符串函数)2

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…...

【数据结构与算法 | 栈篇】力扣20,150

1. 力扣20 : 有效的符号 (1). 题 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个…...

node依赖安装的bug汇总

1.npm仓库 首先要获取npm仓库的地址: registryhttp://11.11.111.1:1111/abcdefg/adsfadsf 类似这种的地址 然后设置npm仓库: npm config set registryhttp://11.11.111.1:1111/abcdefg/adsfadsf (地址要带等号) 接着安装依赖: npm i…...

Python中的 Lambda 函数

大家好,在 Python 编程的世界里,有一种功能强大却不常被提及的工具,它就是 Lambda 函数。这种匿名函数在 Python 中拥有着令人惊叹的灵活性和简洁性,却常常被许多开发者忽视或者只是将其当作一种附加功能。Lambda 函数的引入&…...

服务器遭遇黑洞后如何快速恢复与防范

在互联网世界中,“黑洞"一词常用于描述一种网络安全措施,即当服务器遭遇大规模DDoS攻击,为了保护网络基础设施和其他用户免受影响,网络服务商会暂时将受到攻击的IP地址流量导向一个"空洞”,使其不再响应任何…...

GPT-4o有点坑

GPT-4o有点坑 0. 前言1. GPT-4o简介2. GPT-4o带来的好处2.1 可以上传图片和文件2.2 更丰富的功能以及插件 3. "坑"的地方3.1 使用时间短3.2 GPT-4o变懒了 4. 总结 0. 前言 原本不想对GPT-4o的内容来进行评论的,但是看了相关的评论一直在说:技…...

【机器学习】探索未来科技的前沿:人工智能、机器学习与大模型

文章目录 引言一、人工智能:从概念到现实1.1 人工智能的定义1.2 人工智能的发展历史1.3 人工智能的分类1.4 人工智能的应用 二、机器学习:人工智能的核心技术2.1 机器学习的定义2.2 机器学习的分类2.3 机器学习的实现原理2.4 机器学习的应用2.5 机器学习…...

OceanBase 4.3.0 列存引擎解读:OLAP场景的入门券

近期,OceanBase 发布了4.3.0版本,该版本成功实现了行存与列存存储的一体化,并同时推出了基于列存的全新向量化引擎和代价评估模型。通过强化这些能力,OceanBase V4.3.0 显著提高了处理宽表的效率,增强了在AP&#xff0…...

算法每日一题(python,2024.05.25) day.7

题目来源(力扣. - 力扣(LeetCode),简单) 解题思路: 难点:加一时可能出现9使得位数进一,而当特殊情况,即全部为9时,数组所在长度会变长一。 从末尾开始判断&…...

【正在线上召开】2024机器智能与数字化应用国际会议(MIDA2024),免费参会

【ACM出版】2024机器智能与数字化应用国际会议(MIDA2024) 2024 International Conference on Machine Intelligence and Digital Applications 【支持单位】 宁波财经学院 法国上阿尔萨斯大学 【大会主席】 Ljiljana Trajkovic 加拿大西蒙菲莎大…...

景源畅信:抖音的爆款视频怎么选?

在短视频风起云涌的今天,抖音作为其中的佼佼者,每天都有无数视频在这里诞生。但如何在内容海洋中脱颖而出,成为人们茶余饭后谈论的焦点,是许多创作者和品牌思考的问题。选择爆款视频,不仅需要对平台规则有深刻理解&…...

开源大模型源代码

开源大模型的源代码可以在多个平台上找到,以下是一些知名的开源大模型及其源代码的获取方式: 1. **艾伦人工智能研究所的开放大语言模型(Open Language Model,OLMo)**: - 提供了完整的模型权重、训练代…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

uniapp 字符包含的相关方法

在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...