Hello Community,
I am using MCSPTE1AK144 EVB. I want to run a motor by using the 6 step commutation. Currently I am able to run the motor with hall sensor feedback. Now I am facing issues When the motor starts from the Sector 2.
At initial stage, If the rotor starts from sector 2 it is not going to next sector , I have to push the motor little bit to next sector then the motor starts rotating properly.
If the motor starts from any other sector , it is working properly. My doubt is why in sector 2 the rotor not able to move.
I am attaching my project please have a look and help me to solve this.
Thanks in advance,
Sarwath
Hello,
Alignment state is important for sensorless control of the BLDC Six-step.
Sensorless control with no position sensor requires to get rotor from unknown to known position.
Once you know where is your rotor position you can start-up the motor with maximum torque, because you can apply voltage vector/magnetic field perpendicular to rotor flux.
alignmentTimer is configurable parameter and it gives some time to rotor to be properly aligned with new required position.
BLDC control with Hall sensor doesn't need this alignment process. It can be bypassed.
Regards,
Marek
Hello @marekmusak ,
Thanks for your response.
In MCSPTE1AK144_BLDC_6Step code both (sensor based/sensorless ) is using the alignmentTimer parameter. If I remove the alignmentTimer parameter (sensor based) motor is not rotating from particular sector (sector 2), then I added alignmentTimer. After adding it can able to rotate from all sector.
I attached my project in this same thread (without adding the alignmentTimer), Please have a look and let me know what I am doing wrong.
Hello @marekmusak ,
With the help of hall sensor feedback I got the actual rotor position.
During start up, I gave duty cycle to 90 % once the motor start the duty cycle is controlled by the potentiometer. In few sector I am not getting the smooth start if I increase the POT value the motor is not rotating it is cogging then I deceased the POT value again I started increasing now it is rotating . what I understood is it taking time in few sector. I don't know the reason. I have attached my test result (CW and CCW). Please have a look and let me know your thoughts.
Note : STATUS green for good start and red for bad start.
BR,
Sarwath
Hello,
These two bit fields control OUTMASK and SWOCTRL of the Flextimer (FTM) in order to create complementary unipolar PWM (see AN12435 Figure 6).
Output Mask register (OUTMASK) provides a mask for corresponding FTM channel and Software Output Control register (SWOCTRL) actively force FTM channel to predefined value.
So for the 0 commutation sector we apply:
So output of the FTM channels for 0 sector is:
See detailed description in application note AN12435.
Regards,
Marek
Hello @marekmusak ,
Thanks for your explanation.
what is alignment vector? why it is required in BLDC motor control.
In MCSPTE1AK144_BLDC_6Step code (sensor based), after the alignment vector initialized there is delay (alignmentTimer) it is decreasing from 20,000 to 0. why this delay is required.
Hello,
I have asked kit owner to have a look at your query.
But meantime you can start with checking reference software, to find out where you did mistake.
Best regards,
Peter
Hello @petervlna ,
Once the feedback from hall sensor the output mask control and software output control is set to generate the pwm. I want to knew the logic behind this i,e 0x34 and 0x0808 for sector 0. How it is predefined.
In sample code, after the alignment vector initialized there is delay (alignmentTimer) it is decreasing from 20,000 to 0. why this delay is required.
Thanks in advance,
Sarwath