Go Down

Topic: Temperaturregelung mittels Arduino UNO[UPDATE] (Read 9107 times) previous topic - next topic

Marfiosie

Nov 10, 2016, 11:49 pm Last Edit: Nov 16, 2016, 07:36 am by Marfiosie
Hallo,

ich bin grade ganz frisch in das Forum eingestiegen und gehe auch davon aus, dass das in Zukunft häufiger passieren wird ;) . Mit dem Arduino Boards habe ich bisher vorallen im Bereich der 3D- Druckern zu tun, wobei zugegeben einem dort die meiste Arbeit durch die Firmware abgenommen wird. Ich bin grade dabei mich fleißig in die Materie einzulesen, allerdings dauert hier (im Trumpland) der Versand so ewig, dass ich zumindest diesen schon gleich vornehmen würde und vielleicht kann mir der ein- oder andere ein paar Tipps geben...



Was will ich machen:
Ich mächte eine Metallplatte mit 12x12 mm Fläche mit einem Heizbett mit integrierten Temperatursensor versehen und dieses regeln. Das Heizbett soll unterhalb der Platte angebracht werden und mit einem Arduino gesteuert werden. Über die serielle Schnittstelle würde ich gerne die Temperatur angezeigt bekommen und bei Bedarf eine neue vorgegben. Später soll noch ein zweiter Temperatursensor angebracht werden, der aber rein Informativ wirkt. Die Reglung darf rühig etwas überschwingen und Temperaturen weden im Bereich von 20 bis allerhöchsten 80°C angestrebt.



Was ich bereits habe:
Ich habe bereits ein passendes Heizbett in Aussicht.Dieses verfügt über einen integrierten 100k Thermistor den ich auslesen möchte. Das Heizbett läuft bei 12 V.
Link:
https://www.amazon.com/100x100mm-Silicone-Rubber-Heater-Printer/dp/B00I50G4O8/ref=sr_1_5?ie=UTF8&qid=1478817191&sr=8-5&keywords=100x100+heated+bed

Was ich auch bereits durch zur Verfügung habe ist ein Sammelsorium an Basiselementen, welche sicherlichlich nicht die hochwertigsten sind aber für diesen Zweck genügen sollen.
Link:
https://www.amazon.com/Elegoo-Project-Complete-Tutorial-MEGA2560/dp/B01CZTLHGE/ref=sr_1_7?s=pc&ie=UTF8&qid=1478786784&sr=1-7&keywords=arduino+kit

Als letztes habe ich mir bereits ncoh eien Laborstromquelle organisiert um das Heizbett zu versorgen...




Was ich gern wüsste
Zunächst ist erstmal wichtig bevor ich anfange alle Teile beisammen zu haben. Daher wäre für mich vorrangig zu wissen, was noch fehlt und ich mir besorgen muss. Ein paar Tipps wären da sicherlich hilfreich bei der Auswahl.

Zum zweiten habe ich jetzt noch nichts genaues gefunden wie ich einen Thermistor auslese. Bis der ganze Kram eingetrudelt ist vergeht sicher noch eineinhalb Wochen und die Zeit würde ich gerne nutzen um mich ein bisschen kundiger in der Materie zu machen. Vielleicht kennt jemand von euch einen guten Link, wo ich das grundlegende zur Programmierung nachlesen kann...

Punkt drei besteht in der Regelung. Bei den 3D- Druckern war es immer sehr einfach- Thermistor auswählen, Reglungstyp (PID, Zweitpunkt ect) aussuchen und fertig. Gibt es dort eventuell eine gute Vorlage an der ich mich orientiern kann?

Ich danke euch schon mal im voraus.
VG Marvin

HotSystems

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Marfiosie

Gegenfrage:
Was ist der Arduino UNA ?

Ein Arduino UNO Rev3, werde es für dich sofort korrigieren ;)

HotSystems

Ein Arduino UNO Rev3, werde es für dich sofort korrigieren ;)
Oh wie großzügig...

Ist nicht nur für mich.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Marfiosie

Allerdings darf man das wohl erst nach fünf Minuten- Hatte erst MEGA da stehn, wollte allerdings mein UNO dann lieber verwenden...

agmue

#5
Nov 11, 2016, 12:26 am Last Edit: Nov 11, 2016, 12:32 am by agmue
Hallo Marvin,

bei "Trumpland" mußte ich erstmal grübeln, obwohl die Nachrichten derzeit kein anderes Thema haben. Nun ist der Groschen gefallen! Wer nicht in D wohnt, wird den rauhen Umgangston hier im Forum zu "schätzen" wissen. Menschen, die in anderen Ländern unterwegs sind, berichten mir, daß man auch ganz anders, freundlicher kommunizieren kann. Direkt ist aber manchmal auch besser, als ewig um den heißen Brei zu reden. Nunja, Du bist freiwillig hier :) Damit willkommen im Forum!

Zum zweiten habe ich jetzt noch nichts genaues gefunden wie ich einen Thermistor auslese.
Ist das nicht ein temperaturabhäbgiger Widerstand? In der Annahme, die englische Sprache ist Dir nicht gänzlich unbekannt, könntest Du mal Using a Thermistor lesen.

Hinsichtlich PID-Regelung solltest Du ein paar Beiträge aus jüngster Zeit hier im Forum finden, z. B. Problem bei Temperaturregelung mit PID-Bibliothek. Eine Bibliothek gibt es auch dazu.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Marfiosie

#6
Nov 11, 2016, 12:35 am Last Edit: Nov 11, 2016, 12:42 am by Marfiosie
Hallo,

danke für den Link genau so etwas habe ich gesucht. Ich bin momentan noch via Handy im Internet und entsprechend schwierig gestaltet sich das surfen. Aber ab morgen ist Besserung in Aussicht. Werde mir das mal in aller Ruhe zu ansehen.

agmue

Ich kann keine Angabe finden, wie viel Strom das Heizelement braucht. Wenn Du es hast, kannst Du das auch messen. Dann benötigst Du einen FET, der Spannung und Strom verträgt, damit Du den vom Arduino mittels PWM ansteuern kannst. Oder hast Du einen anderen Plan?
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Marfiosie

Nun von dem Equipment was ich da hab war meine erste Idee ein Relais zu nehmen und einen simplen Zweipunktregler zu bauen, aber das ist glaube ich nicht besonders sauber...

agmue

Pack mal einen passenden FET (fünf Stück) zusammen mit den notwendigen Widerständen, wenn Du die nicht in der Bastelkiste hast, auf die Einkaufsliste, kann nie schaden :)
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Marfiosie

Okay, ich glaube MOFSETs sollten noch irgendwo im Werkstattlabor bei uns rumleigen- dnake für die Tipps

chefin

Dein Heizelement braucht unter 1 Minute auf 120grad. Das ist so träge wie ein 2CV(Ente) auf der Autobahn beim Überholen.

Ein PID müsste also extrem langsam arbeiten, meines erachtens bei diesem Heizelement unnötig. 2Punkt reicht völlig. Du sagtest ja, etwas überhöhen ist erlaubt. Da es reine Software ist, lässt sich das später auch jederzeit ändern.

was mir aber gerade komisch vorkommt (oder ist das auch nur Schreibfehler): 12x12mm Platte mit 100x100mm Heizelement aufheizen. Heist doch, das ein großer Teil des Heizelements in der Luft hängt. Die Platte wird dann lediglich die kälteste Stelle des Elements bestimmen, weil es Wärme besser leitet. Das dürfte bei dem Flächenunterschied keine vernüftige Messung zulassen.


fckw

Also wenn du Dich für einen Mosfet als "Leistungssteller" entscheidest dann würde ich auch die "PIDArduino Library" benutzen. Für deinen Temperaturreglung benutzt du am besten nur die Parameter Kp und Ki, du bildest damit einen sogenanten PI-Regler. Kp ist dein Proportionalbeitrag (der Wert wie weit der Mosfet schonmal aufmacht). Ki ist das integral, also der Wert für den Regler wie "schnell" der Regler auf den Zielwert zusteuert. Die Werte ermittelst du am besten durch ausprobieren. Auf einen "Kd-Beitrag" verzichtest du einfach ganz.
So bekommst du einen schöne Temperaturregleung ohne Hysterese und überschwinger.
Für eine Zweipunktregelung kannst du dir ja auch gleich einfach einen Thermostat nehmen, fertig....

agmue

Ki ist das integral, also der Wert für den Regler wie "schnell" der Regler auf den Zielwert zusteuert.
Ich stimme Dir weitgehend zu, nur über das "schnell" stolpere ich. Nach meiner Erinnerung hat P eine bleibende Regelabweichung, die von I geschlossen wird und D macht die Schnelligkeit, die auch zu Überschwingern führen kann. Täuscht meine Erinnerung, oder habe ich die Formulierung nur falsch verstanden?
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

fckw

Der I-Anteil ist ein Zeitintegral, ist es zu schnell kann der Regler überschwingen, deswegen auch die "".
Der D-Anteil bewertet die Änderung einer Regelabweichung (er differenziert) und berechnet so deren Änderungsgeschwindigkeit. Mit dem D-Anteil kannst du praktisch "Vorhalten" für schnelle Regelstrecken brauchst du das. Also über die Änderungsgeschwindigkeit deiner Regelabweichung hast du sowas wie eine "Vorahnung" und kannst weit früher reagieren.

Go Up