【STM32-扩展模块】继电器模块Relay
前言:
继电器模块工作电压5V,吸合电流约70mA每路,带继电器状态指示灯;I/O信号输入直接与单片机IO口或数字电路连接,输入高电平继电器吸合,输入低电平继电器释放; 全贴片元件,最合理驱动电路设计,采用8050三极管驱动继电器动作。
背景:
鉴于项目的需求,用正点原子-精英板(STM32F103)去驱动一个5v的继电器模块控制USB加湿器。本以为就是单片机直接I/O口直接输出高低电平就能实现开关切换了(控制原理跟点LED灯差不多,而且通常就是这么控制的),可实际情况我实验失败了。。。
我买的继电器模块是5V工作电压、低电平触发的,而且是支持单片机I/O直接驱动控制,然而我发现控制不了。用开漏输出才能正常控制继电器的工作状态,而使用通用推挽输出模式继电器都是不工作没反应的(正常来说继电器都是用推挽输出驱动I/O的),想问一下,为什么精英板不能用推挽输出模式驱动5V继电器模块?
百度了下什么都没有,说什么单片机I/O驱动能力不够,需要做个三极管放大驱动,都TM子虚乌有,其实现在淘宝的继电器模块都是考虑这些的都做好了的,单刀直入就行的。度娘救不了,这可咋办?
解决方法:
更改I/O口(GPIO)的输出模式。一般我们常用的都是推挽输出模式(GPIO_Mode_Out_PP ),我们就改为开漏输出模式(GPIO_Mode_Out_OD ),改完重新编译烧录,即可解决这个问题。
原GPIO初始化配置(推挽输出):
改成开漏输出模式之后:
(1)推挽输出
推挽输出(push-pull out),就是有推push有拉pull,任何时候I/O口的电平都是确定的,而且不需要我们外接上拉或者下拉电阻。
(2)开漏输出
开漏输出,就等于输出口接了个NPN三极管,且只接了e,b。 c极是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了。但是不接电阻上拉的时候,这个输出高就不能实现了。只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)
谢谢观看,有问题需要请教的,请加入STM32学习交流群(QQ群号:470804974),本人QQ号2974278195有问题可添加看到必回。
【STM32-扩展模块】继电器模块Relay相关推荐
- raspberryPi_继电器模块(relay)+风扇模块(fan)连接原理图/硬件调试
文章目录 继电器模块型号和样式 型号 样式1: 端口介绍 左侧 右侧(指示灯侧) 双侧图 样式2: DC/IN 引脚介绍 继电器的使用和接入 风扇的可用性调试 ⛔注意 测试代码 触发电平 code ( ...
- 基于STM32的ESP8266模块控制多路继电器
基于STM32的ESP8266模块控制多路继电器 1.视频讲解 基于STM32单片机ESP8266物联网阿里云MQTT多路继电器控制 物联网视频教程STM32+ESP8266 2.实物设计 ESP82 ...
- 使用Blinker控制esp01s Relay继电器模块
目录 一.ESP-01s和ESP-01区别 外观区别 电路区别 二.ESP-01s引脚 管脚示意图 管脚功能定义 电路原理图 三.控制esp01s Relay 安装blinker arduino库 申 ...
- 使用小度音箱+Blinker控制ESP01S Relay继电器模块
一. 使用ESP01S模块,PIN脚定义如下: 管脚功能如下: ESP01S模块原理图: ESP01S模块比ESP01模块做了以下优化: LED灯的管脚发生变化,由ESP01的TXD0变成ESP01s ...
- 【STM32】继电器的使用
一.认识继电器 二.继电器的原理和使用方式 这个就是大概的引脚图,VCC是电源正极,GND是电源负极,IN是通断信号的输入引脚. 而另一边,NC即常闭端(normal close),COM即公共端,N ...
- 继电器模块的基本使用(高低电平触发)
一.继电器的基本原理 一个继电器拥有一个动触点以及两个静触点A和B. 当开关K断开时,继电器线路无电流通过,此时动触点与静触点B相接触,上半部分的电路导通.静触点B被称为常闭触点(NC) 常闭--NC ...
- Ardunio开发实例-使用继电器模块控制家用灯泡
使用继电器模块控制家用灯泡 继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器.它具有控制系统(又称输入回路 ...
- 浅谈STM32的DMA模块的使用
浅谈STM32的DMA模块的使用 转自:http://blog.ednchina.com/jack_chang/123085/message.aspx http://article.ednchina. ...
- 使用STM32的USB模块中后对USB缓冲区的认识
最近在使用STM32的USB模块开发个项目,还以为挺简单,结果搞了快两天才把USB的包缓冲区的访问搞定,在此做个小总结吧. STM32的USB模块包缓冲区有512B,但是在STM32的参考手册中的存储 ...
最新文章
- 网络发展的模式之一:新功能在应用系统涌现,然后逐渐迁移到基础设施
- 第九届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)
- 不同编程语言能耗不同?看这27种语言对比!
- 2017西安交大ACM小学期数据结构 [线段树]
- netty中的引导Bootstrap服务端
- LintCode刷题笔记-- BackpackIII
- 滴滴否认柳青计划卸任:目前正积极全面配合网络安全审查
- zlib库对文件进行压缩和解压操作
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1
- Java零基础系列003——变量
- c语言 链表_小陈的C语言笔记---链表(详细讲解基本操作和概念)
- 【转载】Eclipse:Android开发中如何查看System.out.println的输出内容
- 如何防止session过期
- 数据仓库和数据挖掘复习
- 启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)
- 编译原理实验:自上而下语法分析
- AP微观和宏观经济学考察重点分析
- 从新建工程开始使用C++开发单片机(以STM32为例):一、项目介绍
- Kubernetes介绍
- PTA Review of Programming Contest Rules