你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CPU IO口开漏输出设置问题

[复制链接]
ikxlf 提问时间:2019-3-30 19:13 /
如图所示,LED_CS1_CTRL通过排线连接到STM32 CPU  PE端口中的一个管脚,但是我无论这个CPU管脚设置成高低电平发现三极管都是导通的,有人建议我设置成开漏模式,结果效果还是一样,大神们帮忙看看这是啥原因?? 按道理开漏时候 CPU输出高,管子应该不导通,为啥现在还是可以导通呢
微信截图_20190330190716.png
收藏 评论13 发布时间:2019-3-30 19:13

举报

13个回答
edmundlee 回答时间:2019-3-30 19:18:05
本帖最后由 edmundlee 于 2019-3-30 19:22 编辑

st的IO要接5v的话, 必须用ft类型的IO, 你肯定是选错了IO了

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-3-30 20:04:16
本帖最后由 wenyangzeng 于 2019-3-30 20:16 编辑

要使Q2截至,B极电压必须达到E极电压的5V,而CPU供电是3.3v,IO输出高电平时只能推到3.3v,所以在这种情况下Q2无法截止,解决办法是Q2换NPN型管,LED接C极到+5V,E极接地,IO高电平LED亮,反之亦反。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

七哥 回答时间:2019-3-31 01:18:09
本帖最后由 toofree 于 2019-3-31 01:23 编辑

先搞清楚“开漏”是什么?
开漏是指NMOS管的漏极开路,或NPN管的集电极开路,尽管大部分资料中没有说明必须是NMOS或NPN管,但是原理介绍中从没有找到过PMOS或PNP管的痕迹。

你这用的是PNP管,完全不适用。三极管和MOS管使用时,对BE或对GS都有泄放电阻,你这个没有,不符合套路。

如果接到STM32的5V容忍管脚上的话,改改电路和IO脚的用法还是能实现功能的。

使用5V输入容忍管脚,通过切换IO为输入方向,来使PNP管截止;图上标的IO口输入5V,只是理论上的,实际情况可能内部有钳位二极管,使电压要低一些,那么此时需要调整两个电阻的大小比例,使PNP管BE间电压小于0.7V。
11.png

置输出方向,IO输出0,来使PNP管完全导通;
22.png


评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

aiherong 回答时间:2019-3-31 10:58:52
开漏设置的IO口要想得到高电平,必须接上拉电阻才有高电平输出,而电阻上压降超过0.5V左右,三极管还是要导通,所以电路设计欠妥。应该将NPN型三极管接5V与e极之间,GPIO开漏且不用上拉电阻直接接b极,e极通过串一限流电阻接地。三极管用NPN型!不能错了

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

aiherong 回答时间:2019-3-31 11:06:56
上面"应该将NPN型三极管接5V与e极之间"写错
应为"应该将LED接入NPN型三极管c极与5V之间"
edmundlee 回答时间:2019-3-31 12:01:07
用PNP管没问题的, 象这样的LED驱动电路很常用, 只要选用FT的IO就可以(不要加内部上拉), FT的IO不存在什么钳位二极管的问题, 不信的可以去查一下规格书。
PNP管的BE脚需要并联一高阻值电阻大慨100K就可以了

用PNP而不用NPN主要原因是输出电压, 用NPN+E极输出, 那么输出电压只能是 ~= 3.3V-0.6V。
如果说非要用NPN, 根本就没必要从5V取电, 接3.3V就可以了, 因为输出电压不会有什么分别的

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

edmundlee 回答时间:2019-3-31 12:07:08
aiherong 发表于 2019-3-31 10:58
开漏设置的IO口要想得到高电平,必须接上拉电阻才有高电平输出,而电阻上压降超过0.5V左右,三极管还是要导 ...

这类驱动电路是用在 类似共阳数码管,不是你所想的单一LED的驱动
ikxlf 回答时间:2019-3-31 14:48:17
结贴,原因找到了是硬件上LED_CS1_CTRL这个管脚下拉接地导致了开漏不起作用
Kevin_G 回答时间:2019-4-1 15:54:41
引脚设成开漏输出,并外接上拉电阻到5V。注意下这个脚是不是5V容限。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

五哥1 回答时间:2019-4-1 17:09:05
都是下拉电阻惹的祸

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

aiherong 回答时间:2019-4-4 04:05:19
上次还没讲清楚,按这次试下一定要设成开漏模式吗?)
5V-LED-C极;GPIO-10k-b极;e极-1k-地;GPIO外接10k电阻上拉(直接在IO口上)
1k起负反馈并限流作用,到时根据亮度调整。PNP型不适合开漏io方式控制,
看一下模电书籍中关于三极管基本放大电路能够使你对这一问题有更清晰了解
ikxlf 回答时间:2019-4-5 13:57:23
aiherong 发表于 2019-4-4 04:05
上次还没讲清楚,按这次试下一定要设成开漏模式吗?)
5V-LED-C极;GPIO-10k-b极;e极-1k-地;GPIO外接10k电阻 ...

为啥PNP不适合设置成开漏模式
aiherong 回答时间:2019-4-7 04:18:02
原意是开漏模式的IO不适宜接PNP管子!不容易关死

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版