Temperaturregelung Extruder 27. December 2011 08:56 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
int dt_1 = HEATER_CHECK_INTERVAL; // letztes Zeititervall unsigned int temp_m1 = 0; // Temperatur bei letzter Messung float m_1; // aktuelle Steigung float m_4; // mittlere Steigung in den letzten Zeitintervallen unsigned int temp_prog; // Temperaturprognose int t_tot = 10000; // Totzeit in ms ... void manage_heater() { dt_1 = millis() - previous_millis_heater; // letztes Zeitintervall merken ... if (temp_m1 == 0) { // wird am Anfang 1x durchlaufen temp_m1 = current_raw; // Startwert temp_prog = current_raw; // Startwert m_4 = 0.0; // Startwert } else { m_1 = (float)((float)current_raw - (float)temp_m1) / dt_1; // Steigung dT/dt m_4 = 0.25 * (3.0 * m_4 + m_1); // Steigungsänderung dämpfen temp_m1 = current_raw; // für's nächste mal merken temp_prog = (float)((float)current_raw + m_4 * t_tot); // prognostizierte Temp. nach der Totzeit // Serial.print("Steigung "); Serial.println(m_1); } if (temp_prog >= target_raw) // if (current_raw >= target_raw) // dies ist der Original-Code, ab hier ist nix geändertDiese Regelung benötigt eigentlich nur die Totzeit, die gemäß der ersten Grafik bestimmt werden kann. Die "Dämpfung" von m_4 bringt nur eine kleine Verbesserung und kann wahrscheinlich für alle Extruder so bleiben. Das HEATER_CHECK_INTERVAL habe ich auf 200 ms stehen. Weiterhin habe ich die Genauigkeit der Temperaturmessung deutlich verbessert, indem bei höheren Temperaturen auf die interne Referenz von 1,1V umgeschaltet wird (statt 5V, d.h. die Temperaturauflösung beträgt jetzt 0,1°C statt 0,46°C bei 190°C). Diese Änderung hat bezüglich der Ausschläge nach einer Störung wenig gebracht, doch die Temperaturkonstanz im Normalbetrieb ist beeindruckend ).
Re: Temperaturregelung Extruder 27. December 2011 11:56 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 25 |
Re: Temperaturregelung Extruder 27. December 2011 14:39 |
Registrierungsdatum: 13 Jahre zuvor Beiträge: 7.616 |
Quote
Weiterhin habe ich die Genauigkeit der Temperaturmessung deutlich verbessert, indem bei höheren Temperaturen auf die interne Referenz von 1,1V umgeschaltet wird (statt 5V, d.h. die Temperaturauflösung beträgt jetzt 0,1°C statt 0,46°C bei 190°C).
Generation 7 Electronics | Teacup Firmware | RepRap DIY |
Re: Temperaturregelung Extruder 27. December 2011 15:34 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Temperaturregelung Extruder 27. December 2011 16:26 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Temperaturregelung Extruder 27. December 2011 18:36 |
Registrierungsdatum: 14 Jahre zuvor Beiträge: 7.505 |
Aller Anfang war schwer - Wolfstrap | Reprap-fab.org |
Re: Temperaturregelung Extruder 28. December 2011 08:56 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 1.133 |
Re: Temperaturregelung Extruder 28. December 2011 11:17 |
Registrierungsdatum: 12 Jahre zuvor Beiträge: 25 |