单片机软件开关(三极管)

实现一个可以软件控制的开关

背景:
之前做东西的时候会碰到这样的需求:用单片机去控制一些东西,如风扇和电机等,当然,现在大部分时候直接买一个驱动芯片就可以解决问题,但是为了节约成本,画pcb的时候,我们可以自己搭建一个电路。

想要用单片机的io口去控制一个东西,最关键的问题是我们单片机提供的电压和电流足不足以驱动负载,我们就需要使用三极管进行放大。先来看一下常识:

传统单片机一般为10ma左右,现在的单片机一般20-25ma
我的cpu风扇驱动的电流为0.18A,远远超过了单片机能够提供的电流,这时候就需要接一个外部的电源,但是电源的开关我们如果想用软件去操作,就离不开使用三极管。

在这里我推荐两个电路,一个是单个NPN的开关,另一个是一个NPN加一个PNP的开关:

单个NPN的开关
需要注意的是,负载接入NPN三级管中,负载应该接在集电极(就是上面),因为发射极(下面)的电压与集电极相比较小,相差的值是三极管的本身压降,即硅管0.7V,锗管0.3V。发射极电流是基级电流与集电极电流之和。
其中V3是单片机的io口,V1是电源,R2是负载(风扇)。
在这里插入图片描述
同样的如果手上没有NPN只有PNP的,将负载接在发射极就可以了。

一个NPN加一个PNP
下图中V4作为单片机的io口,V2作为电源,R5作为负载。
选用NPN(左边三极管)作为电路的开关,PNP来放大电流,当NPN导通时,R6接地,PNP(右边三极管)导通。R3应该要比R6大一些,因为R3直接接电源电流大放热更高,为了减小电流接一个相对大的电阻。
在这里插入图片描述
第二个电路是当时老师做实验给我们的,做出来的实物没有问题,当时单片机的io口是pwm输出口,pwm输出没有问题。这两个方案都可以解决软件控制开关的问题。
笔者在此记录一下,方便下次直接抄。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
51单片机是一种经典的微控制器,广泛应用于嵌入式系统和微电子项目中。在使用51单片机控制外部设备时,常常需要驱动电子开关,例如npn型三极管。下面是一个简单的介绍: 要使用51单片机驱动npn三极管开关,你需要了解三极管的基本工作原理。NPN三极管可以作为开关使用,当基极(B)和发射极(E)之间通过适当的电压时,集电极(C)和发射极(E)之间的电流可以被控制。对于51单片机来说,输出的电压通常是5V,但是NPN三极管可能需要更高的基极电流来完全导通。 为了驱动三极管,你可以将51单片机的一个IO口连接到三极管的基极,通过这个IO口输出高电平来导通三极管,输出低电平来关闭三极管。通常需要在基极和发射极之间串接一个限流电阻,以保护三极管不被过大的电流损坏。 具体步骤如下: 1. 确定三极管的最大集电极电流(Ic)和集电极-发射极电压(Vce)参数,确保你的应用中三极管可以安全工作。 2. 根据三极管的基极电流放大系数(β),计算出需要的基极电流,再根据三极管的输入特性确定基极电阻(Rb)的值。Rb = (Vcc - Vbe) / Ib,其中Vcc是51单片机输出的高电平电压,Vbe是三极管开启电压(通常为0.7V左右),Ib是基极所需电流。 3. 将51单片机的IO口通过计算好的基极电阻连接到三极管的基极。 4. 将三极管的集电极连接到需要控制的负载(比如灯泡或继电器),发射极连接到地。 5. 当IO口输出高电平时,基极电流流过,三极管导通,集电极与发射极之间形成导电通路,负载工作;当IO口输出低电平时,三极管基极电流为零,三极管截止,负载停止工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伤病不可救药

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值