Okres próbkowania, a co z tego wynika, częstotliwość próbkowania zależy od tego jaka częstotliwość może wystąpić w sygnale mierzonym. Jesli np. wiesz że na pinie ADC będziesz miał sygnał o maksymalnej częstotliwości 2kHz to częstotliwość próbkownia wyniesie minimum 4kHz (okres 0,25ms) co wynika z twierdzenia o próbkowaniu (Nyquista-Shannona). Jeśli nie jesteś pewny maksymalnej częstotliwości to zastosuj na wejściu ADC filtr dolnoprzepustowy np RC żeby wyłtumić wyższe częstotliwości, a dalej już tak samo. Od strony AVR i programu żeby uzyskać te 4kHz próbkowania, najlepiej wykożystać któryś z timerów (w Atmega32, 0 lub 1) jako trigger dla ADC. Możesz np. skonfigurować timer0 do trybu CTC, i wybrać go jako trigger dla ADC (ADC Auto Trigger Source), a w samej konfiguracji ADC włączyć przerwania po zakończonej konwersji, w którym przeliczysz sobie filtr cyfrowy. Co do samego filtru żeby przyspieszyć jego działanie warto zastować fixed-point math zamiast typów float i wykożystać przesunięcia bitowe zamiast dzielenia.
|