xbxdbd 发表于 2024-8-2 10:11

LED驱动芯片为啥一通电灯就会闪一下呢?

本帖最后由 xbxdbd 于 2024-8-2 10:14 编辑

<p>我使用的LM3409驱动芯片驱动灯珠,12v输入,输出10w,PWM调光,每次一上电就会灯闪一下,然后就正常了,因为这个原因,我设置了一个反相器,初始化直接让PWM为0,但是一上电还是会出现灯闪的原因,然后我修改这两个值,还是没用。奇怪的点在于我把LED驱动模块单独使用,接一个12v电源,然后一个电位器,一通电并没有闪一下,所以是什么原因?电路设计?散热不行?还是电源不稳定的原因?</p>

wangerxian 发表于 2024-8-2 10:13

拿示波器抓一下上电时那个PWM引脚的波形

xbxdbd 发表于 2024-8-2 10:15

wangerxian 发表于 2024-8-2 10:13
拿示波器抓一下上电时那个PWM引脚的波形

<p>抓过&nbsp;一通电pwm波形就是一条直线</p>

jobszheng5 发表于 2024-8-2 10:19

<p>上电默认是高电平。</p>

<p>待MCU初始化完毕后,才恢复到期望的低电平 ?!</p>

<p>是这样的吗?</p>

tagetage 发表于 2024-8-2 10:32

<p>电路设计的毛病,硬件的问题,是EN脚的毛病。。</p>

qwqwqw2088 发表于 2024-8-2 10:35

<p>电路启动瞬间PWM信号并未及时稳定,导致LED短暂点亮。</p>

<p>确保PWM信号在上电瞬间电平正常,</p>

<p>可能需要启动代码中增加延迟一段时间后再启动PWM输出,,可以改变一下代码试试</p>

xbxdbd 发表于 2024-8-2 10:53

<div class='shownolgin' data-isdigest='yes'>jobszheng5 发表于 2024-8-2 10:19
上电默认是高电平。

待MCU初始化完毕后,才恢复到期望的低电平 ?!

是这样的吗?

<p>程序上看&nbsp; 目前是这样的</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>

xbxdbd 发表于 2024-8-2 10:57

<div class='shownolgin' data-isdigest='yes'>qwqwqw2088 发表于 2024-8-2 10:35
电路启动瞬间PWM信号并未及时稳定,导致LED短暂点亮。

确保PWM信号在上电瞬间电平正常,

可能需要启 ...

<p>你说的启动代码加延时说的是在这里吗?</p>
</div><script>showreplylogin();</script>

xbxdbd 发表于 2024-8-2 10:58

<div class='shownolgin' data-isdigest='yes'>tagetage 发表于 2024-8-2 10:32
电路设计的毛病,硬件的问题,是EN脚的毛病。。

<p>设计电路的时候EN引脚&nbsp;引入了一个1M的下拉电阻</p>
</div><script>showreplylogin();</script>

damiaa 发表于 2024-8-2 11:01

<div class='shownolgin' data-isdigest='yes'><p>LM3409好像有个en腿。</p>

<p>可以在上电时让en无效,上电稳定后让en有效。初始化后再用。看看如何?</p>
</div><script>showreplylogin();</script>

tagetage 发表于 2024-8-2 11:07

<div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 10:58
设计电路的时候EN引脚&nbsp;引入了一个1M的下拉电阻

<p>换成1K ,试验一下。</p>
</div><script>showreplylogin();</script>

xbxdbd 发表于 2024-8-2 11:15

<div class='shownolgin' data-isdigest='yes'>damiaa 发表于 2024-8-2 11:01
LM3409好像有个en腿。

可以在上电时让en无效,上电稳定后让en有效。初始化后再用。看看如何?

<p>请问怎么操作?</p>

<p>&nbsp;</p>
</div><script>showreplylogin();</script>

beyond_笑谈 发表于 2024-8-2 11:33

<div class='shownolgin' data-isdigest='yes'><p>单片机引脚上电时的默认电平是高还是低?这种在硬件上增加上/下拉,用于单片机程序初始化完成之前的电平保持</p>
</div><script>showreplylogin();</script>

beyond_笑谈 发表于 2024-8-2 11:34

<div class='shownolgin' data-isdigest='yes'><p>或者就在芯片的enable引脚增加RC延时,从而调整芯片的使能延迟</p>
</div><script>showreplylogin();</script>

beyond_笑谈 发表于 2024-8-2 11:41

<div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 11:15
请问怎么操作?

&nbsp;

<p>VIN跟EN中间串联电阻R,EN对地接电容C。上电瞬间VIN通过电阻R对C充电,充电时间也就是LM3409的使能启动时间可以通过调整RC实现。</p>

<p>&nbsp;</p>

<p> &nbsp;</p>
</div><script>showreplylogin();</script>

xbxdbd 发表于 2024-8-2 11:42

<div class='shownolgin' data-isdigest='yes'>beyond_笑谈 发表于 2024-8-2 11:33
单片机引脚上电时的默认电平是高还是低?这种在硬件上增加上/下拉,用于单片机程序初始化完成之前的电平保 ...

<p>目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是&nbsp; sConfigOC.Pulse = 0;<br />
&nbsp; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;&nbsp;并且我在EN引脚那边设计了一个1M的下拉电阻,然后测试将Pulse和OCPolarity这两个值改为0,LOW ;0,HIGH;100,LOW;100,HIGH;这4个情况&nbsp;出现的都是一样的,一通电灯就会闪一下,然后就恢复正常了</p>
</div><script>showreplylogin();</script>

xutong 发表于 2024-8-2 12:19

<div class='shownolgin' data-isdigest='yes'><p>抓波形啊</p>
</div><script>showreplylogin();</script>

damiaa 发表于 2024-8-2 12:19

<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&amp;goto=findpost&amp;pid=3350263&amp;ptid=1289374" target="_blank"><font color="#999999">xbxdbd 发表于 2024-8-2 11:42</font></a></font> 目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是&nbsp; sConfigOC.Pu ...</blockquote>
</div>

<p>搞个类似反向的器电路加到PA11(你的好像是标的PA111)和en之间&nbsp;</p>

<p>比如npn的三极管PA11为高的时候en为低 PA11为低的时候en为高。</p>

<p>因为上电cpu的PA11为高。所以就在上电时候芯片不工作。</p>

<p> &nbsp;</p>
</div><script>showreplylogin();</script>

beyond_笑谈 发表于 2024-8-2 12:49

<div class='shownolgin' data-isdigest='yes'>xbxdbd 发表于 2024-8-2 11:42
目前程序上设计的PWM上电默认的电平为高电平,就是我求助那里发的图片当中,设计的是&nbsp; sConfigOC.Pu ...

<p>没有细看规格书,不确定上电瞬间PGATE是什么电平。要么在Q2 PMOS&nbsp; 的 1 和 2引脚之间接一个电阻先试一下,也就是上电瞬间关断PMOS。</p>

<p> &nbsp;</p>
</div><script>showreplylogin();</script>

beyond_笑谈 发表于 2024-8-2 12:51

<div class='shownolgin' data-isdigest='yes'><p>这种情况建议先放下单片机程序,通过硬件的方式实现单片机程序初始化完成之前先关断输出</p>
</div><script>showreplylogin();</script>
页: [1] 2
查看完整版本: LED驱动芯片为啥一通电灯就会闪一下呢?