2025-08-01 4:23 AM
I have multiple issues while driving the vehicle with the MCSDK software running. It is custom hardware MCSDK6.4.0
Hall sensor based.
1. Every time i start the vehicle at the beginning it jerks and then picks up, the behavior is not predictable, but jerking is always there some times more, less and hall fault etc. Now i have tested again on the bench and captured the waveform of the phase currents
The first few steps before the sinusoidal phase currents is problematic, so if i count i get 3 jerks before the motor started running. Can i eliminate this? It always happens when i start. Does it have anything to do with hall placement angle. I have not run the Motor pilot as i don't have the setup for that. I can perform multiple iterations of trial and error for the placement angle if the above angle is a problem at present it is 30. And my forward movement and reverse does not have the same placement angle may be due to the motor design.
Next major problem is intermittent speed feedback fault i can't predict when it happens this mainly occurs when i am starting the vehicle and also intermittently. On the bench i have tried to produce the issue
Measured angle started deviating from the super angle and fault happens.
Both the above are the same scenario 0x20 fault
All the start and stop scenarios all in between i find jerks.
Starting jerk before starting.
I have taken several failure graphs, if you can suggest me the correct direction i can look into. My only question the behavior shall be predictable but it is not.
2025-10-09 2:37 AM
Hello @GMA
Thank you for the reply, i will try and update you.
2025-10-15 8:36 AM
Hello @GMA
Sorry for the delay, i had some issues with the tools, i have completed the lab testing and below are my observations and also attached the testing videos, any recommendations will help me to close the issue. I have yet to do the vehicle testing which will have more load.
Observation1: As per the previous recommendation i have changed the input capture filter duration to 0.1uS but i did not notice any improvement and i have reverted back to 0.7uS the default value and continued the testing, and the fifo depth was 16 i have not modified it.
Observation2, Slow Iq Ramp: The motor command is based on throttle so as it is increased the Iq will be increased so it will start from minimum value and slowly increase, here the jerks are more and i have attached video. The main reason according for the motor to move it requires minimum Iq so once that is achieved the motor started to spin.
Observation3, High Iq on power On: Based on the above observation to avoid continuous jerks on motor start i have given high Iq which is required for running the motor. In this case the motor jerks for one time which and then runs smoothly. To avoid the one jerk i have updated the code with below one line
/* Discard first capture */
if (0U == pHandle->FirstCapt)
{
pHandle->FirstCapt++;
(void)LL_TIM_IC_GetCaptureCH1(TIMx);
pHandle->CompSpeed = 10;
}
The Comspeed made to some default value of 10 which i thought will help the pHandle->_Super.hElAngle to move to next angle which is calculated from my understanding in __weak int16_t HALL_CalcElAngle(HALL_Handle_t *pHandle).
I know it is risky as it is open loop i am trying to make it closed loop to avoid issues with that change.
My expectation is i want to increase the Iq value slowly and at correct Iq value, the motor shall start spinning without jerks. Is it possible? and can you give some recommendations. At present i am trying to work with high Iq value at power on, but managing the Iq has become little tough as i have to add additional application code. Just one additional i have also tested with standard controller and it starts smoothly at certain point of throttle. Thank you very much for support.