Kiedy nauczę się samouczka w
oba przykłady kodu zawierają wiersz kodu delay (1)
i nie rozumiem jasno komentarzy:
delay (1 ); // opóźnienie między odczytami dla stabilności
Stabilność dla / czego?
Kiedy nauczę się samouczka w
oba przykłady kodu zawierają wiersz kodu delay (1)
i nie rozumiem jasno komentarzy:
delay (1 ); // opóźnienie między odczytami dla stabilności
Stabilność dla / czego?
Te opóźnienia to nonsens. Nie dodają niczego do stabilności. Najlepsze, co możesz powiedzieć, to to, że powstrzymują cię przed spamowaniem twojego portu szeregowego. (Jednak 1 ms nie jest zbyt długi).
Czasami ludzie wprowadzają opóźnienie, ponieważ „wydaje się, że działa lepiej” bez zbadania przyczyny. Spekuluję, że w tym przypadku autor mógł używać opóźnień, aby poprawić odbieranie danych szeregowych i wpadł im do głowy pomysł, że sporadyczne opóźnienia od czasu do czasu „poprawiają stabilność”.
Stabilność analogowa
Z Arkusz danych ATMEGA328 Strona 240:
Gdy napięcie odniesienia pasma zabronionego jest użyte jako wejście do ADC, ustabilizowanie się napięcia zajmie pewien czas. Jeśli nie jest ustabilizowana, pierwsza wartość odczytana po pierwszej konwersji może być błędna.
Więc jeśli wykonujesz wiele odczytów, musisz poczekać kilka cykli.
Opóźnienia nie są wymagane w przypadku korzystania z automatycznego wyzwalania:
W przypadku korzystania z automatycznego wyzwalania preskaler jest resetowany, gdy wystąpi zdarzenie wyzwalające. Zapewnia to stałe opóźnienie od zdarzenia wyzwalającego do początku konwersji. W tym trybie próbkowanie i trzymanie odbywa się dwa cykle zegara ADC po narastającym zboczu sygnału źródła wyzwalania. Do logiki synchronizacji używane są trzy dodatkowe cykle zegara procesora.
Również w przypadku odczytywania różnych kanałów tego samego modułu ADC należy zapewnić opóźnienie między odczytami, aby analogowy MUX był ustawiony i kondensator S&H jest naładowany.
Ta informacja jest z punktu widzenia sprzętu i nie jestem pewien, czy wewnętrzne procedury ADC Arduino kompensują te opóźnienia.
Stabilność cyfrowa
Ze schmatic samouczka cyfrowego czytania:
Na schemacie przycisk nie jest elektrycznie -bounced. Opóźnienie w odczytywaniu stanów pomogłoby w usunięciu odbijania go w oprogramowaniu.
Jak zasugerował Nick Gammon, poprawiają one również powodzie seryjne.