2020-03-05 02:18 AM
Hello,
I am trying to get the STEVAL SPIN3201 to work with my motor but when the board draws at around 1.1A it always reports an overcurrent fault. I tried to change the motor parameters to see if these are the reason but it had no effect at all. After that I also tried to change like every parameter in the drive settings (e.g. cut-off frequency) but it also had no effect.
Even when I set the overcurrent protection topology on "No protection" the fault still occurs.
I thought the evaluation board should be more or less plug and play when the motor values are right since everything else is given for the board by Motor Control Workbench.
Is there anything I can try to make the board work? I could not find additional reasons that might cause the overcurrent fault when the overcurrent protection is disabled. What could be the cause that the board does not work with most of the settings given by ST?
2020-03-09 02:25 AM
Hello,
Are you driving motor using the STSW-SPIN3201 firmware example?
If your motor is different from the reference (Bull-Running BR2804-1700 kV), have you change the respective settings via the MC Workbench and rebuilt the FW?
Otherwise please, give more details on the driving method and motor.
How did you disable the overcurrent protection?
Are you sure that is the overcurrent protection that is triggered or other protections?
Please refer to board user manual UM2154 for more details
2020-03-09 02:29 PM
I generated a new project using MC Workbench and adapted the motor settings. On a custom board I was able to go up 10A with the same motor settings but it does not work on the evaluation board.
I disabled the overcurrent protection my removing the check mark in MC Workbench. I already had a look at the user maunal you linked but as far as I could see the described overcurrent protection is the one I disabled in MC Workbench.
The way I tested the board was using the Monitor of MC Workbench. I tried to increase speed or torque really slow but every time the board draws around 1.1A of current it ends up showing "Over current" in the faults section of the MC Workbench monitor. I am not able to see anything that is not normal before the fault happens.
The fault seems to be independent of the speed. If I run the motor without load I can use the full speed range (the current is below 1.1A).
2020-10-20 07:22 AM
Dear @MEmmo.1
Do you have still this problem to solve?
And just in case, if not, do not hesitate to share the final solution you found. Thanks by advance.
Best regards
Laurent Ca...
2020-10-26 01:41 AM
Dear @MEmmo.1
I guess you don't have to solve this problem anymore, therefore I consider this thread closed.
If not, feel free to reopen it by posting an answer.
Best regards
Laurent Ca...
2021-06-21 11:03 PM
The question has been set only to the "STM32 Motor Control" topic (the question is only about the STM32 MC SDK).
Best regards
2021-12-16 11:01 AM
I am experiencing the same problem with STEVAL-SPIN3201. I am using a custom motor: AntiGravity T-motor MN4006-23 with custom settings (obtained from motor profiler). Even when I disable Over current protection in the WB, I still get over current fault. "Fault Ack" does not work.
Any idea what might be causing this?
2022-02-02 02:13 PM
I have a similar problem with the Nucleo IHM07M1. Every time I hit 1.1A it shuts down. Trying to figure out why. I even commented out
void TIMx_BRK_M1_IRQHandler(void)
{
/* USER CODE BEGIN TIMx_BRK_M1_IRQn 0 */
/* USER CODE END TIMx_BRK_M1_IRQn 0 */
if (LL_TIM_IsActiveFlag_BRK(TIM1))
{
LL_TIM_ClearFlag_BRK(TIM1);
R3_1_BRK_IRQHandler(&PWM_Handle_M1);
}
if (LL_TIM_IsActiveFlag_BRK2(TIM1))
{
LL_TIM_ClearFlag_BRK2(TIM1);
// R3_1_BRK2_IRQHandler(&PWM_Handle_M1);
}
/* Systick is not executed due low priority so is necessary to call MC_Scheduler here.*/
MC_Scheduler();
/* USER CODE BEGIN TIMx_BRK_M1_IRQn 1 */
/* USER CODE END TIMx_BRK_M1_IRQn 1 */
}
in the stm32f30x_mc_it.c to prevent it from "flagging over current" and didn't help, everything stops and the speed reference just drifts off into space due to start up and then faults. I'm suspecting the L6230PD it doing it with its CP+/- inputs however, I don't see anything on the my M1_OPC pin. So I can't understand what's causing this interrupt to trigger and these flags set.
Also looking at the PWM output it won't get past the initial startup profile. which is the default from the nucleo demo.
/****************************** START-UP PARAMETERS **********************/
/* Phase 1 */
#define PHASE1_DURATION 1000 /*milliseconds */
#define PHASE1_FINAL_SPEED_UNIT (0*SPEED_UNIT/U_RPM)
#define PHASE1_FINAL_CURRENT 12032
/* Phase 2 */
#define PHASE2_DURATION 3333 /*milliseconds */
#define PHASE2_FINAL_SPEED_UNIT (3333*SPEED_UNIT/U_RPM)
#define PHASE2_FINAL_CURRENT 12032
/* Phase 3 */
#define PHASE3_DURATION 0 /*milliseconds */
#define PHASE3_FINAL_SPEED_UNIT (3333*SPEED_UNIT/U_RPM)
#define PHASE3_FINAL_CURRENT 12032
/* Phase 4 */
#define PHASE4_DURATION 0 /*milliseconds */
#define PHASE4_FINAL_SPEED_UNIT (3333*SPEED_UNIT/U_RPM)
#define PHASE4_FINAL_CURRENT 12032
/* Phase 5 */
#define PHASE5_DURATION 0 /* milliseconds */
#define PHASE5_FINAL_SPEED_UNIT (3333*SPEED_UNIT/U_RPM)
#define PHASE5_FINAL_CURRENT 12032
I captured both one of the PWM Channels [red] and my output compare [yellow] (M1_OPC) which should be what's triggering BRK/2.
Really hope someone has fixed this problem, So far i'm out of ideas to check. I'm going to keep digging. I guess it could be hardware issues?
Edit: One thing to note, the profiler works just fine. it takes a few tries to spin it up but it goes.
Edit 2: Got it working! It was all about the startup / motor parameters. I used the motor profiler and got the correct values and startup, works great! Always profile your motor first! hah.