找回密码
 立即注册
查看: 9457|回复: 130

一灯大师,I/O口控制: LED点灯, NPN/PNP三级管, N-MOS管/P-MOS管, 光耦, 继电器

  [复制链接]

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
发表于 2023-11-1 23:15:07 | 显示全部楼层 |阅读模式
一灯大师I/O口控制:
LED点灯, NPN/PNP三级管, N-MOS管/P-MOS管, 光耦, 继电器
I/O口
,控制LED, 尽量用低电平导通不要用强推挽
高电平导通

截图202311082200486278.jpg
强烈建议使用上图点灯,用低电平导通电路点亮 LED灯
可用准双向口模式/开漏口模式/强推挽模式,对外输出低,点亮 LED灯

=====================================================
截图202311082201483998.jpg
只能使用强推挽模式对外输出高,点亮 LED灯
不推荐使用上图的方式,很多常用数字电路无法和此电路共享 I/O

=====================================================

网友说不管亮度,只要省成本,I/O口,不接限流电阻,直接驱动LED灯
要省外部这个1K ~ 5K 的限流电阻,那就用内部粗糙的4K上拉电阻代替外部的限流电阻
截图202311061344542509.jpg
网友说不管亮度,只要省成本,可以去掉上面的限流电阻。见上图
单片机 I/O内部有一个粗糙的 4K上拉电阻
STC8H/STC32G系列 I/O口 上电时的状态是
【高阻输入 + 4K上拉电阻关闭】
只要始终保持 I/O为高阻输入,仅控制内部上拉电阻与电源的通断,
即可控制 LED灯的亮灭


STC8H/STC32G系列 I/O口 上电是【高阻输入 + 4K上拉电阻关闭】
可I/O口直接接LED灯到地,保持高阻输入
打开内部4K上拉电阻,灯亮;关闭内部4K上拉电阻,灯灭

截图202311061349065606.jpg

目前STC8H/STC8G/STC8C/STC8A 内部无下拉电阻;上拉电阻是4K
目前STC32G12K128内部无下拉电阻;上拉电阻是4K


STC32G8K64的内部有下拉电阻是  10K;上拉电阻是10K

STC32F12K54的内部有下拉电阻是10K;上拉电阻是10K

截图202403130833444685.jpg
截图202311012319174833.jpg
有些朋友说,他系统上电时LED灯误闪了下
后帮他排查发现他从硬件到软件都是不统一规划:
===1,他用的是最不推荐导通发光二极管
===2,他从高阻输入切换成【强推挽输出】前,没有先将对外输出锁存1变成0
              切换I/O口的工作模式时,LED灯 通了
======================================================================
1线制/I2C/SPI等外部OC门开漏的电路, 外部加 10K 上拉电阻





回复 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-15 10:38:07 | 显示全部楼层
回复 支持 0 反对 1 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-1 23:35:29 | 显示全部楼层
I/O口控制 PNP 三级管,要求不高的电路中 R2可省
截图202311082204393634.jpg
R2: 20K/15K/10K, 确保 PNP三极管 上电不导通
R1: 3.3K/5.1K/10K
R3: 20K/15K/10K
PNP三级管一般用在,和MCU相同的电压电路中

========================================

要求不高的电路中PNP三极管基级可不加上拉电阻,如下图
                                              大电容贵,用2个小的电容
截图202311061400468188.jpg
=====================================================

下图是I/O口不够用时,一种典型共享I/O口的电路
截图202311061402353497.jpg
8 个独立 LED指示灯实验
用一个 I/O控制 PNP三极管,来共享多个 I/O
三极管不导通时,P0数字口可作其它数字功能使用
三极管被导通时,P0数字口可控制 LED灯亮灭

======================================

下图可以控制给共地的其他需要【高压输入】的数字/模拟电路供电
截图202311112249015065.jpg
根据负载的电流需求调整 R3的大小

回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-4 22:51:36 | 显示全部楼层
I/O口控制 NPN 三级管
截图202311061408077258.jpg
R2: 20K/15K/10K,确保 NPN三极管上电不导通
R1: 3.3K/5.1K/10K, 用强推挽置高来导通NPN三极管
R3: 20K/15K/10K
如果 V+高于 MCU-VCC,Vout就是高压,

Vout如是高压就不能接 MCU的 I/O
使用 NPN三级管的好处,R3可以接到 3.3V/5V/9V/12V等不同的电平



截图202311061412096232.jpg
R2:确保 NPN三极管上电导通
R1: 3.3K/5.1K/10K,电阻值可以根据实际应用改小
R3: 20K/15K/10K等,实际是用户负载
如果 V+高于 MCU-VCC,Vout就是高压,

Vout如是高压就不能接 MCU的 I/O
使用 NPN三级管的好处,R3可以接到 3.3V/5V/9V/12V等不同的电平V+



回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-4 22:58:01 | 显示全部楼层
典型慢速光耦 通信/控制电路,
PC817价格是RMB0.11以下
下图,典型慢速光耦 通信 电路
截图202311082143125879.jpg
两个电路之间经过光耦进行数字通信,极大地减少了电路之间的电磁干扰;
两个电路可以画在同一块板上,也可以是两块板,通过接插件连接;
在同一块板上时,要拉开两电路之间的距离;
外部干扰不大时,两个电路的地可以相连;
外部干扰j较大时,不大时,两个电路的地和电源全部分开
各电阻可根据实验情况调整;
安装时必须注意,安装螺钉不可与外部导电物体接触,并保持一定距离。

下图,典型慢速光耦 控制 电路
截图202311082145596746.jpg
B电路中 VccB1 / VccB2 可以各自接不同的电源, 如 3.3V/5V/9V/12V/24V 等,
但要注意,OCout1 / OCout2 应连接到相应的电平电路上。


如B电路中 VccB1 / VccB2 是高压,
则高压的 OCout1 / OCout2 输出就不能直接连到低压A电路的MCU 上,
否则会损坏只能低压工作的 MCU,MCU的工作电压 一般是 5V/3.3V,5.5V - 3.0V等

RMB0.11的普通慢速,光耦 的正确用法:
因为不需要高速光耦,
我们这个机械手系统选择的是 RMB0.11的低速光耦 PC817
BINx端你可以上拉10K电阻到不同的电压,如 5V/9V/12V...

截图202311051943262012.jpg
这对方BINx端的输入外部加上拉10K/5K/4K/3K/... 都可以尝试,
上拉电阻根据实际需要接 3.3V/5V/12V...
如果对方 BIN1 ~ BIN10 端是 STC32G/STC8H,
打开STC32G/STC8H的内部粗糙的4K上拉电阻就可以了 ,外部就不用加上拉电阻!
我们左边是机械手的电路控制光耦,如送出【开始测试】的信号,
送出去的低信号,是连续10mS低,右边另外1个系统才会认为是有效的低

===这样抗干扰强

因为不需要高速光耦,我们这个机械手系统选择的是 RMB0.11的低速光耦 PC817





回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-5 07:45:25 | 显示全部楼层
STC8/STC32 典型MOS管控制电路
截图202311082130468764.jpg

P-MOS 管: 高不导通,低导通
R1可以使用20K/10K; 确保上电不导通
此处 P-MOS管电源和 MCU电源相同
SI2301/RMB0.045; AO3401/RMB0.075
=======================================

下图可以控制给共地的其他需要【高压输入】的数字/模拟电路供电
截图202311112237153734.jpg
P-MOS 管: 高不导通,低导通
R1可以使用20K/10K; 确保上电不导通

===========================================================

截图202311082131573499.jpg
N-MOS 管: 低不导通,强推挽高导通
R1可以使用20K/10K; 确保上电不导通
V+电源 可以高于 MCU-Vcc 电源电压
V+电源: 如 5V/9V/12V

SI2302/RMB0.05;  AO3400/RMB0.074


回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-5 07:48:29 | 显示全部楼层
DebugLab 大师 对 MOS 管应用的专业说明:

MOSFET一般使用共源极(Source,以下称S极)接法,其中N沟道(以下称N型)MOSFET,S极接地,栅极(Gate,翻译为门极,但此名称多用于晶闸管,以下称G极)相对S极的电位高于一定值时导通,P型MOSFET,S极接电源,G极的电位相对S极低于一定值导通,也可以说NMOS是VGS为正导通,PMOS的VGS为负导通,其绝对值不能大于数据手册中的VGS(详见10楼参数详解)。
单片机直接控制建议使用低VGS的MOSFET,如CJ2301、CJ2302,因为一般的MOSFET要想让RDSON足够小,VGS要加到8V以上,见过某些开源项目中使用单片机5V的GPIO驱动TO-220封装的大功率MOSFET,虽然也能用,但不推荐这样做。

连续工作优先考虑RDSON,高频还要考虑Ciss和QG,低压控制高压还要考虑Coss(D极电压斜率过大,米勒效应会引起G极电压平台),脉冲工作优先考虑EAS(如法拉电容储能点焊机),这些都是需要注意的。
来点电路图:

截图202311050749294176.jpg
单片机和MOS使用同一个5V电源供电,因为G极是高阻输入,所以建议NMOS加下拉电阻,PMOS加上拉电阻,让MOSFET默认为关闭状态,STC新出的单片机上电IO也是高阻的,避免上电瞬间闪一下动一下等问题,NMOS高电平导通,PMOS低电平导通
截图202311050750216114.jpg
单片机5V供电,负载却是12V的,在这里用NMOS是没有问题的,和5V的应用相同,但是要注意VDS要大于12V,否则MOSFET可能会击穿,但是PMOS还像5V那么用,就会一直导通了(图中红框中的坚决不要用),因为0V和5V对于12V来说都是负的,VGS=-12和-7,PMOS都会导通,所以要像右边那个图那样在G极接一个电阻上拉到12V关闭MMOSFET,但是想让MOSFET导通,就不能直接接单片机的IO口了,单片机IO口电压是不能超过单片机电源电压的,可以使用三极管来下拉,三极管是电流驱动的,BE之间等效为一个二极管,压降很小,所以要在单片机的IO口上串联一个电阻再接三极管的B极,同样出于抗干扰考虑,也给三极管接了个下拉电阻,注意加了个三极管就反相了,输入高电平MOSFET导通
截图202311050750545936.jpg
单片机最大只能提供20mA电流,如果频率比较高,可以像这样用两个三极管接成推挽射随器的结构,也叫图腾柱电路,给MOSFET的输入电容充放电提供大电流,这个图输入写的是IN,不是GPIO了,不建议直接用单片机驱动,也建议用12V驱动,可以像上一个图那样再接一个上拉电阻和三极管,注意图腾柱电路是同相的,IN为12V,MOSFET导通
截图202311050751351174.jpg
半桥,5V供电,和单片机使用同一个电源,上管是PMOS,下管是NMOS,G极上下拉电阻前面已经介绍完了就不再重复了,上管导通下管关闭输出高电平,下管导通上管关闭输出低电平,都关闭就输出高阻了,都导通呢就短路了,如果需要高低电平交替输出,需要使用互补带死区的信号,可以使用STC单片机的带死区互补PWM直接驱动它
截图202311050752097039.jpg
有了半桥就可以把两个这样的半桥组合在一起,形成全桥,也叫H桥,这样就可以控制负载的电流方向了,可以直流实现电机的正反转控制,两个NMOS导通,两个PMOS关闭,电机被短路,就可以实现刹车了,当然这个做起来比较麻烦,可以使用成品芯片来实现这个功能,比如FM116
截图202311050752439442.jpg
如果想使用12V驱动负载呢,使用上面12V供电的NMOS和PMOS的电路图想必初学者已经会举一反三了就不重复了,这里再介绍一种电路,就是这个自举电路,像这样使用3相桥就可以驱动三相电机了,输出低电平的时候,电容通过二极管和下管充电,输出高电平的时候,输出等于电源电压,上管G极就使用电容中的电压充电了,这样就得到了2倍电源电压,上管VGS也等于电源电压,上管就是这样工作的,这个电路也有很多实际应用,上管也使用NMOS是因为NMOS的载流子为电子,制造工艺相同的情况下比PMOS性能更好,PMOS想达到相同的ID或RDSON,芯片就要做得很大,这样输入电容也就大了

截图202402272347033560.jpg
这个电路是光耦输入,宽电压的MOSFET驱动电路,V+可以输入9~36V,使用PMOS是因为负载需要共地,先看图腾柱电路的输入,电阻大约二比一分压,输入9V时,MOSFET的VGS大约是-6V,可以导通,但RDSON会略大,但负载电压也低,电流不会很大,所以没什么影响,输入36V时,如果没有稳压管,VGS就是-24V了,这就太高了,所以加了个12V稳压管,这时稳压管会导通,把VGS限制在12V,MOSFET可靠工作,可以算出大约18V时稳压二极管开始导通

感谢【除盅大师】的精彩讲解,这回STC8/STC32外接 N-MOS / P-MOS 彻底讲清楚了

截图202311050753239105.jpg
回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9228

回帖

1万

积分

管理员

积分
13928
 楼主| 发表于 2023-11-5 11:02:27 | 显示全部楼层
STC8   控制继电器常见电路
STC32 控制继电器常见电路

截图202311082109083595.jpg
R2: 20K/15K/10K,确保上电时PNP 三极管不导通
R1: 3.3K/5.1K/2.2K/1K,可根据实际需要适当调整 R1阻值大小
要求不高时,可以省 R2
=======================================
截图202312041311152796.jpg
R2: 20K/15K/10K,确保上电时PNP三极管不导通

R3: 3.3K/5.1K/1K,可调整 R1阻值大小使三极管饱和

========================================================
截图202311082114536686.jpg
R2: 20K/15K/10K,确保上电时NPN三极管不导通
R1: 3.3K/5.1K/2.2K/1K,可调整 R1阻值大小使三极管饱和

强推挽的高控制NPN三极管导通,这样电流够;准双向口的高,电流小
V+电源 可以大于或等于 MCU-VCC,可以是 3.3V/5V/9V/12V等不同的电平

================================================
截图202312041334271603.jpg

使用光耦去驱动三极管控制继电器,
极大地减少了电路之间的电磁干扰,还可以不共地
======================================
截图202311112232407285.jpg

使用光耦去驱动三极管控制继电器,
极大地减少了电路之间的电磁干扰,还可以不共地
为防止上电误动作, NPN三级管的基级加20K下拉电阻 到地

===================================================



截图202403021020164577.jpg

=========================================================


截图202403021019213280.jpg

回复 支持 3 反对 0 送花

使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    5

    主题

    12

    回帖

    83

    积分

    注册会员

    积分
    83
    发表于 2023-11-5 16:16:43 来自手机 | 显示全部楼层
    谢谢大佬们的实用电路,希望stc再创辉煌,造福所有工程师😁
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9228

    回帖

    1万

    积分

    管理员

    积分
    13928
     楼主| 发表于 2023-11-5 16:21:28 | 显示全部楼层
    您的鼓励是我们和广大51爱好者,一起创作的源动力
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:13
  • 签到天数: 83 天

    [LV.6]常住居民II

    7

    主题

    41

    回帖

    541

    积分

    高级会员

    积分
    541
    发表于 2023-11-5 18:58:39 | 显示全部楼层
    神农鼎 发表于 2023-11-4 22:51
    I/O口,控制 PNP 三级管

    第一行文字中,应该是"I.O口,控制NPN三极管”,误用成PNP了

    点评

    感谢纠正  发表于 2023-11-5 20:30
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-27 18:32 , Processed in 0.078982 second(s), 75 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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