To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
#18
Ha, to pewnie inaczej działający enkoder. Zrób Ryśku taki test, w funkcji setup włącz port szeregowy:

Kod:
Serial.begin(9600);

A następnie podczas odczytywania enkodera wyświetl ile masz impulsów na ząbek:

Kod:
if(enc != 0) {                          //jeśli wartość jest inna niż zero sumujemy
    enc_sum = enc_sum + enc;              //jeden ząbek encodera to +2 lub -2 tutaj to zliczam
    Serial.println(enc); //<---- to dorzucamy
  }

Pewnie u Ciebie jest inaczej niż w tym moim i dlatego skacze po 200Hz
I teraz w zasadzie możemy albo zmienić krok albo inaczej zliczać impulsy.

Właściwa zmiana powinna się odbywać tutaj:

Kod:
if(enc_sum >= 2){

i tutaj:

Kod:
if(enc_sum <= -2){

Zamieniamy dwójkę na wartość jaką masz na ząbek. W sumie najlepiej to wystawić jako zmienną do konfiguracji.

Z ciekawości zapytam co to za enkoder?
...przede wszystkim nie zakłócać...
Cytuj


Wiadomości w tym wątku

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości