STM32之继电器驱动(上下拉电阻)

事情的经过:今天买了一个5V继电器,商家说可以用STM32驱动,所以准备用STM32引脚直接驱动,后来,上午试了2小时,引脚一直有电平变化(配置为推挽输出),但是继电器就是没有反应,直接接上5V的电源正负才会有反应,之后,询问了群友和上网查找,是控制器的引脚带负载能力不行,输出的电流太小,带不动这种大功率器件。这时,有网友建议我选择带上拉电阻的引脚,因此,探索者上的PB8,因为PB8外接了4.7K的上拉电阻,并且配置引脚为,开漏输出模式,后来经过尝试,成功驱动继电器。在这里插入图片描述

总结:之前网上看很多资料,对单片机引脚的模式略有耳闻,很少留意,今日的实验,收货颇丰。
一、上拉电阻与下拉电阻
有些引脚默认输出只有是低电平和高组态,当引脚外部设置上拉电阻的时候,可以把引脚电平拉高到外接VCC的数值,上拉电阻的选择一般是1-10k,电阻越小,功耗越大。
用处:1、上拉电阻串联一个电阻接到一个电压,增加IO的驱动能力。下拉是一个电阻接到地,保证IO电平为低电平。
2、上拉电阻是用来解决总线驱动能力不足时,提供电流的,称之为拉电流;下拉电阻是用来吸收电流的称之为灌电流。比如I2C总有一个10K的电阻。
3、上拉电阻是用来检测低电平的,下拉电阻是用来检测高电平的。

上拉、下拉电阻,通过上、下拉对应的开关配置,可以控制引脚默认状态的电压,开启上拉的时候引脚电压为高电平,开启下拉的时候引脚电压为低电平,这样可以消除引脚不定状态的影响。如引脚外部没有外接器件,或者外部的器件不干扰该引脚电压时, STM32 的引脚都会有这个默认状态。
也可以设置“既不上拉也不下拉模式”,我们也把这种状态称为浮空模式,配置成这个模式时,直接用电压表测量其引脚电压为 1 点几伏,这是个不确定值。所以一般来说我们都会选择给引脚设置“上拉模式”或“下拉模式”使它有默认状态。
STM32 的内部上拉是“弱上拉”,即通过此上拉输出的电流是很弱的,如要求大电流还是需要外部上拉。

二、解决方案
因为需要控制多路继电器导通和关断,不能配置每个引脚都外接上拉电阻,因此选择功率放大驱动器件。因此选择了多路的ULN2003和ULN2803。二者都是七重达林顿阵列,输入电压范围一样,输出电压范围一样,电流一样,后者多了一路,多用于控制电机和继电器方面。等之后IC到货测试一波。

更新:测试结果。早上使用ULN2003AN在面包板上测试了一下,效果良好。ULN2003AN的GND引脚接电源负极,COM端口接上电源正极,这里使用探索者5V电压芯片供电,可以正常使用。控制引脚,PE1接LN1,OUT1接继电器的控制引脚。继电器输出端口接上一个小灯测试开闭状态。结果显示,使用普通引脚在ULN2003的放大作用下可以驱动继电器等大功率器件。
效果图如下:
在这里插入图片描述

  • 15
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 光耦继电器是一种使用光电转换原理,利用光导体传递信号的继电器。其原理图如下: 1. 光耦继电器主要由光电耦合器和继电器两部分组成。光电耦合器是一种将输入信号转换为光信号的器件,一般由发光二极管(LED)和光敏三极管(光电晶体管或光敏二极管)组成。继电器则是将光信号转换为电信号,驱动外部电路的开关。 2. 在原理图中,STM32作为控制器,通过GPIO口给光电耦合器的发光二极管提供驱动信号。光电耦合器中的发光二极管收到STM32输出的高低电平信号后,会发出相应的光信号。 3. 光信号经过传输光纤或光缆等光导体传输到光电耦合器的收端,经过光敏三极管的光敏部分,将光信号转换为电信号。 4. 继电器部分根据光电耦合器输出的电信号控制继电器的开关状态。当光电耦合器的电信号为高电平时,继电器闭合,外部电路通电;当电信号为低电平时,继电器断开,外部电路断电。 5. 外部电路可以是控制其他设备或负载的开关,例如控制电机、灯光或传感器等。通过STM32发出的光信号,可以实现对外部电路的远程控制。 总结:STM32驱动光耦继电器的原理图主要包括STM32控制部分、光电耦合器、光纤或光缆以及继电器部分。通过STM32的输出信号,驱动光耦合器发出光信号,光信号通过光导体传输到光电耦合器的收端,再转换成电信号控制继电器的开关状态,进而实现对外部电路的控制。 ### 回答2: STM32驱动光耦继电器原理图主要包括STM32微控制器、光电耦合器、继电器等基本元件。以下是对其原理图的详细解释: 1. STM32微控制器:STM32是一款由意法半导体公司推出的32位单片机系列产品。在原理图中,STM32作为主控芯片,负责控制光耦继电器的开关操作。 2. 光电耦合器:光电耦合器是一种将输入光信号转换为输出电信号的器件。它通常由一个发光二极管(LED)和一个光敏晶体管(phototransistor)组成。在光电耦合器中,LED收到STM32输出的控制信号,产生相应的光信号。而光敏晶体管则收到LED产生的光信号,将其转换为电信号,并传递给后续的继电器。 3. 继电器继电器是一种电控制的电磁开关。在原理图中,继电器收到光电耦合器输出的电信号,根据信号的高低电平来控制继电器的开关状态。继电器通常包括电磁线圈和动作组件,当电磁线圈受到控制信号时,产生电磁吸合力,使动作组件进行开关操作,从而控制外部电路的通断。 综上所述,STM32驱动光耦继电器原理图中,STM32作为主控芯片,输出控制信号给光电耦合器,光电耦合器将光信号转换为电信号,并传递给继电器继电器根据电信号的高低电平来控制外部电路的通断状态。通过这样的方式,可以实现STM32对光耦继电器的控制。 ### 回答3: STM32驱动光耦继电器原理图是一种常见的电路设计,用于控制和驱动继电器的开关动作。下面是一个简单的原理图示例: 在这个原理图中,STM32微控制器位于电路左侧,用于控制继电器的开关状态。光耦是一种光电耦合器件,由光电二极管和光敏三极管组成。它的工作原理是通过光电二极管的光电效应来控制光敏三极管的导通状态。 STM32微控制器的I/O口通过R1电阻和D1二极管连到光耦的输入端。R1电阻用于限制电流,D1二极管用于保护STM32微控制器。当STM32输出高电平时,D1二极管导通,电流流过R1电阻进入光耦的输入端。光电二极管受到光照后产生电流,这个电流通过R2电阻和光敏三极管的基极,使得光敏三极管导通。 在光耦的输出端,连继电器的控制电路。继电器的线圈被连在电源(VCC)和地(GND)之间。当光敏三极管导通时,电流通过继电器的线圈,产生磁场使得继电器的触点闭合,继电器通电。反之,当光敏三极管不导通时,继电器的触点断开,继电器断电。 需要注意的是,光耦的输入端和输出端是通过绝缘的,实现了输入信号和输出信号的隔离。这种隔离设计可以有效地防止由于噪声、电磁干扰或其他原因引起的信号干扰。 综上所述,通过STM32控制光耦的输入端,就可以实现对继电器开关状态的控制。光耦继电器原理图是一个常见的电路设计,广泛应用于工业控制和自动化领域。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值