Mein Umbau auf Ganzmetallhotend

Hier geht es ausschliesslich um die Extruder und Kühlung des Filamnts des RF1000. Fragen und Probleme sowie Verbesserungen können hier diskutiert werden
PeterKa
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 464
Registriert: So 7. Feb 2016, 11:04
Wohnort: Rinteln
Has thanked: 16 times
Been thanked: 237 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von PeterKa »

Nix da, ich habe R10... in späteren Versuchen habe ich mal R40 gemacht, worauf dann alles sauber beendet wurde, nach etwa 20 Zyklen. Es ist damit soweit ok, die PID Werte stimmen ziemlich überein

PeterKa
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 598 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von Nibbels »

Ok, dann ist mir das Auch nocht nicht 100% klar :D

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
PeterKa
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 464
Registriert: So 7. Feb 2016, 11:04
Wohnort: Rinteln
Has thanked: 16 times
Been thanked: 237 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von PeterKa »

Die Temperatur hat mir bisher nach dem Umbau die allergrößten Probleme bereitet. Zuletzt konnte ich das Kaugummitool von Nibbels einfach nicht zu Ende bringen, weil die Temperatur niemals richtig erreicht wurde, sprich die Abweichungen waren immer größer als 2 Grad.

Na ja da musste ich mich dann doch ordentlich eingraben, was bekanntlich dauert. Ich stelle das hier vor, weil möglicherweise auch andere davon profitieren könnten. Leider ist es etwas komplexer... na ja das ist man hier ja gewohnt und keiner muß es lesen ;)

Also der letzte Stand war der, daß die Soll Ist Temperatur abweichen. Bei 100 Grad kaum und bei 250 Grad Soll sind es dann schon deutlich über 5 Grad.

Alles was ich mit dem Tuning gemacht hatte war mehr oder weniger oder gar nicht erfolgreich gewesen.. Beim Beobachten des Autotunings war dann auch keine ordentliche Konvergenz der Parameter festzustellen.

Ich habe dann mal den Sensortyp auf 8 (E3D) gestellt, da wurde es noch schlechter.. Keine Ahnung warum, ich hab mir die Kalibrierungskurven für die verschiedenen Sensoren nicht angeschaut, ob da etwa ein Bug drin ist. Also habe ich wieder mit Typ 3 (V2 Hotend) gearbeitet, das geht am Besten. Die absoluten Temperaturen sind ja weniger bedeutend als die Konstanz und Reproduzierbarkeit.

So, viel weiß ich ja nicht von Regelungstechnik, aber eines hat sich mir eingeprägt... Wenn die Abweichung proportional dem Sollwert ist, ist der Integralteil zu klein. Je nach Versuch hatte das Autotuning Gainwerte zwischen 0,5 und 0,8 ergeben. Das ist deutlich zu wenig. Schlimmer noch, dieser Wert konvergiert nicht.

Das führt dann zu dem Verdacht, daß die Grenzwerte nicht passen. Hier speziell der negative Fehlersammler (=Summe der negativen Abweichungen über die Zeit)

Der wird in der Config vorgegeben (EXTR1_PID_IDRIVE_MIN) zu 5.

Ich habe diesen Wert nun behutsam angehoben... und siehe da, der IntegralGain wuchs kontinuierlich. Bis zu MIN =20 hatte er sich verdoppelt.

Das heißt nix anderes, als daß der PID Regler nicht balanziert wurde.. so einfach ist das.

Wenn der MIN_Wert dann weiter gesteigert wird (ich habe ihn bis 40 erhöht) steigt der I-Gain nicht weiter an... Er hat einen stabilen Wert erreicht (sprich er konvergiert).

So und was ist dann dabei herausgekommen ?
Tunimg Menu4.JPG
Tunimg Menu3.JPG
Tunimg Menu2.JPG


So hatte ich mir das vorgestellt :)

Ich muß mal mit Nibbels besprechen, ob wir das so verändern wollen.. Aber es kann ja sein, daß es beim V2 anders aussieht.

Hier bleiben also 2 Baustellen damit nicht jeder so eine Odysee zu erdulden hat wie ich: Temperaturkurve E3D und ein angepasster EXTR1_PID_IDRIVE_MIN jedenfalls für alle die Hotend typ E3D wählen.

Kleinere Probleme hatte ich dann gestern noch mit dem Anpressdruck am Vorschubritzel.. hmmm... manchmal möchte man in die Tischkante beissen ;)

PeterKa
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 598 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von Nibbels »

Cool!

Das System das du beschreibst ist mir bekannt.
http://www.rf1000.de/viewtopic.php?f=23 ... =10#p20749
Nibbels hat geschrieben: Das was du eben ändern solltest, "PID-I-Drive-Min und PID-I-Drive-Max" bedeutet, dass dein Integratoranteil in seiner maximalen Wucht beschränkt wird. Damit kannst du z.B. das Überschwingen etwas abdämpfen. Ist der Max-Wert zu klein, hast du quasi wieder einen PD-Regler der aber als PID ausgelegt ist und nicht gut funktioniert.
Ist der Min-Wert zu klein wird die Temperatur im Betrieb evtl. leicht oberhalb der Zieltemperatur verbleiben. 5 ist für mein Hotend perfekt. Trage zur Not 10 ein (oder mache 6..8 aus der 5) wenn deine Temperatur nach der Einschwingphase anschließend nicht ca. +-0.5 um die Zieltemperatur schwingt.
Aber nicht, dass manche Hotends so viel mehr brauchen wir ich an zwei Hotends testen konnte.
40/40 passt nicht, weil der positive Anteil nicht vernünftig reinpasst.
Ok, min = 5 passt wohl auch nicht bei jedem Nutzer.

Was schlägst du vor, sollen wir dort als Voreinstellung bei EXTRx_PID_IDRIVE_MIN einstellen?
In jedem Fall nicht mehr 5.

= 20?
= 30?
= 40?
Detailinfo für die Mitleser
Für die Mitleser: Wir reden hier von einer Eingrenzung einer Summe, sodass die nicht niedriger als EXTRx_PID_IDRIVE_MIN werden und größer als EXTRx_PID_IDRIVE_MAX werden kann. Der Zweck der Sache ist, dass bei manchen Regelparamertersets das Über- und Unterschwingen beim einbiegen in die Zieltemperatur nicht zu riesig wird - diese künstlich gedämpft werden kann. Aber das greift in den Regler ein und macht auch ein paar Probleme.
Repetier hat meiner Meinung nach noch heute den Fehler drin, den wir aus der original-Firmware kennen: Dort ist die Eingrenzung von einem postitiven Wert bis zu einem größeren positiven Wert festgenagelt. Meiner Information nach wurde der Fehler aus einer Marlin abgeschrieben.
https://github.com/repetier/Repetier-Fi ... issues/687
Bei Conrad gabs durch den Bug sogar den Fall, dass diese Eingrenzung die Summe auf exakt 40 festnagelt, der I-Anteil also nicht mehr fähig ist mitzuwirken.
Damit fällit I aus der Formel quasi raus (= Konstant) und wir haben noch einen PD-Regler. Mich hatte es beim alten V2 damals gewundert, dass das Verhalten (40-40-Bug) gleich blieb, obwohl ich I zwischen 0 und 100 variiert hatte. Das konnte nicht sein.

Neu im Mod: Ich habe das Vorzeichen von EXTRx_PID_IDRIVE_MIN umgedreht, sodass die Grenze im negativen sitzt. 40/40 würde heißen von -40 bis +40. 5/120 also -5 bis +120.
Das macht da sinn, wo der Regler schneller heizen als abkühlen kann. Aber nicht immer.
Jetzt lockern wir die Grenze weiter auf, jeder kann sie dann aber immernoch auf seine Liebblingsposition runterschieben.
LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
PeterKa
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 464
Registriert: So 7. Feb 2016, 11:04
Wohnort: Rinteln
Has thanked: 16 times
Been thanked: 237 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von PeterKa »

Man muß sich vor Augen halten, warum die Begrenzung erforderlich ist. Es geht um die sehr großen Differenzen am Anfang der Heizphase, wenn der PID Regler maximalen Stellwert liefert. Sobald des Einschwingen beginnt (Heizkurve flacht ab) darf die Grenze nicht mehr wirken, da sonst der kummulierte Fehler einfach falsch wird. Insbesondere hängt der Wert von der Leistung des Heizelementes ab, daher wohl auch die großen Unterschiede zwischen V2 und E3D.

Ich möchte nicht leichtfertig eine Grenze angeben, an der sich später andere Benutzer reiben. Ich hatte um einen Effekt zu sehen 20 gewählt. Zu 40 gab es keinen Unterschied mehr. Lass mich eben noch eine Meßreihe durchführen, das Kaugummiprogramm muß halt warten. (Der Sportsgeist ist erweckt).

Dauert so etwa 2 Stunden... man liest sich ;)

PeterKa
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 598 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von Nibbels »

Schön :) Ich warte ab!
Dazu noch eine Info:
Es gibt die
#define PID_CONTROL_RANGE 30
Das ist quasi die deltaT-Eingrenzung um den Zielwert herum in dem der PID erst aktiv wird. Darunter heizt der voll durch.
https://github.com/Nibbels/Repetier-Fir ... r.cpp#L130

Code: Alles auswählen

float error = act->targetTemperatureC - act->currentTemperatureC;

if( act->targetTemperatureC < 20.0f )
 {
                output = 0; // off is off, even if damping term wants a heat peak!
 } 
      else if( error > PID_CONTROL_RANGE )
 {
                output = act->pidMax;
 }
 else if( error < -PID_CONTROL_RANGE )
 {
                output = 0;
 }
 else
 {
            %%%%%PID Regelung%%%%%
 }


...
Wegen den Umrechnungskurven:

Das sieht für mich aus wie ein Standard, an dem niemand rütteln will.
https://github.com/repetier/Repetier-Fi ... .cpp#L1972
vs. unsere. Es ist immernoch die gleiche.

Ich habe im Menü nur 3 Sensoren hinterlegt, aber Tabellen haben wir viel mehr:
https://github.com/Nibbels/Repetier-Fir ... r.cpp#L657
bzw.:
/** \brief What type of sensor is used?
NTC-Thermistors
1: Epcos B57560G0107F000
2: 200k Thermistor
3: Hotend V2 Sensor Conrad Renkforce / mendel-parts thermistor (EPCOS G550) = NTC mit 100kOhm
4: 10k Thermistor
5: USER_THERMISTORTABLE0 als NTC
6: USER_THERMISTORTABLE1 als NTC
7: USER_THERMISTORTABLE2 als NTC
8: E3D Thermistor ATC Semitec 104-GT2 (300°C)
9: 100k Honeywell 135-104LAG-J01
10: 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
11: 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
12: 100k RS Thermistor 198-961 (4.7k pullup)
14: Thermistor NTC 3950 100k Ohm (Version 1)
15: Thermistor NTC 3950 100k Ohm (Version 2)

PTC-Thermistors
13: E3D PT100 (externe Platine, 500°C)
50: USER_THERMISTORTABLE0 als PTC
51: USER_THERMISTORTABLE1 als PTC
52: USER_THERMISTORTABLE2 als PTC
60: HEATER_USES_AD8495 (Delivers 5mV/degC)
100: AD595 */

Um die Tabellen zu erstellen gibts ein Excel-Sheet.

Zusätzlich können wir über diese "Generic-Funktion" eigene Tabellen aus den Konstanten errechnen lassen. Ich kann mich aber nicht an einen endgültig geklärten Funktionstest erinnern.
97: USE_GENERIC_THERMISTORTABLE_1 and GENERIC_THERM_NUM_ENTRIES Define Raw Thermistor and Resistor-Settings within configuration.h
98: USE_GENERIC_THERMISTORTABLE_2 and GENERIC_THERM_NUM_ENTRIES Define Raw Thermistor and Resistor-Settings within configuration.h
99: USE_GENERIC_THERMISTORTABLE_3 and GENERIC_THERM_NUM_ENTRIES Define Raw Thermistor and Resistor-Settings within configuration.h
https://github.com/Nibbels/Repetier-Fir ... ion.h#L451

(Trotzdem man im Menü nur zwischen 3, 8 und 14 wechseln kann, weil ich und meine Tester nur die gebracht hatten, kann man im EEPROM beliebige Nummern eintragen)

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 598 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von Nibbels »

Idee:

https://github.com/Nibbels/Repetier-Fir ... r.cpp#L130
->
https://github.com/Nibbels/Repetier-Fir ... r.cpp#L148
Das ist die Sammelvariable für die Errorsumme.
float (Extruder::) tempIState; ///< Temp. var. for PID computation.

Ich glaube, wir sollten act->tempIState nullen, wenn wir nicht im Zielbereich sind? Kommt ein Fall vor, in dem dort Summen-"Reste" verbleiben könnten?
Würde in jedem Fall quasi "nichts kosten".
Screenshot_5.jpg
LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
PeterKa
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 464
Registriert: So 7. Feb 2016, 11:04
Wohnort: Rinteln
Has thanked: 16 times
Been thanked: 237 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von PeterKa »

Jetzt wo Du es sagst ;) Die Chose hätte einen gigantischen Vorteil.. Man muß nicht mehr warten bis der Extruder abgeühlt ist... Mir ist aufgefallen, daß der I-Wert extrem von der Starttemperatur abhängt. Der trick würde ein weitere Fehlerquelle eliminieren. Soll ich das dann mal probieren ? Ich bin grad im Thema.

PS: Bei MIN=10 ist der Wert noch immer nicht stabil.....
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 598 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von Nibbels »

Jo klar! Änder das mal und teste!
Ich kann auch gerne kurz mit einem Klick das Commit hochschieben und du könntest dir dann die 1.37w6 laden. Muss aber noch nicht sein, weil es nur 3 Zeilen sind.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
PeterKa
Profi 3D-Drucker
Profi 3D-Drucker
Beiträge: 464
Registriert: So 7. Feb 2016, 11:04
Wohnort: Rinteln
Has thanked: 16 times
Been thanked: 237 times

Re: Mein Umbau auf Ganzmetallhotend

Beitrag von PeterKa »

ich komm schon klar.. Hauptsache Du behältst den Mastercode...

Also ich würde nach der Testreihe 30 vorschlagen. Auch wenn die I-Werte mit der Zeit geringfügig kleiner werden ist die Tendenz eindeutig.

Aber ich werde jetzt zuerst noch eine kleine Reihe machen, um zu testen, wie stark der I-Gain von der Starttemperatur abhägt. Ich nehme an daß das sehr stark ist. Ich halte einfach den Wert 30 jetzt fest und ändere die Starttemperatur. Das ist verflixt sage ich Dir.

PeterKa
Antworten

Zurück zu „Extruder“