Arduino, Thermistor på 1.0k till 1.6k ohm, vilket motstånd behövs?

Trädvy Permalänk
Medlem
Registrerad
Jun 2016

Arduino, Thermistor på 1.0k till 1.6k ohm, vilket motstånd behövs?

Jag har en inkapslad thermistor med okänt namn och värden, som jag har mätt fram resistansen.
Vid 1,0k ohm = 0 grader Celsius och 1,6k ohm = 100 grader Celsius.
Så min fråga är:
Behöver jag 1 eller 2 resistorer, och vilka värden ska dom ha för att få ut max precision/upplösning, och hur ska det kopplas?
Jag använder analoge A0.
Jag behöver presentation av 0 till 100 grader Celsius.

Jag har prövat "sketchen" på sidan :"http://playground.arduino.cc/ComponentLib/Thermistor"
men fick förstås fel resultat/värden, för jag kunde inte förstå vilka värden motstånden skulle ha.
Jag vill att 1.0k till 1.6k ohm "Termistor" ska presenteras som 0 till 1024.
Är det möjligt överhuvudtaget eller?
Om jag får någon att räkna ut resistansen på motstånden, kan jag klara/begripa resten själv.

Tack i förhand

Mvh Alladin65

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2007

Koden på den där sidan är gjort för en 10k termistor i serie med ett 10k motstånd. Den använder en hårdkodad tabell, så du kan inte använda koden rakt av med din termistor.

Men ett problem du har är att en termistor inte är linjär, utan modelleras oftast med Steinhart-Hart ekvationen. Eftersom din termistor är okänd så antar jag att du inte vet dess Steinhart-Hart koefficienter, så det första du bör göra är att mäta upp dem (se sektionen "Steinhart–Hart coefficients" på Wikipedia).

Om du sedan använder en vanlig spänningsdelare (termistor + motstånd i serie) så gäller ju ekvationen Vut = Vin * Rs / (Rt + Rs), där Rs är seriemotståndet och Rt är termistorn. Du kan så klart inte få ut 0V till Vin från den kretsen, eftersom 0V skulle kräva ett oändligt stort motstånd. Den största förändringen i utspänning fås när Rs och Rt är lika, så det vettigaste verkar vara att sätta Rs till 1,3k, d.v.s. mellan 1,0k och 1,6k. Då får du ca. 0°C = 2,83V till 100°C = 2,24V, vilket ger ett intervall på 0,585V, eller 11.7% av Arduinons mätområde. Det ger alltså ca. 119 mätvärden mellan 0°C och 100°C.

Men man kan ändra spänningsreferensen på en Arduino, med analogReference. Om du ändrar referensen till t.ex. 3V så blir 0,585V istället 19,5% av mätområdet, eller 200 mätpunkter. Då får du alltså en precision på 0,5°C, vilket väl är ungefär så bra som man kan förvänta sig med en okänd termistor avläst från en Arduino.

Trädvy Permalänk
Medlem
Registrerad
Jun 2016

@perost: Kanoon, jasså, den är inte linjär, okii, bra att veta ju, ska mecka lite här. Många tack