ATmega8 DS18B20-přepólované čidlo vrací hodnotu 85 resp. 255

Zdravím,

pokousim se rozchodit tohle cidlo spolu s atmega8.

Po delsi dobe se zda ze sem to konecne rozchodil. Problem je ze stale vraci 85 stupnu celsia.

Problem je v tom ze pri zapojovani sem si nevsiml, ze v datasheetu je pohled na nozicky ze spoda a obratil sem napajeni a zem, timpadem sem ho prepoloval. Myslite ze se mohlo odpalit? Mam jeste druhe cidlo, ktere sem take zapojil ze zacatku spatne.

To druhe cidlo, take spatne zaúpojene mi nevraci 85, ale same jednicky. Respektive 255 ve spodnim bajtu a 7 v hornim.

Vypada to ze sou obe vcudu. Protoze co sem koukal tak tato hodnota neni vubec ani v rozsahu.

Je nejaka moznost ze budou fungovat, nebo mam hnedka jit koupit jine cidlo?

Zapojeni je jiz nyni v proadku 4,7k odpor na DQ.

:arrow_right: administrator: přejmenováno z "Atmega8 a DS18B20"

85 st je spravna teplota otazne je ci mas dobre program a spustiš meranie teploty… prepolovane cidlo mam aj ja a už funguje len s parazitnym napajanim…proste nič nevydržia :smiley:
DAj sem kod pre cidlo…i ked tu na fore a nete je plno funkčnych zdrojakov.

Ahoj, zkus zde - také jsem řešil dskové čidlo:) https://forum.mcontrollers.com/t/atmega32-a-ds18x20-shanim-funkcni-priklad-vcetne-zapojeni/1808/1

85 st. Celzia je uvodna hodnota vysielana cidlom po zaputi napajania pred inicializaciou. Treba kuknut datasheet k cidlu, ako dlho to visiela. Asi len do prvej inicializacii a prikazu na odmeranie teploty. Takze toto cidlo este asi bude ok, ale nejako ti nefunguje komunikacia (uPC - DS) a ten ho asi nezinicializuje.

moj nazor…

Bude to jak píše stanley.
V download je funkční demo pro 18b20.

Tak jsem zkousel pittyho kod, ale bez uspechu, vraci 127,9…

V priloze posilam kompletni projekt z AVR studia.

Ve fuses mam nastaveno 4 Mhz interni oscilator.

Jeste by me zajimalo. Kdyz sem zkousel pittyho kod, a dam v souboru kde je hlavni funkce vlozit ds18B20.h tak mi to zahlasi chybu. Ale kdyz vlozim ceckohvy soubor, tak je to v pohode? Jak je to mozne?
teplomer.zip (43.3 KB)

a máš fakt ds18B20? nemáš třeba sko?

Urcite B-ko. Jinak zkousel sem do meho kodu vlozit casovani z pittyho kodu a mezi converzi teploty a ctenim sem dal misto cyklu while natvrdo delay 800 ms. A nyni uz mi obe cidla vraci same jednicky :slight_smile:

ahoj, zkus tento kód - walda.starhill.org/elektronika-a … ripky.html

vyzkouseno, vraci 0 u 1. cidla, u 2. vraci 1850

pak máš imho něco špatně zapojeno. pozor, v některých DS jsem se setkal s obrácenými nožičkami. vím, že jsem se s tím taky dost mořil. máš to na správném pinu? zkus jiný.

To sem vsechno zkousel (prostredi pin - DQ je pres 4k7 pripojen na plus 5 V a zaroven na PB1 - zkousel sem i PD6 a jine) VCC na +5 a gnd na zem. Vse dle datasheetu. Zkousel sem ho i otocit (ted uz je to asi stejne jedno :slight_smile: ) porad stejny. Pokud ho otocim misto 0 vraci 1000

zkus ho napajet neparazitně.

ještě otázka - máš správně časování? na kolik to taktuješ?

3x hurá, opravdu sem to asi odpalil jak psal ze zacatku atlan, a funguje uz pouze v parazitnim modu. Funguje s pittyho kodem a nezakomentovanym nastavenim pro paazitni mod.

Nemáš žádný soubory kromě teplomer.c vložený do projektu. Proto ti nechodí vkládání .h souborů.
V lcd.c chybí “#include <util/delay.h>”. Není nastavená frekvence mcu pro projekt. Buď ji musíš zapsat do každého souboru, kde je potřeba, nebo do souboru, kterej importujou všechny ostatní, nebo ji zadat v nastavení projektu. Opravdu máš frekvenci 4MHz?

Aha myslel se ze se importuji automaticky, kdyz ho vlozis do hlavicky pomoci include. Uz sem na to prisel a vse opravil.

Teplomer uz funguje. Pri klasickem napajeni nereagoval, pri parazitnim funguje s tvym kodem skvele.

Můj ukázkový projekt pro práci s více čidly na 1wire s hledáním kódů:

jedla.kx.cz/programovaniAVR/1wir … s18B20.php