Go Down

Topic: Arduino PID Library mit Processing Tutorial Installation (Read 3187 times) previous topic - next topic

Yeahuno

Aug 16, 2011, 01:59 pm Last Edit: Aug 17, 2011, 04:37 pm by Yeahuno Reason: 1
Dieses Tutorial enthält nur die Installation um mit Processing Grafisch die PID Library zu überwachen und zu verändern.


Arduino PID Library
by Brett Beauregard
contact: br3ttb(at)gmail.com

weitere Infos unter anderem hier:
http://brettbeauregard.com/blog/

Benötigte Software und Dateien :



Arduino IDE 0022:
http://arduino.cc/en/Main/Software
http://arduino.googlecode.com/files/arduino-0022.zip

Processing:
http://processing.org/download/
für Windows
http://processing.googlecode.com/files/processing-1.5.1-windows.zip

controlP5:
http://www.sojamo.de/libraries/controlP5/
http://www.sojamo.de/libraries/controlP5/download/controlP5.zip


PID Library & PID Front-End using Processing.org:
•   Latest version: v1.0.1
•   Latest version: v0.3
http://www.arduino.cc/playground/Code/PIDLibrary
http://arduino-pid-library.googlecode.com/files/PID_v1.0.1.zip
http://arduino-pid-library.googlecode.com/files/PID_FrontEnd_v03.zip


Android SDK
installer_r12-windows.exe
http://developer.android.com/sdk/index.html
http://dl.google.com/android/installer_r12-windows.exe


------------------------------------------------------------------------------------------------------------
Setup:
------------------------------------------------------------------------------------------------------------
Schritt 1:
Erstmal alle Dateien runter laden und die Zip Archive entpacken.
------------------------------------------------------------------------------------------------------------
Schritt 2:
Android SDK installieren: installer_r12-windows.exe
gegebenenfalls müsst ihr vorher Java downloaden und installieren.
Der SDK Manager lädt sich anschließend Dateien runter (Accept ALL und install drücken - das dauert Ewigkeiten also macht euch einen Kaffee  ]:D).
------------------------------------------------------------------------------------------------------------
Schritt 3:
Wenn das abgeschlossen ist startet ihr die Processing.exe und versucht rechts oben im Fenster von Standart auf Android umzustellen (klicken).
Dann wird gefragt ob SDK installiert ist. Dazu klickt ihr JA und gebt den Pfad zur Android SDK (C -> Programme -> Android) an. Anschließend sollte das Processing Fenster von grau auf grün wechseln.
------------------------------------------------------------------------------------------------------------
Schritt 4:
Jetzt versucht ihr mit der Processing.exe den PID_FrontEnd_v03_processing Sketch zu öffnen. Dann wird euch eine Fehler Meldung ausgegeben wonach die controlP5 library fehlt.
Dazu müsst ihr in Eigene Dateien -> Dokumente -> Processing einen Ordner erstellen der libraries heißt. Anschließend kopiert ihr den entpackten controlP5 Ordner hinein.
------------------------------------------------------------------------------------------------------------
Schritt 5:
Nun öffnet ihr mit der Arduino Software den Sketch PID_FrontEnd_ArduinoSampleCode.pde
Beim ausführen wird euch auch hier wieder eine Fehlermeldung erwarten. Es muss die PID Library PID_V1 in den Ordner  arduino-0022 -> arduino-0022 -> libraries kopiert werden. Anschließend sollte beim ausführen des Sketches PID_FrontEnd_ArduinoSampleCode.pde keine Fehlermeldung mehr auftauchen. Ladet den Sketch auf euer Board hoch.
------------------------------------------------------------------------------------------------------------
Schritt 6:
Wenn das alles geklappt hat öffnet ihr mir der Processing.exe den Sketch PID_FrontEnd_v03_processing und führt ihn aus.(RUN)
Dann sollte ein neues Fenster erscheinen mit der ihr den PID Prozess der auf eurem Arduino läuft verändern und überwachen könnt.
Sollte dann grob so aussehen:
http://brettbeauregard.com/blog/2009/05/graphical-front-end-for-the-arduino-pid-library/
------------------------------------------------------------------------------------------------------------
Bemerkung:

Bin mir nicht hundert Prozent sicher ob Schritt 3 nötig ist.
------------------------------------------------------------------------------------------------------------

Wie der Code (PID_FrontEnd_ArduinoSampleCode.pde) auf eurem Arduino funktioniert könnt ihr hier nachlesen:
http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/

------------------------------------------------------------------------------------------------------------

Kurze Erklärung zu den Parametern aus dem Sketch PID_FrontEnd_ArduinoSampleCode.pde die wichtig sind :
(diese könnt ihr in der Processing Software verändern)

Setpoint = Sollwert
Input = Istwert
Output = der Wert der den Prozess "einstellt" bzw auf Sollwert hält (in Verbindung mit KP KI KD)
Direct oder Reverse = je nachdem ob der Prozess gekühlt oder erhitzt wird
Manual oder Automatic = wird der Prozess Manuell oder Automatisch berechnet
KP = KP Wert
KI = KI Wert
KD = KD Wert
serialTime = Zeit Intervall für Prozessing (nur im Sketch veränderbar)

SampleTime = 100 = Berechnungszeit (PID_V1.cpp)
SetOutputLimits(0, 255);= Max \ Min Output(PID_V1.cpp)

Um einen PID Prozess zu erstellen müßt ihr den PID_FrontEnd_ArduinoSampleCode.pde Sketch so verändern das Input \ Output sinnvoll verknüpft sind.



Bei Fehlern oder sonstigem schreibt mir bitte eine Pn


Ps ich bin kein Automatisierung Fachmann  XD bei tiefer gehenden Fragen bitte hier lesen:
http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/
oder
http://www.rn-wissen.de/index.php/Regelungstechnik



Teil 2 findet ihr hier:
http://arduino.cc/forum/index.php/topic,69578.0.html




kucky

Hallo zusammen,
wollte soeben versuchen, diesen PID Tuningproramm (PID_FrontEnd_v03) zu "installieren". Ich lese dord etwas von Android. Kann das nur mit einem Androidhandy laufen? :smiley-roll-blue:

LGW


kucky

Dann bin ich beruhigt, Danke.
Habe aber ab Schritt 6 Schwierigkeiten. Ich finde die Datei "Sketch PID_FrontEnd_v03_processing" nicht. Bin auf den Gebiet Processing nicht wirklich gut zu Fuß. Bin für jede Unterstützung dankbar.

Gruß Willi

Yeahuno


hier
http://arduino-pid-library.googlecode.com/files/PID_FrontEnd_v03.zip

im ersten ordner

kucky

Hey,
danke für die Hilfe, aber ...
ich finde nur "PID_FrontEnd_v03.pde" ohne prozessing. Mit dieser Datei habe ich es versucht, leider ohne Erfolg.

Gruß Willi

Yeahuno


das ist eine ganze weile her  ]:D ich denke ich hab mich verschrieben. da ich momentan keinen zugriff auf meine daten habe, kann ich auch nicht gucken welche ich bentzt habe.

Quote
ich finde nur "PID_FrontEnd_v03.pde" ohne prozessing. Mit dieser Datei habe ich es versucht, leider ohne Erfolg.


konntest du die nicht starten ? oder was war das problem ?

kucky

Das in Schritt 6 erwähnte Fenster öffnet sich nicht.
LG
Willi

kucky

Folgende Fehlermeldung in Processing:

More about the size() command on Android can be
found here: http://wiki.processing.org/w/Android
processing.app.SketchException: Could not parse the size() command.
   at processing.mode.android.AndroidBuild.createProject(AndroidBuild.java:133)
   at processing.mode.android.AndroidBuild.build(AndroidBuild.java:80)
   at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:173)
   at processing.mode.android.AndroidEditor$13.run(AndroidEditor.java:358)

Das Uploaden mit der Arduino Software endet nicht mit der "Done" Meldung.
Ich kann doch "FrontEnd_v03" aus der Processing IDE starten, oder?
Run on Device oder Emulator?

LGW

kucky

Ich habe auch die Fenstergröße in Werte umbenannt:
void setup()
{
  frameRate(30);
  size(900 , 600);

Error from inside the Android tools, check the console.

No library found for processing.serial
Ignoring sub-folder "examples"
Ignoring sub-folder "library"
Ignoring sub-folder "reference"
Ignoring sub-folder "src"

BUILD FAILED
i:\Users\Kucky\AppData\Local\Temp\android8548350193372791091.pde\build.xml:15: taskdef class com.android.ant.SetupTask cannot be found
using the classloader AntClassLoader[C:\Program Files (x86)\Android\android-sdk\tools\lib\anttasks.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\common.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\sdklib.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\androidprefs.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\mkidentity.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\commons-compress-1.0.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\httpclient-4.1.1.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\httpcore-4.1.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\httpmime-4.1.1.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\commons-logging-1.1.1.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\commons-codec-1.4.jar;C:\Program Files (x86)\Android\android-sdk\tools\lib\manifmerger.jar]

Total time: 0 seconds

Yeahuno

da scheint ja was grundlegendes nicht zu stimmen. geh die schritte nochmal durch oder update java etc

vielleicht hats du noch einen anderen rechner an dem du das testen kannst, es duaert noch ein paar tage bis ich an meinem rechner bin.

kucky

Das hab ich mir fast gedacht. Ich habe es auch mit java 6.38 versucht. Seltsam war auch, dass trotz Java JDK installer_r12-windows JDK meint, wäre nicht installiert. Nach ein bißchen warten (ohne irgend etwas zu tuen), ging es dann doch.
Mit dem anderen Rechner ist ne Idee. Ist aber dann ein 32bit Rechner. Das dürfte aber kein Problem sein.

LG
Willi

kucky

Habe eine vielleicht dumme Frage. Wenn ich z.B. die "Control5" entpacke, entsteht "Control5\Control5".
Ich hätte jetzt gedacht: Eigene Dateien -> Dokumente -> Processing -> libraries -> Control5. Ist das richtig?

LGW

Yeahuno


probier es doch einfach aus, der pc wird schon nicht explodieren  :D

ich denke 1x control5 und dann der inhalt. teste doch mal alle drei möglichkeiten.

control5 - control5 - inhalt
control5 - inhalt
nur inhalt


Go Up