Temperatuur sensor omrekenen naar graden Celsius
Temperatuur sensor omrekenen naar graden Celsius
Hallo allemaal,
Ik heb een ikea food thermometer en die wil ik op mijn arduino gaan aansluiten.
De sensor heb ik aangesloten op analoge input "0"
bij 14 graden heb ik een analoge waarde van 998
Bij 34 graden heb ik een analoge waarde van 958
In dit geval zou hij dus de temperatuur weer moeten geven tussen 14 en 34 graden.
Nu heb ik hetvolgende geprobeerd om die waarde dus naar celsius om te zetten;
map (val, 998, 958, 14, 34);
Maar dit werkt niet..
Kan iemand mij hier mee helpen hoe ik het beste dit om kan zetten?
Ik heb een ikea food thermometer en die wil ik op mijn arduino gaan aansluiten.
De sensor heb ik aangesloten op analoge input "0"
bij 14 graden heb ik een analoge waarde van 998
Bij 34 graden heb ik een analoge waarde van 958
In dit geval zou hij dus de temperatuur weer moeten geven tussen 14 en 34 graden.
Nu heb ik hetvolgende geprobeerd om die waarde dus naar celsius om te zetten;
map (val, 998, 958, 14, 34);
Maar dit werkt niet..
Kan iemand mij hier mee helpen hoe ik het beste dit om kan zetten?
Advertisement
Re: Temperatuur sensor omrekenen naar graden Celsius
Dit lijkt me iets voor een offset en een gain.
Analoge waarde 40 minder is 20 graden meer. Dus de gain is -0.5
De analoge waarde met een gain van -0.5 is rawADC * -0.5, en dat is hetzelfde als -rawADC / 2 (let op het min-teken).
Van 14 graden naar nul zou dus 28 stappen omhoog zijn. Dus nul graden is 998+28 = 1026.
Er zal vast wel een formule voor bestaan, om met twee punten een lineare functie te maken, maar ik heb het nu beredeneerd.
...Inmiddels gevonden, het heet een "Equation of a linear function through two points". Je kunt het zelfs online laten uitrekenen.
Analoge waarde 40 minder is 20 graden meer. Dus de gain is -0.5
De analoge waarde met een gain van -0.5 is rawADC * -0.5, en dat is hetzelfde als -rawADC / 2 (let op het min-teken).
Van 14 graden naar nul zou dus 28 stappen omhoog zijn. Dus nul graden is 998+28 = 1026.
- Code: Alles selecteren
int rawADC = analogRead( A0);
int temperature = (1026 - rawADC) / 2;
Er zal vast wel een formule voor bestaan, om met twee punten een lineare functie te maken, maar ik heb het nu beredeneerd.
...Inmiddels gevonden, het heet een "Equation of a linear function through two points". Je kunt het zelfs online laten uitrekenen.
Laatst gewijzigd door Koepel op 14 Aug 2016, 20:28, in totaal 1 keer gewijzigd.
Re: Temperatuur sensor omrekenen naar graden Celsius
Het is een Et-73 food probe thermometer en daar zijn verschillende bestaande sketches voor maar ik wil het simpeler doen en dat ik hem zelf ook begrijp.
Wat je zegt denk ik ook, die 14 en 34 had ik zo op tafel voor handen met meten. Ik zal eens van 0 graden en 250 meten wat de waardes dan zijn.
Maar die map moet ook kunnen toch?
Wat je zegt denk ik ook, die 14 en 34 had ik zo op tafel voor handen met meten. Ik zal eens van 0 graden en 250 meten wat de waardes dan zijn.
Maar die map moet ook kunnen toch?
Re: Temperatuur sensor omrekenen naar graden Celsius
Ja, die map werkt ook buiten de grenzen. Ik heb de map() even geprobeerd en het werkt.
Maar die temperatuurmeter is niet lineair. Dus heb je toch echt een wat meer ingewikkelde formule nodig, ook al begrijp je zelf die formule niet.
- Code: Alles selecteren
void setup()
{
Serial.begin(9600);
Serial.println( "--------------------");
for( int i = 0; i<1024; i+=2)
{
int j = map( i, 998, 958, 14, 34);
if( i<1000)
Serial.print( " ");
if( i<100)
Serial.print( " ");
if( i<10)
Serial.print( " ");
Serial.print( i);
Serial.print( ",");
if( j<1000)
Serial.print( " ");
if( j<100)
Serial.print( " ");
if( j<10)
Serial.print( " ");
Serial.print( j);
Serial.println();
}
Serial.println( "--------------------");
}
void loop()
{
}
Maar die temperatuurmeter is niet lineair. Dus heb je toch echt een wat meer ingewikkelde formule nodig, ook al begrijp je zelf die formule niet.
Re: Temperatuur sensor omrekenen naar graden Celsius
ja map zou zeker moeten kunnen, echter de sensor is zeker niet lineair en hoe heb je hem aangesloten?
kijk maar naar het voorbeeld van koepel.
de formule klopt echter niet want 0 graden is niet te meten.
dus een iets hogere weerstand is nodig.
probeer uit te komen in de buurt van 500 bij 25 graden, dan heb je speling aan beide kanten.
als blijkt dat het niet lineair is dan kun je een omrekenformule of een array gebruiken.
kijk maar naar het voorbeeld van koepel.
de formule klopt echter niet want 0 graden is niet te meten.
dus een iets hogere weerstand is nodig.
probeer uit te komen in de buurt van 500 bij 25 graden, dan heb je speling aan beide kanten.
als blijkt dat het niet lineair is dan kun je een omrekenformule of een array gebruiken.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Temperatuur sensor omrekenen naar graden Celsius
Is de ET-73 alleen maar een NTC ?
Dan is dit de beste tutorial : https://learn.adafruit.com/thermistor/using-a-thermistor
De derde (onderste) sketch laat zien hoe de temperatuur berekend kan worden.
Je hebt ook een goede voltage reference nodig. Als de 5V wordt gebruikt, en je gebruikt alleen een USB kabel, dan is de 5V misschien tussen de 4.6 en 5.0V in, en iedere afwijking zorgt voor een flinke wijziging in het uiteindelijke resultaat. Met een externe adapter krijg je dan wel een stabiele temperatuur te zien.
Dan is dit de beste tutorial : https://learn.adafruit.com/thermistor/using-a-thermistor
De derde (onderste) sketch laat zien hoe de temperatuur berekend kan worden.
Je hebt ook een goede voltage reference nodig. Als de 5V wordt gebruikt, en je gebruikt alleen een USB kabel, dan is de 5V misschien tussen de 4.6 en 5.0V in, en iedere afwijking zorgt voor een flinke wijziging in het uiteindelijke resultaat. Met een externe adapter krijg je dan wel een stabiele temperatuur te zien.
Re: Temperatuur sensor omrekenen naar graden Celsius
Die ET-73 is gewoon een NTC inderdaad.
Die link ga ik eens rustig nalezen, als het gelukt is dan laat ik dat uiteraard weten..
Die link ga ik eens rustig nalezen, als het gelukt is dan laat ik dat uiteraard weten..
Re: Temperatuur sensor omrekenen naar graden Celsius
Oeps, sorry Met een NTC en een weerstand maakt het niet uit als de 5V varieert. Je heb dus helemaal geen externe adapter voor de Arduino nodig voor een beter resultaat.
Re: Temperatuur sensor omrekenen naar graden Celsius
ik krijg het nog niet voor elkaar, heb net de sensor ook even gemeten bij ongeveer 24 graden. De multimeter gaf 240KOhm aan..
Re: Temperatuur sensor omrekenen naar graden Celsius
Dat klopt vrij aardig.
De meeste NTCs zijn 10k (bij 25 graden), maar de ET-73 is een 200k NTC !
Ik vond een link naar een datasheet hier : http://tvwbb.com/showthread.php?22136-LinkMeter-v2-Homebrew-BBQ-Controller-Part-1&p=63250&viewfull=1#post63250
Bij zulke hoge waarden zit je met ruis. Dus een kleine condensator van 1nF or 10nF van de analog pin naar ground kan helpen. En een paar samples nemen voor het gemiddelde helpt ook.
ET-73: het bereik is -50 tot 250 graden. De 100 graden zit middenin. De beste temperatuur voor het vlees is misschien ook zo'n 100 graden. Dus rond de 100 graden is het belangrijkste gedeelte, dus daar willen we de hoogste nauwkeurigheid. Dan kiezen we de weerstand dezelfde waarde als de ET-73 bij 100 graden, zodat het resultaat in het midden (2.5V) komt. De ET-73 is 18k bij 100 graden. Dus ik zou 15k of 18k of 22k nemen voor de weerstand naar 5V.
De meeste NTCs zijn 10k (bij 25 graden), maar de ET-73 is een 200k NTC !
Ik vond een link naar een datasheet hier : http://tvwbb.com/showthread.php?22136-LinkMeter-v2-Homebrew-BBQ-Controller-Part-1&p=63250&viewfull=1#post63250
Bij zulke hoge waarden zit je met ruis. Dus een kleine condensator van 1nF or 10nF van de analog pin naar ground kan helpen. En een paar samples nemen voor het gemiddelde helpt ook.
ET-73: het bereik is -50 tot 250 graden. De 100 graden zit middenin. De beste temperatuur voor het vlees is misschien ook zo'n 100 graden. Dus rond de 100 graden is het belangrijkste gedeelte, dus daar willen we de hoogste nauwkeurigheid. Dan kiezen we de weerstand dezelfde waarde als de ET-73 bij 100 graden, zodat het resultaat in het midden (2.5V) komt. De ET-73 is 18k bij 100 graden. Dus ik zou 15k of 18k of 22k nemen voor de weerstand naar 5V.
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 24 gasten