Pages: [1]   Go Down
Author Topic: Arduino PID Library mit Processing Tutorial Beispiel Lüfter  (Read 1660 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Hier will ich euch jetzt kurz ein kleines PID Beispiel zeigen.
Ziel ist es einen Sollwert vorzugeben, einen Istwert mit einem Thermofühler zu erfassen und anschließend mit einem Pc Lüfter (PWM geregelt Output) den Thermofühler auf Sollwert runter zu kühlen und auf Sollwert zu halten.



Dazu benötigt man folgende Hardware:

Arduino
12v Batterie oder Netzteil
Motortreiber zb L298 oder L6203 (für PWM Ausgabe des Lüfters)
PC Lüfter
Thermofühler der einen Istwert ausgibt (Gradzahl spielt hier keine Rolle)
Spannungsteiler für den Thermofühler



Die Sketche aus Teil 1 hab ich ein wenig abgeändert:

Sketch PID_FrontEnd_ArduinoSampleCode.pde:

An PIN A0 hängt der Thermofühler der einen Wert generiert. (Input bzw Istwert)

PIN 9 und 10 sind für die Drehrichtung des Lüfters. Macht allerdings keinen Sinn da der Lüfter sowieso nur in eine Richtung drehen kann. Liegt aber an der vorhanden L298 Schaltung
PIN 11 generiert das PWM Signal für den Lüfter (Output)

siehe
http://www.rn-wissen.de/index.php/Getriebemotoren_Ansteuerung



PID_FrontEnd_v03_processing:
Hier hab ich die Oberfläche ein wenig verändert Zeit \ Farben \ Beschriftung etc. Dies passiert alles im Processing Sketch.

Im Anhang findet ihr die beiden veränderten Sketche. Sowie einige Fotos zu dem ganzen.



Wird das ganze nun ausgeführt und hochgeladen, solltet ihr in der Lage sein den Sollwert vorzugeben. Euch den Istwert vom Fühler an zugucken und mit den KP KI KD Werten zu spielen.
Der Lüfter sollte nun auf Störgrößen wie die Erwärmung des Fühler reagieren und versuchen ihn wieder auf Sollwert zu bringen.
Ihr guckt euch den Istwert bei Raumtemperatur an, und wählt dann einen kleineren Sollwert damit der Lüfter den Fühler kühlen kann. (Reverse und Automatic anwählen)


Ihr müsst euch natürlich näher mit den Code der beiden Sketche und der PID_V1 vertraut machen um euer eigenes Beispiel zu erstellen.
Die eigentliche Berechnung des ganzen findet in der PID Library PID_V1 statt.
Ich hoffe dennoch dem ein oder anderen ein wenig geholfen zu haben.



Wenn ich es die Tage schaffe werde ich auch nochmal ein paar Takte zu den Sketchen schreiben.


Gruß








* 1.JPG (150.55 KB, 1000x666 - viewed 20 times.)

* 2.JPG (138.21 KB, 1000x666 - viewed 37 times.)

* 3.JPG (147.39 KB, 1000x666 - viewed 26 times.)

* 4.JPG (115.38 KB, 1000x666 - viewed 28 times.)
« Last Edit: August 16, 2011, 11:41:02 am by Yeahuno » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

restlicher Anhang


* 5.JPG (112.93 KB, 1000x666 - viewed 25 times.)

* 6.jpg (233.35 KB, 1901x1160 - viewed 41 times.)
* PID_FrontEnd_ArduinoSampleCode_luefter.pde (4.77 KB - downloaded 19 times.)
* PID_FrontEnd_v03_processing_editiert.pde (16.19 KB - downloaded 15 times.)
« Last Edit: August 16, 2011, 09:33:18 am by Yeahuno » Logged

Pages: [1]   Go Up
Jump to: