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

Atmega8 - Porównanie napiecia ADC po określonym czasie ..

Wr841nd 01 Lis 2014 17:54 783 1
REKLAMA
  • #1 14092856
    Wr841nd
    Poziom 15  
    Niby łatwo a się zaplątałem...
    Prosta sprawa :
    Porównanie tego samego napiecia ( napięć dla 4 portów ) w cyklu 30 minut.
    Jesli napięcie "stanie" na ADC jakimkolwiek to pin X = 0/1

    Czas mam wyprowadzony i zastosowanie instrukcji WAIT rozwala system ( czyli wszystko stoi-- tj inne ADC )

    Kod wyglada /bedzie wygladał tak ( sam pomiar )
    
    W1 = GetADC(1) 
    Wait 1800
    W2 = GetADC(1)
    IF W1 = W2 then pinX= 0
    


    Ale co z tego ? Reszta portów ADC stoi bo wykonują instrukcje czekaj z portu 1..
    A może zapis do epromu i porówanie po 30 minutach ?
    Ale tego jeszcze nie gryzłem...

    Google mi nie podpowiedziało jak to zrobić..
  • REKLAMA
  • #2 14092868
    piotrva
    VIP Zasłużony dla elektroda
    1. Skorzystaj z timera
    2. Zauważ, że przez te 30 minut napięcie może dowolnie latać (sprawdzasz tylko 2 punkty)
    3. Odczyt z ADC zwykle nie jest stabilny - wprowadź histerezę
    4. Ja bym w przerwaniu odczytywał wartość ADC i jeśli ta nie zmieni się powyżej jakiegoś zakresu to dodajemy kolejną powiedzmy sekundę bez zmian, jeśli się zmieni to licznik sekund bez zmian zerujemy.
REKLAMA