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.

Attiny 2313 i power down.

Kolarz1963 24 Wrz 2013 00:55 3033 15
  • #1 24 Wrz 2013 00:55
    Kolarz1963
    Poziom 8  

    Witam Wszystkich !
    Napisałem taki program.
    Problem jest w tym ,że mogę wchodzić w Power down ale nie potrafię
    z niego wychodzić.
    Wejście w Power down odbywa się jednym przyciskiem i chciałbym żeby ten sam przycisk służył do obudzenia układu.
    Mimo tygodniowego przeglądania internetu nie znalazłem odpowiedzi.
    Proszę!
    Koleżanki i Kolegów !
    Nie piszcie mi odpowiedzi typu "poczytaj dataschet"
    to będziesz wszystko wiedział.Nie umiem angielskiego a tłumacz w google wiadomo jak tłumaczy.
    I nie proszę o gotowy kod w bascomie. Tylko jak to ugryźć , jak się dobrać do tematu?
    No i mam problem z pokazaniem kodu :cry:

    0 15
  • #2 24 Wrz 2013 02:27
    Artyliusz
    Poziom 12  

    Witam.

    Kod wkleja się w znacznikach Syntax. Składnia: Kolorowanie składni:[ syntax =jezyk_programowania]kod[ /syntax]

    Z noty katalogowej czytamy do Power down mode:

    Cytat:
    In this mode, the external Oscillator is stopped, while the external interrupts,
    the USI start condition detection, and the Watchdog continue operating (if enabled). Only an
    External Reset, a Watchdog Reset, a Brown-out Reset, USI start condition interrupt, an external
    level interrupt on INT0, or a pin change interrupt can wake up the MCU.

    Interesujące dla Ciebie jest ostatnie zdanie. Mówi Nam o tym co znowu wybudza procesor z tego trybu snu. Dla Ciebie wchodzą opcje Przerwanie na INT0 lub Pin change interrupt. Switch masz podłączony do PD2, który jest jako INT0, a więc możesz zastosować przerwanie zewnętrzne na INT0, aby wybudzić procesor.

    Jednakże nie mam pojęcia jak wygląda obsługa przerwań zewnętrznych na Bascomie. Może pomoże Tobie jakiś Help, który jest podobno zintegrowany z programem po polsku.

    Pozdrawiam.

    0
  • #3 24 Wrz 2013 07:48
    Press
    Poziom 22  

    Artyliusz napisał:

    Jednakże nie mam pojęcia jak wygląda obsługa przerwań zewnętrznych na Bascomie. Może pomoże Tobie jakiś Help, który jest podobno zintegrowany z programem po polsku.

    Pozdrawiam.


    ENABLE INTERRUPTS 'Włączenie globalne przerwań
    ENABLE INT0 'Właczenie przerwania INT0
    ON INT0 podprogram: 'Przypisanie podprogramu który zostanie wywołany po stwierdzeniu przerwania.

    HELP po polsku w tłumaczeniu jednego z kolegów z forum jest do pobrania ze strony producenta (przynajmniej był). Niestety nie jest aktualny do najnowszych wersji BASCOMA, ponieważ kolega zarzucił już tłumaczenie aktualizacji HELPa

    0
  • #4 24 Wrz 2013 09:36
    Tomasz Gumny
    Poziom 27  

    Press napisał:
    ENABLE INTERRUPTS 'Włączenie globalne przerwań
    ENABLE INT0 'Właczenie przerwania INT0
    ON INT0 podprogram: 'Przypisanie podprogramu który zostanie wywołany po stwierdzeniu przerwania.
    "Only an [...] external level interrupt on INT0...". Wypadałoby jeszcze ustawić przerwanie aktywne na poziom a nie na zbocze.

    0
  • #5 24 Wrz 2013 12:53
    Press
    Poziom 22  

    Tomasz Gumny napisał:
    Press napisał:
    ENABLE INTERRUPTS 'Włączenie globalne przerwań
    ENABLE INT0 'Właczenie przerwania INT0
    ON INT0 podprogram: 'Przypisanie podprogramu który zostanie wywołany po stwierdzeniu przerwania.
    "Only an [...] external level interrupt on INT0...". Wypadałoby jeszcze ustawić przerwanie aktywne na poziom a nie na zbocze.


    config INT0= LOW LEVEL

    Proszę bardzo :)

    Na marginesie, to nie wiem jak jest w nowych Attiny, Ale niedawno robiłem coś w rodzaju minutnika na 90S2313 i całkiem sprawnie działa wybudzanie z POWERDOWN przy ustawieniu przerwań na FALLING.

    0
  • #6 24 Wrz 2013 13:04
    tmf
    Moderator Mikrokontrolery Projektowanie

    Przypadkowo działało, być może dzięki bouncingowi styku. Nie ma możliwości, aby przy braku zegara MCU mógł wykryć zbocze. W nowszych MCU (np. XMEGA) niektóre piny portu mogą działać asynchronicznie, wtedy należy ich użyć do wybudzania z głębokiego snu. Zawsze warto sprawdzić w nocie, co o tym piszą.

    0
  • #7 24 Wrz 2013 13:25
    Artyliusz
    Poziom 12  

    A więc zaglądamy do noty, kontynuacja wcześniejszego cytatu przeze mnie dotyczącego Power-down:

    Cytat:
    This sleep mode basically halts all generated clocks, allowing operation of asynchronous modules only.

    Oczywiście tmf miał rację, że zatrzymuje wszystkie zegary, ale też pozwala na operacje modułów asynchronicznych.
    Więc szukamy w nocie pod hasłem Interrupts.
    Znajdujemy tam:
    Cytat:
    Low level interrupt on INT0 and INT1 is detected asynchronously. This
    implies that this interrupt can be used for waking the part from sleep modes other than Idle
    mode. The I/O clock is halted in all sleep modes except Idle mode.

    Z powyższego wynika, że przerwanie na INT0 działa asynchronicznie i może być użyte do wybudzenia mikrokontrolera ze snu.

    Radzę zapoznawać się z czytaniem not kalogowych mikrokontrolerów. Ja nigdy nie miałem doczynienia z Attiny 2313, ani w ogóle z tą rodziną, a jednak łatwo mi wyszukać informacje.

    Pozdrawiam.

    0
  • #8 24 Wrz 2013 15:55
    leonow32

    Poziom 29  

    Jeśli chcesz procek wybudzać przyciskiem, to może lepiej zrobić jakiś prosty power-switch na jednym tranzystorze polowym? Np daj jakiś MOSFET P na zasilanie i bramkę połącz przez rezystor 1M do źródła i jednocześnie przez przycisk do masy. Wciskając przycisk, na bramce pojawia się napięcie 0V, co otwiera MOSFET P i tym samym włącza się zasilanie procesora. Następnie bramką musi strować procesor. Jeśli będzie cały czas 0 to będzie włączony, jeśli procek wystawi 1 to się wyłączy. Bardzo proste i bardziej ekonomiczne niż tryb power down :)

    jeśli zbyt chaotycznie opisałem, to mogę narysować schemat.

    0
  • #9 24 Wrz 2013 19:34
    94075
    Użytkownik usunął konto  
  • #10 25 Wrz 2013 00:46
    Kolarz1963
    Poziom 8  

    WIELKIE DZIĘKI ! Wszystkim za podpowiedzi i odpowiedzi oraz nowe spojrzenie na temat.
    Szczerze mówiąc liczyłem się z tym ,że nikt nie będzie zainteresowany tematem.
    A jednak się myliłem !
    Ale do rzeczy.

    Pomysł powstał po zdarzeniu , które miało miejsce w okolicach Zielonej Góry.
    Zaginięcie dziecka . Mimo zaangażowania bardzo wielu służb łącznie ze śmigłowcem wyposażonym w kamerę termowizyjną odnaleźienie dziecka trwało kilkanaście godzin.
    Cała sprawa skończyła się pomyślnym finałem.Dziecko znaleźli ratownicy służb naziemnych.

    A gdyby tak wyposażać te bardzo aktywne pociechy w nadajniki ?
    Każdy mógłby pomóc w poszukiwaniach .
    W każdym prawie domu jest odbiornik radiowy , prawie w każdy ma telefon mogący odbierać UKF (stacje radiowe )
    Nie mówiąc już o krótkofalowcach z doskonałymi antenami kierunkowymi .
    Uważam też ,że Urząd Komunikacji Elektromagnetycznej też mógłby pomóc mając sprzęt działający w szerokim spektrum fal radiowych.

    No to taki nadajnik sobie wymyśliłem.
    Program jest na początku postu
    (nadal nie umiem wkleić tak ładnie ja wszyscy)
    Zdjęcia wkleję jutro i postaram się nagrać jak to "piszczy"




    Urządzenie ma być:
    1. Tanie
    2. Mało skomplikowane
    3. Lekkie
    4. Odbierany sygnał w możliwie prosty sposób
    ( radio domowe , SDR , Dongle , odbiornik z modulacją AM , WFM , NFM SSB CW )
    5.Podaje temperaturę użytkownika lub 64 bitowy kod czujnika temperatury
    (ewentualnie jego ostatnie trzy czy cztery cyfry)
    6 Działać możliwie długo

    Dzięki wszystkim za cenne uwagi. Trochę się w tej głowie rozjaśnia. Dzięki Wam.
    Jeśli coś wymyślę to na sto procent to się ukaże.
    Pozdrawiam!

    0
  • #12 25 Wrz 2013 08:15
    Press
    Poziom 22  

    Dondu ma rację.
    Jedynym sensownym wyjściem jakie przychodzi mi do głowy jest zastosowanie pasm powszechnie dostępnych, Takich jak na przykład pasmo radia CB. Tylko pozostaje problem włączania urządzenia wtedy kiedy jest potrzebne. Bo przecież nie można zakłócać kanału CB 24h/dobę.
    Rozglądnij się lepiej za lokalizatorami GPS z powiadamianiem GSM, Choć tanie pewnie nie są.
    Drugi pomysł jaki mi przychodzi to kupić dziecku tani telefon komórkowy i uruchomić na nim funkcję "GDZIE JESTEŚ" Nie zlokalizuje do pół metra, ale znacznie zawęzi obszar poszukiwań.

    0
  • #13 26 Wrz 2013 22:20
    Kolarz1963
    Poziom 8  

    Cytat:
    Rozbijesz się o częstotliwość i przepisy.

    Być może masz rację ale do pewnej mocy parę miliwatów można nadawać bez zezwolenia.Rzecz jasna pod warunkiem nie zakłócania innym służbom ,radiofonii telewizji
    czy też uprawionym użytkownikom określonych pasm ale przyznaję ,że problem istnieje z nadajnikiem i prawidłowym posługiwaniem się nim. Generator kwarcowy to przecież też nadajnik.
    Cytat:
    Rozglądnij się lepiej za lokalizatorami GPS z powiadamianiem GSM, Choć tanie pewnie nie są.
    Drugi pomysł jaki mi przychodzi to kupić dziecku tani telefon komórkowy i uruchomić na nim funkcję "GDZIE JESTEŚ" Nie zlokalizuje do pół metra, ale znacznie zawęzi obszar poszukiwań.

    Nie wiem jaka jest kwota utrzymania telefonu z taką funkcją. Gps adpada za drogi jak na ten czas.
    Myślę , że zmienię trochę strategię . Będę próbować zrobić coś co zauważyłem u kotów :D
    Małe kocię jak się zgubi to miałczy. Matka-kot słucha gdzie się sierota zgubiła i zaczyna szukać. A może by tak odwrócić sytuacje. Kot-baza wysyła sygnał co minutę.Takie zapytanie czy wszystkie jednostki są w zasięgu? Jednostki odpowiadają
    więc są bezpieczne. Jeśli jeden nie odpowie to znaczy ,że się oddalił i należy go szukać.Wszczynamy alarm! Jeśli odbiornik małego kota nie otrzyma zapytania przez dwie trzy minuty włącza sygnał "szukajcie mnie". Niestety układ się komplikuje :cry:
    Nie wiem czy dobrze przekazałem ideę?

    Cytat:
    Jeśli chcesz procek wybudzać przyciskiem, to może lepiej zrobić jakiś prosty power-switch na jednym tranzystorze polowym?



    Leonow32 pokaż jak Ty to widzisz. Proszę o schemat.
    Niestety z braku czasu jeszcze nie przetrawiłem wyjścia ze stanu powerdown :cry:
    ale już umiem wklejać kody:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam Wszystkich!

    0
  • #14 26 Wrz 2013 23:33
    Press
    Poziom 22  

    Jeśli chodzi Ci o coś w stylu ograniczenia pola manewru dziecka, to zainteresuj się nadajnikami i odbiornikami na 433MHz na przykład, Wtedy Twoja idea z nasłuchiwaniem sygnału jest sensowna i działasz w legalnym paśmie. Zasięg takiego nadajnika to około 200 m otwartej przestrzeni zdaje się. Problem jaki się natomiast pojawia, to to, że wiesz że Ci dzieciak wyszedł poza dozwolony obszar, ale nie wiesz z której strony go szukać.

    0
  • #15 26 Wrz 2013 23:57
    deksta84
    Poziom 24  

    Na chronionym obszarze umieścić kilka połączonych odbiorników np w rogach posesji. Na podstawie informacji na który odbiornik sygnał przychodził najdłużej, to w tę stronę nadajnik się ulotnił.

    0
  • #16 27 Wrz 2013 13:14
    30402
    Użytkownik usunął konto