找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 751|回复: 34
收起左侧

51单片机驱动三极管继电器问题

  [复制链接]
ID:1150578 发表于 2025-5-19 21:42 | 显示全部楼层 |阅读模式
背景
想做一个通过 WIFI 控制 220v 开关灯,硬件开发小白一个(之前学习过一段时间51单片机),我主要是做软件开发的,心血来潮想学习一下硬件。
问题
  • S8050 (NPN) 三极管无法驱动继电器,但是可以驱动 LED,换成 S8550 (NPN)就可以了什么原因?
  • 我需要哪些元器件?
  • 还有就我这图是不是对?很多内容都问AI才知道要配那些器件
元器件清单
模块/元件
型号/参数
用途
稳压模块AMS1117-3.35V转3.3V核心元件
WIFIESP-01s联网
继电器JQC-3FF-S通断220
续流二极管1N47001防止反灌,保护电路




接线图

接线图
回复

举报

ID:278457 发表于 2025-5-20 03:20 | 显示全部楼层
二极管怎么不告诉我们?
回复

举报

ID:879348 发表于 2025-5-20 08:00 | 显示全部楼层
你的接法是错误的
回复

举报

ID:1150578 发表于 2025-5-20 08:36 | 显示全部楼层
shenqiwei 发表于 2025-5-20 03:20
二极管怎么不告诉我们?

二级管 1N47001
回复

举报

ID:1150578 发表于 2025-5-20 09:52 | 显示全部楼层
wufa1986 发表于 2025-5-20 08:00
你的接法是错误的

具体哪里有问题,还望大佬提点一番
回复

举报

ID:22119 发表于 2025-5-20 09:56 | 显示全部楼层
以你电路没有问题的情况下看,51单片机的拉电流输出能力太弱,NPN三极管没有工作在饱和区,但是灌电流能力可以,PNP能工作在饱和区。所以51单片机要驱动NPN三极管得加一个强上拉电阻
回复

举报

ID:1133081 发表于 2025-5-20 10:12 | 显示全部楼层
IO口高电平驱动S8050需要在IO口接1~3K上拉电阻。否则高电平驱动能力不够。
回复

举报

ID:143767 发表于 2025-5-20 10:41 | 显示全部楼层
S8550是PNP型三极管,你要把继电器接到S8550的集电极回路里
回复

举报

ID:619259 发表于 2025-5-20 11:21 | 显示全部楼层

续流二极管1N47001,是不是写错了?应该是1N4007或1N4001吧
回复

举报

ID:1150578 发表于 2025-5-20 12:27 | 显示全部楼层
wufa1986 发表于 2025-5-20 08:00
你的接法是错误的

具体哪里有问题,麻烦大佬指点一二
回复

举报

ID:1150578 发表于 2025-5-20 15:34 | 显示全部楼层
cy009 发表于 2025-5-20 11:21
续流二极管1N47001,是不是写错了?应该是1N4007或1N4001吧

是1N4007,不好意思写错了
回复

举报

ID:1150578 发表于 2025-5-20 15:36 | 显示全部楼层
dj3365191 发表于 2025-5-20 10:41
S8550是PNP型三极管,你要把继电器接到S8550的集电极回路里

S8550 这个可以驱动,S8050 驱动不了
回复

举报

ID:1150578 发表于 2025-5-20 15:37 | 显示全部楼层
WL0123 发表于 2025-5-20 10:12
IO口高电平驱动S8050需要在IO口接1~3K上拉电阻。否则高电平驱动能力不够。

使用 S8050时,基极加的就是1.2kΩ电阻也是驱动不了,但把继电器换LED就可以
回复

举报

ID:1150578 发表于 2025-5-20 15:44 | 显示全部楼层
lxh0508 发表于 2025-5-20 09:56
以你电路没有问题的情况下看,51单片机的拉电流输出能力太弱,NPN三极管没有工作在饱和区,但是灌电流能力 ...

有加电阻1.2kΩ,是不是要换个小点电阻,其实我把电阻拔了试也是驱动不了
回复

举报

ID:1136941 发表于 2025-5-20 16:50 | 显示全部楼层

RE: 51单片机驱动NPN三极管继电器问题

驱动NPN三级管继电器图示
2345截图20250520164419.png
回复

举报

ID:879809 发表于 2025-5-20 19:21 | 显示全部楼层
明显是NPN驱动电路你却用了PNP管子。
回复

举报

ID:1150578 发表于 2025-5-20 20:34 | 显示全部楼层
太阳雨ZW 发表于 2025-5-20 16:50
驱动NPN三级管继电器图示

可以了大佬,这么神奇,感谢大佬。问题出在那个电阻哪里,我原来直接串在p1.0输出哪里的,现在改成一头在p1.0,一头在5v哪里就可以了,为啥要这样接
回复

举报

ID:1150578 发表于 2025-5-20 20:35 | 显示全部楼层
发表于 2025-5-20 19:21
明显是NPN驱动电路你却用了PNP管子。

是的,我是误打误撞用PNP可以,用NPN不行才来问问各位大佬
回复

举报

ID:1150578 发表于 2025-5-20 20:43 | 显示全部楼层
太阳雨ZW 发表于 2025-5-20 16:50
驱动NPN三级管继电器图示

经过测试出现个新问题,上电一瞬间继电器就吸合了
回复

举报

ID:1151135 发表于 2025-5-20 21:45 | 显示全部楼层
### 问题1解答 - **原因分析**:S8050和S8550虽然都是三极管,但参数有差异。S8050是NPN型,S8550是PNP型 。驱动继电器需要一定的驱动电流,S8050可能因为电流放大倍数β不够大,或者在当前电路参数下无法提供继电器吸合所需的足够基极电流,导致无法驱动继电器;而驱动LED所需电流相对较小,S8050能满足。S8550可能在当前电路参数下,其电流放大能力等特性能够提供继电器吸合的基极电流,所以可以驱动继电器。   ### 问题2解答 - **所需元器件**:     - **主控相关**:除已列的ESP - 01s用于联网外,若想进行逻辑控制,还需单片机(之前学过51单片机可考虑使用,或其他如STM32等 ),以及配套的晶振、复位电路相关元件(如电容、电阻 ) 。     - **电源相关**:除AMS1117 - 3.3稳压模块外,还需要电源输入接口(如DC插座 )、滤波电容(如电解电容、瓷片电容 ) ,用于稳定电源。     - **驱动相关**:已列的继电器JQC - 3FF - S及续流二极管1N47001,还需要三极管(如能正常驱动继电器的S8550等 )及其基极电阻等,用于控制继电器的通断。     - **负载接口相关**:用于连接220V灯的接线端子等。  ### 问题3解答 - **因未提供具体电路图,无法直接判断图是否正确** 。但从元器件清单看,整体方向合理。不过在实际电路搭建时,要注意各元件的连接方式、引脚定义等。比如ESP - 01s与单片机的通信接口连接、继电器控制电路中三极管基极电阻取值(要保证三极管工作在合适状态 )、电源电路的布线和滤波等。
回复

举报

ID:1150578 发表于 2025-5-20 22:09 | 显示全部楼层
dfvgt 发表于 2025-5-20 21:45
### 问题1解答 - **原因分析**:S8050和S8550虽然都是三极管,但参数有差异。S8050是NPN型,S8550是PNP型  ...

哈哈哈,这个回答很完美,但是没解决我的问题
回复

举报

ID:1109793 发表于 2025-5-21 07:38 | 显示全部楼层
sys_max 发表于 2025-5-20 20:43
经过测试出现个新问题,上电一瞬间继电器就吸合了

这种电路就是这个问题,即使程序中复位后立即拉低该脚,也会在复位期间吸合一下。
即便是有推挽能力甚至是复位期间是高阻态的型号,也一样。要解决问题,就要用PNP的,但是继电器只能用5V的,如果不行,就得用PNP+NPN,两个三极管。
或者换成带推挽输出的型号,使用NPN,然后在该引脚使用下拉电阻,吃掉芯片复位时输出的弱上拉电流。
当然复位期间是高阻态的,可以用NPN,或者比如ULN2003这种达林顿。
回复

举报

ID:1150578 发表于 2025-5-21 08:37 | 显示全部楼层
sys_max 发表于 2025-5-20 20:43
经过测试出现个新问题,上电一瞬间继电器就吸合了

应该没问题,是代码问题,默认上电输出高电平
回复

举报

ID:1136941 发表于 2025-5-21 09:58 | 显示全部楼层
sys_max 发表于 2025-5-20 20:43
经过测试出现个新问题,上电一瞬间继电器就吸合了

初始化时置P1.0为低电平,需要继电器吸合时置P1.0高电平。
回复

举报

ID:401564 发表于 2025-5-21 10:44 | 显示全部楼层
太阳雨ZW 发表于 2025-5-20 16:50
驱动NPN三级管继电器图示

他这个电路是没有问题的
上电吸合的问题,你要看单片机的规格书,默认的上电电平,如果要更改就要外加电路,或者更改驱动电路
回复

举报

ID:1150578 发表于 2025-5-21 12:09 | 显示全部楼层
太阳雨ZW 发表于 2025-5-21 09:58
初始化时置P1.0为低电平,需要继电器吸合时置P1.0高电平。

是的确定是代码问题,电路图没问题
回复

举报

ID:1150578 发表于 2025-5-21 12:23 | 显示全部楼层
Y_G_G 发表于 2025-5-21 10:44
他这个电路是没有问题的
上电吸合的问题,你要看单片机的规格书,默认的上电电平,如果要更改就要外加电路, ...

是的电路图没问题,代码有问题。
不过有个疑问就是,电阻一头接p1.o,一头接5v+。
是不是因为IO 口驱动能力较弱电流不够,这里是不是叫上拉电阻?
回复

举报

ID:1150578 发表于 2025-5-21 14:31 | 显示全部楼层
xiaobendan001 发表于 2025-5-21 07:38
这种电路就是这个问题,即使程序中复位后立即拉低该脚,也会在复位期间吸合一下。
即便是有推挽能力甚至 ...

感谢解答,已解决,问题出在代码上面,默认高电平
回复

举报

ID:1151198 发表于 2025-5-21 14:44 | 显示全部楼层
接法不太对哦
回复

举报

ID:1109793 发表于 2025-5-21 19:09 | 显示全部楼层
sys_max 发表于 2025-5-21 14:31
感谢解答,已解决,问题出在代码上面,默认高电平

上电瞬间的跳动,对于指示灯什么的,没问题
对于其他的要研究一下
回复

举报

ID:1151213 发表于 2025-5-21 19:23 | 显示全部楼层
二极管直接这样接会爆的
回复

举报

ID:1110477 发表于 2025-5-22 05:23 | 显示全部楼层
电阻1.2K太小了,再说了,逻辑0时8050不能导通,逻辑1时8050导通的一瞬间,就把电平拉低成0,最后还是不通,必须换成8550,接成低电平导通
回复

举报

ID:1150578 发表于 2025-5-22 13:59 | 显示全部楼层
keemee 发表于 2025-5-22 05:23
电阻1.2K太小了,再说了,逻辑0时8050不能导通,逻辑1时8050导通的一瞬间,就把电平拉低成0,最后还是不通 ...

你说的没错换成8550低电平导通是可以的(测试过)。
“逻辑0时8050不能导通,逻辑1时8050导通的一瞬间,就把电平拉低成0,最后还是不通”,

这个你咋知道的,串联电子就是这个问题,万用表测电压只能测出来一次,大概是0.657v,再测就是电阻来回跳,没有电压了。
回复

举报

ID:1150578 发表于 2025-5-22 14:00 | 显示全部楼层
kkkk66 发表于 2025-5-21 19:23
二极管直接这样接会爆的

好像没有爆😂😂,可以用不知为啥
回复

举报

ID:1150578 发表于 2025-5-23 09:14 | 显示全部楼层
xiaobendan001 发表于 2025-5-21 07:38
这种电路就是这个问题,即使程序中复位后立即拉低该脚,也会在复位期间吸合一下。
即便是有推挽能力甚至 ...

经验过实验,就像你说的复位后立即拉低该脚(P1.0输出低电平)还是瞬间吸合一下。原来代码是P.0默认高电平,我是以为是代码问题改了还是存在该问题,所以结论只能用PNP了,还有个方法不知道可行不,还没测试就是P1.0 接一个100uf 电容来吸收第一次的电压



  1. IO口 ──电阻R ──电容C ──8050基极B  
  2.                    │  
  3.                    └──地GND
复制代码
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表