parallaxinc / Simple-Libraries

Contents of the SimpleIDE workspace folder and its Parallax Learn Simple Libraries subfolder.
http://learn.parallax.com/propeller-c-set-simpleide/update-your-learn-folder
21 stars 21 forks source link

abdrive360 - Control system tuning #119

Closed AndyLindsay closed 6 years ago

AndyLindsay commented 6 years ago

Tune position and speed control system constants.

AndyLindsay commented 6 years ago

do we really need dcp?

From control.c // Limit output proportional to speed limit??? This may have been intended // to be proportional to the current target speed. int opMax = fb[p].speedLimit / 4;

This might cause problems in pidA when switching from speed to distance control: fb[p].angleCalc = fb[p].angle;

Consider making transfer function start at +/- 30 us instead of +/- 20 us.

Combine speed calc angle with goto target angle?

Study sudden startup at rampsteps of 12.

Speed overshoot in servo firmware when acceleration is fast

AndyLindsay commented 6 years ago

Default angular control PID constants tuned. Speed control functions added to limit max rate turning to large angles.

The servo360 type was also changed to servo360_t.

Example program "Dev - Test Setting Control System Constants (1).side" in Documents\SimpleIDE\My Projects\Tests Servo360\ was used to tune it.

Updates are in this commit, but always make sure to get the latest from the community branch.

AndyLindsay commented 6 years ago

abdrive360 - Control system tuning velocity initial snapshot

Snapshot in this commit, but always make sure to get the latest from the community branch.