The code has been reworked to show the results of an early step change in set point from 0.5 to 0.6 and to 0.5. This is repeated ten times and the results sent to the console.
The early and final values of the weight vector are also available for comparison
The code is attached Acontrol.js.
Acontrol1a.csv and Acontrol1a.xlsx show the results of R=100k and C=10uF. The sample interval is 500ms.
The response to the step change shows a slight overshoot of the set point with damped ringing. The weight vector shows some change with time.
Acontrol1b.csv and Acontrol1b.xlsx show the results of R=100k and C=50uF. The sample interval is 500ms.
The response to the step change shows a smooth transition to set point with no overshoot. The weight vector shows some change with time.
The 50uF/ 100k circuit has a time constant 5 times greater than the 10uF/100k circuit. So a second run was made with the 10uF/100k circuit but changing the sample rate from 500 to 100ms. These results follow.
Acontrol1c.csv and Acontrol1c.xlsx show the results of R=100k and C=10uF. The sample interval is 100ms.
The response to the step change shows a smooth transition to set point with no overshoot. The weight vector shows some change with time.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
More on adaptive control
The code has been reworked to show the results of an early step change in set point from 0.5 to 0.6 and to 0.5. This is repeated ten times and the results sent to the console.
The early and final values of the weight vector are also available for comparison
The code is attached Acontrol.js.
Acontrol1a.csv and Acontrol1a.xlsx show the results of R=100k and C=10uF. The sample interval is 500ms.
The response to the step change shows a slight overshoot of the set point with damped ringing. The weight vector shows some change with time.
Acontrol1b.csv and Acontrol1b.xlsx show the results of R=100k and C=50uF. The sample interval is 500ms.
The response to the step change shows a smooth transition to set point with no overshoot. The weight vector shows some change with time.
The 50uF/ 100k circuit has a time constant 5 times greater than the 10uF/100k circuit. So a second run was made with the 10uF/100k circuit but changing the sample rate from 500 to 100ms. These results follow.
Acontrol1c.csv and Acontrol1c.xlsx show the results of R=100k and C=10uF. The sample interval is 100ms.
The response to the step change shows a smooth transition to set point with no overshoot. The weight vector shows some change with time.
7 Attachments