Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Temperaturschwankungen RADDS mit DUE/UDOO

geschrieben von saschaho 
Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 04:58
Moin,

ich mache hier mal einen eigenen Thread zu diesem Thema auf, könnte doch länger werden.
Also, der Grund sind Temperaturschwankungen bei der Hotend bzw. Heuzbetttemperatur.
Bei mir und bei einigen anderen Usern des RADDS schwankt die Temperatur sehr stark.
Es gab mehrere Antworten, die meinten es läge an der Stromversorgung des Systems.
Daher habe ich mal einen Test gemacht um äussere Einflüsse auszuschliessen.

Ich habe einen Festwiderstand von 230 Ohm als Thermistor fürs Hotend angeschlossen.
Selbst dabei springt die Anzeige um bis zu 10° ohne zus. Verbraucher.
Eine vernünftige Regelung lässt sich da wohl kaum einstellen.
Ein Ein/Ausschalten der Heizungen zeigte keinen Unterschied. M.M. liegt es daher nicht an der Stromversorgung.
Es muss daher irgendwo im Bereich des ADC bei niedrigen Spannungen liegen.

Grüße

Sascha


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 05:10
Jupp, Willy ist da auch schon drauf gestoßen und wir sind am rumraten.

Siehe: [forums.reprap.org]


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 12:21
Moin,

ja, hatte ich gelesen, ist da aber etwas offtopic.

Hattest du das mit dem prescale mal probiert?
Mir kam der gleiche Gedanke da ich mal mit einem dspic rumgespielt hatte und der ADC dort auch bei hoher Taktfrequenz ungenau wurde.
Habe jetzt mal das hier
#define AD_PRESCALE_FACTOR 83 // 500 KHz ADC clock
in der HAL.h geändert. Nachher mal sehen was er macht.

Grüße

Sascha

Quote
Wurstnase
Jupp, Willy ist da auch schon drauf gestoßen und wir sind am rumraten.

Siehe: [forums.reprap.org]


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 12:48
Ne, ich bin gerade dabei noch ein paar Sachen zu drucken, damit ich den Drucker endlich einhausen kann. Meine bessere Hälfte sitzt mir deswegen schon seit Wochen im Nacken.

Wenn ich das durch habe werde ich mich wieder dem RADDS widmen. Bis dahin bin ich erst mal wieder mit RAMPS unterwegs.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 16:38
So, bin die Sache mal angegangen.
In der HAL.h habe ich
#define AD_PRESCALE_FACTOR 185 // 250 KHz ADC clock
eingetragen. Wenn schon denn schon.
Bei dem Test mit meinem Festwiderstand schwankte die Spannung nur noch um 0,4°, und zwar immer nur um diesen Wert, scheint also LSB zu sein.

Dann wieder meinen Thermistor angeschlossen und autopid gemacht.
Sieht schon deutlich besser aus, wobei immer noch Schankungen zu sehen sind, aber bei weitem nicht mehr so hoch.
Das Bild zeigt 240° ohne Druck.



Das 2. Bild zeigt die Temperaturen beim Druck eines 20x20 Würfels mit anderer Skalierung.
Vielleicht kann ja jemand mit besseren PID Werten noch glattere Kurven erzielen.



Grüße

Sascha

1-mal bearbeitet. Zuletzt am 05.01.15 16:39.


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 16:42
Die Zacken sind falsche Messungen, nicht schlechte Regelung. Ich hatte mit mehr gehofft. Aber der Fehler ist ja quasi geblieben.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
05. January 2015 17:17
Jetzt habe ich mal einen Due-Clone gegen einen original Arduino getestet. Mit einem 220 Ohm Widerstand zeigt das Original 255°C an und mit dem Clone sind es 257°C, wobei die Schwankungen (beide bis zu 2°C) nur aus der LCD-Anzeige abgeschätzt wurden (Motoren unter Strom, Heizbett aktiviert, aber nicht gedruckt, da das Hotend ja nicht über den Thermistor angeschlossen war).

Ich muss wohl für hübsche Bildchen auch mal versuchen, Repetier-Host ans Laufen zu bekommen ...

LG, Willy

PS: Bei meinem Clone fehlt der 32,.. kHz Uhren-Quarz, was hier aber nicht relevant sein sollte.


3D gedruckter Messerschärfer +++ RADDS für den Arduino-Due +++ Meine Drucker
Re: Temperaturschwankungen RADDS mit DUE/UDOO
06. January 2015 03:00
Mäkel nicht rum, lies lieber mal.
Vorher hat es mit Festwiderstand um 10 Grad gezuckt, jetzt nur noch um 0,4.
Das finde ich schon eine Verbesserung und achte auf die Skalierung in der 2. Grafik.


Quote
Wurstnase
Die Zacken sind falsche Messungen, nicht schlechte Regelung. Ich hatte mit mehr gehofft. Aber der Fehler ist ja quasi geblieben.


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
06. January 2015 03:04
Ja, wenn der Widerstand schonmal weniger wackelt scheint das gut zu sein.
Aber dein Hotend wandert immer noch bei Soll von 230° zwischen 226° und 233°. Das sind 7° Schwankung, das zu viel. Und das hat nichts mit der Regelung zu tun.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
06. January 2015 03:43
Moin,

habe noch mal ein wenig mit den PID Werten gespielt.
Was ich in der Grafik (während eines Ausdrucks) sehe, sind die Wellen die von der Regelung und dem unterschiedlichen Filamentfluss herrühren und die Zacken die Messfehler des ADC sind.
Die Zacken sind deutlich niedriger als vorher und liegen bei 240° im niedrigen mV Bereich.




@Willy
werden bei 16bit Wandlung nicht die unteren 4 Bits genullt? Bei dem Festwiderstand hatte ich ja nur noch Schwankungen um 0,4V und zwar immer um 0,4 (nicht 0,6 oder 0,3). Scheint also 1 Bit zu sein.
D.h. es schwankt beim Druck um geschätzt max. 3 Bit. Ob man da mit Thermistoren die ihren Ohm-Wert in diesem Bereich ja nur noch um Nuancen ändern weiterkommt???

Grüße

Sascha


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
06. January 2015 04:00
Hier noch ein Bild der Regelung bei 150° ohne Druck.
Da schwankt nix mehr (+-0,2° max.)




3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
06. January 2015 04:23
Ja, das sieht schon deutlich besser aus. Hast du eigentlich schon mal die Totzeitregelung in Betracht gezogen?
E3D V6:
Dead time lag ~ 4 Sekunden
bei 240° sollten Power when on ~155 reichen.
Max PWM auf 255 und Temperature control range auf 20 lassen.

Btw. würde ggf. ne Referenzspannungsquelle helfen? So Diodenteil?

Edit: Btw Prescale von 167 sollten doch 250kHz ergeben?!?

2-mal bearbeitet. Zuletzt am 06.01.15 09:28.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
07. January 2015 07:24
Ich hatte auch sehr lange damit zu kämpfen, dann funktionierte es für eine Woche halbwegs, und seit 3 Tagen wieder folgendes Bild:



Versuche immer über Dead Time Control zu gehen, und habe nun schon Werte von 2 - 10 in 0.1er Schritten versucht, aber wenn ich etwas finde, was halbwegs stabil ist und ich dann mit dem Drucken anfange, ist der Spaß schon wieder vorbei.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
07. January 2015 08:46
Ich kann es gerade nicht testen, aber vielleicht hilft das.

Edit: Ne, wird wohl nicht helfen...

--- Gelöscht wegen Mumpitz ---

2-mal bearbeitet. Zuletzt am 07.01.15 10:19.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 04:31
In den Tiefen von Repeter...

In der v092 wird bereits ein Mittelwert von 32 Werten gebildet. Den könnte man erhöhen. (Steht zwar Median in der Beschreibung aber sollte wohl mal nen Mean werden winking smiley )
Dazu in der Repetier.h
// Build median from 2^ANALOG_INPUT_SAMPLE samples
#define ANALOG_INPUT_SAMPLE 5

Am besten nicht höher als 7 gehen. Afaik wird die Temperatur ~3900 mal pro Sekunde gelesen.
Bei 2 Sensoren haben wir also ~1950 Messungen. 10 mal pro Sekunde wird der Regler eingestellt, also sollte die Temperatur bissl schneller sein. 1950/(2^7) haben wir dann ~ 15 updates pro Sekunde.

Vielleich bringt es auch etwas auf 12bit zu stellen? Wenn ich das richtig verstanden habe müssten man dazu in der Repetier.h:
// Bits of the ADC converter
#define ANALOG_INPUT_BITS 10

Auf 12 setzen

und in der HAL.cpp:
  ADC->ADC_MR = ADC_MR_TRGEN_DIS | ADC_MR_TRGSEL_ADC_TRIG0 | ADC_MR_LOWRES_BITS_10 |

den LOWRES auf 12. Hier bin ich mir aber nicht sicher was das für Auswirkungen haben kann.

Außerdem schreibt Repetier ein wenig weiter da drüber:
// startup time 16 clocks, settling time 17 clocks, no changes on channel switch

Aber Startup ist auf 64 clocks.
            ADC_MR_STARTUP_SUT64 | ADC_MR_SETTLING_AST17 | ADC_MR_ANACH_NONE |

Vielleich hilft das weiter?!?

2-mal bearbeitet. Zuletzt am 08.01.15 06:10.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 08:49
Ich wunder mich nur woran es liegt (nach wie vor) Im Idle Mode alles Supi, 230°C, Temperaturschwankungen +-1°C, Feintuning mit Dead Time Control: (im 0.001er bereich)



Dann einen ganz simplen Druck abgeben: Schwankungen um bis zu 7°C sind möglich, manchmal sinkt er plötzlich rapide auf unter 15°C ab. Im E3D ist der Thermistor gesichert. "Zugwind" bekommt das Hotend auch nicht ab. Heizbett gibt es keins mehr, ich drucke eh nur mit PLA.



Netzteile getauscht, Heizpatrone getauscht, Thermistor getauscht. Es haben ja relativ viele einen Sparkcube mit DUE + RADDS + Silencio Treiber, ich wunder mich was an den Konfigurationen anders ist.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 11:40
Also um noch mal kurz Rückmeldung zu geben:

Quote

#define ANALOG_INPUT_SAMPLE 5

Geändert auf 7

Quote

#define ANALOG_INPUT_BITS 10

Auf 12 Geändert.

Temperatur Schwankt jetzt nur noch zwischen 228 und 231°C - Nicht perfekt, aber es hilft um zumindest einigermaßen gute Ergebnisse zu erzielen.


Quote
Wurstnase
In den Tiefen von Repeter...

In der v092 wird bereits ein Mittelwert von 32 Werten gebildet. Den könnte man erhöhen. (Steht zwar Median in der Beschreibung aber sollte wohl mal nen Mean werden winking smiley )
Dazu in der Repetier.h
// Build median from 2^ANALOG_INPUT_SAMPLE samples
#define ANALOG_INPUT_SAMPLE 5

Am besten nicht höher als 7 gehen. Afaik wird die Temperatur ~3900 mal pro Sekunde gelesen.
Bei 2 Sensoren haben wir also ~1950 Messungen. 10 mal pro Sekunde wird der Regler eingestellt, also sollte die Temperatur bissl schneller sein. 1950/(2^7) haben wir dann ~ 15 updates pro Sekunde.

Vielleich bringt es auch etwas auf 12bit zu stellen? Wenn ich das richtig verstanden habe müssten man dazu in der Repetier.h:
// Bits of the ADC converter
#define ANALOG_INPUT_BITS 10

Auf 12 setzen

und in der HAL.cpp:
  ADC->ADC_MR = ADC_MR_TRGEN_DIS | ADC_MR_TRGSEL_ADC_TRIG0 | ADC_MR_LOWRES_BITS_10 |

den LOWRES auf 12. Hier bin ich mir aber nicht sicher was das für Auswirkungen haben kann.

Außerdem schreibt Repetier ein wenig weiter da drüber:
// startup time 16 clocks, settling time 17 clocks, no changes on channel switch

Aber Startup ist auf 64 clocks.
            ADC_MR_STARTUP_SUT64 | ADC_MR_SETTLING_AST17 | ADC_MR_ANACH_NONE |

Vielleich hilft das weiter?!?
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 11:55
Moin,

diese 15 Sekunden Wellen sehen aber nach einer schlechten Regelung aus.
Falls du eine 40W Patrone hast, probier doch mal diese Werte aus.

#define EXT0_PID_PGAIN_OR_DEAD_TIME 5.16
#define EXT0_PID_I 0.5
#define EXT0_PID_D 7.27

Grüße

Sascha


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 12:21
Mit schlechter Regelungen fängt der Regelkreis an zu Schwingen und macht nicht sowas.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 12:23
Macht er doch im 15 Sekunden Takt (letzte Grafik)



Quote
Wurstnase
Mit schlechter Regelungen fängt der Regelkreis an zu Schwingen und macht nicht sowas.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 14:23
Hmmm, ganz unrecht hast du nicht. Allerdings sind 5° drop in 2 Sekunden auch nicht ohne. Aber grob stimmt das schon.

Nicht vergessen neben den Analog_input_bits auch den LOWRES hochzusetzen.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 14:33
Müsste er bei schlechter Regelung nicht generell schwingen? Bei 230°C Idle ist alles super, nur beim Drucken schwingt er (Wobei kein Schwingen, sondern richtige peaks)
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 14:45
Ja, um diese peaks geht´s ja eigentlich. Die Versauen ja die Regelung.
Versuche mal die Änderung in der HAL.h die ich oben beschrieben habe.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
08. January 2015 15:19
Er hat Totzeitregelung. Da kann man höchstens das power when on nach oben stellen, bzw. die Totzeit.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
09. January 2015 07:10
So, ich versuche gerade [www.elcojacobs.com] in die HAL.cpp zu implementieren.
Noch keine Ahnung ob das Funktioniert, da ich es gerade nicht testen kann, aber vielleicht hat ja wer die Muße (und bissl mehr Ahnung als ich) sich das anzugucken.

Das Ding soll aus 8 Medianwerten den Durchschnitt erzeugen.

Edit: Ein Fehler noch schnell korrigiert der mir aufgefallen ist. Aber ob es sich kompilieren lässt kann ich noch nicht sagen.

2-mal bearbeitet. Zuletzt am 09.01.15 07:34.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Anhänge:
Öffnen | Download - HAL_11.zip (27.2 KB)
Re: Temperaturschwankungen RADDS mit DUE/UDOO
09. January 2015 18:57
Gääähn... Das Ding da oben habe ich fast zum laufen gebracht. Zumindest kommen am Ende die richtigen Zahlen raus. Nur will der Temperatur-Sensor nichts anzeigen. Ich denke es ist durch die for-Schleifen einfach viel zu langsam geworden.

Bin jetzt mal einen anderen Weg gegangen und es sieht gerade ganz gut aus. Morgen werd ich mal nen Druck anwerfen.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
10. January 2015 05:22
thumbs up


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
10. January 2015 05:42
Moin,

habs jetzt mit
#define EXT0_PID_PGAIN_OR_DEAD_TIME 20
#define EXT0_PID_I 0.45
#define EXT0_PID_D 25

einigermassen stabil. Pendelt so um +- 0,5° mit nur wenigen Ausreissern von 2° während des Druckens.



Grüße

Sascha


3Tripple 290x300x280mm, Raspi3+DUE+RADDS mit TMC2100, micron3dp Doppelextruder, Big Booster, Filaprint, Z-Riemenantrieb

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
10. January 2015 17:33
So ich habe mal ein wenig getestet.

Einfachste Lösung mit größter Wirkung:
12Bit Auflösung
167 Prescale für 250kHz
und 2^6 bis 2^7 Input-Samples.

Komplexere Lösung mit mehr Wirkung.
12Bit Auflösung
167 Prescale
2^4 Input-Samples
+ Moving Average Filter 1:10


2-mal bearbeitet. Zuletzt am 10.01.15 17:34.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.

Re: Temperaturschwankungen RADDS mit DUE/UDOO
11. January 2015 04:59
Gilt das Bild für Idle Modus oder während des Druckens?

12 Bit habe ich auch eingestellt, aber Prescale weithaus höher (meine 180 oder so etwas um den dreh)

Was mir auffällt, je niedriger die Temperatur, desto höher die Schwankungen. Bei 225°C habe ich definitiv höhere peaks als bei 230 oder 240°C

Quote
Wurstnase
So ich habe mal ein wenig getestet.

Einfachste Lösung mit größter Wirkung:
12Bit Auflösung
167 Prescale für 250kHz
und 2^6 bis 2^7 Input-Samples.

Komplexere Lösung mit mehr Wirkung.
12Bit Auflösung
167 Prescale
2^4 Input-Samples
+ Moving Average Filter 1:10
[attachment 46822 due_moving_average.JPG]
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen