[电路/定理] 单片机上电后。默认高电平 PWM控制导致LED会出现闪烁求解!

[复制链接]
12994|62
 楼主| we167527 发表于 2016-10-27 11:55 | 显示全部楼层 |阅读模式
我用的是STM8的单片机。只要一上电就触发了上电复位!GPIO就输出高电平,然后我程序在初始化GPIO为低电平。这样就有了一个小脉冲。不过足以使LED闪烁一下

PIN口输出的PWM波形,以此控制LED的亮度。所以在Pin输出那里加个电容不可以。会导致PWM输出不对。

Pin口输出的高电压是3V。而电源电压是12V。请问该怎么改电路才不会使LED出现闪烁???


电路图如下图所示:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
Lgz2006 发表于 2016-10-27 12:07 来自手机 | 显示全部楼层
Pin不可以,Rb右边总该可以吧!
 楼主| we167527 发表于 2016-10-27 12:31 | 显示全部楼层
Lgz2006 发表于 2016-10-27 12:07
Pin不可以,Rb右边总该可以吧!

一样的效果。Pin输出的PWM。如果加了电容。PWM就很差了
eyuge2 发表于 2016-10-27 12:45 | 显示全部楼层
一般情况下,单片机复位之后都是默认做输入的,有点会有弱上拉。
你这个单片机上拉是不是太强悍了?
建议:
1.检查你的程序,你是不是将IO口设置为输出了,然后输出1,再输出0.看是否有调整的可能
2.接一个下拉电阻。
3.实在不行,改为PNP管
 楼主| we167527 发表于 2016-10-27 12:48 | 显示全部楼层
eyuge2 发表于 2016-10-27 12:45
一般情况下,单片机复位之后都是默认做输入的,有点会有弱上拉。
你这个单片机上拉是不是太强悍了?
建议: ...

PNP怎么接才好呢?电源电压达到12V。而输出的高电平才3V。有点难

评论

不好意思,没有考虑到12V。  发表于 2016-10-27 14:49
a6105410 发表于 2016-10-27 14:05 | 显示全部楼层
1、干脆再用一个三极管,使输出1时灯不亮,0时灯亮。这样系统复位时,引脚为1灯也不会亮了,然后要不要其亮就取决于你的软件配置。
2、用一个2.7K左右的下拉电阻,系统上电时默认为1,应该是其内部弱上拉引起的,用一个2.7K的下拉电阻能把上电时电压拉下来(此电阻分压能不能使三极管导通要看内部弱上拉大小和三极管型号,可查资料和实际调试),然后系统运行时软件将引脚配置为推挽输出,推挽输出时驱动电流较大,这样可以拉高2.7K电阻,让三极管识别高电平。
当然,第二种方法要根据芯片资料的具体情况来定,我不知道你这款芯片情况如何,可以好好看看datasheet资料
 楼主| we167527 发表于 2016-10-27 14:17 | 显示全部楼层
a6105410 发表于 2016-10-27 14:05
1、干脆再用一个三极管,使输出1时灯不亮,0时灯亮。这样系统复位时,引脚为1灯也不会亮了,然后要不要其亮 ...

接下拉电阻还是会有微微导通的。LED还是会闪烁下。
 楼主| we167527 发表于 2016-10-27 14:18 | 显示全部楼层
a6105410 发表于 2016-10-27 14:05
1、干脆再用一个三极管,使输出1时灯不亮,0时灯亮。这样系统复位时,引脚为1灯也不会亮了,然后要不要其亮 ...

接下拉电阻还是会有微微导通的。LED还是会闪烁下。
a6105410 发表于 2016-10-27 14:50 | 显示全部楼层
应该不至于吧?三极管硅管压降有0.6~0.7V,锗管0.3V,下拉电阻分压低于其正向导通偏置电压,PN结截止,应该三极管就导通不了啊
瞎折腾 发表于 2016-10-27 14:56 | 显示全部楼层
这个电路不知道你用的是什么单片机,如果是stc的,他上边有介绍的,想复位后输出低电平可以接下拉电阻








查看文档的422页上边的截图就是这个资料的截图,stc的文档。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
cov0xt 发表于 2016-10-27 16:36 | 显示全部楼层
我想顺便问一下,用PWM做LED的呼吸灯,其本质就是LED频繁的闪若干毫秒,

相比平常IO口控制LED的方法,低电平0不亮,高电平1亮,


PWM呼吸灯的话,LED会不会坏的特别快啊?
 楼主| we167527 发表于 2016-10-27 16:55 | 显示全部楼层
cov0xt 发表于 2016-10-27 16:36
我想顺便问一下,用PWM做LED的呼吸灯,其本质就是LED频繁的闪若干毫秒,

相比平常IO口控制LED的方法,低电 ...

。。。我不在乎这个!这是LED材料学的事
Ricky110 发表于 2016-10-27 17:49 | 显示全部楼层
这个应该是可以导通的吧
ecoren 发表于 2016-10-27 18:26 | 显示全部楼层
两种方法:
1. 换IO,换成默认是输入的pin或默认是高阻态的或默认输出低的;
2. IO不换,管子换成PNP三极管;
QuakeGod 发表于 2016-10-27 20:06 | 显示全部楼层
IO和三极管之间加一个反相器,然后逻辑改成输出1不亮,输出0亮。
QuakeGod 发表于 2016-10-27 20:08 | 显示全部楼层
其实绝大多数IO输出,都以低电平代表有效。
比如,我们很多外扩芯片的CS管脚,WR,RD管教,都是低电平有效的。
另外向74HC138,3-8译码器,也是以低电平有效作为输出。
所以单片机复位时,才会默认让所有管脚都是高电平。
lihui567 发表于 2016-10-27 20:53 | 显示全部楼层
上电闪烁我也遇到过,都是接个10K的下拉电阻解决的
皈依 发表于 2016-10-28 08:10 | 显示全部楼层
这就是硬件设计逻辑方面的问题~
得改。要么换PNP 改PWM
要么加PNP做反向
 楼主| we167527 发表于 2016-10-28 08:26 | 显示全部楼层
本帖最后由 we167527 于 2016-10-28 08:36 编辑
瞎折腾 发表于 2016-10-27 14:56
这个电路不知道你用的是什么单片机,如果是stc的,他上边有介绍的,想复位后输出低电平可以接下拉电阻


我的Rb需要自定义来控制LED的亮度。然后即使加到10K也会有闪烁一下
 楼主| we167527 发表于 2016-10-28 08:38 | 显示全部楼层
ecoren 发表于 2016-10-27 18:26
两种方法:
1. 换IO,换成默认是输入的pin或默认是高阻态的或默认输出低的;
2. IO不换,管子换成PNP三极管 ...

请问PNP架设的电路怎么才能匹配我的电路呢?我现在在架设PNP时主要考虑到了电源电压12V,而输入电压才3V的情况
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:联系方式: QQ:864095840 邮箱:86095840@qq.com

54

主题

294

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部