2020-06-02 06:27 PM
Hi!
I have an I-PMSM motor and interfaces an incremental encoder with A B ,without Z.
Sometimes after doing encoder alignment,the motor runs reverse to the max speed,and it will never recover until i do encoder alignment again。
I set the speed 30RPM,but when start ,the motor goes to -200+RPM.
Most time the motor runs well but sometimes the problem will happen.
(STM32 F303VCT6 ;PWM16000KHZ ;Main Sensor :Incremental Encoder2048 no Z-index)
I hope someone could help me figure out the problem.
Best wishes.
Solved! Go to Solution.
2020-10-19 08:38 AM
Hi
Cheers
2020-09-14 12:35 AM
Dear CQi.1
Do you have still this problem to solve?
Best regards
Laurent Ca...
2020-09-25 02:45 AM
Hello Laurent Capella
I'm not CQi.1 but I'm having exactly the same problem. Very hard do debug because it happens so rarly. Any hints on where to start or how to resolve this Problem?
Best Regards
2020-09-26 05:59 AM
Dear Laurent Ca...
The problem is still there,your team told me it's a bad encoder alignment, increase the alignment currents and time may solve the problem, actually it decrease the error rate, but not solved.
So i added a step to check the alignment, if motor runs reverse,I do encoder alignment again.
Best wishes!
Consen Qi.
2020-09-28 12:07 AM
Dear @CQi.1 , dear @Pascal Klingelhöfer
I do not know if it will help, but according to our "STM32 Forum rules", could you detail your HW configuration (boards, and so on).
Best Regards
Laurent Ca...
2020-09-29 07:17 AM
Hello Laurent. @Laurent Ca...
I have the same issue and I contacted Japan local team already not yet have the answer
My hardware:
SPIN3201 board, a hub motor, 10 pairs, 340rpm max
start up config:
700ms, 90 degree, 1.95A as default,
use encoder solution, 1024 resolution.
it has about 3% chance that alignment failed in my case. when alignment failed, the speed is -456rpm.
what I can find is that:
when using encoder, the motor started with sensorless, so when I align it to 90 degree, the position the driver got is not that accurate. (maybe sometimes 700ms passed but it has not reach 90 degree, sometimes it just reached and 700ms passed and the rotor moved slight because of initia)
this struck me for about one month.
2020-10-14 08:38 AM
Dear @ypu
Did you received answer from ST japan local support team?
Best regards
Laurent Ca...
2020-10-14 08:39 AM
2020-10-14 08:42 PM
No...
2020-10-16 01:22 AM
Hi, there are possible solutions to fix your problem:
void ADC1_2_IRQHandler(void)
{
ADC1->SR &= ~(uint32_t) (ADC_FLAG_JEOC | ADC_FLAG_JSTRT);
qd_t Iqd, Vqd;
ab_t Iab;
SpeednPosFdbk_Handle_t *speedHandle = STC_GetSpeedSensor(pSTC[M1 ]);
int16_t hElAngle = SPD_GetElAngle(speedHandle) + m_eAngleAdjustment;
.
.
.
}
NOTE: the variable m_eAngleAdjustment is s16degree, you could try to fine tune the electrical angle between -30 to +30 degree which could adjust the encoder vs rotor magnet miss alignment angle.
Hope can you.
Best regards