Cikkszám: | #7863141 |
Aukció kezdete: | 2021-12-31 20:19:58 |
Lejár: | lejárt |
Mennyiség: | 15 db. |
Elkelt: | 0 db. |
Kattintások: | 54 db. |
Garancia: | Nincs |
Áru helye: | Rátka, Borsod-Abaúj-Zemplén / Magyarország |
Szállítás: | postai küldemény |
Fizetési mód: | előreutalás |
100% pozitív
Teljes jogú eladó
Regisztrált:
14 éve és 6 hónapja
A PT100 és PT1000 ellenállás változáson alapuló érzékelő, azaz hőmérséklet változás hatására megváltozik az érzékelő ellenállása. Ahhoz, hogy ezt az ellenállást pontosan mérni tudjuk, szükségünk van egy speciális áramkörre, melyet a MAX31865 modul lát el. A modul tartalmaz egy 15 bites analóg-digitális átalakítót, zajszűrőt és SPI interfészt, így mikrokontrollerrel vagy kártyaszámítógéppel könnyen megvalósíthatóvá válik a hőmérséklet mérése.
Kattintson a képre nagyobb mérethez
Nagyobb mérethez kattintson a képre
Az 5V változat szintillesztőkkel rendelezik, hogy 5V-os áramkörökhöz tudjuk csatlakoztatni. A szintillesztő az egyetlen különbség a 3.3V és 5V változat között.
A penelon az alábbi feliratok találhatók. Ezek jelentései:
F+ = FORCE+
R+ = RTDIN+
R- = RTDIN-
F- = FORCE-
A panel (nyák) teljes mértékben megegyezik, a beültetés során 2 alkatrész értéke változik attól függően, hogy PT100 vagy PT1000 érzékelőhöz való modul készül. Rref és C1 különbözik
Rref | C1 | |
PT100-hoz való modul | 400Ω | 100nF |
PT1000-hez való modul | 4000Ω | 10nF |
Megjegyzés: 4000 jelentése 400Ω (400✕100)
4001 jelentése 4000Ω (400✕101)
Ezek 0.1% tűrésű precíziós ellenállások.
A nyákon van 3 "pad", melyek összeforrasztásával adjuk meg, hány vezetékes konfigurációt választunk.
2 vagy 4 vezetékes bekötéshez a középső és az alsó "padet" forrasszuk össze! (mint a felső képen)
3 vezetékes bekötéshez a középső és a felső "padet" forrasszuk össze!
Nagyobb mérethez kattintson a képre
Fordítson figyelmet arra, hogy a MAX31865 3.3V-on működik! Ne csatlakoztassa a modult közvetlenül Arduino Unoval, Megával vagy más 5V-os áramkörrel! Az Arduino Due 3.3V-on üzemel.
Nagyobb mérethez kattintson a képre
Az 5V kompatibilis modul 3.3V <=> 5V szintillesztőt tartalmaz, így ezzel megoldható az 5V-os Arduino Unoval, Megával, Nanoval és más 5V-os áramkörökkel való összekötése.
Nagyobb mérethez kattintson a képre
Mindegyik Arduino panelen van egy 6 pólusú ICSP csatlakozó, melyen keresztül csatlakoztathatjuk a MAX31865 modult. Az Arduino Due-n az SPI interfész csak ezeken az ICSP tüskéken keresztül érhető el.
A többi Arduinon az ICSP a digitális I/O-n keresztül is elérhető.
Arduino panel | MOSI | MISO | SCK |
Uno | 11 | 12 | 13 |
Mega | 51 | 50 | 52 |
Nano | D11 | D12 | D13 |
A PT100 és PT1000 ellenállás változáson alapuló hőmérséklet érzékelők. Angolul ezt RTD-nek nevezik, Resistance Temperature Detectors (RTD). 0°C-on 100Ω az ellenállás PT100-on, 1000Ω PT1000-en.
A fenti ábra mutatja a hőmérséklet és ellenállás közötti összefüggést.
A MAX31865-ben két 8 bites regiszter tárolja a mért ellenállást, RTD MSB és RTD LSB
RTDdata = RTD MSB:RTD LSB
RTDdata 16 bit széles, tartalmazza a 15 bites ADC code-ot + 1 bit hibajelző (fault flag), mely a nulladik bit.
ADCcode = RTDdata>>1
A következő lépésben kiszámítjuk az aktuális RTD ellenállást
R = (ADCcode * Rref) / 32768
ahol Rref 400, ha PT100-t használunk vagy 4000, ha PT1000-t használunk. (Ez az egyenlet megtalálható az adatlap 18-ik oldalán)
Már ismerjük a PT100(0) (RTD) ellenállását. Többféle módon határozhatjuk meg a hőmérsékletet az ellenállásból.
Hőmérséklet (°C) = (ADCcode/32)-256 formula egy egész elfogadható eredményt ad -100..100 intervallumban. További információért olvassa el a "Linearizing temperature data" fejezetet az adatlapban a 10-ik oldalon.
Előny: ez a legegyszerűbb módszer
Hátrány: mivel a függvény nem lineáris, a fenti határon kívüli tartományban jelentősen nő a pontatlanság.
Léteznek letölthető hőmérséklet/ellenállás táblázatok PT100(0) érzékelőkhöz. Ebben ki kell keresnünk a mért ellenálláshoz legközelebbi értéket és a hozzá tartozó hőmérsékletet.
Pl. ha R=112.00Ω, a táblázatban 112.06 a legközelebb eső érték. A táblázatban láthatjuk, hogy ehhez az ellenállás értékhez 31°C tartozik.
Előny: könnyen használható és pontos
Hátrány: kis 8 bites mikrokontrolleren nehezen implementálható, sok helyet foglal a táblázat a programmemóriából. Vegyük figyelembe, hogy a táblázat lebegőpontos számokat tartalmaz.
A Callendar-Van Dusen egyenlet leírja a platina érzékelők ellenállása (R) és a hőmérséklet (t) összefüggését. (Platina érzékelő = RTD = PT100, PT1000, stb.)
R = PT100-on vagy PT1000-en aktuálisan mérhető ellenállás
R0 = 0°C-on mérhető ellenállás (PT100 esetén 100, PT1000 esetén 1000)
a = 3.90830 x 10-3
b = -5.77500 x 10-7
t = hőmérséklet (°C)
Az egyenletet átrendezve megkapjuk t-t
A fenti egyenlet C kódja:
t = (-R0*a+sqrt(R0*R0*a*a-4*R0*b*(R0-R)))/(2*R0*b);
Az Arduinohoz írt mintaprogramban a Callandar-Van Dusen módszert alkalmaztam.
A MAX31865 egy nagy felbontású ADC-t tartalmaz, mely elektromos zajra érzékeny. A modul tartalmaz zajszűrő elemeket, azonban a modul használata során néhány dologra érdemes figyelni. Stabil tápegységről, elemről vagy akkumlátorról tápláljuk a modult! Egyes számítógépek USB portja zajos tápot ad ki, különösen, ha nincs megfelelően leföldelve a számítógép tápegysége. Amennyiben gyakran kapunk "PT100 sensor connection fault" hibaüzenetet, javaslom, hogy inkább akkumlátorról üzemelő gépen próbáljuk a modult beüzemelni, pl. laptopról.
A 2 vezetékes bekötés csak akkor elfogadható, ha rövid vezetéket használunk (<1 méter)
Ennél nagyobb távolság esetén 3 vagy 4 vezetékes bekötés javasolt.