嵌入式分享~IO相关1 ##

news2024/11/24 8:50:41

这里仅总结一下IO控制相关

单片机IO直接驱动继电器 

上图是随便找到的两个不同型号的继电器。继电器就是个开关,这个开关是由它内部的线圈控制的,给线圈通电,继电器就吸合,开关就动作了。绝大部分的继电器反面都会有如下图一样的标识,看标识也就能看出,下图中1脚2脚之间是线圈,3脚和5脚在继电器不动作的时候是连一起的,当1脚2脚上加电压后,继电器动作,此时3脚就断开5脚,吸合到了4脚上去。

比如你要控制一条线的通断,就可以把这条线故意搞断以后,一端接到3脚,一端接到4脚,然后通过给线圈通电和断电,就可以控制这条线的通断了。我们通过单片机开控制1脚2脚上的线圈通电就可以控制这个开关的闭合与断开了。

线圈1脚和2脚加多大电压呢?

这个问题,需要看你用的继电器的正面,比如蓝色这个继电器,最下面一行字为“SRD-05DCV-SL-C”,其中的“05DCV”就表示线圈上所需要的电压值,在此表示需要直流5V电压才能驱动这个继电器吸合。

前面我们说过了,可以用单片机控制这个线圈上的电压,你可以直接用两只手拿上5V和GND两条线直接通到继电器线圈的两个引脚,就会听到响声了。

那用单片机怎么给他加电压?我们知道,单片机引脚就可以输出5V,是不是直接用单片机引脚连接继电器线圈,就可以了呢?

答案当然不是的!

下面我们来测试一下,用万用表测量一下这个线圈的电阻,如下图所示这个继电器的线圈上的电阻是67.3Ω,假设我们把这个线圈当做一个电阻来看的话,在它两端加上5V的电压,欧姆定律用上一算,电流就是74mA左右。但是,我们单片机的普通引脚最大输出10mA电流,大电流的引脚最大输出20mA电流(具体的单片机输出能力需要参照单片机的datasheet)。

通过上面的计算,虽然5V的单片机可以输出5V的电压,但是输出电流能力有限,远远达不到驱动继电器的电流,所以无法直接驱动继电器。假如我们采用灌电流的连接方式,这样很有可能直接烧坏单片机的IO口。

这时候我们就需要想办法,想想怎么能通过小电流来控制大电流呢,此时我们应该不叫容易想到的三极管,比如比较常用的S8050三极管,ICE最大允许电流是500mA,远远大于70mA,所以用S8050驱动继电器绝对是没有问题的。电路图如下所示:

看上图,ICE也就是从C流到E的电流,就是和继电器线圈一条线的电流。NPN三极管,在这里就是个开关,单片机引脚输出5V高电平,ICE就导通继电器就会吸合;单片机引脚输出0V低电平,ICE就截止,继电器就不吸合。值得注意的是,刚才计算时候我们是吧线圈当作了电阻,而实际它是线圈,线圈内的电流不能突变,所以在断开的瞬间会形成反向电动势,上图中的二极管就是为了释放这个反向电动势而设计的。

同理,电磁阀也是一种电阻很小功率很大的负载,也需要按照上述欧姆定律的方法,选择合适的驱动元件。

在更多的使用场景下,在同一个项目中可能需要驱动多个继电器,此时采用分立元件三极管来驱动可能就会有写繁琐了,此时可以采用一些驱动芯片,比较常见的有达林顿管ULN2003、ULN2803。采用这样的集成芯片驱动可以让电路变得简洁,还可以增加可靠性。如果需要更加保险的考虑的话可以在输入驱动信号的地方采用光耦作为隔离。

whaosoft aiot http://143ai.com   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10 git 标准化commit工具commitizen安装教程

1、 安装nodjs https://nodejs.org/en/ 下载最新版本 安装完成后,修改环境变量 默认 nodejs是有的,需要自己添加npm路径 2、安装commitizen 在桌面上右键打开power shell 查看node 和npm的版本,npm最好升级一下 升级命令问题 npm inst…

【HDR】曝光融合(Exposure Fusion)

文章目录0 前言1 算法细节1.1 Naive1.1.1 主要思想1.1.2 权重计算1.1.3 融合1.2 Multi-resolution2 实验3 参考0 前言 在曝光融合(Exposure Fusion)算法问世之前,多曝光序列合成用于显示的HDR需要两个步骤,第一步是将多张不同曝光…

MySql加密存储的数据,如何模糊搜索?

背景 蔚来被勒索 225 万美元,大量数据遭泄露! 根据网络上流传的截图显示,黑客似乎掌握着蔚来内部员工数据 22800 条、车主用户身份证数据 399000 条、用户地址数据 6500000 条、注册用户数据 4850000 条、企业及企业代表联系人数据 10000 条…

dpdk编译

ubuntu网卡信息配置 虚拟机中除去最开始的一块网卡,再另外添加两块网卡,如下图所示 修改Ubuntu20_x64.vmx里面的配置信息 将ethernet0.virtualDev "e1000"里面的e1000更改成vmxnet3,因为e1000只支持网卡单队列,vmxnet3支持网卡对…

5G无线技术基础自学系列 | 5G移动性KPI

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G移动类KPI用来评估NR网络的移动性能&…

29. 如何通过 ABAP 代码给 SAP OData 元数据增添注解

笔者的这篇 SAP UI5 开发教程文章,* SAP UI5 应用开发教程之一百二十九 - 如何给 SAP UI5 SmartField 添加 Value Help 功能,有朋友留言: 你好,请教一个问题,请问如何在odata里面通过annotations添加一个自定义注解&am…

2022年哪些工具适合设计企业产品手册?

产品手册是什么? 产品手册是因特网发展的成果,是一种以移动端为基础进行在线营销的新内容,其中包含了对原有的纸质商品、小册子、促销软文、邀请函等现有促销资料进行数字化的更新。 产品手册是从传统的纸质公司样本书中升级而来的&#xf…

Git 入门

文章目录0. 前言学习目标参考教程链接1. Git概念1.1 什么是Git1.2 Git 的下载1.3 Git三大区域1.4 远程仓库2. Git的使用2.1 图形化操作2.1.1 IDEA图形化操作2.1.2 GitKraken(可选)2.2 命令行操作2.2.1 Git 配置2.2.2 分支命令2.2.3 拉取与推送3. 总结0. 前言 学习目标 了解 G…

面试官:你来说一下Spring IOC容器的创建过程

这篇文章主要讲解 IOC 容器的创建过程,让你对整体有一个全局的认识,文章没有复杂嵌套的 debug 流程,相对来说比较简单。 不 BB,上文章目录。 1. 基础知识 1.1 什么是 Spring IOC ? IOC 不是一种技术,只是…

数据结构抽象数据类型的表示和实现

抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在此数学模型上的一组操作。例如,“整数”是一个抽象数据类型,其数学特性和具体的计算机或语言无关。“抽象”的意义在于强调数据类型的数学特性。抽象数据类型和数据类型实质上…

Halcon常用算子(库函数)整理

目录一. 常规操作类1.1 tuple_length()1.2 tuple_find_first()1.3 tuple_gen_const()二. 机器视觉操作类2.1 read_image()2.2 get_image_size()2.3 intensity()2.4 zoom_image_factor()2.5 median_image()2.6 Gauss_filter()2.7 fft_generic()2.8 convol_fft()2.9 sub_image()2…

大白话给你讲明白数据仓库

数据仓库的本质就是完成从面向业务过程数据的组织管理到面向业务分析数据的组织和管理的转变过程。 数据仓库类比粮食仓库 业务过程数据的组织管理实际上就是由各种业务系统来完成的,比如ERP、CRM、OA等各类业务系统,解决的是基本的业务流程管理。通过…

PS的安装、背景、背景练习、雪碧图、线性渐变、径向渐变、电影卡片练习——06fontbackground

目录 一、PS的安装 二、背景(background-color、background-image、 background-repeat、background-position、background-clip、background-origin、background-size、background-attachment) 三、背景练习(背景重复—导航条的背景颜色是渐变的) 四、背景练习&#xff08…

【数据结构】深度讲解栈、栈的应用举例、栈和递归的实现教你全面认识栈

目录一.栈1.栈的概念及结构2.栈的实现stack.hStack.c二.栈的应用举例1.数制转换2.有效的括号3.迷宫求解三.栈与递归的实现1.栈和递归2.迷宫问题递归实现3.汉诺塔栈实现一.栈 入栈出栈展示: 1.栈的概念及结构 栈:一种特殊的线性表,其只允许…

【Web开发】Python实现Web服务器(Ubuntu下安装Flask)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

【ESP32+freeRTOS学习笔记-(三)任务】

目录1、任务相关基本概念1.1 任务函数原型1.2 任务句柄TaskHandle_t 及任务控制块TCB_t1.3 任务状态1.4 优先级(Task Priorities)2 创建任务2.1 xTaskCreate2.2 xTaskCreateStatic()3 延迟函数使任务进入阻塞状态vTaskDelay()函数vTaskDelayUntil()函数4…

【C++初阶】vector的模拟实现

文章目录vector的介绍vector的模拟实现成员变量Member functionsconstructor(构造函数)destructor(析构函数)operatorIteratorsbeginendCapacitysizecapacityreserveresizeElement accessoperator[]Modifierspush_backpop_backins…

手办商城系统|Springboot+vue+ElementUI手办商城系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

C语言重点解剖预处理要点速记

1.宏定义字符串的时候一定要带上双引号。 2.程序的翻译,就是把文本代码翻译成二进制代码。分为4个阶段,即预处理,编译,汇编,链接。 3.预处理:头文件展开,去注释,宏替换&#xff0c…

基于Spring cloud + vue 的前后端分离的社团管理系统,数据库采用MYSQL,前端使用 VUE + element

背景 因学校没有成熟的社团管理系统,一为满足学校需求, 其次开源的社团管理项目,多为mvc ssm框架 很少有前后端分离的微服务框架,为了科技的发展, 更好学习解决高并发问题,也为了更好地掌握锤炼新技术&…