Stránka 1 z 1

dotaz na ds18b20

Napsal: 15 črc 2008, 20:52
od filuta
Mám dotaz na teplotní èidlo ds 18b20 a to následující, mìøím teplotu s tímto èidlem s pomocí PIC 16F630.Pro snížení spotøeby mìøím teplotu jednou za minutu, použil jsem na to pøíkaz sleep a v druhém pøípadì i èasovou smyèku ,ale problém je stejný a to takový že když èidlo zahøívám rukou tak teplota roste, potom je ta minutová pauza po niž by teplota mìla už klesnout ale ona ještì vzroste a zaène klesat až po dalším minutovém intervalu. Prosím nevíte co s tím?Ze zaèátku jsem si myslel že je to tím probuzením než se procesor znovu rozjede, ale dneska jsem použil jenom minutovou èasovou smyèku a dìlá to taky, Použil jsem program teplomerds.asm z diskuze http://www.ebastlirna.cz/modules.php?na ... ight=18b20.

Napsal: 15 črc 2008, 21:50
od ViPali
Nechce sa mi kontrolovať *.asm, ale ak dobre rozumiem, tak by malo byť:
meraj, zobraz, čakaj(1min),

skontroluj, či nie je:
meraj, čakaj(1min), zobraz

Napsal: 16 črc 2008, 05:45
od filuta
já jsem to asi špatnì napsal když dám ruku pryè tak teplota by po minutì mìla jít dolù ale ona ještì jde nahoru a po další minutì jde teprve dolù.
Mìlo by to být: mìø, zobraz, èekej(1min),...... mìø, zobraz, èekej(1min)

Napsal: 16 črc 2008, 07:36
od Chenzee
Myslím, že je problém ve sledu akcí tak, jak píše VIPALI. Musí se zadat převod teploty, počkat čas potřebný pro převod a nově převedenou hodnotu teprve načíst a zobrazit. Taky mě to připadá, že máš: načíst teplotu, zobrazit a pak teprve převést. Zkontroluj posloupnost příkazů. Kdyžtak sem dej přímo ten *.asm. Jukneme na to :wink:

Napsal: 16 črc 2008, 13:25
od filuta
posílám ten .ASM soubor opravdu nevím kde muže být chyba poøát na to koukám a tak prosím o jakékoli nakopnutí?

Napsal: 17 črc 2008, 08:40
od Chenzee
Ahoj, tak jsem našel dvě věci. Jednak na řádku cca 424 je skok na neexistující návěstí (goto DS_KOM_1) a jednak máš špatně nastavené config word. Místo tvého 0x3FA1= VYPNUTÝ WATCHDOG musíš mít 3FA9 = zapnutý WATCHDOG. Jinak by to mohlo fungovat.

Napsal: 17 črc 2008, 19:33
od filuta
dìkuji za radu ale nepomohlo to udìlal jsem to tak ,že mezera mezi mìøením je jenom než pøeteèe watchdog (asi 2,3 S) a už to neøeším chci se už vìnovat dalším konstrukcím

Napsal: 18 črc 2008, 06:45
od Chenzee
Ještě mě napadlo, zda máš krystal na 4MHz?

Napsal: 18 črc 2008, 08:24
od filuta1
mám interní oscilátor 4Mhz i kalibraèní konstantu, zajímavé je že používám jenom jedenkrát pøeteèení WATCHDOGU což je s pøeddìlièkou tech 2,3S a funguje to ale když dám ještì smyèku aby èidlo mìøilo každých 23S tak už to nejde! Nevadí pøišly mi tlakové èidla od freescale tak zkusím udìlat barometr (A/D pøevodník jsem ještì nezkoušel)s dvouøádkovým displejem poøád jsem ještì zaèáteèník.

Napsal: 18 črc 2008, 09:02
od filuta
neøíkám že mì to neštve, ale do budoucna bych chtìl dát mìøení teploty, tlaku ,vlhkosti do jednoho zaøízení s dvouøádkovým displejem taková malá meteostanice takže to doladím až pak , program bude stejnì jiný. Ještì jednou dìkuji za odpovìdi

Napsal: 18 črc 2008, 13:06
od Chenzee
Nebudu tedy do toho rýpat, ale něco mi tu nehraje. Config slovo je na externí krystal XT, takže by to asi fungovat nemělo (pokud ho nepřepíšeš v porgamátoru). jo a ještě se doporučuje po SLEEP dát jako první NOP instrukci ... tak čau

Napsal: 18 črc 2008, 15:47
od filuta
konfiguraèní slovo je na INTERNI OSC, nahraju program do programu WIN PIC a vidím konfiguraèní slovo 3F9C nic už v prográmátoru nenastavuju ta poznámka (__CONFIG 0x3FA1)na øádku 69 je špatnì asi to vzniklo tím že jsem zkopíroval program a pak upravoval a nepøepsal poznámky. Instrukce nop jsem taky zkoušel a nepomuže to