logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Attiny13 i wykonywanie programu okresowo + Powerdown

devolt 11 Gru 2008 18:53 2553 14
REKLAMA
  • #1 5846800
    devolt
    Poziom 21  
    Witam mam taki problem. Postanowiłem sobie zrobić układzik który będzie wykrywał czy w skrzynce na listy jest poczta.
    Sam program detekcji już opracowałem, ale chciałbym żeby procesor wykonywał pomiar obecności poczty np co jakis czas 5-10 minut po czym przechodził w stan czuwania- power-down w celu oszczędzania energii.
    Czytałem noty i nie mam pomysłu jak można zrobić aby procesor sam się wybudzał po tak długim czasie.
    Wiem że można zrobić to za pomocą Watchdoga ale tam maksymalny czas to chyba 2 sek.
    Myślałem też nad zewnętrznym timerem np ne555 który by co 15 minut wysyłał stan wysoki w celu wybudzenia procka.
    Ale to kolejne mA dla NE555 no i miejsce..

    Moze macie jakieś pomysły jak to zrobić programowo

    Pzdr Devolt
  • REKLAMA
  • #2 5847075
    Dr.Vee
    VIP Zasłużony dla elektroda
    Ze stanu power-down może procesor wybudzić tylko watchdog, reset, lub przerwanie zewnętrzne.

    W trybie Idle mógłbyś użyć timera (/256) + preskalera (/1024) + system clock preskalera (/256), czyli przerwanie co 67M cykli zegara systemowego. Dodaj do tego zewnętrzny oscylator 32kHz = maksymalny timeout ~35 minut (przy wewnętrznym RC 128kHz masz 8 minut).

    Przy tak niskiej częstotliwości zegara pobór prądu w trybie Idle to ok. 6,5uA, natomiast w trybie power-down będzie to ok. 0,5uA. Pewnie da się zrobić zewnętrzny układ czasowy CMOS na 6uA, ale czy warto?

    Pozdrawiam,
    Dr.Vee
  • #3 5847490
    mirekk36
    Poziom 42  
    ;) piszesz, że zrobiłeś już układ "detekcji poczty" w skrzynce na listy, że dopracowałeś już program detekcji .... skoro więc jest jakaś detekcja to znaczy, że musisz wykrywać zmianę stanu jakiegoś czujnika czy nie wiem tam czego.

    Zamiast więc podchodzić do tematu (jeśli chodzi o usypianie procka) jakby troszkę "od tyłu" - podejdź może "od przodu" czyli .....

    1. twój procek cały czas ładnie "śpi" w najgłębszej śpiączce Power-DOWN (najmniejszy pobór prądu - jeśli to ciebie interesuje i to jest głównym założeniem. Nie działają w nim wtedy żadne wewnętrzne moduły)
    - wybudzenie z tej śpiączki może nastąpić jednak pięknie przez jakieś zewnętrzne przerwanie

    2. W momencie więc gdy pojawia się poczta w skrzynce na listy, zmnienia się stan czujnika, który generuje na jakimś pinie INT przerwanie do procka. Ten się budzi - robi swoją robotę czyli, informuje o tymże zdarzeniu na zewnątrz no i ponownie zażywa całą fiolkę pigułek nasennych ;)

    takie rozwiązanie powinno się bardzo dobrze sprawdzać
  • #4 5848507
    devolt
    Poziom 21  
    No tak ale to komplikuje sprawę wykrywania.
    Musiałbym zrobić jakiś inny układ który by powodował przerwanie.
    Mój sposób detekcji jest banalnie prosty, programowy i opiera sie na czujniku odbiciowym (za pomocą fotodiody).
    Fotodioda jest podłączona do przetwornika prąd/napięcie i dalej za pomocą wbudowanego przetwornika A/D nastepuję pomiar ilości światła jakie wpada do fotodiody.
    Ilość ta zależy od tego od czego się odbije, koperty i listy zazwyczaj są jaśniejsze niż wnętrze skrzynki.
    Skrzynka jest tak usytuowana że panują tam praktycznie stale warunki oświetlenia. Wiec nie będzie problemu z zakłóceniami.

    Myślę, że to co napisał Dr.vee bedzie wystarczające 6.5 uA to naprawdę niewiele.
    Musze jeszcze tylko znaleźć jakiś wzmacniacz operacyjny który bedzie pracował na 3V i pobierał znikomy prąd, ale to tez da sie zminimalizować i będę go zasilał tylko w momencie pomiaru.
  • REKLAMA
  • #5 5853457
    waldek72
    Poziom 11  
    witam

    6.5 uA to będzie brał procek ale jak dopniesz jeszcze wzmacniacz diody itd... to bateria szybko padnie. Lepiej oprzyj się na tym co masz w procku np komparator.

    Poprawiłem błąd ortograficzny - regulamin p.15
    Proszę korzystać z przycisku "Pisownia".
    [zumek]
  • #6 5853744
    asembler
    Poziom 32  
    Ja wykorzystuje cykliczne przerwanie od wachdog'a. Ustawiam SLEEP na power-down. Srednie zuzycie prądu to 5 uA. Wcale nie musisz w kazdym przerwaniu sprawdzac czy jest poczta. Wystarczy ze bedziesz zliczal przerwania w zakresie 0-255 i co 256-ste przerwanie właczysz LED i odczytasz napiecie z fotodiody. Jezeli ustawisz wachdog na okolo 2 sek to bedziesz mial pomiar co okolo 500-600sek czyli oko 10 minut. Piszę całyczas około gdyż generator wachdog'a pracuje z rózną czestotliwościa zależną od egzemplarza, temperatury, napiecia .
  • #7 5855558
    devolt
    Poziom 21  
    Niestety muszę zrobić dodatkowy układ konwersji prądu na napięcie gdyż sama dioda nie reaguje tak dobrze, ma duzo mniejszą czuość, a zmiany są powolne. Ewentalnie pobawie się jeszcze z fototranzystorem, może da silniejszy sygnał.
    Ale myślalełem zeby zasilić wzmak operacujny tylko w momencie pomiaru czyli przez ułamek sekundy( na tyle krótko aby to zadziałało, bo na pewno potrzebny jest jakis odcinek czasu by napiecia się unormowały).
  • #8 5855663
    asembler
    Poziom 32  
    spróbuj male fotoogniwo od kalkulatorka, napewno sie znajdzie jakis zepsuty daje swietlne efekty. Mam w samochodzie do automatycznego właczania swiateł,teraz po zmianie przepisów reguluje tylko podswietlenie w wyswietlaczach LCD
  • REKLAMA
  • #9 5868705
    ilmenauer
    Poziom 14  
    Ciekawy problem od strony analogowej. Fotodioda w trybie prądowym ma świetny zakres liniowy przetwarzania natężenia światła. Za wzmacniaczem I->U dajesz komparator, dalej sygnał z komparatora na przerwanie sprzętowe procka.
    Jaką fotodiodę wybrałeś?
    Zasilanie części analogowej, żeby mało żarło - to jest wyzwanie.
  • #10 5869209
    Dr.Vee
    VIP Zasłużony dla elektroda
    Ja bym poeksperymentował z fototranzystorem. Będzie mały zakres dynamiki, ale można ustawić napięcie referencyjne ADC na 1.2V i odpowiednio dobrać rezystor w kolektorze fototranzystora. Problemem może być wysoka impedancja wyjściowa takiego układu, co obciąży wejście ADC. Można pomyśleć nad jakimś wtórnikiem, a zasilaniem wszystkiego sterować przez uC.

    Jak już wymyślisz jakiś układ to nie zapomnij się podzielić z innymi :)

    Pozdrawiam,
    Dr.Vee
  • #11 5869806
    devolt
    Poziom 21  
    ilmenauer napisał:
    Ciekawy problem od strony analogowej. Fotodioda w trybie prądowym ma świetny zakres liniowy przetwarzania natężenia światła. Za wzmacniaczem I->U dajesz komparator, dalej sygnał z komparatora na przerwanie sprzętowe procka.
    Jaką fotodiodę wybrałeś?
    Zasilanie części analogowej, żeby mało żarło - to jest wyzwanie.


    Fotodiodę wybrałem taką jaką znalazłem w szufladzie bpyp44a.
    Nie korzystam z komparatora, prosto z przetwornika I>U sygnał trafia do procka do przetwornika A/C. Reszta jest już programowo załatwiona.

    A tak przy okazji to zamówiłem jakieś opamp'y z maxima co niby biorą 750nA wiec nie tak dużo.
  • #12 5870629
    ilmenauer
    Poziom 14  
    Dr.Vee dotknął sedna sprawy. Jeśli ma być energooszczędnie to część analogowa musi być zasilana cyklicznie pod kontrolą uC, tylko w chwilach pomiaru.
    Przetwarzanie I->U zrób na tranzystorze, wystarczy. Ponieważ w gruncie rzeczy robisz układ detekcji a nie pomiarowy to wzmacniacz operacyjny wydaje się tu nadmiarowy, tak myślę.
  • #13 5871535
    asembler
    Poziom 32  
    Może zamontuj poprostu zwykły styk na tyle delikatny aby ciezar listu go właczył?
  • REKLAMA
  • #14 5877543
    devolt
    Poziom 21  
    hej myślałem o tym na samym początku, ale jest kilka przeszkód. Po pierwsze chciałbym aby detektor był typu plug&play. Wkładasz do skrzynki kalibrujesz i dalej nic Cie nie interesuje.
    Montowanie styków wiąże sie z mechaniczną ingerencje w skrzynce, ja mieszkam w bloku wiec mam dosyć ograniczone możliwości( skrzynka nie jest moją własnością).
    Dlatego pomyslalem o układzie mikroprocesorowym. Przy okazji czegoś sie naucze:)
  • #15 5883559
    asembler
    Poziom 32  
    Niekoniecznie musisz ingerowac w skrzynkę mozesz włozyc kawałek plexi wilekosci dna twojego boxu i na niej wszystko umiescic. jak sie bedziesz przeprowadzal niedługo to poprostu wyjmiesz.
REKLAMA