temperatuur uitlezing niet goed met max31855

Hallo,

Nieuw op forum en met Arduino.
Ik heb al wel de serial 2x16 karakter LCD aan de praat.
Nu aan het stoeien met de "Thermocouple Breakout - MAX31855K Sparkfun 13266"

Code gebruikt van: Code

Gebruik de Arduine nano.
VCC zit op PIN 3V3
GND zit op GND pin
SCK zit op D13
SO zit op D12
CS zit op D10

Probleem is dat de temperatuur niet overeen komt met een andere temperatuur meter (gekalibreerd)
en de gemeten temperatuur met het voorbeeld programma is ook zeer onstabiel.
gemeten waarde is 28 graden, en lees uit tussen de 24,5 t/m 45,5

Wie kan me hiermee helpen?

heb je wel een thermocouple eraan hangen? zie : MAX31855K Thermocouple Breakout Hookup Guide - learn.sparkfun.com

Uiteraard, heb ik er een thermocouple type K. eraan hangen.
ik heb als referentie er nog 1 via een multimeter (gekalibreerd) en deze geeft wel een juiste waarde af.

En Sparkfun al benaderd? of op hun forum?

IK heb zojuist op sparkfun forum het probleem gemeld.
Ik had gehoopt dat hier iemand me kon helpen

Tja je moet er maar net mee gewerkt hebben. Nu kom ik ook niet verder dan ff door de code lopen. Op hun forum kwam ik in eerste instantie niets tegen dat er fouten in zaten waardoor mijn eerste reactie zou zijn dat de fout bij de bedrading zit.

Hoi en welkom.

Weet je hoe en waarom een thermokoppel werkt ?
Heb je die thermokoppel rechtstreeks aangesloten, of heb je de draden verlengd ?
Dit is heel belangrijk, en het staat ook vermeld in de tutorial waar Nico naar verwijst.
Als je de draden verlengt, dan creëer je 3 in plaats van 1 thermokoppel.
En dat zal natuurlijk gevolgen hebben, dus niet doen.
De tekst is weliswaar in het Engels, maar is er erg duidelijk over en dit word in ieder geval twee keer genoemd.
Wanneer het zo zou zijn dat Engelse teksten lastiger te volgen zijn voor je (dat is geen probleem en zien we wel vaker), dan is het goed om dat te laten weten.
Want dan kan daar bij het verstrekken van antwoorden op dit forum rekening mee gehouden worden.

Ik ga er van uit dat je geen probleem hebt met de Engelse taal, en vanaf nu ook dat je dit gedeelte over het hoe en waarom van thermokoppels kent (wellicht was dat allang zo).

de pro mini werkt op 3.3 V en een nano op 5 Volt, dus dat gaat niet goed komen.
je zult of signalen moeten omzetten of een 3.3 V arduino kopen. (dat laatste is veel goedkoper.
Ook al haal je de voeding van de 3.3 V pin de ingangen blijven 5 V.

Sorry voor de late reactie, ik kreeg geen email dat er een reactie was geplaatst, setting had ik niet goed staan...

De themokoppel is d.m.v. de juiste connector op de print aangesloten, zie ook de foto zoals ik het nu heb.
Ik moet wel toegeven dat mijn Engels niet al te goed is, kan me er mee redden en anders gebruik ik google translate.

Ik ben er ondertussen ook achter dat de Nano inderdaad met 5V werkt en de max31855 met 3,3V.
Probleem is echter dat ik naast deze thermokoppel ook nog 2 andere dingen gebruik, namelijk de 2 onderstaande onderdelen van de website van: vanallesenmeer:

LCD I2C interface (Artikelnr: 20707)
ACS709 Current Sensor Carrier -75A to +75A Pololu 2199 (Artikelnr: 10955)

Deze werken allebei op 5V
Daarnaast zou ik bij de mini ook nog een programmer nodig hebben.

Ik heb ook wat gelezen over een level translator:
http://www.tautic.com/images/1/15/LevelShifterExample.png

Of ik kan de Adafruit oplossing gaan toepassen, dit zijn 2 weerstanden en 2 diodes.
Zie link voor de datasheet:
https://dl.dropboxusercontent.com/u/47966635/Adafruit_MAX31855%20v2.pdf

Ik heb de adafruit oplossing geprobeerd echter maar een hele kleine verbetering, de temperatuur wordt namelijk niet meer zo hoog (wel te hoog!)

Foto van de opstelling:
https://dl.dropboxusercontent.com/u/47966635/2016-06-16%2008.44.27.jpg
https://dl.dropboxusercontent.com/u/47966635/2016-06-16%2008.44.41.jpg

adafruit heeft ook nog een 3V3 maker aan boord.
standaard zou het 3V moeten zijn
calibratie zit in het IC.
wat is de waarde van de andere registers zoals chiptemperatuur etc.
die wordt namelijk bijgeteld bij de waarde van de thermocouple.

Ok, ik heb het sparkfun programma erin gezet en die geeft de onderstaande waarden weer:
afbeelding serial monitor

Ik heb geen idee hoe ik alle registers moet uitlezen.

Ik heb ook de onderstaande code geprobeerd, echter zonder resultaat.

Deze code komt van: website Tautic

Waarde omgerekend naar Celsius leverde zelfde resultaat op.
Hoe ik de juiste waarde in celsius er in 1 keer uit kan krijgen dat is me nog niet gelukt, lijkt me dat dat wel zou moeten…

Je hebt dus duidelijk een probleem met de CJT, en niet met de sensor.

in die tautic staat ook een fout ch moet ch1 zijn, de chipselect, nakijken in datasheet hoe de teller op 0 gezet wordt voor dat de max gaat zenden.

Mijn excuus dat ik zo laat reageer, ben erg druk op dit moment.

Ik heb nu de code gebruikt die ik in de openingspost noem.

Temperatuur is nog niet helemaal stabiel, zit een verschil (in de plus) tussen de 2 a 3 graden.
de temperatuur schommelt dus steeds terwijl de sensor in een kopje met water hangt (samen met een referentie voeler)

Wie heeft enig idee?
Trouwens ook de CJT schommelt steeds, neem aan dat deze toch stabiel moet zijn?

ja die zou zeker stabiel moeten zijn, is het wel aangesloten?

Of de sensor is aangesloten?
Jazeker!

ik bedoelde dus de CJT sensor, ofwel een temperatuur sensor op het aansluitstripje, waar de bedrading verandert van samenstelling (van contstantaan naar koper.

Jazeker is er een sensor aangesloten, type K
Zo was het: https://dl.dropboxusercontent.com/u/47966635/2016-06-16%2008.44.27.jpg
Nano zit alleen nu netjes op een print.

Zo is het nu:https://dl.dropboxusercontent.com/u/48160371/DSCN3379.JPG
https://dl.dropboxusercontent.com/u/48160371/DSCN3380.JPG

de CJT sensor zit in het IC, en die moet natuurlijk stabiel zijn, controleer eerst maar eens de voeding en of je alle registers netjes uitleest (en langzaam genoeg)
het zijn in totaal 32 bits die je krijgt.
oja en isoleer de sensor want die staat direct in verbinding met het circuit, dus de punt in een beetje vet of zo, of echt dichtkitten met een krimpkous eromheen. er mag geen stroom kunnen lopen bij de sensor.