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.

Bascom AVR, ATMega32 - Jak zrobić licznik motogodzin przebiegu urządzenia.

platfus1109 04 Lis 2012 11:51 1605 3
  • #1 04 Lis 2012 11:51
    platfus1109
    Poziom 14  

    Witam.
    Jestem raczkujący jeśli chodzi o technikę Mikrokontrolerów. Od miesiąca posiadam zestaw EVB 4.3 z kursem AND-Tech.

    Zrobiłem prymitywne urządzenie do sterowania lampy. Potrzebuję je wzbogacić o funkcję zliczania czasu przebiegu tej lampy ( po to by wiedzieć ile już świeciła). Lampa ma ograniczony czas żywotności więc funkcja jest pożyteczna (pozwoli przewidzieć stan zużycia tej lampy).

    Jak wiadomo zapis pamięci eeprom jest też ograniczony (ok 100 tyś cykli zapis i odczyt). Więc jeśli bym zapisywał co sekundę do pamięci to szybciej bym pamięć zużył od lampy.

    Czas mojej lampy to jak producent gwarantuje to około 50 tyś godzin. Urządzenie może być włączane przypadkowo tzn. nie musi lampa "lecieć" godzinę czy dwie, ale czasem na parę minut lub sekund.

    Pozostaje jeszcze problem że po odłączeniu napięcia zasilania procesor nie zdąży zapisać danych bez "prądu", więc zapis czasu po jego zsumowaniu na koniec pracy tego urządzenia też nie jest dobrym pomysłem, a baterii bym nie chciał dodawać.

    Czy istnieją jakieś konstrukcje, układy które można by wykorzystać w moim urządzeniu?
    Proszę o pomysły.
    Nad programem sam popracuję. W końcu się uczę pisać.
    Pozdrawiam.

    0 3
  • #2 04 Lis 2012 12:19
    tmf
    Moderator Mikrokontrolery Projektowanie

    Możesz zapisywać co sekundę EEPROM, stosując techniki wear leveling. Jeśli masz EEPROM np. 512 bajtów, a wykorzystujesz 4 bajty, to wydłużysz żywotność kilkaset razy.

    0
  • #3 04 Lis 2012 13:38
    Press
    Poziom 22  

    a dlaczego uwazasz ze zapisywanie po wylaczeniu jest niemozliwe? Wystarczy dodac kondensator wiekszy na zasilaniu mikrokontrolera i zrobic wykrywanie przez niego zaniku napiecia. (oczywiscie na zasilaniu a nie na tym kondensatorze, bo wtedy juz po ptakach)

    0