sy8501 发表于 2023-7-31 01:46:41

发现EG的栅极驱动芯片,有个毛病【已查清问题,芯片没毛病】

本帖最后由 sy8501 于 2023-7-31 15:12 编辑

目前板上有EG3116DEG2104S存在同一种毛病。

当MCU被复位后,会有一瞬间,30V的开关电源被拉低到28V,电源瞬间过流,接着恢复。

后面正常控制是没问题的,功耗也正常。

===

当我把配置PWM的IO口,注释掉,编译,下载,运行

再对MCU复位,就没有发生供电的开关电源过流的情况。

===

2023.07.31 15:12 编辑标题: 已经查清问题来源,证明了这俩芯片没有问题。

qwe2231695 发表于 2023-7-31 02:15:02

HIN LIN 加下拉,确保复位时关闭驱动芯片,mcu复位时IO状态不确定。

sy8501 发表于 2023-7-31 02:50:38

qwe2231695 发表于 2023-7-31 02:15
HIN LIN 加下拉,确保复位时关闭驱动芯片,mcu复位时IO状态不确定。
(引用自2楼)

芯片内部自带下拉了。



sy8501 发表于 2023-7-31 02:51:46

EG2104S 也自带了下拉。

qwe2231695 发表于 2023-7-31 03:22:50

200k的超弱下拉是不够的,建议外部加4.7K,或者5.1K。

sy8501 发表于 2023-7-31 03:44:11

qwe2231695 发表于 2023-7-31 03:22
200k的超弱下拉是不够的,建议外部加4.7K,或者5.1K。
(引用自5楼)

你可能没看清楚我的描述。

不是复位时候,IO不确定状态时候出的问题。

是在配置完PWM HIN LIN 的IO的瞬间出的问题。

sy8501 发表于 2023-7-31 03:46:50

也就是说,在复位后,HIN LIN 还没被配置的时候,状态是正常的。

就是在被配置的瞬间,MOS上下桥瞬间短路了一下。

我回看了以前的IRS21867的板子,无此问题 电路一样。

Aper-2020 发表于 2023-7-31 05:25:33

本帖最后由 Aper-2020 于 2023-7-31 05:31 编辑

sy8501 发表于 2023-7-31 03:46
也就是说,在复位后,HIN LIN 还没被配置的时候,状态是正常的。

就是在被配置的瞬间,MOS上下桥瞬间短路 ...
(引用自7楼)

接示波器上去测一下,一目了然。
   我猜大概率是被配置瞬间,一些配置的先后顺序没搞对, 造成初始那一个波形不对。
   这两个芯片的死区或者驱动能力不一样,所以另一片没问题。

tang_qianfeng 发表于 2023-7-31 08:09:07

照理这芯片有逻辑控制的,不会上下管同时导通的

z123 发表于 2023-7-31 08:55:00

tang_qianfeng 发表于 2023-7-31 08:09
照理这芯片有逻辑控制的,不会上下管同时导通的
(引用自9楼)

但是如果硬件保护可靠,不会同时导通的话,那么“会有一瞬间,30V的开关电源被拉低到28V,电源瞬间过流,”这个现象怎么来的?

有点虚了,也刚用eg的设计了板子~~

tang_qianfeng 发表于 2023-7-31 09:36:37

z123 发表于 2023-7-31 08:55
但是如果硬件保护可靠,不会同时导通的话,那么“会有一瞬间,30V的开关电源被拉低到28V,电源瞬间过流, ...
(引用自10楼)

我也用了EG2131....

akey3000 发表于 2023-7-31 09:41:17

批量出货的产品,应该不会有这种问题。可能是用法上有问题

amigenius 发表于 2023-7-31 11:19:34

把IO口配置屏蔽了就没这种现象,明显就是您程序问题了,哈哈。EG在栅极驱动方面还可以,出货量也大,几乎不可能出现这种低级错误。

sy8501 发表于 2023-7-31 11:30:06

amigenius 发表于 2023-7-31 11:19
把IO口配置屏蔽了就没这种现象,明显就是您程序问题了,哈哈。EG在栅极驱动方面还可以,出货量也大,几乎不 ...
(引用自13楼)

这个现象估计一般人也发现不了。只在配置io的瞬间出现,配置瞬间是HIN输出低电平,LIN输出高电平。
这个瞬间过后,一切正常,控制也正常。

有没有人也在用EG,可以去看看有没有这种情况。 给MCU来个复位即可。正常上电因为有大电容充电,可能看不出来。

sy8501 发表于 2023-7-31 11:33:58

amigenius 发表于 2023-7-31 11:19
把IO口配置屏蔽了就没这种现象,明显就是您程序问题了,哈哈。EG在栅极驱动方面还可以,出货量也大,几乎不 ...
(引用自13楼)

我楼主位说了,我同一个板上也用了EG2104S,2104的SD引脚通过1k电阻上拉到3.3V

2104的io配置瞬间输出低电平。而这个瞬间,mos上下桥同时导通了。

这么简单的逻辑,程序再怎么错,正常芯片也不会出现此现象。

autolog 发表于 2023-7-31 11:34:55

有些人程序有bug也说是单片机的bug

amigenius 发表于 2023-7-31 11:46:46

sy8501 发表于 2023-7-31 11:33
我楼主位说了,我同一个板上也用了EG2104S,2104的SD引脚通过1k电阻上拉到3.3V

2104的io配置瞬间输出低 ...
(引用自15楼)

理论上2104是不可能同时上下桥同时导通的。不要靠估了,挂示波器上去一目了然

sy8501 发表于 2023-7-31 11:51:49

不好意思,耽误大家时间了。

刚刚拿前几天程序试了一下,前几天程序仅开启了TIM1 TIM8, 无此问题,

后面加了一路TIM2后 ,集体尿崩。

我再定位定位问题。

sy8501 发表于 2023-7-31 12:04:33

autolog 发表于 2023-7-31 11:34
有些人程序有bug也说是单片机的bug
(引用自16楼)

被你说对了。

目前定位到,问题来自TIM2 驱动的EG2104S   ,而 EG3116D没有问题。

TIM2输出PWM,第一次写,没看出来什么问题。


    GPIO_InitTypeDef          gpio;
    TIM_TimeBaseInitTypeDef   tim;
    TIM_OCInitTypeDef         oc;
   
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

    gpio.GPIO_Pin   = GPIO_Pin_15;
    gpio.GPIO_Mode= GPIO_Mode_AF;
    gpio.GPIO_OType = GPIO_OType_PP;
    gpio.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_Init(GPIOA,&gpio);

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_TIM2);

    tim.TIM_Prescaler         = 0;
    tim.TIM_CounterMode       = TIM_CounterMode_Up;
    tim.TIM_Period            = 4000; //80000000/4000 = 20kHz
    tim.TIM_ClockDivision   = TIM_CKD_DIV1;
    TIM_TimeBaseInit(TIM2,&tim);
   
    oc.TIM_OCMode       = TIM_OCMode_PWM1;
    oc.TIM_OutputState= TIM_OutputState_Enable;
    oc.TIM_Pulse      = 0;
    oc.TIM_OCPolarity   = TIM_OCPolarity_High;
    TIM_OC1Init(TIM2,&oc);
   
    TIM_ARRPreloadConfig(TIM2,ENABLE);
   
    TIM_OC1PreloadConfig(TIM2,TIM_OCPreload_Enable);

    TIM_Cmd(TIM2, ENABLE);

sy8501 发表于 2023-7-31 12:45:16

问题大概找到了。

EG2104S 后面接了2个mos,mos 后面挂了一个5Ω刹车电阻。

配置TIM2的瞬间,TIM2-CH1 莫名其妙的输出了一个大约150ms的高电平,导致刹车电阻被接通。造成电源被拉低。

至于TIM2-CH1 为什么配置瞬间会输出150ms的高电平,还没定位到。

sy8501 发表于 2023-7-31 12:56:05

用示波器 从TIM2 CH1PA15 引脚抓到的 波形。在配置TIM2 CH1 PA15的瞬间 出现的。

但电平高度没有达到3.3V,大概只有2.8V

所以尚不确定,这个高电平是EG2104S自己产生的,还是STM32产生的。

等会把电阻拆掉了,就能确定了。


sy8501 发表于 2023-7-31 13:22:53

已经拆掉电阻,高电平上升到3.3V了。

可以确定是STM32出来的了。EG2104S 证明没有问题。

误会他们俩了。

sy8501 发表于 2023-7-31 13:33:05

现在问题回到 PA15 口了,搞不清楚它为什么配置IO后,会出现一个150ms的高电平输出。

tang_qianfeng 发表于 2023-7-31 14:06:59

原则上驱动芯片保证了不会上下管同时导通的

sy8501 发表于 2023-7-31 14:19:52

tang_qianfeng 发表于 2023-7-31 14:06
原则上驱动芯片保证了不会上下管同时导通的
(引用自24楼)

嗯 上下桥没导通,

是STM32F4的 PA15配置成TIM2-CH1-PWM后

上电异常输出一个150ms的高电平导致。

目前还没找到什么原因,有可能跟JTAG有关。(我只用 SWD 2线来调试)

sy8501 发表于 2023-7-31 14:54:05

造孽了。才去看手册,发现PA15内部有上拉。

sy8501 发表于 2023-7-31 15:07:56

PA15有内部上拉,而从复位后到PA15被初始化成 TIM2-CH1-PWM,中间经历了150ms

所以出现了150ms的高电平。这150ms的高电平作用在EG2104S上,直接让刹车电阻导通了。

问题算是彻底找到了。

之前没发现是因为刚开始调试没插刹车电阻,如果插了,而里面又没程序,PA15的上拉,会导致板子直接短路。

tang_qianfeng 发表于 2023-7-31 15:14:17

sy8501 发表于 2023-7-31 15:07
PA15有内部上拉,而从复位后到PA15被初始化成 TIM2-CH1-PWM,中间经历了150ms

所以出现了150ms的高电平。 ...
(引用自27楼)

优秀                  

sy8501 发表于 2023-7-31 18:14:21

EG2104S直接对PWM输入引脚输入长时的高电平,也只是短路一下,之后因为自举电容得不到充电,就不输出了。

所以27L的说法不完全正确。无程序的板带刹车电阻,也只会短路一瞬间,后续不会再短路了。

887799 发表于 2023-7-31 18:45:02

sy8501 发表于 2023-7-31 18:14
EG2104S直接对PWM输入引脚输入长时的高电平,也只是短路一下,之后因为自举电容得不到充电,就不输出了 ...
(引用自29楼)

原因找到了怎么解决这个问题?一上电先马上把这个管脚配置成普通IO模式?

sy8501 发表于 2023-7-31 20:18:15

887799 发表于 2023-7-31 18:45
原因找到了怎么解决这个问题?一上电先马上把这个管脚配置成普通IO模式? ...
(引用自30楼)

这个板的解决方案: main函数下的第一行代码就马上把PA15 配置成TIM2-CH1 PWM,这样就只会有一个100us级别的短尖峰。

下次改,把IO换掉。换一个下拉或者悬空IO。

页: [1]
查看完整版本: 发现EG的栅极驱动芯片,有个毛病【已查清问题,芯片没毛病】