Strona 1 z 1

ATMEGA8 - sterownik silników. Częstotliwość i gubienie krków

: 28 lut 2012, 20:26
autor: lukim00
Witam wszystkich. Jesten nowy więc proszę o wyrozumiałość. Przejdę od razu do rzeczy. Chciałbym zbudować prosty sterownik silników krokowych oparty na jednej Atmedze 8. Rzecz w tym że w fazie testów z programem Mach3 uC wyłapywał około 20% kroków. W resztę jak rozumiem musial "nie trafić". Procek działał na standardowym wewnętrznym oscylatorze. Moje pytanie brzmi czy po zwiększeniu prędkości do powiedzmy 8Mhz uC przestanie gubić kroki? Nzy to nie jest za dużo jak na jeden uC. Z tego co widziałem dużo projektów składa się osobnego kontrolera dla każdej osi. Próbowałem rozwiązać problem używając przerwań. Wszystko działało wyśmienicie, tzn wyłapywane były wszystkie kroki jednak mega 8 ma tylko 2 wejścia z obsługą przerwań a to dla mnie za mało. Dodam że mach był ustawiony na najwolniejszą prędkość. Z góry dziękuję za pomoc :)

: 28 lut 2012, 21:43
autor: MiR
Można wykorzystać jeszcze przerwanie od komparatora. Ja tak zrobiłem i działa. Zegar wewnetrzny 1 Mhz.

: 28 lut 2012, 22:29
autor: lukim00
Dzięki, spróbuję tak zrobić. A jaka częstotliwość zapewniałaby mi działanie bez przerwań, tzn żeby wszystko było w głównej pętli ?

: 28 lut 2012, 23:03
autor: FDSA
Wystarczy żebyś zrobił prosty układ wejściowy przedłużający impulsy i tyle.

Pozdrawiam
FDSA

: 28 lut 2012, 23:09
autor: lukim00
że też nie wpadłem na taki pomysł. Jak najprościej zrealizować taką funkcję. Jestem początkującym elektronikiem. Może przerzutnik RS z clockiem na stałę podłączonym do stanu wysokiego. Wtedy uC po odczytaniu danej resetowałby przerzutnik. Czy to się sprawdzi ?

: 28 lut 2012, 23:14
autor: FDSA
W najprostszym wydaniu wystarczy podpiąć do linii kondensator, ładować go przez rezystor pull up a rozładowywać przez diodę podpięta do portu LPT albo zrób prosty układ na diodach który wyzwoli przerwanie nie zależnie od tego które linia sie zmienii a potem od razu w przerwaniu sprawdzaj co się zmieniło.

Pozdrawiam
FDSA