SBL1360 in Closed Loop Speed - Low speed oscillations and high speed steady state error

6 years 1 month ago #29530483 by mmiles19
Hey guys. So I've got a RoboteQ SBL1360 motor controller connected to a Neumotor 1907 3-phase brushless motor. We're using them to drive a robot ground vehicle. I'd like to implement closed loop speed to help prevent slippage issues in rough terrain and I've gotten a decent set up but I'm having trouble with some really intense oscillations at low speed (around <200 RPM) and also trouble in reaching max speed. Right now at top speed, it's probably around 50% max power (although I know I can adjust this by adjusting my Max Speed under Motor Output > Speed & Acceleration, I don't know what kind of effect this will have on my PID loop). My profile is attached. Please note that it wouldn't be unbelievable that the cause is something to do with motor configuration but I don't think that is the case. My PID gains are P=0.1, I=1.8, D=0.2.

Thanks in advance,

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

6 years 1 month ago #29530484 by TechSupport
In closed loop mode some things are different than the open loop mode since it is looking now for specifics.

The Max speed in your speed and acceleration parameter is the actual max speed you desire to be the limit.

Acceleration deceleration values will come into play along with the PID values. If the PID values are not properly configured to make your motor move to get to speed and smoothly, this could create problems.

The power that is applied changes based on where the motor is at based on speed. So upon initial start up, it depends on the command that is issued. If going from rest to a low speed, it won't draw much power. If going from rest to a really fast speed, then it will draw lots of power initially until it gets to speed, and the power gets reduced and will maintain that speed.

Remember that the PID tuning may need to be further adjusted when the motor is under load.

Considering that your speed is not getting reached and you are experiencing oscillations, it could be the speed and acceleration parameters that will neeed tuning, or the PID.

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

6 years 4 weeks ago #29530485 by mmiles19
I have gotten a decent acceleration response under no load but my main issue is going from a reasonable speed to 0. The motor goes to 0, pauses for a fraction of a second, and then oscillates very aggressively. What gains or speed/acceleration parameters can I adjust to help with this?

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

6 years 4 weeks ago #29530486 by TechSupport
For starters go with the following. In your case it may be different since the values you use are less.

P = 0
I = 2
D = 0

Loop error detection disabled

Use the default speed and acceleration parameters to start.

Typically the "Run" tab is used with the sliders to give the commands. This way Channels can be set to do measurements.

If the motor coming back to 0 doesn't stop and begins oscillating, then reducing the I gain is the step to take. Usually P gain is used after the I gain is tuned, which may be the cause of the problem.

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

Moderators: tonysantoni
Time to create page: 0.088 seconds