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

[AVR][Bascom] - Pomiar 100 Hz, diagnostyka detektora przejścia przez 0

26 Maj 2012 13:40 1818 4
  • Poziom 36  
    Witam.

    W swoim układzie zamierzam użyć rozwiązania diyzerocrosser. Nie mam niestety pod ręką oscyloskopu, pozostaje mi ufać, że to rozwiązanie (tudzież moje wykonanie) działa poprawnie. Chciałbym jednak zrobić wstępną diagnostykę (do testów, ale może zostanie zaimplementowane trwale w rozwiązaniu docelowym) poprzez pomiar częstotlowości 100 Hz na wyprowadzeniu INT1 (na tym wyprowadzeniu realizowana detekcja przejścia przez zero). Dla rozwiązania zerocosser mamy na wyjściu przebieg prostokątny więc powinno wystarczyć takie rozwiązanie.

    Co myślicie o takim testowaniu detektora przejść przez zero? Będzie wystarczające?

    PS. Jeśli ktoś widział w sieci gotowiec kodu do pomiaru f = 100Hz to chętnie skorzystam. Czemu nie.
  • PCBway
  • PCBway
  • Poziom 36  
    Kiedyś bawiłem się takim oscyloskopem ale z tego co pamiętam nie było tam możliwości wyskalowania jednostek. Można było co najwyżej zobaczyć czy sygnał jest i jaki ma kształt. Do pomiarów wartości się to nie nadawało.
  • Poziom 36  
    W EDW z sierpnia 2000 prostego pomiaru częstotliwości dokonywano na wejściach T0 / T1 (timery / liczniki). Jako, że na moim PCB detekcja przejścia przez zero realizowana jest na INT1 (a nie na wejściach counterów), pomyślałem, że zamiast counter'a wykorzystam po prostu przerwanie na INT1, po wystąpieniu którego w obsłudze przerwania zmienna zostanie zinkrementowana o 1. Wartość tej zmiennej po upłynięciu 1s to częstotliwość w Hz. Do odliczania jednosekundowych odcinków czasu wykorzysta się jakiś wolny timer. Powinno zadziałać.

    Pozostaje konfiguracja przerwania wg tabeli (reakcja na zbocze opadające, rosnące, zmianę, czy stan niski):

    [AVR][Bascom] - Pomiar 100 Hz, diagnostyka detektora przejścia przez 0

    Tutaj wypełnienie na pewno nie jest 50% ;-) Ale to nie powinno mieć znaczenia, i low level powinien spisać się dobrze.

    Brak częstotliwości lub spore odchyłki od 100Hz będą świadczyły o awarii obwodu detekcji przejścia przez zero (i w związku z tym, dla bezpieczeństwa, np. sterowanie fazowe nie będzie w takich warunkach realizowane, zamiast tego zgłoszona zostanie awaria).

    --- edit ---

    A jednak ma być rising. Dla low level inkrementuje ciągle gdy na INT1 stan niski. W sumie logiczne. Gdyby ktoś kiedyś szukał gotowca wklejam swój:

    Dla ATMEGA16, 8MHz kod:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Dla układu zerocrosserdiy i napięcia sieci 230V zwraca częstotliwości:

    [AVR][Bascom] - Pomiar 100 Hz, diagnostyka detektora przejścia przez 0

    Więc mniej więcej wszystko zgodnie z oczekiwaniami. Na INT1 jest mniej więcej 100Hz. Można rozpocząć próby z pisaniem softu do sterowania fazowego.