Skocz do zawartości

Problem z liczeniem impulsów Arduino Nano 3


marmatmm

Pomocna odpowiedź

Zrobiłem sterownik do obracania anteną , dostałem do niego oprogramowanie , które podobno działa ale mnie źle liczy impulsy tzn, nie jest powtarzalne czyli obracam o 180st i wracam i mam róznice nawet do 30 st. Impulsy przez transoptor wchodzą na wejście D2 , w szereg właczyłem diode LED aby sprawdzic czy impulsy sa ok , dioda miga jednostajnie wygląda prawidłowo.

przy małym ruchu mignie 2 razy a sterownik policzy czasami 2 czasami 4 ..

Przekładnia jest ustawiona 1:1

#define AZ_POSITION_PULSE_DEG_PER_PULSE 1.0

#define EL_POSITION_PULSE_DEG_PER_PULSE 1.0 

Działa tylko AZ- Azymut , Elewacja nie podłaczona nie istotna...

Schemat

Sprawdziłe układ i wydaje mi sie że to wina programu , podłaczałem też enkoder na wejście i jak powoli kręciłem to wszystko liczy ok 1 impuls 1 stopień przy szybszym trudno powiedzeć bo nie wiem ile poleciało i ile policzył .

Impulsator rotora impulsuje z niska częstotliwością ładnie widoć na oko .

Nie czuję sie na siłach sprawdzić program może ktoś pomoże ...

Cały program w załaczniku.

Pulse_Firmware.zip

Link do komentarza
Share on other sites

U mnie schemat nie powiększa się do czytelnych rozmiarów. Program wygląda jak z najgorszych snów.. Współczuję, jeśli to tam siedzi babol.

Co jest pierwotnym źródłem impulsów? Zestyk mechaniczny? Enkoder optyczny? Skoro jest jedno wejście, to w jaki sposób sterownik rozpoznaje kierunek? Wiedząc, w którą stronę wysterował napęd? Obsługa zliczania jest zrobiona na przerwaniu, więc program musiałby być bardzo zajęty żeby nie zdążył. Podejrzewam wielokrotne zbocza - tego nie widać na diodce LED i tu by się przydał oscyloskop. Pokaż dokładnie jak zrobiłeś sam impulsator i jak go podłączyłeś do płytki Arduino. Może wystarczy prosty filtr RC.

Link do komentarza
Share on other sites

Dziękuję za odpowiedź , program jak pisałem jest przeróbka z wersji gdzie był potencjometr zamiast impulsatora dlatego może tak wygląda, Ktoś go przerobił pod impulsator ale podobno ma działać .

Jeżeli chodzi o kierunek obrotu to on wie po stopniach bo liczy od 0-360 st taki ma zakres lub też sa przyciski do ręcznego sterowania CW (zgodnie z ruchem wskazówek) CCW (przeciwnie).

Źródłem impulsów jest kotaktron w przekładni i to raczej jest ok bo firma robi to od kilkunastu lat .Linia za dławikiem AZIMUTH jest zwierana do masy przez kontaktron w przekładni.

Poprawiłem schemat już otwiera sie powiększenie .

Porównuje podobne schematy i wszędzie tranzystor transoptora jest podłaczony odwrotnie do wejścia procesora Kolektor a Emiter do GND. Może tu coś nie gra?

Zmieniłem Emiter -Kolektor transoptora i jest prawie dobrze .

Gdy wyznaczam kąt obrotu enkoderem jest ok , gdy bawię się ręcznie przyciskami i zrobię kilka bardzo krótkich naciśnięć switcha wtedy wpadają jakieś bzdurna impulsy powodujące błąd.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.