Fórum témák

» Több friss téma
Fórum » TC77 shutdown
 
Témaindító: abdul, idő: Ápr 15, 2008
Lapozás: OK   1 / 1
(#) abdul hozzászólása Ápr 15, 2008 /
 
Sziasztok!

Egy telepről működő eszközt csinálok TC77-es hőmérséklet érzékelővel. Az érzékelő szépen mér és kommunikál, de elemről táplált mérőről lévén szó, szeretném kihasználni a hőmérő shutdown üzemmódját, mivel ekkor csak 0,1uA az áramfelvétele (adatlap szerint) és mivel csak 1 illetve 5 percenként mérnék hőmérsékletet így felesleges lenne az idő nagy részében működve hagyni.

A problémám az lenne, hogy amikor a leírás szerint beírom a konfigurációs regiszterébe a csupa 1-est, akkor le is kapcsolja magát, de nem tudom sehogyan se újra életre kelteni, hiába küldöm el neki a csupa 0-t a folyamatos mérési üzemmódhoz.

Használta már valaki ezt a shutdown módot a TC77-nél?

A válaszokat előre is köszönöm!

Abdul
(#) watt válasza abdul hozzászólására (») Ápr 15, 2008 /
 
Az adatlap nem sokat foglalkozik ezzel a résszel, mert úgy tűnik nagyon egyszerű. Én is csa kannyit kérdeznék, hogy 16db 1-est és 16db 0-át küldesz el? (X-ek helyén is azt ajánlja...)

  1. C15:C0 = XXXX/XXXX 1111/1111 hutdown mode)
  2.  C15:C0 = XXXX/XXXX 0000/0000 (Continuous Conversion mode)
(#) potyo válasza abdul hozzászólására (») Ápr 15, 2008 / 4
 
Az jutott eszembe, hogy adj neki tápot a kontroller lábáról. Ha nem kap áramot, akkor nemis fogyaszt... DS1820-al már csináltam ilyen disznóságot
(#) abdul válasza watt hozzászólására (») Ápr 16, 2008 /
 
Sziasztok!

A mellékelt képen látható folyamatot követtem (TC77 adatlap 10. oldal).
Először elküldöm ez az üzenetet csupa 0-val a C15:C0-ban (Continuous conversion mode), várok 400 ms-ig majd újra elküldöm az üzenetet (kiolvasva a mért hőmérsékletet) csupa 1-essel a C15:C0-ban (Shutdown mode). Mindezt 2 másodperces ciklusban (a próba miatt). Nem vezetett eredményre, nem akart a shutdown módból újra feléledni.

De válaszolva potyo felvetésére is:
igen úgy csináltam meg a panelt, hogy a TC77 a tápot a mikrovezérlő lábáról kapja, de nem túl elegáns megoldás kapcsolgatni, másrészt azt is kipróbáltam, hogy bekapcsolom a TC77-et 2 másodpercenként, várok 400 ms-ot és utána kiolvasom a mért hőmérsékletet, aztán kikapcsolom. De ebben az esetben is rossz értéket olvastam vissza (168.375 fok).

Ezért kérdetem, hogy ha valaki esetleg foglalkozott már ezzel a shutdown móddal, akkor megkérdezném tőle, hogy miként.

Sziasztok!

Abdul

temp2.JPG
    
(#) watt válasza abdul hozzászólására (») Ápr 16, 2008 /
 
Én használok néhány darabot ebből a TC-ből, de mivel hálózati az alkalmazás, nem használom a Shut módot. Ha használnám, akkor én is így csinálnám, ezért most azt kéne megnézned, hogy tutira jól vannak e időzítve a jelek az órajelhez, és biztosan kimegy-e minden bit.
(#) abdul válasza watt hozzászólására (») Ápr 16, 2008 /
 
Szia!

Már én is gondoltam arra, hogy digitális szkóppal megnézem, de még nem jutottam el oda...

Mindamellett ha a sima "13 bites" hőmérséklet lekérdezést hajtom végre, akkor az tökéletesen működik.

Sziasztok!
(#) watt válasza abdul hozzászólására (») Ápr 16, 2008 /
 
A kivitelt hogy oldod meg? szoftveresen? Biztos kimegy minden bit? Már abból kiindulva, hogy a 13bites mód műkszik, a 16-os nem....
(#) ecostar hozzászólása Máj 30, 2008 /
 
Valaki eltudná nekem mondani hogy nézki egy TC77 es szenzor használata? Tápot adok rá, cs-t lehúzom testre és már küldi is a 16bit-et?
(#) watt válasza ecostar hozzászólására (») Máj 30, 2008 /
 
(#) Norberto válasza ecostar hozzászólására (») Máj 30, 2008 /
 
The TC77 is in the Continuous Temperature Conversion mode at power-up. The first valid temperature conversion will be available approximately 300 ms after power-up. Bit 2 of the Temperature register is set to a logic ‘1’ after the completion of the first temperature conversion following a powerup or voltage reset event. Bit 2 is set to logic ‘0’ during the time needed to complete the first temperature conversion. Thus, the status of bit 2 can be monitored to indicate the completion of the first temperature conversion.
(#) Rikfic válasza ecostar hozzászólására (») Máj 30, 2008 /
 
A TC77-nek az SCK lábára tolom az órajelet és ő az SI/O lábon tolja vissza az adatot. Egy órajelre egy bitet ad ki. Ezt ismételem meg 16x mert akkor kapok meg egy pontos hőmérsékletet. Van még a TC77-nek egy CS lába amivel tulajdonképpen engedélyezem a tok működését ( 0: bekapcs, 1: kikapcs).
Na akkor eljutottunk oda, hogy van 16 bitünk. Most kell ebből valahogy az ember számára is érthető számot varázsolni:

egyben a 16 bit: 0 00010011 1110 111
Ha az első bit 0 akkor az érték pozitiv.
Pozitiv érték esetén a számolási mód:
1. Az első bitet átugorjuk (Balról!)
2. Leszámlounk 8 bitet és az az egész érték, vagyis: 00010011 =19
3. A következő 4 bit a tizedes érték, vagyis: 1110
A tizedes értéket úgy kapod meg, hogy mindegyik bit egyh elyiértéket jelent:
0,5 0,25 0,125 0,0625
1 1 1 0 = 0,5 + 0,25 + 0,125 = 0,875

Vagyis a végeredmény: 19,875


[>] Read 10, 00001010 00010100 20,3125
[>] Read 47, 00101111 0101

[>] Read 9, 00001001 00010011 19,875
[>] Read 247, 11110111 1110

[>] Read 9, 00001001 00010011 19,125
[>] Read 151, 10010111 0010

[>] Read 10, 00001010 000101000 20,625
[>] Read 87, 01010111 1010


Negativ szám:
Az első bit 1!
Ugyanazt tesszük mint pozitiv szám esetén a 2., 3. lépésben de ez még nem ad eredményt.
Invertáljuk a kapott számokat és hozzáadunk egyet.
És innen ugyanúgy működik a dolog mint a pozitiv számnál.

1 11001001 0000 111

11001001 Invertálva > 00110110 +1 00110111 = 55

0000 Invertálva > 1111 +1 10000 = 0 (ha az eredmény 5 bitre jön ki akkor is csak az utolsó 4 bitet nézzük!)


1 11110011 1100 111

11110011 Invertálva > 00001100 +1 00001101 = 13
1100 Invertálva > 0011 +1 0100 = 0,25 (Helyiértékek alapján!)

Azthiszem ennyi infó elegendő a beállításához.
Miután nagyon érzékeny a hőmérő és nagyon gyorsan ugrálnak az értékek ezért érdemes betenni valami átlagoló programot!
(#) ecostar válasza Rikfic hozzászólására (») Máj 30, 2008 /
 
Köszi ez érthető volt!
Még egy kérdés hogy tudok 16f877A-ba SPI-n beolvasni, ki írni tudok de a beolvasás nem megy adatlapot néztem és valami ilyet hoztam össze de nem működik:

RECEIVE
MOVLW B'00110010'
MOVWF SSPCON
BCF STATUS,RP0
MOVF SSPBUF,W
MOVWF PORTB


Ja és még egy, lehet alap kérédés de nem tudom ha sikerül beolvasnom a 16 bitet hogy lehet azt keté osztani hogy le tudjam tárolni két regiszterbe?
Remélem értehetően fogalmaztam meg a problémámat
(#) watt válasza ecostar hozzászólására (») Máj 30, 2008 /
 
Miközben kiviszel egy bájtot, bejön a másik. Meg kell nézni az adatlapot, hogy milyen a protokoll. Le van rajzolva és írva.
A bájtokat beérkezésükkor letárolod a nekik előkészített memória területre, aztám máris ketté vannak választva! (soha nem is voltak összeragasztva, egymás után jönnek....)
Nézd meg a PIC adatlapjában az SPI kezelését, talán még példa is van. Olvasd el Topi cikkét, ha igaz beszél az SPI kezeléséről is.
(#) Bonca hozzászólása Szept 15, 2008 /
 
Sziasztok!
Én is a TC77-tel próbálok hőmérsékletet mérni. MikroC-ben programozom a kontrollert, egy 18F2520-ast. Odáig jutottam, hogy az LCD kijelzőn megjelenik a hőmérséklet rögtön a bekapcsolás után, ami megfelel, a szobában ténlylegesen mérhetőnek. Negyed óra elteltével szépen lassan felkúszik kb. 36 fokra. Távol helyeztem mindenféle hőforrástól. Nem használom a shutdown üzemmódot, mert nem egyértelmű számomra az időzítése. Arra gyanakszom, hogy a continous conversion mint alapértelemezett üzemmód miatt saját magát fűti fel az ic. Mikor vált át olvasásról írásra hőmérő? MikroC-ben külön library van írva az SPI busz kezelésére. A parancsok: SPI_INIT, SPI_READ, SPI_ WRITE, egészen egyszerű . Úgy értelmezem, hogy a write parancshoz kellene az SDO (RC5) lábat is használni, de a hőmérőnek a SI/O lába egy és ugyanaz. Akkor nem fogom tudni MikroC alatt használni a kontroller hardveres SPI-jét?
A válaszokat előre is köszönöm!

Bonca
(#) Bonca hozzászólása Szept 17, 2008 /
 
Találtam a microchip.com-on egy application note-ot AN871 számmal. A kérdésem, hogy az SDI és SDO lábak osszakötése valami logikai dolog vagy fizikailag kell érteni?

Bonca
(#) watt válasza Bonca hozzászólására (») Szept 17, 2008 /
 
Természetesen fizikailag kell összekötni.
(#) Szbeni hozzászólása Ápr 2, 2009 /
 
Hello!

Az normális hogy egy TC77 ilyen értékeket szolgáltat:
0000101011101111 - 21.8
0000101010101111 - 21.3
0000101100000111 - 22.0
0000101011010111 - 21.6
0000101100000110 - 22.0
0000101110000100 - 23.0
0000101110100111 - 23.3
0000101101101111 - 22.8

pedig nyugalomban van a hőmérséklet és ezek 1 másodperces időközönként vett értékek.
Ha beleraktam olvadó jégbe akkor is csak 9 fokig ment le kb ugyanilyen +-3 fok stabilitással.

Most vagy a kiolvasással van a hiba vagy az ic vel. Mellékletben van a avr C program amivel kiolvasom (avr tiny2313).
köszi
Beni

TC77.c
    
(#) Bonca válasza Szbeni hozzászólására (») Máj 4, 2009 /
 
Közben ráleltem a megoldásra: egy 100nF-os tápszűrő kondenzátor lemaradt a TC77 közeléből. Azóta hibátlanul működik.

Bonca
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem