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

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
lukim00
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 28 lut 2012, 20:16
Lokalizacja: Kraków

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

#1

Post napisał: lukim00 » 28 lut 2012, 20:26

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 :)



Tagi:


MiR
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 1
Posty: 39
Rejestracja: 19 mar 2007, 19:39
Lokalizacja: Opole

#2

Post napisał: MiR » 28 lut 2012, 21:43

Można wykorzystać jeszcze przerwanie od komparatora. Ja tak zrobiłem i działa. Zegar wewnetrzny 1 Mhz.


Autor tematu
lukim00
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 28 lut 2012, 20:16
Lokalizacja: Kraków

#3

Post napisał: lukim00 » 28 lut 2012, 22:29

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 ?

Awatar użytkownika

FDSA
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 681
Rejestracja: 26 gru 2010, 18:38
Lokalizacja: Południe
Kontakt:

#4

Post napisał: FDSA » 28 lut 2012, 23:03

Wystarczy żebyś zrobił prosty układ wejściowy przedłużający impulsy i tyle.

Pozdrawiam
FDSA


Autor tematu
lukim00
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 3
Rejestracja: 28 lut 2012, 20:16
Lokalizacja: Kraków

#5

Post napisał: lukim00 » 28 lut 2012, 23:09

ż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 ?

Awatar użytkownika

FDSA
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 681
Rejestracja: 26 gru 2010, 18:38
Lokalizacja: Południe
Kontakt:

#6

Post napisał: FDSA » 28 lut 2012, 23:14

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

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”