GithubHelp home page GithubHelp logo

pidtuner / pidtuner.github.io Goto Github PK

View Code? Open in Web Editor NEW
239.0 239.0 27.0 11.26 MB

Free PID Controller gains tuning tool

License: GNU General Public License v3.0

JavaScript 80.47% HTML 14.89% TeX 0.15% CSS 4.49%

pidtuner.github.io's People

Contributors

pidtuner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pidtuner.github.io's Issues

Can't change Selected Time Range

Hello, guys,

Is it just me or it isn't possible to change "Selected Time Range"?
image

It's possible when I have multiple step inputs to select the range of the desired one, but when it's only one I can't change it.

Thanks!

PID Tuner no longer working...

Hello,
I used PID Tuner intensively until December 2023.
I tried to use it yesterday and today, but it stuck on "select model" step.
Does anyone know what happened with the app?

support Cleanflight/Betaflight/INAV logs

Betaflight is currently one of the most popular software solutions for racing/freestyle quadcopters. As far as I know, all efforts to make automatic PID tuning weren't sufficiently successful so none of the Cleanflight forks pursue this goal now.

I couldn't find exact description of the file format, but here are some links:

Unfortunately I don't have any sample blackbox logs on hand so I'll try to grab some later this week.

Please ask if you have any questions.

Where is the math?

Hey.

Where do I find the actual PID tuning math?

I've gone over the files, and I can't find an obvious place that looks math-intensive.

Is it in pid/v1.0.6/pid_tuner.js ?
Is it pre-compiled as wasm ?
Is it just not available and accessed through calls to a remote API ??

Thanks a lot in advance.
Best regards.

Question about sys id and documentation

Hello,

I was trying to do sys id with least square approach and do some pole placement or lqr based on my first order model. And then I found out about your website.

It really takes out a lot of the work that I had to do. A few thing I want to ask.

  1. It seems like both first and second order model has a time delay in the base model. Is it possible to get rid of the delay? It might be easier for me to model the delay as slower response instead of a real delay for the purpose of pole placement.

  2. is there any documentation on how the tool is choosing the optimal parameter? The reasoning is if the tool did not find a set of param that works, tuning further would be harder.

Thank you for advance,

Sincerely,
Sean

PID controller saturation

Hi,

The app is very useful, but it would be awsome, if I could add saturation for the control signal during tuning.
Without that, it is very hard to tune an embedded controller that almost always has saturation.

Thx,
Laszlo

support PX4 autopilot flight logs

Would it be possible to add support for PX4 autopilot flight logs? PX4 is an open source autopilot project that runs on a wide range of hardware ranging from hobbyist to professional and supports many different types of vehicles (multicopters, planes, hybrid VTOLs, etc).

If there's interest in this I'd be happy to go into detail about which fields to access sensor data, actuators, etc.

forum registration fails

Hi, I tried to register, but it says: "Register error: Domain is neither blacklisted nor whitelisted"

I don't get an email.

Make clearer how one updates the graph after changing a gain value

Thanks for producing a great online PID tuner. This issue may sound stupid but it actually took me a while to work out that I needed to press enter, after changing a PID gain value, in order to get the graph to update.

Initially, I changed the gain values and tabbed between the fields and then looked around for a button named e.g. Update. I didn't see any obvious way to update the graph to reflect the changes I'd made.

I tried various stupid things before trying enter - so, while it may seem obvious once you know it, perhaps it's worth pointing out that one has to press enter in a given field in order to update the graph. Or add focus listeners that update the graph when the user leaves a field (e.g. by tabbing out or clicking on another field).

Your tuner is also a very nice way for beginners to experiment with the effects of altering the P, I and D values - so it might also be an idea to also package it on its own as a simple simulator. I.e. present the last step as a tool in itself - where users just work against the canned data and adjust the gain values to get an insight into how each affects the output, perhaps with some very brief text below to guide the user a little bit (there are endless introductory pages out there on PID controllers, so I don't mean reproducing one of those, I just mean maybe a one-liner for each field outlining what users should try and can expect from adjusting that field).

Questions about Input Limitations and "du_Lim"

Hello,

First I really thank you for creating this project. It's an amazing idea to open this subject to peoples that are not in this professional field like me. (Personally, I would like to use it to tune PID controller for Kerbal Space Program kOs Mod).

(I'm sorry if issue section wasn't the correct one to ask the following ##questions)
Here my questions :

1/ In the "Tune PID" tab, a variable is "du_lim". May I ask you what is this variable so I can make further research to better understand its effect ?

2/ I would like to implement a maximum/minimum input limitation. (for my example the throttle is locked between [-1, +1]. Is there an option where I can implement that ?

Thank you for your time, I wish you a wonderful day.

desimal point

The input uses "." (dot) as decimal point and the output uses "," (comma) as decimal point

How to tune a Soft-PWM tuned heater behind an SSR

Quite thanks for the cool pidtuner.com website as well as this project.

I'm trying to find good PID constant for a PID controller who's output goes into an software-PWM which in turn drives a SSR who's switching a heater.
So in real the PID output value controls the on/off pulse of the SSR.

In my specific case I use a PWM Window of 5000ms which mean the PID will output values from 0 to 5000.

Now I tried to find good PID values with the help of this cool tuner here, but I get useless results.

First of, I tried to feed PID Tuner's input with the state of the SSR, so 0=off, 1=on (with a quite fast data input rate of approx. 500ms so that I get a good resolution). PID Tuner find a good Model but the estimated PID constants are below 0.0...

After reading the very detailed and good PDF, which clearly states that PID Tuners input hast to be exactly PID Controllers output, I fed PID Tuner input with the expected PID controller output (PWM input). In practice this is a couple of 5000 (max PWM windows size) over a period of some seconds and than a loooot 0 for the settle time phase (this is how I understood how to do the "step test").

The resulting calculated PID Model looked nearly perfect and the calculated pid values also looked better (i.e. Kp 190, Ki 5, Kd 1200).

But after checking these values in practice, I wasn't very happy with the result.

For testing purposes, I simply divided the PID Tuner input values by 2 and PID Tuner calculated me approx. 1/2 of the PID constants.

This is not realistic, which shows me that I either input the wrong values into PID Tuner or that I do have to input other data in my special case where I drive an PWM behind a PID.

Anybody who can point me my mistake?

BTW: Posted here because PID Tuners Forum didn't let me register :-(

PID Tuner could not find any steps in the data

Hello, today I found your website and wanted to try to tune a temperature PID controller. I have attached an excel file with my temperature, if the power was on/off and the time. The problem is that when I paste the values on the website I get an error reading

"PID Tuner could not find any steps in the data.
Please make sure the data contains at least one step response. "

This even though the power is turned on/off multiple times causing the temperature and input to change. Have I misunderstood something isn't the step every time the input changes or is there a problem with the tool?

pid problem.xlsx

entring the sample data

image
it's kind of difficult to enter the/create first cell after claring the table.

i coud be an ide that clear table butten after deleting the table create one blank row.
the way its now, I have to first press one of the table headers then press 1 on the keyboard to make it create a row. then i can select the first cell to paste inn the data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.