Presnost DS18B20

ondraN
Příspěvky: 935
Registrován: 08 srp 2019, 20:01

Re: Presnost DS18B20

Příspěvek od ondraN » 18 lis 2020, 07:34

Nedávno jsem na jeden projekt potřeboval přesné měření teploty s digitálním přenosem dat. Koupil jsem originální DS18B20 od Maximu. Všechny čidla byly dvojdrátové a odchylka pod 0,2st C. Pro legraci jsem připojil i nějaké čínské co jsem měl v šuplíku. Z šesti kusů jen jediné bylo pod 1st C, ostatní měly víc a šapmión zvítězil s odchylkou přes 3st C.
Kupoval jsem u TME a cena originálního čidla je okolo 90Kč. Takže pokud je žádoucí přesnost a stabilita, je nutné holt trochu provětrat šrajtofli :D

romanm
Příspěvky: 45
Registrován: 11 pro 2018, 23:17

Re: Presnost DS18B20

Příspěvek od romanm » 13 úno 2021, 21:30

Ja mam 12 rocne na 100% original DS18B20 asi 20ks, kupovane zo zahranicia, ziadne polske TME a pod. Ked som ich zapojil do jedneho zväzku, tak odchylka bola maximalne 0,1°C aj to iba u par kusov. Porovnaval som to aj s PT100 a boli/su naozaj presne. Myslim tie stare kusy, nie sucasne. Maxim udava v datasheete odchylku 0,5°C, ale myslim, ze je to maximalna odchylka, mozno na okraji meracieho rozsahu.
Kupil som nedavno cinske DS18B20 a odchylka sa tam pohybovala do 0,5°C. DHT11 by som urcite ako etalon presnosti nebral. Mam SHTC3, ktore by mali byt presnejsie ako DHT11 a tam bola odchylka tiez okolo 0,5°C.
Tie DS18B20 kupovane z TME by som nedal ruku do ohna za to, ze su to original snimace od maxim integrated, ale cina.

Uživatelský avatar
Caster
Příspěvky: 424
Registrován: 11 zář 2019, 09:02

Re: Presnost DS18B20

Příspěvek od Caster » 13 úno 2021, 23:12

Zrovna před pár dny jsem zkoušel změřit teplotu pomocí ATtiny202. Funguje to v pohodě, MCU má ADC převodník s interním čidlem teploty a v registrech uloženy kalibrační hodnoty z výroby.

Kód: Vybrat vše

#include <avr/io.h>

uint16_t teplota;

// measure internal temperature of ATtiny202 in °C
int16_t measure_internal_temperature() {
    // setup ADC to measure temperature
    VREF.CTRLA = VREF_ADC0REFSEL_1V1_gc;
    ADC0.CTRLC = ADC_PRESC_DIV4_gc | ADC_REFSEL_INTREF_gc | ADC_SAMPCAP_bm;
    ADC0.MUXPOS = ADC_MUXPOS_TEMPSENSE_gc;
    ADC0.CTRLD = ADC_INITDLY_DLY32_gc;
    ADC0.SAMPCTRL = 25; // 32E-6 / (1/(3333333/4)) - 2
    ADC0.CTRLA = ADC_ENABLE_bm;
    ADC0.COMMAND = ADC_STCONV_bm;
    while (!(ADC0.INTFLAGS & ADC_RESRDY_bm));
    // calculate T in °C
    int8_t sigrow_offset = SIGROW.TEMPSENSE1;
    uint8_t sigrow_gain = SIGROW.TEMPSENSE0;
    int32_t tmp = ADC0.RES - sigrow_offset;
    tmp *= sigrow_gain;
    tmp += 0x80;
    tmp >>= 8;
    tmp -= 273; // °K to °C
    ADC0.CTRLA = 0; // disable ADC
    return ((int16_t) tmp);
}

int main(void) {
    /* Replace with your application code */

    teplota = measure_internal_temperature();
    asm ("nop");
    
    while (1) {
    }
}

ondraN
Příspěvky: 935
Registrován: 08 srp 2019, 20:01

Re: Presnost DS18B20

Příspěvek od ondraN » 14 úno 2021, 07:44

Caster píše:
13 úno 2021, 23:12
Zrovna před pár dny jsem zkoušel změřit teplotu pomocí ATtiny202. Funguje to v pohodě, MCU má ADC převodník s interním čidlem teploty a v registrech uloženy kalibrační hodnoty z výroby.
To ale měří teplotu uvnitř procesoru, takže pro měření venkovní teploty je to hodně omezené. Snad jedině na dlouhou dobu uspat, pak rychle změřit a pak zase uspat. Ale je otázka, jak moc nebo málo ovlivňuje ten klidový proud teplotu čipu.

Uživatelský avatar
Caster
Příspěvky: 424
Registrován: 11 zář 2019, 09:02

Re: Presnost DS18B20

Příspěvek od Caster » 14 úno 2021, 13:31

Vzhledem k tomu, že je procesor "veliký" jen 3,9 x 4,9 x 1,25 mm, tak by s přenosem tepla neměl být žádný problém. Po uspání odebírá jen několik µA.

afilip
Příspěvky: 116
Registrován: 26 črc 2017, 16:34
Kontaktovat uživatele:

Re: Presnost DS18B20

Příspěvek od afilip » 14 úno 2021, 22:05

Si7021 se ohřívá sám od sebe. Je tak o 1-2"C výš než ostatní čidla.

Uživatelský avatar
pavel1tu
Příspěvky: 2057
Registrován: 26 říj 2017, 08:28
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Presnost DS18B20

Příspěvek od pavel1tu » 16 úno 2021, 08:09

Jen pro zajímavost,
podle tohoto jsem prošel všechny DS18B20
- všechny z ČR (nebudu jmenovat obchody) a číny - FAKE
- 5ks z Amazonu, cenově skoro jako original - FAKE
- ty co jsem sehnal/a zatím nespotřeboval z výprodeje internetového shopu v německu (50ks) - original

https://github.com/cpetrich/counterfeit_DS18B20
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

cz_marek
Příspěvky: 104
Registrován: 31 led 2018, 09:01

Re: Presnost DS18B20

Příspěvek od cz_marek » 16 úno 2021, 10:27

Tak to je fakt povedene - takze je snad jedno jestli to koupim na Aliku nebo tady v CR.

Zeptal bych se jen k tem obchodum v CR - jednalo se o velke prodejce nebo ty male "kutilske" eshopy?

jankop
Příspěvky: 1041
Registrován: 06 zář 2017, 20:04
Bydliště: Brno
Kontaktovat uživatele:

Re: Presnost DS18B20

Příspěvek od jankop » 16 úno 2021, 11:03

afilip píše:
14 úno 2021, 22:05
Si7021 se ohřívá sám od sebe. Je tak o 1-2"C výš než ostatní čidla.
Při spotřebě, kterou má, není důvod aby se ohříval. Pokud se ti hřeje, tak máš prostě zapnutý topení, který je na čipu pro dehydrataci vlhkostního čidla. Stačí ho vypnout a je to.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti