|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
NeoTO Član
Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2751 Aktiv.: 12.34 Kraj: Trzic
|
Objavljeno: Ned Jan 08, 2006 6:28 pm Naslov sporočila: |
|
|
Silvo, bistveni del tega programa - 'algoritem' za iskanje napravic se mi zdi da je s precej enostavnimi izrazi napisan, tako da bi se ga dalo precej enostavno v asembler prepisat.
Če pa misliš na porabo RAM-a, se pa žal moram s tabo strinjat. Je pa možno, da se kode shranjujejo direktno v EEPROM, s čimer lahko polje kod izpustimo.
Zdajle sem se še enkrat lotil algoritma in ga spremenil tako, da mora delovati na vseh senzorjih. Prav tako sem stvari malce optimiral za tiste, ki bi želeli kodo prevesti v assembler.
Opis: |
|
Download |
Ime datoteke: |
1_wire_temp_sensors.c |
Velikost datoteke: |
7.1 KB |
Downloadano: |
69 krat |
|
|
Nazaj na vrh |
|
|
jur Član
Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 23.06 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Pon Jan 09, 2006 2:44 pm Naslov sporočila: |
|
|
gnioco je napisal/a: |
Da ne odpiram nove teme bom moj problem opisal kar tule:
S picem berem temperaturo iz treh ds1820 senzorjev, izpisujem temperaturo na lcd..
Vse deluje brezhibno, dokler so senzorji na protobordu. Ko jih dam na kabel dolg 2m, deluje vse še zmeraj vredu.Do tukaj ni problemov.......
|
Tule je napisano vse o dolgih žicah in 1 wire napravami:
h**p://www.maxim-ic.com/appnotes.cfm/appnote_number/148
Appendix D pove vse.
V vezju, ki si ga naredil manjka serijski upor 100 ohmov med RB0 on DO od senzorja. Tisti kondenzator (C1) brez upora kapaciteto samo še poveča in poslabša stvar.
Stvar deluje tako: brez upora chip napaja kapacitivno linijo (dolgo žico), kjer se napetost na impulzu, ko ga iz chipa pošljemo na linijo dviga po eksponentni krivulji, torej ne navpično navzgor. Enako se dogaja, ko DS1820 pošlje ven logično enko... Signal ne skoči na enko, ampak se počasi dviga po krivulji polnjenja kondenzatorja. To pomeni da output ni takoj logična ena in to negativno deluje na chip. Če damo med chip in senzor upor (v bližini senzorja) bo delalo tako: senzor da na izhod logično enko. Ker izhod senzorja ni vezan direktno na kapaciteto žice ampak na upor, bo takoj skočil na enko (brez počasnega dviga). Na drugi strani upora proti čipu bodo krivulje še vedno zaobljene, ampak senzorja to ne bo obremenjevalo.
To zadevo je težko opisati, ampak na osciloskopu se dobro vidi. Žal ne morem posneti. Z ascii grafiko pa zgleda približno tako:
_||_||_||_||_||_ signal na DS chipu (kratka žica) ali z uporom
_/|_/|_/|_/|_/|_ signal na DS chipu z dolgo žico (brez upora)
Zniževanje pullupa ne bo pomagalo. Vrednost je priporočena in če z njo ne deluje, mora biti nekaj narobe.
Jur
|
|
Nazaj na vrh |
|
|
gnioco Član
Pridružen-a: Pon 26 Jan 2004 11:35 Prispevkov: 85 Aktiv.: 0.38 Kraj: Ljubljana
|
Objavljeno: Pon Jan 09, 2006 3:57 pm Naslov sporočila: |
|
|
Jur,
Hvala za to nazorno pojasnilo
|
|
Nazaj na vrh |
|
|
pajo Član
Pridružen-a: Čet 29 Jan 2004 8:50 Prispevkov: 687 Aktiv.: 3.08
|
Objavljeno: Sre Jan 12, 2011 10:37 pm Naslov sporočila: |
|
|
Sem imel podobne težave.
Sem skoraj zavrgel dva senzorja.
Torej na liniji cca 10m, sta mi dva senzorja od 4-ih povzročala težave. En je izpisoval neke nemogoče vrednosti, drugi pa je vztrajal pri vrednosti 0.
Pa sem probal eno preprosto stvar.
Upor 4,7k med +5V in data linijo sem na tiskanini pustil na mestu, kot to priporoča Datasheet. Sem pa dodal na koncu isti upor, vzporeno prvemu-torej med napajanje in data linijo, skoraj neposredno priklopljen upor na senzorje, pa je zadeva začela normalno delovati.
JUR! Hvala za opis podroben opis dvigovanja napetosti na data liniji!
_________________ Martin Krpan je že dobro vedel zakaj je posekal lipo. |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 76 dni
Powered by phpBB © 2001, 2005 phpBB Group
|