thermistor voor arduino

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zou graag de temperatuur van een heatsink willen meten.
Ik heb al eens een 10K thermistor gebruikt met de arduino met een code die er graden celcius van maakte.
Dit leek goed te werken, alleen had ik graag decimalen achter de comma gewild. Maar dat komt later.

Ik zoek nu een thermistor die goed het coperen koelblok kan meten. Op Conrad zie ik wel 60 thermistors staan. Ik heb geen enkel idee welke ik moet hebben. Ik zou ook graag temperaturen tot 200 graden kunnen meten, de meeste lijken maar tot 125 graden te gaan, graag iets hoger dan dat.

Ik denk dat er bij het test setje van de arduino een 10K zat zodat er niet zoveel stroom doorheen gaat.
Dus ik zal denk ik ook een 10K nodig hebben. Maar als ik bv. een 6K wil gebruiken, werkt dat dan nog met de arduino, en heb ik andere code nodig?
Iemand enig idee wat een goede keuze zou zijn, ik heb geen verstand van welke thermistor beter is.

Acties:
  • 0 Henk 'm!

  • ChaosZ0ne
  • Registratie: Januari 2006
  • Laatst online: 29-08 23:06
Verwijderd schreef op maandag 24 mei 2010 @ 16:17:
Ik zou graag de temperatuur van een heatsink willen meten.
Ik heb al eens een 10K thermistor gebruikt met de arduino met een code die er graden celcius van maakte.
Dit leek goed te werken, alleen had ik graag decimalen achter de comma gewild. Maar dat komt later.

Ik zoek nu een thermistor die goed het coperen koelblok kan meten. Op Conrad zie ik wel 60 thermistors staan. Ik heb geen enkel idee welke ik moet hebben. Ik zou ook graag temperaturen tot 200 graden kunnen meten, de meeste lijken maar tot 125 graden te gaan, graag iets hoger dan dat.

Ik denk dat er bij het test setje van de arduino een 10K zat zodat er niet zoveel stroom doorheen gaat.
Dus ik zal denk ik ook een 10K nodig hebben. Maar als ik bv. een 6K wil gebruiken, werkt dat dan nog met de arduino, en heb ik andere code nodig?
Iemand enig idee wat een goede keuze zou zijn, ik heb geen verstand van welke thermistor beter is.
Zover ik weet zijn thermistors niet bijster betrouwbaar, en meer significante cijfers, zal alleen maar schijnnauwkeurigheid opleveren imo.
Ik heb zelf niet zoveel verstand van arduino-code, enkel van PicBasic, maar lijkt mij dat e.e.a hetzelfde werkt. Als je een andere weerstand of andere thermistor neemt, zal je hem moeten "ijken" door een zekere waarde in de code te veranderen. De weerstand zal namelijk voor elke thermistor (wat niet meer is dan een flink temperatuursafhankelijke weerstand), bij eenzelfde temperatuur anders zijn, en je code moet dat "weten".

Post anders even je code die je hebt hier, dan kunnen we zien waar jouw "ijkwaarde" staat.

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Je moet hem idd ijken (ijs en kokend water, 0 resp 100 graden Celsius zijn handig0, maar meer signifcantie is niet altijd handig:

1; Hoe stabiel en precies is je ADC?
2: Hoe stabiel en precies is je voeding?
3: Hoe lineair is je NTC/PTC?
4: Hoe goed is de warmte-overdracht van je koperen blok op de weerstand?

Over het algemeen zal je weerstand koeler zijn dan je blok, en je blok ook niet overal dezelfde temperatuur hebben.

Tiende graden zijn dus niet echt zinnig.


Let op: dit is puur logica en natuurkunde. Als je het leuk vindt om ermee te spelen, moet je het vooral doen. Echter moet je vooral geen waarde aan de tiende graden hechten :).

[ Voor 15% gewijzigd door Boudewijn op 24-05-2010 17:56 ]

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 03-09 11:04

mux

99% efficient!

Hm, ik denk niet dat je die resolutie uit een thermistor kunt halen. En die temperatuur ook niet. Je zult voor die temperatuur met een thermokoppel moeten gaan werken, maar daarvoor heb je ook een versterker nodig. Afhankelijk van de arduino kun je een k-thermokoppel direct op je arduino monteren. Geen flauw idee waar je de arduino-code dan vandaan haalt, maar wellicht als je op thermokoppel gaat zoeken dat je iets vindt. Hier kunnen we je iig wel met C code helpen die een thermokoppel werkend krijgt.

Maargoed, de technische kant van het verhaal:
- NTCs zijn temperatuurafhankelijke weerstanden. Goed verkrijgbare versies zijn eigenlijk allemaal ruwweg hetzelfde en zijn lineair binnen 1% tussen -20 en +125 graden. Ik heb zelf geklooid met een paar NTCs maar deze werden al boven 140 graden vreselijk nonlineair, en ze konden niks boven de 150 graden meten. Bovendien verlies je gigantisch aan resolutie: de weerstand verloopt niet lineair, maar exponentieel met temperatuur. Bij lage temperaturen heb je een resolutie van (als je het goed doet) ~10-15LSB per graad en zou je dus tienden van graden kunnen laten zien, maar bij 80 graden heb je al weinig meer over dan 1 graad resolutie. Ik heb ook nog wel een matlab-scriptje waarin je kunt klooien met thermistors.

- Je ADC heeft ook maar beperkte resolutie en ruist verschrikkelijk. Een AVR is maar ongeveer 2.5LSB precies (dat wil zeggen: je kunt maar ongeveer 400 discrete waarden betrouwbaar uit elkaar halen, de ADC kent zelf 1024 waarden). Je kunt zelf al uitrekenen dat je daarmee zelfs met een perfect lineaire NTC die van 0 tot oneindig weerstand kan genereren, maar een temperatuursinterval van 40 graden zou kunnen meten. Doordat je weerstand eindig is en je een weerstandsdeling moet meten, verlies je bovendien nog minstens de helft van je meetresolutie (als je niet begrijpt wat ik hier zeg, roep, dan leg ik het uit). Als je betrouwbaar en stabiel - zelfs met een goed ADC-filter - zou willen meten op 0.1 graad precies, heb je iets heel anders nodig.

Een thermokoppel genereert zelf een spanning die afhangt van de temperatuur. Thermokoppels zijn heel precies en goed gedocumenteerd. Het enige probleem is dat ze maar een hele kleine spanning genereren, je moet dus het signaal flink versterken voordat je ADC het kan uitlezen en digitizen. In sommige AVRs zit een versterker ingebouwd, die zou je dan kunnen gebruiken, of je zou een arduino shield kunnen gebruiken met ingebouwde k-thermokoppel-uitlezer (bijvoorbeeld een MAX6675).

Youtube: PowerElectronicsBlog - Plank2 (4W computer)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank voor alle goede uitleg.
Ik begrijp wat hier word gezegt.

Ik wil een nauwkeurigheid hebben van ongeveer 1 of een halve graad. Als deze maar bij hoge temps redelijk werkt. Ik wil niet met een aparte ic gaan werken die je met serial aansluiting moet werken.
Ik heb gelezen over een temp en humidity sensor die over serial werkte, iedereen had daar veel moeite mee, en de code was onbegrijpelijk voor mij.
Ik wil wel iets dat je analoog kunt uitlezen met een analog in pin.
Misschien zo'n thermokoppel met amp erin?
Weet iemand een goede/niet al te dure thermokoppel met amp?

Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 03-09 11:04

mux

99% efficient!

Thermokoppels hebben nooit een ingebouwde versterker, want thermokoppels gebruiken een andere opbouw dan silicium chips, waardoor ze niet bij elkaar geintegreerd kunnen worden. Zoals gezegd: duik eens de datasheet in van de AVR die op jouw arduino zit en kijk of hij een geintegreerde versterker heeft, en hoe je die dan zou moeten aansluiten.

Youtube: PowerElectronicsBlog - Plank2 (4W computer)


Acties:
  • 0 Henk 'm!

  • almightyarjen
  • Registratie: Maart 2002
  • Laatst online: 22:38

almightyarjen

When does the hurting stop?

Verwijderd schreef op maandag 24 mei 2010 @ 16:17:
Ik zou graag de temperatuur van een heatsink willen meten.
Waarom wil je een sensor die tot 200 graden gaat?? Zo heet wordt een heatsink imo niet, tenzij je de componenten op de heatsink aan het doorbranden bent...

Als je voor een lagere temperatuur kan/wil gaan, dan is de LM75 misschien wel iets: deze is makkelijk aan te sturen en is geheel digitaal. Nadeel in jouw geval is dus wel dat hij maar tot 125 graden gaat...
ssj3gohan schreef op dinsdag 25 mei 2010 @ 07:53:
Thermokoppels hebben nooit een ingebouwde versterker, want thermokoppels gebruiken een andere opbouw dan silicium chips, waardoor ze niet bij elkaar geintegreerd kunnen worden. Zoals gezegd: duik eens de datasheet in van de AVR die op jouw arduino zit en kijk of hij een geintegreerde versterker heeft, en hoe je die dan zou moeten aansluiten.
Is een simpele closed-loop opamp hiervoor geen oplossing, of is dit niet nauwkeurig?

Patreon | Main Youtube | Work In Progress Youtube


Acties:
  • 0 Henk 'm!

  • mux
  • Registratie: Januari 2007
  • Laatst online: 03-09 11:04

mux

99% efficient!

Jahoor, voldoet prima. Zolang er maar een lowpass-filter voor en achter zit.

Maar mhensbergen stelt de eisen dat hij tot 200 graden gaat én geen externe chips. Dan blijft enkel de ingebouwde zut in een AVR en een k-thermokoppel over hè. Andere mogelijkheden heb ik ook al aangegeven, maar die voldoen ook niet. Het is aan TS om te gaan uitproberen en beslissen wat het beste is.

Youtube: PowerElectronicsBlog - Plank2 (4W computer)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank voor alle reacties.

Ik begrijp dat als ik een chip gebruik ik deze op de serial in en/of out moet aansluiten.
Ik gaf al aan, ik had een keer een humidity sensor en temp sensor SHT15.
Daar hebben mensen zo veel problemen mee om deze alleen al te starten.
Zolang de chip een hele simpele code nodig heeft en makkelijk werk kan ik deze overwegen. Dat zou dan de LM75 kunnen worden, geen idee wat de keuzes hierin zijn.

Ik wilde graag tot 200 graden als dat niet zo moeilijk was.
het warmste onderdeel zal de weerstanden zijn die elk 12watt warmte kwijt moeten.
Ik zet er wel een extra hoekblok op, maar deze kunnen volgens de specs tot 200 graden gaan.
Dat worden ze vast niet, zeker aangezien ik mijn 1,35 ohm niet kan krijgen, daarvoor moet ik helaas 2x 2.7 ohm gebruiken. Dus dubbel zoveel weerstanden, dan maar 6 watt per weerstand.

Acties:
  • 0 Henk 'm!

  • Sibylle
  • Registratie: Juli 2006
  • Laatst online: 13-07-2023
misschien niet in de richting waar je aan denkt maar: http://www.twenga.nl/dir-...ten,Infrarood-thermometer

Kost wellicht evenveel of minder als het uiteindelijke product dat jij gaat maken. Als je de datasheets/schemas vantevoren goed doorneemt is er wellicht mogelijkheid om de thermometer uit te lezen met een Arduino.

Ctrl+k


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Leuk bedacht, maar dat is te duur.
Liever dan een minder nauwkeurige lezing dan.

Acties:
  • 0 Henk 'm!

  • TNW
  • Registratie: Januari 2007
  • Laatst online: 09-09 14:01

TNW

Verwijderd schreef op dinsdag 25 mei 2010 @ 23:34:

Ik zet er wel een extra hoekblok op, maar deze kunnen volgens de specs tot 200 graden gaan.
Wat voor apparaat is dat waarvan het koelblok 200 graden wordt? En heb je wel eens gemeten hoe warm het koelblok echt wordt? Misschien zijn die specs wat overdreven en worden die temps alleen in extreme gevallen gehaald.

Weblog | Straling!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het betreffen weerstanden die rated tot 25 watt desiperen. Die mogen maximaal 200 graden worden.
Maar dat zullen we denk ik nooit halen, misschien wel 120 graden. Vandaar dat het fijn is iets boven die 125 graden te kunnen meten. Maar ik denk dat 120 graden ook genoeg zou moeten zijn.
Weet iemand een heel eenvoudige chip voor het meten van de temperatuur die eenvoudige arduino code gebruikt?

Acties:
  • 0 Henk 'm!

  • almightyarjen
  • Registratie: Maart 2002
  • Laatst online: 22:38

almightyarjen

When does the hurting stop?

ik blijf bij een LM75 of een LM35...

De LM35 hang je aan de analog in van de arduino, bekijk de datasheet maar eens, vrij simpel...

Patreon | Main Youtube | Work In Progress Youtube


Acties:
  • 0 Henk 'm!

  • TNW
  • Registratie: Januari 2007
  • Laatst online: 09-09 14:01

TNW

http://www.national.com/mpf/LM/LM35.html#Overview

"Rated for full -55° to +150°C range"

Wist niet dat ze zo warm mochten worden :)

Weblog | Straling!


Acties:
  • 0 Henk 'm!

  • Flitzer
  • Registratie: Augustus 2007
  • Niet online
Deze digitale sensor is misschien ook wel te gebruiken. Ik heb de sensor wel liggen, maar nog geen tijd gehad om te testen.
Pagina: 1