Other Parts Discussed in Thread: DRV8161EVM
Tool/software:
I am reaching out to request technical assistance with some issues I've encountered while using the DRV8302 circuit. Initially, I faced a problem with the integrated buck converter failing to output 5 volts, which led me to disable it by connecting the EN_BUCK PIN to GND and using an external power source instead.
During the first trial, the motor only vibrated without turning, and shortly afterward, pins 29 and 30 burned out, showing nFAULT and nOCTW errors. In the second trial, I avoided connecting any components to the buck converter and connected pin 55 to ground. Unfortunately, after powering up the system, the card burned out, and pin 55 was also damaged.
I seek your support to understand whether the IC is still operational and undamaged, and to know the required signal to be input into the circuit. I am using a Six Step Commutation algorithm with an STM32F105 to generate the signal. Is this issue related to hardware or software? I have checked all internal power pins, and their values were within the acceptable range.
You can access the project files from here:
https://drive.google.com/drive/folders/1kg5lvlmvnN4wENb28xE1LVQ3SBfBA0m2?usp=sharing
Here is some of the control code used in my experiment:
/****************************** STATE 1 *********************************/ if (HALL_A==1 && HALL_B==0 && HALL_C==1 ) { //B->A set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, 0.0); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, Duty);//BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, 0.0); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin, 1 );//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin, 0 );//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin, 0 );//CL } /****************************** STATE 2 *********************************/ else if (HALL_A==1 && HALL_B==0 && HALL_C==0 ) { //C->A set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, 0.0); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, 0.0); //BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, Duty); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin, 1);//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin, 0);//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin, 0);//CL } /****************************** STATE 3 *********************************/ else if (HALL_A==1 && HALL_B==1 && HALL_C==0 ) { //C->B set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, 0.0); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, 0.0); //BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, Duty); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin,0 );//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin, 1);//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin, 0);//CL } /****************************** STATE 4 *********************************/ else if (HALL_A==0 && HALL_B==1 && HALL_C==0 ) { //A->B set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, Duty); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, 0.0); //BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, 0.0); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin, 0);//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin, 1);//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin, 0);//CL } /****************************** STATE 5 *********************************/ else if (HALL_A==0 && HALL_B==1 && HALL_C==1 ) { //A->C set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, Duty); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, 0.0); //BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, 0.0); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin, 0);//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin, 0);//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin, 1);//CL } /****************************** STATE 6 *********************************/ else if (HALL_A==0 && HALL_B==0 && HALL_C==1 ) { //B->C set_PWM_duty_cycle(&htim1, TIM_CHANNEL_1, 0.0); //AH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_2, Duty); //BH set_PWM_duty_cycle(&htim1, TIM_CHANNEL_3, 0.0); //CH HAL_GPIO_WritePin(INL_A_GPIO_Port, INL_A_Pin,0 );//AL HAL_GPIO_WritePin(INL_B_GPIO_Port, INL_B_Pin,0 );//BL HAL_GPIO_WritePin(INL_C_GPIO_Port, INL_C_Pin,1 );//CL } /***********************************************************************/
I hope you can assist me in resolving these issues as soon as possible. Thank you for your attention and assistance.
Best regards,