Paměť teploměru DS18B20 - zobrazuje předcházející hodnotu

Ahoj, testuji trochu více teplotní čidlo a chci se zeptat na jednu věc - mám pocit, jako kdyby se vracela pri cteni teploty hodnota predchozi:) Vim, zni to divne, ale dejme tomu merim jednou za minutu, zacnu cidlo zahrivat, vrati se teplota pred nezahratim, dam zahrivani pryc, zmeri se teplota zahrateho cidla (zae treba po minute, takze by se teplota uz vratila dolu). Programove se mi to zda ok. Je to normalni chvoani cidla ci delam neco blbe? Diky.

:arrow_right: administrator: přesunuto z "Ostatní"

:arrow_right: administrator: přejmenováno z "Paměť DS18B20"

Normální chování to není. Pokud jsi neměnil nastavení, tak čidlo pracuje s 12bit převodem. Takže po zadání příkazu pro převod teploty (CONVERT T [44h]) musíš počkat na samotný převod minimálně 750ms před čtením teploty (READ SCRATCHPAD [BEh]).
To bude asi ten problém.

čekám, dokonce jsem to zvedl i na 1000 ms.

To sis nemohl vzpomenout včera než jsem zapojení s nima rozebral? :slight_smile:
Do hodinky bych to měl mít přezkoušeno…

edit: Opravdu reaguje jak má. Změří např. 22°C, hned po měření se ho dotknu a při následujícím měření už ukáže např. 26°C (pauza mezi měřeními je 5s).

edit2: teď jsem ještě vyzkoušel stále napájení (obvykle používám parazitní - napájení procesorem) a výsledek stejný.

daj sem kod toho programu. Bud maš zle casovanie, zkontroluj nastavenie frekvencie v programe a v reale, alebo zly prevod teploty…

Mimochodem - pracuješ v AVR. Moje demo jsi zkoušel? Nebo potřebuješ float výsledek (demo je celočíselný, ale i tak schopný rozlišit 0.1°C)?

nejsem teď u toho, ale určitě budu mít chybu někde v prg. měří to, jak má, jen později:) takže někde chyba :slight_smile: