Elke open tool voor plotten van grafieken voor het bepalen van PID-afstemmingsparameters?

Ik heb verschillende PID-implementaties en de bijbehorende zelfstudies, documenten en alles doorgenomen. De beste afstemmingstool was PID-without-a-PhD.pdf . Maar heeft niet veel geholpen. Ik kan zeggen dat het wat werkt.

Ik werk aan een Magnetic Levitation-project. Ga alsjeblieft naar de link ( Barry's Maglev ). Ik kan de magneet laten zweven met een aluminiumplaat eronder. Huidige voortgang: Video .

Ik wil het uitvoeren zonder de aluminiumplaat.

Mijn vraag is hoe te beginnen met het plotten van grafieken en zo. Ik heb alleen de grafiek gezien en aangetrokken. Stel dat u het bestand PID-zonder-een-doctoraat.pdf neemt en alleen de geplotte grafieken bekijkt. Hoe krijg je dat? welke open tool om mee te beginnen?

Ik heb geprobeerd een zelfgemaakt plotter voor grafieken te maken en eraan te werken. Het plotten tegen de tijd is niet bevredigend, en dus de winstbepaling.

[Als er een zelfverklarend auto-tune-algoritme beschikbaar is! : dit is niet mijn vraag nu.]

Ik wil opnieuw beginnen met een harde, systematische aanpak. Alle hulp zal goddelijk nuttig zijn. Ik wil niet gaan met trail-n-error methode. Omdat dat niet heeft geholpen.

Ik gebruik AtMega2560, een spoel, een stapel van 2 neodymium-magneten, een mooi werkende H-brug.

.... Update1 ....

Ook een halsensor voor feedback.

........

.... Update2 ....

Nu heb ik de overdrachtsfunctie bij me. Ik bestudeer LTI transient-responsanalyse met Python . Het probleem is dat ik een matrix overdrachtsfuncties heb. Ik heb misschien ongelijk, want wat wordt genoemd wat, ik weet het niet precies. Zal het snel leren.

........

7
Als u slechts één sensor (verplaatsingssensor) en één actuator (kracht) hebt, zou u slechts één overdrachtsfunctie moeten hebben. Waarom/hoe heb je een matrix met overdrachtsfuncties?
toegevoegd de auteur rrtucci, de bron
De zwaartekracht is constant. En je hebt er geen controle over. Dus: geen overdrachtsfunctie.
toegevoegd de auteur rrtucci, de bron
Wat is de Hall-effectsensor meten? Heeft u een directe meting van de kogelpositie? In het laatste maglev-systeem werkte ik ermee zoals gedaan met fotodetectoren en LED's - IR geloof ik.
toegevoegd de auteur splattered bits, de bron
Ja, ik meet de positie direct. Het apparaat is voorlopig geen afstand. Maar ja ik kan de sensoruitgang relateren aan de afstand. Welke momenteel niet nodig is. Kortom, het systeem kan weten waar de bal zich bevindt, eerder magneet. :) N het is leuk dat je al ervaring hebt in Maglev.
toegevoegd de auteur MCH, de bron
@nibot Omdat de zwaartekracht een andere kracht uitoefent. Dus totaal twee krachten en één sensor. :)
toegevoegd de auteur MCH, de bron
Ik heb dan misschien ongelijk. Dus, vind je het erg als ik je de 'functies' toestuur?
toegevoegd de auteur MCH, de bron

3 antwoord

Over het algemeen zou dit in de industrie met Matlab worden gedaan. Als je het alleen probeert, heb je een paar verschillende opties wat betreft numerieke berekening/grafiekplottersoftware. De eerste daarvan is SciLab - een programma dat erg op Matlab lijkt maar open source en gratis is. Er zijn een aantal toolboxes die al dan niet nuttige functies bieden voor het ontwerpen en analyseren van besturingssystemen: Control Design Tool (erg populair lijkt) en ADS CoLiSyS (veel minder populair).

Anders zou u NumPy of SciPy kunnen proberen, die wat numerieke/grafische mogelijkheden hebben, maar geen toolbox voor besturingssystemen.

Bewerken: Wat betreft het afstemmen van een PID-regelaar met behulp van een bekende methode ... heeft u misschien pech. Je kunt methoden zoals Ziegler-Nichols proberen, maar omdat je met een onstabiel systeem werkt (de bal valt zonder feedbackcontrole), je kunt niet doen wat de methode aanbeveelt (dwz, 'uitschakelt' integrale en afgeleide winsten om alleen af ​​te stemmen, en dan integrale en afgeleide winsten toe te kennen als een veelvoud van proportionele winst). Als u echter een controller kunt maken die de bal eenvoudig op een bepaald punt stabiliseert (een controller voor het onderdrukken van storingen - waarbij de storing de zwaartekracht is), kunt u uw PID-controller in serie toevoegen en op die manier afstemmen zodra het systeem stabiel is. Maar het lijkt erop dat je algemene doel het is om een ​​controller te maken die de bal eenvoudig stabiliseert en bijvoorbeeld niet een blokgolf of sinusoïde-invoer volgt. Dus dat is misschien geen zinvolle aanpak. Houd er rekening mee dat wat je doet in geen geval elementaire controles en simplistische benaderingen niet noodzakelijk van toepassing zijn. Succes.

5
toegevoegd
Ik had de indruk dat Scilab was gemaakt door schipbreukelingen van Matlab zelf. Ik wed dat ze allebei redelijk dichtbij zijn. Iedereen kopieert de leider ...
toegevoegd de auteur splattered bits, de bron
Het spijt me. Ik vergat de hall-sensorinvoer naar de PID te vermelden. Ik gebruik ook een hallsensor. Ik update ook hetzelfde hierboven.
toegevoegd de auteur MCH, de bron
Momenteel evalueren Python-controlesystemen. Laten we kijken of ik het kan uitwerken. Verwijs: sourceforge.net/apps/mediawiki/python-control/ & hellip;
toegevoegd de auteur MCH, de bron
Octave is dichter bij oudere versies van Matlab. Interface is pure opdrachtregel. De sytax van Octave is bijna volledig Matlab-compatibel. SciLab heeft meer GUI-functies en minder directe Matlab-compatibiliteit. SciLab lijkt meer in lijn te liggen met educatief gebruik. Ofwel heeft u waarschijnlijk alles wat u nodig hebt om eenvoudige PID-systeemsimulaties uit te voeren.
toegevoegd de auteur The Photon, de bron
Moet ook toevoegen dat Octave oorspronkelijk voor Unix/Linux is ontwikkeld en dat de Windows-versie niet geheel bug-vrij is. SciLab lijkt betere Windows-compatibiliteit te hebben (hoewel ik Octave meer heb gebruikt dan SciLab).
toegevoegd de auteur The Photon, de bron
Je vergat Octave, dat ik gelezen heb om meer op Matlab te lijken, is vrije software en met Octave-forge heeft een aantal gereedschapskisten, bijna zeker ook de besturingssystemen.
toegevoegd de auteur clabacchio, de bron
Ik weet dat Octave enkele vervelende bugs heeft, maar er zijn verschillende GUI's, zoals GUIOctave of QtOctave.
toegevoegd de auteur clabacchio, de bron

Geen open source, maar CircuitLab zal het plotten in het tijd- en frequentiedomein doen zoals u wenst. U kunt de feedbacklus grafisch samenstellen met behulp van circuitelementen of Laplace-transformatieblokken en vervolgens het antwoord meten en uw PID-parameters aanpassen om te zorgen dat u een stabiel resultaat krijgt! Zie bijvoorbeeld Laplace-transformatie stapreactie en Bode plot .

0
toegevoegd

Have a look at 20-sim, they have a free version available, there are many toolboxes (also for controller design and LTI systems) and the latest version 4.4 has scripting with Matlab and Octave as well. Here's their site: http://www.20sim.com

0
toegevoegd