Stm32的GPIO驱动继电器

背景

最近接到第一个任务,用stm32f107做另一个控制器的测试板,意思就是,使用stm32为目标控制器提供输入信号,同时接收目标控制器的输出信号。其中数字量输入就是利用stm32驱动一个继电器来实现的

NPN三极管使用条件

1、放大:基极电压大于发射极电压,集电极电压大于基极电压;(发射结正偏,集电结反偏)

2、饱和(开关):基极电压大于发射极电压,集电极电压小于等于基极电压

三极管驱动继电器

电路图

继电器参数

JQC-3FF/005-1ZS(551)继电器的基本参数如下

额定电压:5V,额定功率:360mW,线圈电阻:70Ω

由此可以计算额定电流

I = 360mW/5 = 72mA

根据继电器参数选择三极管参数

1、通过额定功率,可以判断三极管的耗散功率必须大于720mW(2倍的额定功率);

2、通过额定电流,可以判断三极管的集电极最大连续电流必须大于144mA(2倍的额定电流);

3、通过额定电压,可以判断三极管的集射极最大电压必须大于10V(2倍的额定电压)

最终选择了直插的三极管8050-D

集电极电阻

因为以前模电学的很渣,所以对三极管周边几个电阻一直不太了解,这里花了很长时间

集电极电阻的电压

U_R_c = I_C R_C

所以  U_C = V_C_C - U_R_c,可以看出,集电极电阻在这里的作用,就是分走一部分的Vcc电压

如果电压设置为5V,那么集电极就可以不需要设置电阻了

发射极电阻

发射极电阻主要用于交流放大电路的反馈电阻,在直流放大中作用不大,所以不接

基极电阻

基极电阻的作用是:①设置基极偏置电压;②限制电流大小。

经查表,我使用的三极管最小放大倍数为40倍,集电极输出需求的电流为72mA,那么

I_B = I_C/40 = 1.8mA

再查表,得知 U_B_E = 0.6V

那么可以算出  R_B = (U - U_B_E)/I_B = 2.7/1.8 = 1.5K 

但是由于电路并不工作在放大状态,所以可以不必设置基极电阻

上拉电阻 & 开漏输出

本次使用的输出模式为开漏输出。

当三极管导通时,继电器两端均被拉低,触点断开;

当三极管截止时,继电器接到电源,触点吸合。所以很有必要添加一个上拉电阻,使得在引脚悬空时能够保持继电器触点断开。上拉电阻的大小要比基极电阻大一些,因为电源电压5V比单片机的高电平电压要大(图误)

续流二极管

由于继电器是一个电感型元件,断电时电流不会突变,需要一个元器件来消耗多余的电流,否则会导致局部高温。这里选用一个反接的二极管来消耗多余的电流。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值