Comments (4)
Yes, the autoTune feature can get stuck in the stabilizing mode with different systems other than using a basic Arduino with 10-bit ADC input and 8-bit PWM output and RC filter. I'll be working on an update to autoTune to improve compatibility with other systems (see issue#13).
Currently, it's assumed the user knows what input value to expect for a given output value. The update to autoTune will attempt to simplify things by only requiring the setpoint and some other parameters to run.
Sorry I'm not familiar with your system, but for now I'd suggest trying to manually the PID values or using an online or other autotune tool to get the estimated values.
from quickpid.
Thanks for making this PID library!
My own experience with is that even when using the 10bits ADC, 8 bit pwm and the filter with a diode and an LED and it still gets stuck in stabilize. The responses of diode and LED to input/output are very linear, but there is some noise of course. Or maybe the change in measured light is sometimes not detectable over the noise for a given change in PWM? Maybe the autotune is a bit overly sensitive?
Currently, it's assumed the user knows what input value to expect for a given output value.
I know this, but it is not clear to me how this knowledge could help me to run autoTune.
from quickpid.
@ilikegitlab, If the LED is connected to the PWM output, then this will impose a load on the output pin. In this case, the output pin's voltage will get reduced to 4.8V (for example). Now the expected response (4 counts input per 1 count output) would get reduced by 4%, causing autotune to get stuck.
I'm working on a major update to autotune where the stringent input to output relationship is removed. The new autotune will use a step-test method similar to described here. However, instead of graphical fitting, autotune will analyze the actual "s" curve from test results by using a sliding tangent line. I'm getting good results with the TCLab hardware, but have further development and testing (and little time), so it could take a while before its ready.
from quickpid.
I've Removed AutoTune in preparation for a new AutoTune library (sTune) compatible with QuickPID, PID_v1 and others. Should have this ready in the next few weeks ... more details to follow.
Closing the previous AutoTune issues as these will be successfully addressed by the new library.
from quickpid.
Related Issues (20)
- Add a simpler overload constructor and new adaptive control functions HOT 4
- myPID.SetSampleTimeUs not working as expected. HOT 4
- Bug in overload constructor HOT 1
- "No Classmember" Error HOT 2
- Negative inputs don't work with QuickPID HOT 3
- outputSum value stuck when using SetTunings HOT 1
- Derivative smoothing HOT 4
- Micros HOT 1
- millis() overflow problem. HOT 2
- Suggestion: custom getClock() function to allow removing reliance on micros() HOT 2
- Ideal and Series mode of pid + Pb HOT 2
- Use of constrain(..., -outMax, outMax) -> shouldn't this be constraint(..., outMin, outMax) ? HOT 1
- Change setpoint? HOT 2
- Add a default constructor HOT 2
- Compute fails for some reason. HOT 2
- Auto tune relay example?
- Why using 0.1sec as the base of the ratio calculation? HOT 2
- Using GetMode is awkward / myPID.setMode(myPID.getMode()) fails
- QuickPID::Initialize() is not public
- Compiler error on ESP32 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quickpid.