Stránka 2 z 2

Re: Presnost DS18B20

Napsal: 18 lis 2020, 07:34
od ondraN
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

Re: Presnost DS18B20

Napsal: 13 úno 2021, 21:30
od romanm
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.

Re: Presnost DS18B20

Napsal: 13 úno 2021, 23:12
od Caster
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) {
    }
}

Re: Presnost DS18B20

Napsal: 14 úno 2021, 07:44
od ondraN
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.

Re: Presnost DS18B20

Napsal: 14 úno 2021, 13:31
od Caster
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.

Re: Presnost DS18B20

Napsal: 14 úno 2021, 22:05
od afilip
Si7021 se ohřívá sám od sebe. Je tak o 1-2"C výš než ostatní čidla.

Re: Presnost DS18B20

Napsal: 16 úno 2021, 08:09
od pavel1tu
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

Re: Presnost DS18B20

Napsal: 16 úno 2021, 10:27
od cz_marek
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?

Re: Presnost DS18B20

Napsal: 16 úno 2021, 11:03
od jankop
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.