Welcome! Log In Create A New Profile

Advanced

Thermistortabelle für B57550G1103F005 Thermistor

Posted by Elk 
Elk
Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 02:18PM
Hallo allerseits,

ich habe einen (den einzigen bei meinem Elektronikzulieferer verfügbaren) Thermistor erstanden, welcher leider nicht standardmässig im Reprap Wiki auftaucht und muss mir nun irgendwie ein Temperature.h file basteln, welches mit dem Thermistor was ordentliches zusammen ergibt.
Ich habe das Datenblatt vom Thermistor angefügt - dieses beinhaltet eine gut ausgestattete temperaturtabelle, nur kann ich diese nicht in eine Form bringen / bzw. weiss nicht wie ich dies anstellen soll, dass sie annähernd so aussieht, wie sich dies für ein Temperature.h file gehört.
Bin um jede hilfe dankbar, welche mich einen schritt in Richtung dieses Files bringen könnte.

Gruss Sebastian
Attachments:
open | download - go-B57550G1103F005(Thermistor).pdf (273.8 KB)
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 03:18PM
Hast du es mit der Tabelle denn schon versucht ?
// "RS 10k thermistor" RS Part: 484-0149; EPCOS B57550G103J


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 03:27PM
Ich habe noch gar nichts versucht, da ich nicht aufs geratewohl mit etwas anfangen wollte, womit ich möglicherweise irgendwas zerstöre.
Deshalb, nein...

Kann sowas gutgehn?
VDX
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 03:40PM
... solange das Teil die Temperaturwerte mit passender Spannungsänderung überträgt und die Software daraus die richtige Temperatur berechnen kann, spricht nichts dagegen ...

Du mußt die Beschaltung passend ändern, damit sich der Spannungsbereich des Eingangs in dem für dich interessanten Temperatursegment bewegt ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 03:54PM
...bitte was?
Beschaltung ändern? Spannungsbereich des Eingangs? Was heisst das genau? Ich bin leider kein Elektroniker... confused smiley
Ich bin froh wenn ich einen Schaltplan einigermassen NACHLÖTEN kann. Aber das Detailverständnis fehlt mir leider ein wenig, deshalb auch die Fragerei ^^

Du musst mit mir eher im sinne von "ändere Bauteil X zu wert Y" oder "ändere Zahl A in Tabelle 1 zu Wert X" sprechen... tongue sticking out smiley
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 04:47PM
B57550G1103F005 ------------Das ist deiner
B57550G103J ------------ Von dem ist die Tabelle drinn

hast du denn schon mal nachgesehen wie sich die beiden unterscheiden ?

Du kannst an den Eingang auch nen popeligen Widerstand hängen... mehr wie falsch messen wird der dann nicht.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Thermistortabelle für B57550G1103F005 Thermistor
January 31, 2011 04:48PM
Hier ist die entsprechende Teilschaltung von der Gen7 (2 Temperatureingänge, daher doppelt)



Die Leitungen nach oben gehen an den Stecker, die nach unten an den ATmega. Dann gibt es noch Thermistoren, bei denen der Widerstand mit der Temperatur steigt und welche, bei denen das umgekehrt ist.


Generation 7 Electronics Teacup Firmware RepRap DIY
     

Attachments:
open | download - Thermistorschaltung-Gen7.png (19.9 KB)
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 01, 2011 05:18PM
@Wolfgang:
Habe mal das Datenblatt vom anderen Thermistor angeschaut - scheint sich aber doch deutlich zu unterscheiden...siehe hier.
Ich weiss nicht ob dies sinnvoll zu verwenden wäre...

@Traumflug:
Danke, damit kann ich schon mehr anfangen. 4.7K scheint für meinen Thermistor dabei keine allzuschlechte wahl zu sein, denn bei ca. 260° wird dieser Wert erreicht Jedoch müsste ich dennoch wissen, welche Tabelle ich verwenden muss oder aber am besten wäre, zu erfahren, wie sich diese berechnet. Die Datenblätter enthalten ja eine recht genaue Messreihe von Temperaturangaben bzw. der jeweiligen Werte des Widerstands, daraus müsste sich doch so ein Temperature.h - file herstellen lassen?

--> Wäre nach wie vor dankbar um ein "Tutorial" zur Errechnung dieses Files oder aber wenn bereits jemand den baugleichen Thermistor verwendet um eine Kopie smiling smiley
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 01, 2011 05:27PM
Guck mal in der Firmware, da ist ein File "createTemperatureLookup.py" vielleicht hilft dir das irgendwie weiter, da ist auch ein Link drinn zu dem Thema.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 01, 2011 05:41PM
Da steht oben drinn:

# Creates a C code lookup table for doing ADC to temperature conversion
# on a microcontroller
# based on: [hydraraptor.blogspot.com]
"""Thermistor Value Lookup Table Generator

Generates lookup to temperature values for use in a microcontroller in C format based on: 
[hydraraptor.blogspot.com]

The main use is for Arduino programs that read data from the circuit board described here:
[make.rrrf.org]

Usage: python createTemperatureLookup.py [options]

Options:
  -h, --help			show this help
  --r0=... 			thermistor rating where # is the ohm rating of the thermistor at t0 (eg: 10K = 10000)
  --t0=... 			thermistor temp rating where # is the temperature in Celsuis to get r0 (from your datasheet)
  --beta=...			thermistor beta rating. see [reprap.org]
  --r1=...			R1 rating where # is the ohm rating of R1 (eg: 10K = 10000)
  --r2=... 			R2 rating where # is the ohm rating of R2 (eg: 10K = 10000)
  --num-temps=... 	the number of temperature points to calculate (default: 20)
  --max-adc=... 	the max ADC reading to use.  if you use R1, it limits the top value for the thermistor circuit, and thus the possible range of ADC values
"""


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 03:09PM
Danke Wolfgang,

Leider weiss ich nicht, wie ich dieses Skript in Gang setzen kann...
Wäre echt froh um Hilfe confused smiley

Ich hoffe irgendwer hat das schon mal gemacht... Ich hab die Seite auch schon beackert und das Phyton-Script versucht auf meinem Computer zum laufen zu bringen... geht aber irgendwie nicht...
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 03:34PM
Warum nicht gleich den ?
[www.watterott.com]


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 03:46PM
hmja, aber da müsste ich erstens schon wieder geld ausgeben (hab mir 4 Stk. gekauft) und zweitens mein HotEnd nochmal zerlegen, denn da ist schon einer der andern sorte eingebaut...
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 03:59PM
dann mußt du wohl die Temperatur nach Gefühl einstellen tongue sticking out smiley und hoffen das sie nicht über 255° Einstellung liegt.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 04:18PM
ändert aber immer noch nix daran, dass ich so eine tabelle brauche...
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 02, 2011 07:36PM
Das hier schon gesehen? [reprap.org]

Unten auf dieser Seite findet man Links, wie man zu den Ausgangswerten kommt. Vielleicht fängst Du damit mal an.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 03, 2011 06:03PM
...ok, ich habe mich nochmal reingehängt.
Also einiges habe ich mal rausgefunden.

Hier kann man mal alles mögliche rund um Thermistoren berechnen (z.B. den korrekten Beta Wert)

Dieser scheint für meinen Thermistor bei 3625 zu liegen.
Dann habe ich (Dank meinem informatisch veranlagten Bruder) das Skript zum laufen gekriegt. smiling smiley

Spuckt jetzt auch eine Tabelle aus, ich weiss aber noch nicht ob die Taugt.
Was genau ist der Wert "MAX ADC" und woher kriege ich den? Dies habe ich noch nicht begriffen... dann habe ich auf der ReprapWiki Page gsehen, dass bei den 100K Thermistoren immer mit R1=0, R2=4700 gerechnet wurde, während bei 10K Thermistoren mit R1= 680 und R2 = 1600 gerechnet wurde. Heisst dies, ich müsste die Schaltung anpassen, wenn ich meinen 10K Thermistor verwenden will?

hier mal die Tabelle, die mir das Skript nun ausgespuckt hat...
An "MAX ADC" habe ich einfach mal solange geschraubt, bis ich keinen negativen Wert mehr in der Tabelle gefunden habe.. mein Bauchgefühl war dabei ausschlaggebend tongue sticking out smiley ich habe aber keine Ahnung was genau ich damit angestellt habe...

// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=10000 --t0=25 --r1=0 --r2=4700 --beta=3625 --max-adc=850
// r0: 10000
// t0: 25
// r1: 0
// r2: 4700
// beta: 3625
// max adc: 850
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 537},
{45, 162},
{89, 127},
{133, 108},
{177, 95},
{221, 85},
{265, 77},
{309, 69},
{353, 63},
{397, 58},
{441, 52},
{485, 47},
{529, 42},
{573, 38},
{617, 33},
{661, 28},
{705, 24},
{749, 19},
{793, 13},
{837, 7}
};
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 03, 2011 07:02PM
Mit dem ADC ist wohl der Analog Digital Converter des ATmega gemeint und der liefert natürlich digitale Zahlen an die Firmware. Dieser ADC hat eine Auflösung von 10 bit, also 0 ... 1023. Diese 1023 bedeuten dann 5 Volt am Analogeingang des ATmega, also wenn der Thermistor Null Ohm hat. Daher ist 1023 immer ein guter Wert.

Kleinere Werte machen demnach nur Sinn, wenn die 5V niemals erreicht werden. Dann wird die Temperaturkurve noch genauer angenähert.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 04, 2011 11:50AM
OK, das verstehe ich smiling smiley

Andere Frage:
Wenn ich einfach einen weiteren normalen 10K widerstand mit meinem Thermistor in reihe schalte, bleibt der Beta wert dann gleich?
Das Problem scheint zu sein, dass ich bei einem 10K Thermistor nicht mit der normalen Schaltung arbeiten kann und nur eine schlechte Auflösung vom Arduino nutzen kann (sprich der ADC wert wird dadurch auf nur noch einen Drittel verkleinert - dies weil die Spannung im Thermistor nicht so hoch sein darf, da er sich sonst selbst aufheizen kann..)
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 04, 2011 12:34PM
Jetzt wird's mir zu kompliziert. :-/

Bei den Beispielen sind allerdings zwei 10K Thermistoren dabei, also muss das irgendwie gehen: [reprap.org]


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 04, 2011 12:54PM
Ja aber scheinbar (so hats mir zumindest Nophead erklärt...) waren die vor allem bei der ersten generation im Einsatz und eine andere Schaltung war dafür nötig. Ausserdem soll scheinbar die 100K Version wohl viel Akkurater sein.
Hm... Mal schauen - ich hab jetzt noch ne Quelle für günstige 100K Honeywell Thermistoren entdeckt.. hab mal noch n'paar von denen auf Halde bestellt tongue sticking out smiley
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 10, 2011 09:31AM
was sind das überhaupt für werte, die in dieser Tabelle stehen? kann man die nicht vllt auch nach einer Formel berechnen?

Ich lese im wiki immer von beta und Rz werten sind das die beiden Wertepaare die in der Tabelle stehen? und was drücken die eigentlich aus im bezug auf die software?
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 10, 2011 10:14AM
[hydraraptor.blogspot.com]


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 11, 2011 03:27AM
ja das hab ich mir auch angeschaut aber der verwendet doch auch das py-.script... wennich das richtig sehe.

ich wüsste halt gerne was das für wertepaare sind links in der Tabelle denke ich sind das die werte von dem 10bit µC von 0... 1023

und auf der rechten seite ist das dann R1?
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 11, 2011 05:15AM
Die ganze Berechnerei ist ja ursprünglich von dem Nophead (Hydraraptor) . Wenn du Infos dazu bekommst, dann am ehesten in dem seinem Blog.

Mir ist das auch zu hoch um mich damit auseinander zu setzen.


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
VDX
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 11, 2011 05:17AM
... im Prinzip benötigst du ein genaues Thermometer, dann kannst du für jeden beliebigen Temperatursensor eine Kennlinie aufnehmen und die dann als Temperaturtabelle zum Berechnen der aktuellen Temperatur aus dem eingelesenen Analogwert verwenden ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 11, 2011 07:54AM
Sicherlich wäre diese S-förmige Kurve auch mit 5 Werten ausreichend angenähert. Es geht hier ja nicht darum, einen Temperatur-Zahlenwert präzise zu erreichen, sondern darum, eine einmal gefundene Temperatur sehr genau zu halten. Bei einer ungenauen Annäherung würde dann eben 220° auf dem Monitor stehen, wenn es tatsächlich 218° sind, doch diese 220°/218° würden dann gerade so genau eingehalten.

Eine wesentliche Vereinfachung für die Firmware ergibt sich aber erst, wenn man die ganze Geschichte auf zwei Zahlenpaare, also eine Gerade reduziert. Dann ist das eine lineare Gleichung mit immer gleichen Konstanten, die auch mathematisch einfach zu lösen ist.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 12, 2011 12:21PM
also ich hab mich gestern nochmal damit auseinander gesetzt, was da in dem script berechnet wird.
------------------------------------------------------------------------------------------------------------------------------------------------
class Thermistor:
"Class to do the thermistor maths"
def __init__(self, r0, t0, beta, r1, r2):
self.r0 = r0 # stated resistance, e.g. 10K
self.t0 = t0 + 273.15 # temperature at stated resistance, e.g. 25C
self.beta = beta # stated beta, e.g. 3500
self.vadc = 5.0 # ADC reference
self.vcc = 5.0 # supply voltage to potential divider
self.k = r0 * exp(-beta / self.t0) # constant part of calculation

if r1 > 0:
self.vs = r1 * self.vcc / (r1 + r2) # effective bias voltage
self.rs = r1 * r2 / (r1 + r2) # effective bias impedance
else:
self.vs = self.vcc # effective bias voltage
self.rs = r2 # effective bias impedance

def temp(self,adc):
"Convert ADC reading into a temperature in Celcius"
v = adc * self.vadc / 1024 # convert the 10 bit ADC value to a voltage
r = self.rs * v / (self.vs - v) # resistance of thermistor
return (self.beta / log(r / self.k)) - 273.15 # temperature

def setting(self, t):
"Convert a temperature into a ADC value"
r = self.r0 * exp(self.beta * (1 / (t + 273.15) - 1 / self.t0)) # resistance of the thermistor
v = self.vs * r / (self.rs + r) # the voltage at the potential divider
return round(v / self.vadc * 1024) # the ADC reading

def main(argv):

r0 = 100000;
t0 = 25;
beta = 4062;
r1 = 0;
r2 = 4700;
num_temps = int(20);


--------------------------------------------------------------------------------------------------------------------------------------------------
zugehöriger programmausschnitt

links in dieser Tabelle steht der "adc Wert,

"Convert ADC reading into a temperature in Celcius"
v = adc * self.vadc / 1024
an dieser stelle ist der adc wert zu wählen wenn man eine Tabelle ohne Script erstellen will. Die werte sollten eventuell zwischen 1 und 1000 aufgeteilt werden, das script macht ja auch nichts anderes.

r = self.rs * v / (self.vs - v)---> hier ergibt sich für die reprap Extruder Platinen self.rs zu R2 was einen Widerstand von 4,7 K ergibt. self.vs vereinfacht sich zu self.Vcc= 5V da r1=0 ist.

return (self.beta / log(r / self.k)) - 273.15 ---> als Returnwert erhält man dann dann den zugehörigen Temperaturwert zum adc. Bsp bei einen adc von 54, erhalte ich eine Temperatur von 255°C was der Wert in der rechten Spalte der Tabelle entspricht. wichtig ist aber man sollte den Beta wert des sensors kennen bzw. berechnen( gut macht sich dafür dieser rechenr beta rechner, und R0 bei T0 (quasi Raumtemperatur) alle werte sollten eigentlich im datenblat zu finden sein

mit der Funktion def setting(self, t): kann man den umgekehrten Schritt machen, indem man für t eine Temperatur wählt und als Returnwert den zugehörigen adc Berechnen kann.

ich hoffe man kanns einigermaßen nachvollziehen
Elk
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 18, 2011 03:30PM
(Da hat's irgendwie alles rausgelöscht was ich reingepostet hatte... 2. versuch das zu posten...)

So, um mal zum Anfang zurück zu kehren - nach all den Problemen die ich mit den 10K Thermistoren hatte habe ich mir nun Honeywell 100K Thermistoren beschafft. Farnell hilft smiling smiley und die sind ja auch echt günstig.
Ein weiterer Vorteil gegenüber den Perlen ist, dass diese Thermistoren axial aufgebaut sind, das heisst, sie lassen sich leichter einbauen und viel einfacher isolieren. zu dem sind die Lötbeine viel dicker und stabiler (ähnlich wie bei einem normalen Widerstand) was sie auch unempfindlicher macht. Serrrr schön smiling smiley
Sobald meine Anlage läuft melde ich mich dann mal wie's funktioniert smiling smiley

Edited 1 time(s). Last edit at 02/19/2011 06:11AM by Elk.
Re: Thermistortabelle für B57550G1103F005 Thermistor
February 18, 2011 05:40PM
Wenn das jetzt abgehackt ist gehen die Umlaute nicht mehr
Hast du zurück gemeint ?


Mfg
Wolfgang
Aller Anfang war schwer - Wolfstrap Reprap-fab.org Meine Meinung

Erfahrungen kann man leider schlecht weiter geben, die muss man selber machen.
Sorry, you do not have permission to post/reply in this forum.