MBL1660A - Sensorless close loop : motor power increase as no feedback signal

4 years 11 months ago #29534150 by bbbb007119
Hello all,
I have tested the MBL1660A for sensorless control of BLDC.
In the open loop, every thing is OK : motor start smoothly in both direction, and spins well with different motor power.
But in the Close loop, even i set COMMAND = 1 or -1, the motor power will increase gradually to maximum and motor is accelerated progressively to its max speed.
I find that the Hall sensors speed is increase correctly but the feedback is always 0, so i think this make the PI controller increase to max the motor power.
So someone could help me for this issue?

Ps :
- I have update the firmware to the newest version, and my roborun+ is rev.1.8 10/27/17.
- I have two choices for "Close loop feedback sensors " - "Hall sensor" or "other", i have select the hall sensors in this case. If i take "other", the motor doesn't spins anymore.
Attachments:

Please Log in or Create an account to join the conversation.

4 years 11 months ago - 4 years 11 months ago #29534151 by Gabriel_Isko
I will try to reproduce this behavior in my office. Do you think you could post a copy of your configuration settings?

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534153 by bbbb007119
Hello Gabriel_Isko,

Thanks for your response, please find attached my configuration.

File Attachment:

File Name: Sensorless...loop.zip
File Size:2 KB
Attachments:

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534162 by Gabriel_Isko
Okay, I will take a look and let you know what I find. Also, let me know which motor you have.

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534166 by bbbb007119
I have try to control two BLDC motors, one has 3 pairs of pole and the other have 2, I get the same result for both two motors as mentioned previously : they work well in open loop control but no feedback in close loop, so the motor is accelerated all the time.
I have also tested different PI regulation parameter but no effet in this issu.
Thanks in advance for your help!

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534169 by Gabriel_Isko
Hey, It looks like a lot of your acceleration and deceleration settings are really off, as are your PID gains. Because your I gain is so high, you are in an unstable control state, which means that the motor output is going to want to reach 1000 no matter what. The only reason it doesn't approach that value very fast and over shoot is that you have lowered your acceleration value.

There is a conflict of control loops between sensorless and hall sensor speed. If you have hall sensors, there is no reason to use sensorless mode. At low RPM, when the motor is trying to run the rotor at start up speed, this becomes apparent. Is there a reason that you are not using trapezoidal switching?

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534171 by bbbb007119
Hello Gabriel,
Thanks for your response.
In fact i have tested the motor with different PID gains and Acceleration/deceleration value, even i put 50 startup power, 500rpm/s acceleration, P =2 and i=2, the output will go to 1000 in close loop, it seems like no feedback signal in the PID loop, so the PID considers the motor speed is always 0 and it will accelarate the motor with maximum power (in the point of vue of PID, the motor does not spins as feedback is 0, but in realty the motor spins).

And there is no Hall sensors in my motor, i use sensorless control and only U,V,W outputs are connected to my motor. In the Roborun+, i can measure hall sensors speed, because when motor turn in nominal speed, the back EMF signal give the same type of position information as hall sensors.

In close loop feedback parameter, only "hall sensors" and "other" could be selected, as i mentioned, if i use "other", there is no output at all, and if i use hall sensors, the motor will spin to its maximum speed, No matter how i set the PID gain and acceleration speed.

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534192 by Gabriel_Isko
No, in this firmware you cannot use sensorless commutation as a form of position feedback. Therefore you cannot perform closed loop control without an external sensor.

Sensorless refers to commutation sensors. You can still drive the motor in open loop without an encoder in sensorless, however you will need one if you would like to operate in any closed loop mode that relies on position feedback.

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534198 by bbbb007119
Got it, thanks for your kindly help.

It’s a pity that the current firmware doesn't support the close loop in sensorless mode.

In fact when the Back EMF is big enough to detect, the information provided by sensorless back emf cross zero detection (which is used in current roboteq firmware) is practically identique to the information from hall sensors.

This is why the roborun+ can measure and provide the "hall sensors speed" in sensorless open loop mode. To use this information for running close loop, for me is not difficult, i have done the same thing in my Arduino based control system by modifying a dozen lines of code in my close loop software using hall sensors.

Really hope this function can be added in the future firmware release.

Please Log in or Create an account to join the conversation.

4 years 11 months ago #29534203 by Gabriel_Isko

bbbb007119 wrote: Got it, thanks for your kindly help.

In fact when the Back EMF is big enough to detect, the information provided by sensorless back emf cross zero detection (which is used in current roboteq firmware) is practically identique to the information from hall sensors.


At low RPM, the Back EMF isn't big enough to detect, which is the root of why you are running into errors. We have this working in our beta firmware by essentially performing open loop at low RPM and not running the speed control loop, but our current sensors are simply not sensitive enough for most motors. It is for this reason that our current firmware doesn't use the sensorless information as position feedback.

Please Log in or Create an account to join the conversation.

Moderators: tonysantoni
Time to create page: 0.074 seconds