本发明涉及汽车领域,特别是涉及一种BLDC电机(无刷直流电机)故障诊断系统。
背景技术:
当代BLDC电机控制系统主要由BLDC电机、BLDC电机驱动芯片和控制器组成,各部件的状况直接影响BLDC电机控制的效果和工作性能,为了提高BLDC电机控制的安全性,对BLDC电机控制系统各部件状态进行及时检测和故障诊断具有极其重要的意义。
现有的BLDC电机控制系统的故障诊断技术中存在以下几个问题:
1)软件诊断策略不够完善,存在漏报风险;
2)当次驾驶循环无法修复,影响BLDC电机控制功能;
3)电流限流值和短路限制值设置不合理。
技术实现要素:
本发明要解决的技术问题是提供一种能避免故障漏报并能实现当次驾驶循环故障修复的BLDC电机故障诊断系统。
为解决上述技术问题本发明提供的BLDC电机故障诊断系统,包括:MCU和故障诊断保护模块;
MCU能利用中断响应和周期任务结合故障诊断保护模块发出的BLDC电机故障标志位状态诊断BLDC电机故障类型,能接收BLDC电机三相短路状态,能通过BLDC电机故障修复标志位以及开关BLDC电机驱动实现对BLDC电机故障修复;
故障诊断保护模块对BLDC电机进行电流采样,能根据BLDC电机电流采样和BLDC电机三相短路状态触发故障标志位;
其中,故障诊断保护模块设置的BLDC电机电流限制值大于对地短路保护阈值。
其中,故障诊断保护模块包括,控制芯片、第一~第六场效应管Q1、Q2、Q3、Q4、Q5、Q6、低边采样电阻RSENSE、第一、第二电容C1、C2电流限制端口的第一、第二分压电阻R1、R2以及对地短路电流设置端口的第三、第四分压电阻R3、R4;
第一~第六场效应管Q1、Q2、Q3、Q4、Q5、Q6的第一端分别连接控制芯片功能引脚,第一~第三场效应管Q1、Q2、Q3的第二端连接蓄电池正电源VBAT,第一~第三场效应管 Q1、Q2、Q3的第三端分别与第四~第六场效应管Q4、Q5、Q6的第二端一一对应相连并分别连接控制芯片功能引脚,第四~第六场效应管Q4、Q5、Q6的第三端通过低边采样电阻RSENSE接地,采样电阻RSENSE两端分别连接控制芯片功能引脚;
第一、第二分压电阻R1、R2串联,第一分压电阻R1一端连工作电压VCC另一端连接控制芯片功能引脚并通过第二分压电阻R2接地,第一电容C1并联第二分压电阻R2两端;
第三、第四分压电阻R3、R4串联,第三分压电阻R3一端连工作电压VCC另一端连接控制芯片功能引脚并通过第四分压电阻R4接地,第二电容C2并联第四分压电阻R4两端。
其中,故障诊断保护模块能输出故障标志位1和故障标志位2,利用故障标志位1和故障标志位2的组合将BLDC电机的故障划分为:正常状态、低负载状态、短路状态和逻辑过温欠压状态。
其中,MUC通过故障诊断保护模块的故障标志位1和故障标志位2采用以下组合识别故障:
故障标志位1为0,故障标志位2为0,标志为欠压故障;
故障标志位1为0,故障标志位2为0,标志为过温故障;
故障标志位1为0,故障标志位2为0,标志为逻辑故障;
故障标志位1为1,故障标志位2为0,标志为对地短路故障;
故障标志位1为1,故障标志位2为0,标志为对电源短路故障;
故障标志位1为0,故障标志位2为1,标志为低负载故障;
故障标志位1为1,故障标志位2为1,标志为无故障。
其中,正常状态、短路状态、低负载状态和逻辑过温欠压状态之间的切换采用以下方式:
上电或初始化后,处于正常状态,当故障标志位2产生下降沿且BLDC电机三相AD值全为蓄电池电压或对地电压,状态切换到短路状态;
在短路状态下,每隔第一预设时长驱动电机转动第二预设时长,在预设时长内故障标志位2没有出现下降沿且三相电压未发生对地短路,状态切换到正常状态;
在正常状态下若故障标志位1、故障标志位2同时出现下降沿则切换到逻辑过温欠 压状态;在逻辑过温欠压状态中,故障标志位1、故障标志位2任意一个出现上升沿,则换到正常状态;
在正常状态下,故障标志位1出现下降沿则切换为低负载状态,故障诊断保护模块对该状态不进行处理和切换。
其中,MCU通过周期任务执行以下BLDC电机故障修复流程;
诊断BLDC电机当前是否有故障,若无故障,打开BLDC电机驱动级,将BLDC电机故障未修复标志位置1,否则每隔第一预设时长检测BLDC电机是否发生故障;
诊断BLDC电机故障未修复标志位是否被置1即电机驱动第二预设时长是否完成,若完成将该标志位清零,BLDC电机故障未修复标志位被置1,关闭BLDC电机驱动级,计数器清零;
上述诊断BLDC电机故障未修复标志位是否被置1的步骤每循环一次,计数器加1,通过计数器判断是否累加到第一预设时长的时间,若达到第一预设时长打开BLDC电机驱动级,获取电机当前的位置或转向,确定修复时电机的转向;若当前位置与正转止点夹角小于等于102°,驱动电机反方向转动,否则驱动电机正方向转动;
若此时累加的时间不等于第一预设时长,直接判断当前累加时间是否等于第三预设时长,当前累加时间等于第三预设时长则将故障未修复标志位置1,否则结束否则结束该次BLDC电机故障修复循环;
第三预设时长=第一预设时长+第二预设时长。
其中,第一预设时长为2秒~300秒,第二预设时长为10毫秒~40毫秒。
优选,第一预设时长为2秒,第二预设时长为30毫秒。
本发明对BLDC电机控制的安全性能做了双重设计保护:
1、当发生了过流或短路时,首先是硬件电路会启动保护功能,触发并设置故障信号标志位,由硬件关闭驱动级,保护整个控制系统;
2、其次,软件再进行故障诊断,并且再次由软件关闭驱动级,利用中断响应获取有故障产生的信息;在周期任务中分析故障类型并报出,两方面进行BLDC故障处理,降低漏报和误报概率,以定位到故障的具体原因并保存数据,为后续开发积累数据,为售后维护提供便利;
3、发生故障后,当次驾驶循环中每隔预设时长检测一次故障是否有修复,若已修 复,整个控制系统恢复正常控制,不会因产生一次故障而放弃当次驾驶循环的控制,以提高整个控制器的优越性和经济性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明BLDC电机故障诊断系统示意图一。
图2是本发明BLDC电机故障诊断系统示意图二。
图3是本发明BLDC电机故障诊断系统示意图三。
图4是本发明BLDC电机故障诊断系统示意图四。
图5是本发明BLDC电机故障诊断系统示意图五。
图6是本发明BLDC电机故障诊断系统示意图六。
图7是本发明BLDC电机故障诊断系统示意图七。
图8是本发明BLDC电机故障诊断系统示意图八。
具体实施方式
如图1结合图2所示,本发明提供一种BLDC电机故障诊断系统,包括:MCU和故障诊断保护模块;MCU能利用中断响应和周期任务结合故障诊断保护模块发出的BLDC电机故障标志位状态诊断BLDC电机故障类型,能接收BLDC电机三相短路状态,能通过BLDC电机故障修复标志位以及开关BLDC电机驱动实现对BLDC电机故障修复;
故障诊断保护模块对BLDC电机进行电流采样,能根据BLDC电机电流采样和BLDC电机三相短路状态触发故障标志位;故障诊断保护模块设置的BLDC电机电流限制值大于对地短路保护阈值。
故障诊断保护模块包括,控制芯片(本实施例采用AllegroA3930K)、第一~第六场效应管Q1、Q2、Q3、Q4、Q5、Q6、低边采样电阻RSENSE、第一、第二电容C1、C2电流限制端口的第一、第二分压电阻R1、R2以及对地短路电流设置端口的第三、第四分压电阻R3、R4;
第一~第六场效应管Q1、Q2、Q3、Q4、Q5、Q6的第一端1分别连接控制芯片SC相高边场效应管栅极驱动端(引脚32)、SB相高边场效应管栅极驱动端(引脚29)、SA相高边场效应管栅极驱动端(引脚26)、SA相低边场效应管栅极驱动端(引脚36)、SB相低边场效应管栅极驱动端(引脚35)、SC相低边场效应管栅极驱动端(引脚34);
第一~第三场效应管Q1、Q2、Q3的第二端2连接蓄电池正电源VBAT,第一~第三场效应管Q1、Q2、Q3的第三端3分别与第四~第六场效应管Q4、Q5、Q6的第二端2一一对应相连并分别连接控制芯片SA相(引脚31)、SB相(引脚28)、SC相(引脚25),第四~第六场效应管Q4、Q5、Q6的第三端3通过低边采样电阻RSENSE接地,采样电阻RSENSE两端分别连接控制芯片低边电流采样电阻端(引脚22)、低边电流采样电阻对地参考端(引脚21);第一、第二分压电阻R1、R2串联,第一分压电阻R1一端连工作电压VCC另一端连接控制芯片电流限制值设置端口(引脚20)并通过第二分压电阻R2接地,第一电容C1并联第二分压电阻R2两端;
第三、第四分压电阻R3、R4串联,第三分压电阻R3一端连工作电压VCC另一端连接控制芯片对地短路电流设置端口(引脚23)并通过第四分压电阻R4接地,第二电容C2并联第四分压电阻R4两端。
其中,障诊断保护模块设置的BLDC电机电流限制值大于对地短路保护阈值,本申请举一实施例,用于说明其原理:三相对地短路的电流值Ishort=V/R=9v/30.67mΩ=293A
其中,V为BLDC电机驱动的最小电压,R为BLDC电机的绕阻阻值。
由于290A的电流值太大,一方面做了电流限制的处理,一方面做了短路保护的处理。
当VDS的值大于VDSTH的值时,VDS为场效应管的导通两端的压差,控制芯片A3930K芯片即会启动短路保护功能,关闭驱动级。
VDSTH为图1中对地短路电流设置端口的电压值
VDS电压计算公式为:VDS=I PROTECT*RDSON 公式1
其中,IPROTECT为保护电流,RDSON为场效应管导通阻抗,为2mΩ。
通过实测发现在本发明中电机启动电流或所需的最大电流为90A,因此将短路保护的电流值IPROTECT设为100A。
由公式1得出:VDS=100A*2mΩ=0.2V;
因此VDSTH的电压值应设置为小于0.2V。
电流限制值的计算公式:Itrip=(VREF–VOOS)/(AV*RSENSE)=(VREF-0.32V)/(19*1.5m)
其中,VREF为电流限制值设置端口的电压;VOOS为A3930K芯片的偏置电压320mV;
AV为A3930K芯片的放大倍数,值为19;RSENSE为采样电阻阻值,为1.5mΩ。
由此得出:Itrip=(VREF-0.32V)/(19*1.5mΩ) 公式2
通过上面的计算可知短路电流保护阈值为100A,并且限制的电流值需大于短路保护阈值否则无法报出短路故障,因此将限制的电流值设为110A。
则由公式2得出:Itrip=(VREF-0.32V)/(19*1.5mΩ)=110A
计算得到:VREF=3.46V。
由此可知,为了不影响对地短路保护及故障诊断功能,VREF电压值必须大于等于3.46V
如图1结合图3所示,故障诊断保护模块能输出故障标志位1和故障标志位2,利用故障标志位1和故障标志位2的组合将BLDC电机的故障划分为:正常状态、低负载状态、短路状态和逻辑过温欠压状态。
控制芯片A3930K的故障标志位1(FF1)端口与MCU的IRQ13端口连接,故障标志位2(FF2)端口与MCU的IRQ12端口连接,RSENSE电流采样端口与MCU的AD21端口连接,MCU的AD23、AD24、AD25连接到A3930K芯片的三相引脚,辅助诊断三相短路故障。MUC通过故障诊断保护模块的故障标志位1(FF1)和故障标志位2(FF2)采用以下组合识别故障:
故障标志位1为0,故障标志位2为0,标志为欠压故障;
故障标志位1为0,故障标志位2为0,标志为过温故障;
故障标志位1为0,故障标志位2为0,标志为逻辑故障;
故障标志位1为1,故障标志位2为0,标志为对地短路故障;
故障标志位1为1,故障标志位2为0,标志为对电源短路故障;
故障标志位1为0,故障标志位2为1,标志为低负载故障;
故障标志位1为1,故障标志位2为1,标志为无故障。
正常状态、短路状态、低负载状态和逻辑过温欠压状态之间的切换采用以下方式:
上电或初始化后,处于正常状态,当故障标志位2产生下降沿且三相且BLDC电机三相AD值全为蓄电池电压或对地电压,状态切换到短路状态;
在短路状态下,每隔第一预设时长(2秒)驱动电机转动第二预设时长(30毫秒),在预设时长内故障标志位2没有出现下降沿且三相电压未发生对地短路,状态切换到正 常状态;
第一预设时长为2秒~300秒,第二预设时长为10毫秒~40毫秒;本实施例以第一预设时长为2秒,第二预设时长为30毫秒为例。
在正常状态下若故障标志位1、故障标志位2同时出现下降沿则切换到逻辑过温欠压状态;在逻辑过温欠压状态中,故障标志位1、故障标志位2任意一个出现上升沿,则换到正常状态;
在正常状态下,故障标志位1出现下降沿则切换为低负载状态,故障诊断保护模块对该状态不进行处理和切换。
如图4所示,图4是FF1、FF2同时发生下降沿的故障时序示意图。以温欠压故障为例说明FF1、FF2同时出现下降沿时的故障诊断。
FF1、FF2为控制芯片故障输出引脚状态即故障标志位1、故障标志位2,H1、H2、H3为三个霍尔信号,Logic Flag:为逻辑故障标志位,Over Temp/Under voltage Flag为过温/欠压标志位,Fault status为故障状态
故障确认:因霍尔逻辑故障不需要FF1、FF2支持即可诊断,若FF1、FF2同时出现下降沿且没有逻辑故障则确认产生了过温/欠压故障。
故障修复:FF1、FF2只要有一个发生了上升沿即认为故障修复,状态迁移到正常状态,具体过程如下:
假设在T1时刻H1发生了开路,因有上拉,H1保持常高;
在T2时刻发生了逻辑故障,FF1、FF2同时产生下降沿,同时Logic Flag置1,故障状态由“正常状态”迁移到“逻辑过温欠压”状态,在下一次换相时,FF1、FF2被清除;
在T3时刻发生了逻辑故障故障修复,Logic Flag被置0,但故障状态需到下一个周期任务中处理,即T4时刻;
在T4时刻周期任务中,检测到没有霍尔故障且没有过温/欠压故障,将状态迁移到“正常状态”
T5时刻,在没有逻辑故障的状态下FF1、FF2同时发生了下降沿,确认产生了过温/欠压状态,将Over Temp/Under voltage Flag置1,同时将故障状态迁移到“逻辑过温欠压状态”
T6时刻,FF1、FF2产生上升沿,过温/欠压故障修复,将Over Temp/Under voltage Flag置0,同时将故障状态迁移到“正常状态”
如图5、图6和图7所示,以短路故障为例说明FF2出现下降沿时的故障诊断及修复。
故障确认:FF2发生下降沿且获取UA、UB、UC当前端口电压。
若三相都小于0.15v,确认三相对地短路;
若三相都大于等于当前供电电压,确认三相对电源短路;
若连续检测三次均未检测到以上两种状态,则认为没有故障;
若三次中任意一次检测到以上其中一种状态,故障确认完成,并结束本次诊断;
若检测到短路故障,状态由“正常状态”迁移到“短路状态”。
故障修复:每2s驱动一次电机运转30ms,在驱动过程中FF2没有产生下降沿且三相电压正常,则故障修复。若故障修复,故障状态迁移到“正常状态”
图5为三相对地短路故障诊断失败时序示意图,诊断步骤如下:
UA、UB、UC为三相输出电压,Enable Diag Flag为启动短路诊断使能标志位,Diag Count为短路诊断计数器,AD Detect为获取三相UA、UB、UC的电压值,Short GND Flag为对地短路故障标志位,Fault Status故障状态,Period Task为10ms的周期任务。
a、假设在T1时刻三相发生了对地短路,FF2产生下降沿,将Enable Diag Flag置1;
b、T2时刻,Diag Count加1,周期任务中获取UA、UB、UC三相端口电压,若电压值不全都小于等于0.15v,Short GND Flag值不变;
c、T3时刻与T2时刻处理一致;
d、T4时刻与T2时刻处理一致;
e、T5时刻,检测到Diag Count值为3且电压值不全都小于等于0.15v,则本次诊断结束且没有故障,将Enable Diag Flag置0。
如图6所示为三相对地故障诊断成功时序示意图。UA、UB、UC为三相输出电压,Enable Diag Flag为启动短路诊断使能标志位,Diag Count为短路诊断计数器,AD Detect为获取三相UA、UB、UC的电压值,Short GND Flag为对地短路故障标志位,Fault Status故障状态,COAST:coast引脚状态,Period Task为10ms的周期任务。
a1、假设在T1时刻三相发生了对地短路,FF2产生下降沿,将Enable Diag Flag置1;
b1、T2时刻,Diag Count加1,周期任务中获取UA、UB、UC三相端口电压;
c1、T3时刻,若电压值全都小于等于0.15v,将Short GND Flag值置1,故障状态由“正常状态”迁移到“短路状态”,同时将COAST引脚拉低
图7所示为对地短路故障修复时序示意图。
a3、T1时刻,将COAST引脚拉高,同时将Interrupt Flag置1,此时故障未清除,FF2产生下降沿;
b2、T2时刻,Interrupt Flag被置0,说明FF2有上升沿产生;
c2、T3时刻,将COAST拉低,等待下次修复;
d2、T4时刻,将COAST引脚拉高,同时将Interrupt Flag置1,此时故障清除,FF2没有跳变沿;
e2、T5时刻,将Short GND Flag置0,故障状态由“短路状态”迁移到“正常状态”。
如图8所示,MCU通过周期任务执行以下BLDC电机故障修复流程,故障修复原理请参考图7说明。
诊断BLDC电机当前是否有故障,若无故障,打开BLDC电机驱动级,将BLDC电机故障未修复标志位置1,否则每隔第一预设时长检测BLDC电机是否发生故障;
诊断BLDC电机故障未修复标志位是否被置1即电机驱动30毫秒是否完成,若完成将该标志位清零,BLDC电机故障未修复标志位被置1,关闭BLDC电机驱动级,计数器清零;
上述诊断BLDC电机故障未修复标志位是否被置1的步骤每循环一次,计数器加1,通过计数器判断是否累加到第一预设时长的时间,若达到第一预设时长打开BLDC电机驱动级,获取电机当前的位置或转向,确定修复时电机的转向;若当前位置与正转止点夹角小于等于102°,驱动电机反方向转动,否则驱动电机正方向转动;
若此时累加的时间不等于第一预设时长,直接判断当前累加时间是否等于第三预设时长,当前累加时间等于第三预设时长则将故障未修复标志位置1,否则结束否则结束该次BLDC电机故障修复循环;
第三预设时长=第一预设时长+第二预设时长。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。