Go Down

Topic: Arduino PID Library mit Processing Tutorial Beispiel Lüfter (Read 1 time) previous topic - next topic

Yeahuno

Aug 16, 2011, 04:20 pm Last Edit: Aug 16, 2011, 06:41 pm by Yeahuno Reason: 1
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ß







Yeahuno

#1
Aug 16, 2011, 04:25 pm Last Edit: Aug 16, 2011, 04:33 pm by Yeahuno Reason: 1
restlicher Anhang

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview