请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:DRV8711 工具/软件:
尊敬的支持团队:
我希望此消息能帮您找到答案。
在我们的电机驱动器电路中将现有的 MOSFET AUIRF540ZSTRL 替换为您的产品 IRLS4030TRLPBF (请找到相应的附件)后、我们目前面临一个问题、它使用 DRV8711驱动电机。
更换后、我们观察到电机不运转。 检查电压后、我们发现 IRLS4030TRLPBF 的栅极电压在工作期间保持在非常低的水平(约0.6V)。 相比之下、AUIRF540ZSTRL 之前的栅极电压范围为5V 至15V (取决于电机方向)、在使用 DRV8711运行时没有问题。
我们还尝试更改栅极电阻器(4Ω、10Ω、 22Ω)、但这并没有解决问题。
我们恳请您协助了解:
1.为什么 IRLS4030TRLPBF 在此设置中不能正常打开。
2.该 MOSFET 是否与 DRV8711栅极驱动特性兼容。
3.任何修改电路的建议都需要作出驱动 MOSFET。
软件 PWM 功能是
void pwm_freqncy (int32_t)
{
int32_t;
int32_t RES1;
RES1 = RES;
T_count2 =(f_cpu/(RES1 * 2*1));
T_count2 = (t_count2 - posone);
ICR4 =(int16_t) t_count2;//22
TCCR4A = 0x10;//*在 CTC 上切换 OC4B */
TCCR4B = 0x19;/** WGM =切换、模式 CTC、无预分频器**/
// TIMSK4 = 0x02;
}
{
int32_t;
int32_t RES1;
RES1 = RES;
T_count2 =(f_cpu/(RES1 * 2*1));
T_count2 = (t_count2 - posone);
ICR4 =(int16_t) t_count2;//22
TCCR4A = 0x10;//*在 CTC 上切换 OC4B */
TCCR4B = 0x19;/** WGM =切换、模式 CTC、无预分频器**/
// TIMSK4 = 0x02;
}
void WriteAllRegisters ()
{
uint8_t dataHi = 0;
uint8_t dataLo = 0;
/**写入 CTRL 寄存器**/
dataHi = 0x00;
dataLo = 0x39;//0X39;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入扭矩寄存器**/
dataHi = 0x16;
dataLo = 0x39;//0x36;//0x20;// 0x30;//0x58
Driver_stat = dataLo;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**注销寄存器**/
dataHi = 0x20;
dataLo = 0x28;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入空白寄存器**/
dataHi = 0x30;
dataLo = 0x00;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入衰减寄存器**/
dataHi = 0x41;
dataLo = 0x0F;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入失速寄存器**/
dataHi = 0x5F;//0x5C;//0x50;
dataLo = 0xFF;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入驱动寄存器**/
dataHi = 0x6A;//6F;//6A
dataLo = 0x59;//59;//FF
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入状态寄存器**/
dataHi = 0x70;//6A
dataLo = 0x00;//FF
SPI_DRV8711_ReadWrite (dataHi、dataLo);
ReadAllRegisters ();
}
{
uint8_t dataHi = 0;
uint8_t dataLo = 0;
/**写入 CTRL 寄存器**/
dataHi = 0x00;
dataLo = 0x39;//0X39;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入扭矩寄存器**/
dataHi = 0x16;
dataLo = 0x39;//0x36;//0x20;// 0x30;//0x58
Driver_stat = dataLo;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**注销寄存器**/
dataHi = 0x20;
dataLo = 0x28;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入空白寄存器**/
dataHi = 0x30;
dataLo = 0x00;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入衰减寄存器**/
dataHi = 0x41;
dataLo = 0x0F;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入失速寄存器**/
dataHi = 0x5F;//0x5C;//0x50;
dataLo = 0xFF;
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入驱动寄存器**/
dataHi = 0x6A;//6F;//6A
dataLo = 0x59;//59;//FF
SPI_DRV8711_ReadWrite (dataHi、dataLo);
/**写入状态寄存器**/
dataHi = 0x70;//6A
dataLo = 0x00;//FF
SPI_DRV8711_ReadWrite (dataHi、dataLo);
ReadAllRegisters ();
}
上面的代码支持 AUIR MOSFET、但不支持 IRLS MOSFET