Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Temperaturschwankungen RADDS mit DUE/UDOO

geschrieben von saschaho 
Re: Temperaturschwankungen RADDS mit DUE/UDOO
02. February 2015 07:15
Also ich habe mitlerweile auf "BangBang" umgestellt, da ich beim radds V1.1 wenn ich Pid verwende Temperaturschwankungen von bis zu 20°C habe. sad smiley
Wenn ich auf 60 einstelle, heitzt es weiter bis 80°C und wenn ich 40 einstelle ca bis 60°C.
Aber mit der Einstellung "BangBang" ist die Temperatur perfekt. sad smiley
Re: Temperaturschwankungen RADDS mit DUE/UDOO
02. February 2015 09:57
Mach mal autopid.
Heizbett-Temperatur steht bei mir wie eine 1.

Grüße

Sascha


Quote
mw2matze
Also ich habe mitlerweile auf "BangBang" umgestellt, da ich beim radds V1.1 wenn ich Pid verwende Temperaturschwankungen von bis zu 20°C habe. sad smiley
Wenn ich auf 60 einstelle, heitzt es weiter bis 80°C und wenn ich 40 einstelle ca bis 60°C.
Aber mit der Einstellung "BangBang" ist die Temperatur perfekt. sad smiley


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

www.wattwetter.de
Re: Temperaturschwankungen RADDS mit DUE/UDOO
02. February 2015 10:00
Moin,

ist das schon im download der config-Seite oder nur im github?

Grüße

Sascha

Quote
Wurstnase
Grad gesehen das Repetier nen Mode-Filter jetzt eingebaut hat. Vielleicht hilft es ja?
Re: Temperaturschwankungen RADDS mit DUE/UDOO
02. February 2015 10:06
Sowohl als auch.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
02. February 2015 11:01
So,

mal mit aktueller Firmware:
Ich find´s jetzt eigentlich ok.
Woher diese Spitzen kommen? Schätze die Motorstromaufnahme während des Druckes.

Hier mal während des Druckens


und ohne Druck




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
03. February 2015 04:08
Hallo Sascha,

Letzte Woche hatte ich mit Repetier gesprochen und dann kam die Idee den ADC auf 12 bit laufen zu lassen (4096 Werte anstatt 1024 Wertebereich).
Außerdem hat Repetier einen Filter gebaut, der 64 (2 hoch 6) Werte zum Mittel nimmt plus 2 Werte und den grössten und niedrigsten Wert raus schmeißt und die Summe wiederum auf 64 mittelt.

INFORMATION vom Februar 2015

Der Filter wird logischerweise grösser, wenn man die Mittlung von 64 auf 32 legt, sodass damit doppelt so viele "Spitzen" herausgefiltert werden können
((66 Werte - (hoechster + niedrigster)) / (2 hoch 6=64) -> (34 Werte - (Hoechster+Niedrigster)) / (2 hoch5=32)),oder so ähnlich :-)

Ergo, in der Repetier-Firmware in Github -> work092 auf Zeile 206 mal ausprobieren den Wert 2 hoch 6 auf 2 hoch 5 (oder 2 hoch 4) zu setzen:
#define ANALOG_INPUT_SAMPLE 6
auf 2 hoch 5 =32 oder 2 hoch 4 =16 oder 3 hoch 2 =8 setzen:
Bsp:
#define ANALOG_INPUT_SAMPLE 4
[github.com]

Die eigentliche Logik des "Filterns ist in der hall.cpp auf Zeile 991:
// Strip biggest and smallest value and round correctly
osAnalogInputBuildup = osAnalogInputBuildup + (1 << (ANALOG_INPUT_SAMPLE - 1)) - (adcSamplesMin + adcSamplesMax);

[github.com]

Theoretisch müsstest du mit dieser Logik eine schone grade rote Linie bekommen :-)

Danke dir fürs Testen

Gruss
Angelo

1-mal bearbeitet. Zuletzt am 03.02.15 04:08.


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 05:48
Quote
Wurstnase
In den Tiefen von Repeter...
.
.
.
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 |

Kam dann doch die Erleuchtung?

Das mit dem min/max-Filter finde ich auf jeden Fall eine gute Idee!

Wobei ich nicht glaube, dass eine geringere Sample-Rate bei den Spitzen helfen wird.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 09:04
repetier ist ein Gott...

Er will noch schnell mal eine Glättung der Glättung implementieren.
Irgendwo hätte er das bei der Berechnung von Börsenkursen gesehen. confused smiley


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 09:29
Ok, hier also nun die Lösung für alle Genauigkeitsfanatiker und leidtragenden von schwankenden Messungen.

Habe gerade für den Due eine weitere Glättungsstufe eingebaut, die über die Letzten 10 gemittelten und gefilterten Messungen einen Mittelwert berechnet und den verwendet. Das kann theroretisch in HAL.h mit
#define ANALOG_INPUT_MEDIAN 10
auch geändert werden, jedoch führen allzu große Werte zu einem Nachlaufen. Bei 10 und
#define ANALOG_INPUT_SAMPLE 6

ist praktisch kein nachlaufen zu befürchten, da nur alle 100ms ein Wert benötigt wird um die Heizung zu steuern. Alternativ könnte man noch

#define ANALOG_INPUT_MEDIAN 20
#define ANALOG_INPUT_SAMPLE 5

testen, was ungefähr das gleiche ist, nur mehr gesample gefilterte werte aber dafür mit weniger basiswerten (34 statt 66)


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 09:50
Mal über sowas hier nachgedacht?

unsigned long total = 0, val = 0;

void setup() {
}

void loop() {
  total = total + analogRead(A0) - val;
  val = total / 32;
}

Ich habe was ähnliches in Marlin mal reingepackt. Viel sauberer sollte man es kaum hinbekommen können. Ggf. die 32 bissl niedriger wählen.

Hier mal ein Beispiel mit '8' als Glättung. Blau sind die Messwerte mit ein paar krassen Ausreißern und grün ist 'val'.



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

Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:36
Kommt ungefähr aufs gleiche raus wie das, was ich jetzt drin habe nur wird dabei nicht ganz so viel geglättet. Derzeit werden 66 Werte zu einem deiner AnalogRead werte zusammengefasst und dann der Mittelwert der letzten 10 Werte genommen. Also Mittelung über 660 Werte statt 32. Aber die Lösung gefällt mir als AVR alternative, da sie wenig ram verbraucht. Jetzt will ich erst mal sehen wie die "fette" routine beim due und bekannt großen schwankungen klappt.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:43
ein weiterer sieg der software über unzulängliche hw? ... mind over matter grinning smiley
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:52
mensch klasse Wurstnase und repetier.

Könnten wir die Idee von Wurstnase nicht zur Glättung der Glättung der Glättung hinzufügen *denk*


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:56
Nein, können wir nicht, dann wird die Latenz zu groß. Es wäre ein Ersatz für das was ich als letztes hinzugefügt habe. Ungefähr gleiches Ergebnis, aber mit weniger Speicherverbrauch.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:57
Quote
angelo
mensch klasse Wurstnase und repetier.

Könnten wir die Idee von Wurstnase nicht zur Glättung der Glättung der Glättung hinzufügen *denk*
Nein, man darf den low-pass auch nicht zu stark aufdrehen, da dieser sonst zu lange nachläuft und die Regelung schwierigkeiten bekommt. Irgendwann ist auch schluss mit glätten.

Btw. den min/max Filter gibt es als stärkere Variante auch als Mode-Filter. Da werden von x Messwerten die mittleren x-n Werte gemittelt. Wenn der Due genügend Saft für so eine Schleife hat, könnte man das auch darüber machen.

[www.elcojacobs.com]
#define NUM_READS 100
float readTemperature(int sensorpin){
   // read multiple values and sort them to take the mode
   int sortedValues[NUM_READS];
   for(int i=0;i=value){
            // j is insert position
            break;
          }
       }
     }
     for(int k=i;k>j;k--){
       // move all values higher than current reading up one position
       sortedValues[k]=sortedValues[k-1];
     }
     sortedValues[j]=value; //insert current reading
   }
   //return scaled mode of 10 values
   float returnval = 0;
   for(int i=NUM_READS/2-5;i<(NUM_READS/2+5);i++){
     returnval +=sortedValues;
   }
   returnval = returnval/10;
   return returnval*1100/1023;
}


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 10:59
Quote
repetier
Nein, können wir nicht, dann wird die Latenz zu groß. Es wäre ein Ersatz für das was ich als letztes hinzugefügt habe. Ungefähr gleiches Ergebnis, aber mit weniger Speicherverbrauch.
Aber Achtung bei der Implementierung. Man braucht bei dem low-pass nen Startwert, da ansonsten nen max-Temp-Error die Folge ist.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 11:24
Vielleicht mach ich jetzt einen Denkfehler aber....
Glättung der Glättung der .... ist das nicht ein im Ansatz falscher Weg?
Natürlich brauchen wir eine Glättung aber diese Probleme wie sie jetzt bestehen (bestanden haben), könnte man doch auch am Eingang viel einfacher schon beseitigen!?
Wie wäre es wenn wir die Messungen die soweit vom letzten Mittelwert weg sind, dass es mit Sicherheit Messfehler sind garnicht erst zur Berechnung des nächsten Mittelwertes verwenden sondern vorher schon ausfiltern?
Man könnte das mit einer Variablen z.B. "max Abweichung" erschlagen!
Messerte die größer oder kleiner sind als Mittelwert + oder - max Abweichung werden übersprungen!

LG

Wolfgang
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 12:11
Hallo Wolfgang,

die Messpunkte liegen eher gestreut. So wie ich es verstanden habe bei einer Messstrecke von 1000 Messungen bildlich eher einer flachen Gauss-Kurve angenähert.
Kannst du uns/mir bitte mal ein rechnerisches Beispiel skizzieren, bitte.

Meinst du, das max Abweichung von einem beliebigen Anfangswert oder einem Referenzwert ermittelt werden soll ?

oder der Aktuelle Wert immer mit dem Letzten zu Vergleichen ist und wenn 2% Abweichung, dieser aus der Wertung raus fliegt und der Nächste Wert wiederum mit dem Vorletzten und letzten verglichen wird.
Ist der aktuelle Wert kleiner 2% des vorletzten Wertes wird er genommen.
Wenn das nicht der Fall ist wird der Vorletzte Wert raus geworfen und der jetzige Wert wird dann wieder mit dem Nächsten Wert verglichen bis 10 Werte gefunden werden die kleiner 2% im Toleranzfeld sind und diese in Summe durch 10 gemittelt werden, so nach dem Raupen-Prinzip?

Oder komplett falsch verstanden?

Gruss und Dank
Angelo


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 13:04
Moin,

ich habe mal #define ANALOG_INPUT_MEDIAN 10 und sample 5 eingebaut.
Ist gegenüber oben noch etwas besser geworden.
Hier Beweisfoto 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
03. February 2015 13:16
thumbs up


Mein Club: [hackerspace-ffm.de]
RADDS-Shield -> Commercial [max3dshop.org]
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 13:48
Hallo Angelo,

wir hatten es ja gerade besprochen aber vielleicht kann es der eine oder andere hier auch nicht nachvollziehen weil ich es umständlich beschrieben hatte.
Vereinfach erklärt geht man davon aus, dass in einer Meßreihe die meisten Messwerte in der Nähe des Mittelwerts liegen und es einige Ausreißer gibt.
Beispiel: 4 5 6 3 5 7 6 4 11 5
berechnet man davon den Mittelwert dann wäre das: 5,6
sieht man sich diese einfache Reihe an dann fällt sofort die 11 auf, die ca. doppelt so groß ist wie der errechnete Mittelwert.
Da dieser Messwert damit fast mit Sicherheit falsch ist wird er aus der Reihe entfernt und es bleibt: 4 5 6 3 5 7 6 4 5
Nun ergibt sich ein neuer, bereinigter Mittelwert mit: 5
Man könnte nun testweise eine zul. Abweichung vom ersten Mittelwert vorgeben und alle Messwerte die größer oder kleiner sind aus der Messreihe löschen und dann nochmal einen Mittelwert berechnen.

LG

Wolfgang
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 14:01
Das ist der Mode-Filter den ich oben eingefügt habe von elcojacobs.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
03. February 2015 14:02
Das ist ungefähr was der min/max filter derzeit macht. Er nimmt den größsten und kleinsten Außreißer weg.
Hierdurch müssen wir nicht wissen ab wann es ein Fehler ist. Dummerweise ist die Größe eines Fehlers nämlich von der Temperatur abhängig und bei kleineren Temperaturen deutlich unempfindlicher. So was zu konfigurieren kann man keinem User zumuten.

Bin übrigens mit Saschas neuer Kurve deutlich zufriedener. Die großen Schwankungen kommen sicher von der Temperaturregelung und mit den Oberwellen, die sicher aus Messfehlern resultieren kann man zumindest gut leben. Sogar die PID Steuerung ist viel ruhiger geworden.

ANALOG_INPUT_MEDIAN 20

könnte noch was verbessern, da er ja die Einzelmessung schon reduziert hat ist da noch was Luft.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Temperaturschwankungen RADDS mit DUE/UDOO
04. February 2015 08:43
Quote
repetier
Das ist ungefähr was der min/max filter derzeit macht. Er nimmt den größsten und kleinsten Außreißer weg.
Hierdurch müssen wir nicht wissen ab wann es ein Fehler ist. Dummerweise ist die Größe eines Fehlers nämlich von der Temperatur abhängig und bei kleineren Temperaturen deutlich unempfindlicher. So was zu konfigurieren kann man keinem User zumuten.

Bin übrigens mit Saschas neuer Kurve deutlich zufriedener. Die großen Schwankungen kommen sicher von der Temperaturregelung und mit den Oberwellen, die sicher aus Messfehlern resultieren kann man zumindest gut leben. Sogar die PID Steuerung ist viel ruhiger geworden.

ANALOG_INPUT_MEDIAN 20

könnte noch was verbessern, da er ja die Einzelmessung schon reduziert hat ist da noch was Luft.

Hi,

und wie bzw. wo kann ich den min/max Filter aktivieren?

Gruß
nargos
Re: Temperaturschwankungen RADDS mit DUE/UDOO
04. February 2015 08:54
Den musst du nicht aktivieren. Der ist jetzt einfach da!


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
04. February 2015 11:32
Quote
Wurstnase
Den musst du nicht aktivieren. Der ist jetzt einfach da!

OK, das bedeutet die firmware nochmals downloaden? config.h kann unverändert bleiben?

thanx
nargos
Re: Temperaturschwankungen RADDS mit DUE/UDOO
04. February 2015 11:43
Kommt auf das Datum der config.h an. Kürzlich sind ein paar Parameter dazugekommen, also einfach noch mal im config tool hochladen und wieder runterladen, dann ist sie ja wieder aktuell.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Temperaturschwankungen RADDS mit DUE/UDOO
04. February 2015 11:50
Quote
repetier
Kommt auf das Datum der config.h an. Kürzlich sind ein paar Parameter dazugekommen, also einfach noch mal im config tool hochladen und wieder runterladen, dann ist sie ja wieder aktuell.

werde ich dann mal tun.

Danke für die fixe Antwort!

Gruß
nargos
Re: Temperaturschwankungen RADDS mit DUE/UDOO
10. March 2015 04:18
Ich bin ja jetzt nen Weilchen schon mit Marlin unterwegs und auch da habe ich Probleme bei Temperaturen von über 250°. Bis 230° ist alles richtig glatt, ab 265° habe ich Schwankungen von bis zu 2°.
Jetzt habe ich mir mal für nen Euro sechzig nen paar 0605 1k bestellt und werde mal testweise einen Widerstand umlöten. Mal sehen was das bringt.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Temperaturschwankungen RADDS mit DUE/UDOO
10. March 2015 05:09
2° mit deinem glättungsalgo?

1-mal bearbeitet. Zuletzt am 10.03.15 05:09.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen