Znaleziono 4 wyniki

autor: tuxcnc
18 wrz 2011, 11:00
Forum: Automatyka przemysłowa
Temat: Enkoder kwadraturowy - szybki "algorytm odczytu"
Odpowiedzi: 18
Odsłony: 6364

Wychodzi mi, że procedura ma jakieś 14 mikrosekund pomiędzy przerwaniami.
To już chyba nie Bascom i tak jak pisałem wyżej dedykowany procek tylko do konwertowania stanów enkodera na DIR/STEP albo inny protokół komunikacji.

Natomiast serwo nigdy nie jest tam, gdzie być powinno.
Zasada działania polega bowiem na porównaniu sygnału błędu z wartością zadaną.
Krótko mówiąc serwo kręci się tym szybciej, im dalej jest od założonego położenia.
Dodatkowo stosuje się algorytm PID i strojenie całego układu kinematycznego.
Coś jak z kierowcą, który musi przecież zacząć hamować przed miejscem w którym chce się zatrzymać.
Jak zacznie za wcześnie, to nie dojedzie, a jak za późno to przejedzie.
W pierwszym przypadku traci się czas, w drugim układ wpada w oscylacje.
Taka jest zasada, a konkretna implementacja zależy od pomysłowości projektanta.

.
autor: tuxcnc
17 wrz 2011, 23:50
Forum: Automatyka przemysłowa
Temat: Enkoder kwadraturowy - szybki "algorytm odczytu"
Odpowiedzi: 18
Odsłony: 6364

Atmega ma parę mipsów i powinna się wyrabiać.
Bascom produkuje fatalny kod, ale bez przesady.
Mi się nie podoba układ formowania impulsów z dwiema gałęziami RC jedna po drugiej.
Trzeba by znaleźć maksymalną prędkość przy której liczy dobrze i popatrzeć oscyloskopem co się dzieje.

A tak w ogóle to ile obrotów na sekundę próbujesz zmierzyć ?

.
autor: tuxcnc
16 wrz 2011, 19:29
Forum: Automatyka przemysłowa
Temat: Enkoder kwadraturowy - szybki "algorytm odczytu"
Odpowiedzi: 18
Odsłony: 6364

Algorytm i jego implementacja są rzeczywiście bardzo proste.
Na jednym pinie enkodera badamy zbocza, a na drugim stany.
Chodzi o to czy na rosnącym zboczu jest stan wysoki czy niski i czy na opadającym jest na odwrót.
Taki układ można zrobić tak jak podano, łącząc oba wejścia INT i ustawiając jedno przerwanie od zbocza rosnącego a drugie od opadającego, albo na jedno wejście INT podać sygnał bezpośrednio, a na drugie po zanegowaniu.
Trzecim rozwiązaniem jest zbudować układ wystawiający impuls po każdej zmianie sygnału i tymi impulsami sterować jedno wejście INT.

Układ można sprawdzić w ten sposób, że z programu wywalić wszystko oprócz zwiększania/zmniejszania zmiennej IMP, wartość zmiennej wysyłać na wyświetlacz (może być nawet pojedyńczy LED), a na wejściach dać przyciski.

Przycisk podłączony do wejść INT powinien zmieniać wartość zmiennej IMP po każdym wciśnięciu i każdym puszczeniu.
Wciskając i puszczając przyciski we właściwej kolejności można zasymulować enkoder CW i CCW.

.
autor: tuxcnc
15 wrz 2011, 21:42
Forum: Automatyka przemysłowa
Temat: Enkoder kwadraturowy - szybki "algorytm odczytu"
Odpowiedzi: 18
Odsłony: 6364

Przy dzisiejszych cenach mikrokontrolerów warto poświęcić jeden układ wyłącznie na obsługę enkodera, a resztę robić na drugim.
Na wyjściu "dekodera" wystawiać DIR/STEP, które to sygnały są szybko i bezproblemowo obsługiwane przez przerwania, bo jak dasz STEP na wejście INT, to tylko stan DIR musisz sprawdzić żeby wiedzieć czy licznik zwiększyć czy zmniejszyć.

.

Wróć do „Enkoder kwadraturowy - szybki "algorytm odczytu"”