Trying to create a controller to maintain a certain speed

1 view (last 30 days)
Hi guys, I've created a model to emulate a BMW R1200gs motorbike and my end goal is to run a simulation where the motorbike drives at full power to untl it reaches a speed of 60mph and then stays at 60mph over a period of 60 seconds. The acceleration is all working perfectly but I can't figure out how to make a controller that will keep the motorbike at 60mph once it reaches this target. I don't want to use a saturation limiter that just caps the speed I want to make it something that is controlled. I've inserted some images of the model so far bellow. Any suggestions would be much appreciated. :)
Overall model
MPH vs Time

Accepted Answer

Jonas
Jonas on 1 Apr 2021
Use a PI-controller which receives 60MPH as setpoint and receives the actual speed, which controls the engine torque.
  3 Comments
oliver shelley
oliver shelley on 1 Apr 2021
How do I navigate arround this to acheive what you're suggesting?
Jonas
Jonas on 1 Apr 2021
The 60MPH setpoint is coming from a Constant block.
When tuning the PI controller, start with gain of the integator of zero, and find a suitable value for the proportional gain. When the proportional controller can regulate the speed despite a steady-state offset, start adding integrator gain.
Please search online for basics on PI controllers.

Sign in to comment.

More Answers (0)

Categories

Find more on Automotive Applications in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!