Pages: [1]   Go Down
Author Topic: Arduino Uno mit Thermistor (TC005-503)  (Read 526 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,  smiley

ich versuche jetzt seit paar Tagen schon, das Programm zum Laufen zum bringen,
aber ich stehe noch immer vor einem großen Problem & finde keine Lösung bei google.de..
Wo kriege ich die Koeffizienten von meinem Thermistor (TC005-503) raus?
Im Datenblatt stehen die nicht oder?
http://www.alldatasheet.com/datasheet-pdf/pdf/334623/RFE/TC005-503.html

Das Programm das ich benutzen will:

#include <math.h>

double Thermister(int RawADC) {
 double Temp;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
 Temp = Temp - 273.15;            // Convert Kelvin to Celcius
 Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
 return Temp;
}

void setup() {
 Serial.begin(115200);
}

void loop() {
 Serial.println(int(Thermister(analogRead(0))));  // display Fahrenheit
 delay(100);
}

Danke schonmal im vorraus!
« Last Edit: November 16, 2012, 08:13:46 am by RaphaelK » Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Schau mal hier http://hyperphysics.phy-astr.gsu.edu/hbase/electric/restmp.html#c3

Gruß Gerd
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke, werde ich sofort mal ausprobieren! smiley-wink
aber brauche doch eig. 3..
a, b & c
« Last Edit: November 16, 2012, 07:41:02 am by RaphaelK » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

brauche weiterhin hilfe!^^
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 194
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
in der Tabelle kann man doch 2 Widerstandswerte bei unterschiedlichen Temperaturen eingeben. Wenn du dann auf  alpha (T(final) klickst, bekommst du den TK-Wert.
Wenn du das Java-Script umschreibst, hast du die Formel
Code:
<SCRIPT LANGUAGE ="JavaScript">
function rcal(){fh=document.forms[0];def();rr0=fh.r0.value;aalp=fh.alp.value*Math.pow(10,fh.alpp.value);tt0=fh.t0.value;tt=fh.t.value;fh.r.value=rr0*(1-(-1)*aalp*(tt-tt0))}

function r0cal(){fh=document.forms[0];def();rr=fh.r.value;aalp=fh.alp.value*Math.pow(10,fh.alpp.value);tt0=fh.t0.value;tt=fh.t.value;fh.r0.value=rr/(1-(-1)*aalp*(tt-tt0))}

function alpcal(){fh=document.forms[0];def();rr0=fh.r0.value;rr=fh.r.value;tt0=fh.t0.value;tt=fh.t.value;alpc=(rr-rr0)/(rr0*(tt-tt0));fh.alp.value=snb(alpc);fh.alpp.value=snp(alpc)}

function tcal(){fh=document.forms[0];def();rr0=fh.r0.value;rr=fh.r.value;tt0=fh.t0.value;aalp=fh.alp.value*Math.pow(10,fh.alpp.value);fh.t.value=tt0-(-1)*(rr-rr0)/(aalp*rr0)}

function t0cal(){fh=document.forms[0];def();rr0=fh.r0.value;rr=fh.r.value;tt=fh.t.value;aalp=fh.alp.value*Math.pow(10,fh.alpp.value);fh.t0.value=tt-(rr-rr0)/(aalp*rr0)}


<!-- the following routines handle the conversion to and from scientific notation-->
<!-- sn(b,p) converts number with power of 10 to a number-->
function sn(b,p){return b*Math.pow(10,p)}
<!--snp(x) returns the power of 10 for a number-->
function snp(x){return Math.round(Math.log(x)/Math.LN10)}
<!--snb(x) returns the base of number with which to multiply the power of 10-->
function snb(x){return x/Math.pow(10,snp(x))}
<!--svb(b,p) takes input base and power and scales to make base between 1 and 10, returns base-->
function svb(b,p){n=sn(b,p);return snb(n)}
<!--svp(b,p) takes input base and power and scales to make base between 1 and 10, returns power-->
function svp(b,p){n=sn(b,p);return snp(n)}

<!--display(x) checks to see if a number is too small or too large to fit in a 6-space field, and if so, displays ellipsis ...-->
function display(x){xx=x;if(x<Math.pow(10,-4))xx="...";if(x>.99*Math.pow(10,5))xx="...";return  xx}

<!--default values are set for parameters which have zero values-->
<!--There is value in having an overall default function for a calculation to provide values for all parameter which you dont want to default to zero-->
function def(){fh=document.forms[0];if (fh.r0.value==0)fh.r0.value=100;if (fh.r.value==0)fh.r.value=131.2;if (fh.t0.value==0)fh.t0.value=20;if (fh.t.value==0)fh.t.value=100;if (fh.alp.value==0)fh.alp.value=3.9;if (fh.alpp.value==0)fh.alpp.value=-3}

</script>

Gruß Gerd
Logged

Pages: [1]   Go Up
Jump to: