Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[PicBasicPro] Jak wydłużyć czas odczytywania z 18b20

marekgr1 01 Wrz 2011 22:32 1994 6
  • #1 01 Wrz 2011 22:32
    marekgr1
    Poziom 18  

    Witam
    Wykonałem projekt ze stronki http://www.ivica-novakovic.from.hr/Nokia%20Lcd%20Termometar.htm Przy zaprogramowaniu procesora wsadem podanym na tej stronce następuje częsty odczyt temperatury (szybko reaguje czujnik na zmianę temp. według mnie ok 1-3sek) co zatem idzie szybko się zużywa bateria. Chciałbym ażeby odczyt z czujnika 18B20 był co 5min. Czy da się zmienić w programie ten parametr (nie mam pojęcia gdzie to zrobić i czy w ogóle da to się zrobić) . W załączniku zamieszczam źródło napisane według autora projektu w PicBasicPro.

    0 6
  • #2 04 Wrz 2011 18:12
    adamwesola
    Poziom 24  

    W programie jest linijka : nap 6 ' sleep 1,152 sec.
    Prawdopodobnie tu jest możliwość zmiany, poeksperymentuj z rożnymi wartościami, możliwe ze więcej niż 7 nie przejdzie.

    0
  • #4 20 Maj 2012 22:18
    wzk
    Poziom 19  

    Czy na pewno PIC zżera bateryjki? A może jednak wyświetlacz.
    W załączniku wsad, w którym pod adresem 0x1AC możesz zmieniać czas uśpienia od ponad 2 s (zawartość komórki 30FF) do około 10 minut (zawartość komórki 3000). Modyfikować najlepiej w programie obsługującym programator.

    0
  • #5 22 Maj 2012 23:46
    marekgr1
    Poziom 18  

    Ok oto mi chodziło, tylko dziwnie odczytuje temp. Sprawdziłem działanie tego programu w Proteusie i odlicza czas uśpienia tak jakby po każdej zmianie temp. i po kolei ją wyświetla (może nie każdą). Np. gdy temp. się zmienia tzn. rośnie lub maleje w tym czasie uśpienia to ona jest później wyświetlana a nie temp. aktualna po upływie tego czasu. (tak jakby pamiętał temp.która się zmieniała w czasie uśpienia czyli i tak musiał ją odczytać wcześniej, a więc zużyć prądu. Obym się mylił ale przypadkiem kolega nie zrobił czas uśpienia na zasadzie wyświetlania tylko na wyświetlaczu a nie odczytu z czujnika. Może się mylę i w tym programie tak działa. Prosiłbym o wyjaśnienie bo jak zarzucę do Pica to nie sprawdzę i tak nie będę na dobrą sprawę wiedział czy właściwie mi wskazuje.

    0
  • Pomocny post
    #6 24 Maj 2012 22:21
    wzk
    Poziom 19  

    Są tam trzy zmiany programu:
    1. Możliwość kalibracji oscylatora poprzez zmianę zawartości rejestru OSCAL (około ±1%) - dana pod adresem 3FF (teraz minimalna częstotliwość).
    2. Zmiana preskalera WDT - dana 3007 pod adresem 1AE. Daje to dwukrotne wydłużenie okresu zadziałania wybudzenia mikrokontrolera (teraz około 2,3 s). Oryginalna wartość pod adresem 1AE była równa 3006. Tę zmianę proponował Kolega kilka postów wyżej.
    3. Wprowadzenie pętli, której jest ponawiane uśpienie - maksymalnie 256 razy.

    Dziwne zachowanie wskazań może wynikać tylko z faktu, że po zleceniu konwersji temperatury czujnikowi mikrokontroler odczytuje dane z czujnika nie po około 1 s a po 10 minutach. Być może wskazania nie będą irytujące ale na więcej zmian programu nie pozwala jego objętość.
    To tyle info o działaniu programu w kilku słowach.

    0