LED驱动芯片为啥一通电灯就会闪一下呢?
本帖最后由 xbxdbd 于 2024-8-2 10:14 编辑<p>我使用的LM3409驱动芯片驱动灯珠,12v输入,输出10w,PWM调光,每次一上电就会灯闪一下,然后就正常了,因为这个原因,我设置了一个反相器,初始化直接让PWM为0,但是一上电还是会出现灯闪的原因,然后我修改这两个值,还是没用。奇怪的点在于我把LED驱动模块单独使用,接一个12v电源,然后一个电位器,一通电并没有闪一下,所以是什么原因?电路设计?散热不行?还是电源不稳定的原因?</p>
拿示波器抓一下上电时那个PWM引脚的波形 wangerxian 发表于 2024-8-2 10:13
拿示波器抓一下上电时那个PWM引脚的波形
<p>抓过 一通电pwm波形就是一条直线</p>
<p>上电默认是高电平。</p>
<p>待MCU初始化完毕后,才恢复到期望的低电平 ?!</p>
<p>是这样的吗?</p>
<p>电路设计的毛病,硬件的问题,是EN脚的毛病。。</p>
<p>电路启动瞬间PWM信号并未及时稳定,导致LED短暂点亮。</p>
<p>确保PWM信号在上电瞬间电平正常,</p>
<p>可能需要启动代码中增加延迟一段时间后再启动PWM输出,,可以改变一下代码试试</p>
<div class='shownolgin' data-isdigest='yes'>jobszheng5 发表于 2024-8-2 10:19
上电默认是高电平。
待MCU初始化完毕后,才恢复到期望的低电平 ?!
是这样的吗?
<p>程序上看 目前是这样的</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <div class='shownolgin' data-isdigest='yes'>qwqwqw2088 发表于 2024-8-2 10:35
电路启动瞬间PWM信号并未及时稳定,导致LED短暂点亮。
确保PWM信号在上电瞬间电平正常,
可能需要启 ...
<p>你说的启动代码加延时说的是在这里吗?</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>tagetage 发表于 2024-8-2 10:32
电路设计的毛病,硬件的问题,是EN脚的毛病。。
<p>设计电路的时候EN引脚 引入了一个1M的下拉电阻</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'><p>LM3409好像有个en腿。</p>
<p>可以在上电时让en无效,上电稳定后让en有效。初始化后再用。看看如何?</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 10:58
设计电路的时候EN引脚 引入了一个1M的下拉电阻
<p>换成1K ,试验一下。</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>damiaa 发表于 2024-8-2 11:01
LM3409好像有个en腿。
可以在上电时让en无效,上电稳定后让en有效。初始化后再用。看看如何?
<p>请问怎么操作?</p>
<p> </p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'><p>单片机引脚上电时的默认电平是高还是低?这种在硬件上增加上/下拉,用于单片机程序初始化完成之前的电平保持</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'><p>或者就在芯片的enable引脚增加RC延时,从而调整芯片的使能延迟</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 11:15
请问怎么操作?
<p>VIN跟EN中间串联电阻R,EN对地接电容C。上电瞬间VIN通过电阻R对C充电,充电时间也就是LM3409的使能启动时间可以通过调整RC实现。</p>
<p> </p>
<p> </p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>beyond_笑谈 发表于 2024-8-2 11:33
单片机引脚上电时的默认电平是高还是低?这种在硬件上增加上/下拉,用于单片机程序初始化完成之前的电平保 ...
<p>目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是 sConfigOC.Pulse = 0;<br />
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; 并且我在EN引脚那边设计了一个1M的下拉电阻,然后测试将Pulse和OCPolarity这两个值改为0,LOW ;0,HIGH;100,LOW;100,HIGH;这4个情况 出现的都是一样的,一通电灯就会闪一下,然后就恢复正常了</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'><p>抓波形啊</p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'> 本帖最后由 damiaa 于 2024-8-2 14:00 编辑
<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&goto=findpost&pid=3350263&ptid=1289374" target="_blank"><font color="#999999">xbxdbd 发表于 2024-8-2 11:42</font></a></font> 目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是 sConfigOC.Pu ...</blockquote>
</div>
<p>搞个类似反向的器电路加到PA11(你的好像是标的PA111)和en之间 </p>
<p>比如npn的三极管PA11为高的时候en为低 PA11为低的时候en为高。</p>
<p>因为上电cpu的PA11为高。所以就在上电时候芯片不工作。</p>
<p> </p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 11:42
目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是 sConfigOC.Pu ...
<p>没有细看规格书,不确定上电瞬间PGATE是什么电平。要么在Q2 PMOS 的 1 和 2引脚之间接一个电阻先试一下,也就是上电瞬间关断PMOS。</p>
<p> </p>
</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='yes'><p>这种情况建议先放下单片机程序,通过硬件的方式实现单片机程序初始化完成之前先关断输出</p>
</div><script>showreplylogin();</script>
页:
[1]
2