Strona Główna CNC FORUM
Amatorskie maszyny CNC

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum
Akcesoria CNC

Poprzedni temat «» Następny temat
sterownik HPGL - STEP/DIR
Autor Wiadomość
bogus105 
Znawca tematu



Pomógł: 1 raz
Dołączył: 24 Gru 2005
Posty: 95
Skąd: Bielsko-Biala
Wysłany: 2007-03-17, 02:52   sterownik HPGL - STEP/DIR

WITAM, chcę zrobić taki sterownik na mikrokontrolerze, który przez port szeregowy z PC odbierał by współrzędne kolejnych punktów (ploterowy HPGL) i przeliczałby to na impulsy STEP/DIR na sterowniki silników krokowych.
Pytanie jak się do tego zabrać??
Jak zrobić żeby np. prędkość posuwu była stała?? rozumiem to tak, że mając współrzędne 2 pktów microkontroler przelicza odległość między nimi, następnie mając zadany posuw oblicza czas w jakim np. wrzeciono ma pokonać drogę między tymi punktami, a mając ten czas i wiedząc jaka ma być droga po X i po Y to znając rozdzielczość maszyny wiadomo ile musi ona zrobić kroków po X i po Y. Wtedy czas/kroki i są dane co jaki czas trzeba dać impuls STEP na każdą oś żeby suma sumarum się wszystko zgadzało... taką teorię sobie wymyśliłem
tylko jak z realizacją w praktyce? co z błędami - rozdzielczość czasowa i mechaniczna jakaś jest i wtedy to nie będzie się zgadzało.
Czy istnieje jakiś prostszy algorytm realizacji tego?? Czy prościej będzie taki program zrobić na PC-ta i sterować via LPT? - chodzi o to że mają być 4 silniki do sterowania posuwem (jakby 4 osie) i 4 silniki do sterowania elementem w miejscu wrzeciona. Jak na mikrokontroler to chyba za dużo...
 
 
Piotr Rakowski 
Specjalista poziom 3
rakuś



Pomógł: 31 razy
Dołączył: 29 Lip 2005
Posty: 947
Skąd: Warszawa
Wysłany: 2007-03-17, 07:32   

Kol. Prokopcio zrobił już taki sterownik do wypalarki plazmowej. Odezwij się do niego.
_________________
Piotr (rakuś) Rakowski, eduCAD CNC, PLT2CNC, STEP2CNC
Oprogramowanie: http://www.soft4cnc.pl maszyny: http://www.grawerki.biz
 
 
prokopcio 
Specjalista poziom 1
plazma cnc


Dołączył: 11 Sty 2005
Posty: 123
Skąd: GrodkĂłw
Wysłany: 2007-03-17, 15:02   

Witam. Tak - zrobiłem sterowniczek na atmelu'51 (assembler) i napisałem programik w delphi na PC. jednak projekt nie został dokończony i do idealności było mu bardzo daleko chociaż działał prawidłowo. Podarowałem sobie liczenie "dyskretyzacji" odcinków w procesorze i robiłem to na PC w wymyślonym przez siebie algorytmie. Do sterownika docierały przez port RS232 jedynie bajty danych, które odpowiednio oznaczały "góra, dół, prawo, lewo, włącz plazmę, wyłącz plazmę itp. sterownik na podstawie tych bajtów sterował silnikami - nawet to nie było STEP/DIR ;-) - dany były pobierane do bufora a z niego sterownik co ustawiony czas (prędkość) pobierał dane i sterował silnikami. Tutaj jest opis, fotki i filmiki:
http://www.elektroda.pl/rtvforum/topic358230.html

Jednak takie liczenie i wysyłanie gotowych niemalże kroków znacznie ogranicza prędkości pracy maszyny, "nadwyręża transmisję" a bufor okazuje się "malutki" i nie jest to eleganckie rozwiązanie.

Teraz właśnie jestem w trakcie tworzenia nowego sterownika, który :
- Łącze USB 1.1; USB 2.0 lub RS232
- Wewnętrzna implementacja przetwarzania współrzędnych na ścieżkę
- Spory bufor danych
- przyjmowanie bezpośrednich współrzędnych (a nie jak poprzednio kroków);
- idealna stabilizacja prędkości (potrzebne dla cięcia plazmowego, laserowego, drutem oporowym itp.)
- możliwość "wgrania" prostych kształtów i praca bez komputera
- programowany "maksymalny skok głębokości"
- sporo innych opcji ;-)
- minimalne obciążenie komputera (możliwość wykonywania innych czynności podczas pracy maszyny oraz możliwość wykorzystania starego i słabego komputera)
- nie wymagany port LPT (Nowe laptopy ich nie posiadają)

Tutaj odrazu Ci proponuję, żebyś szczegółowo przyjrzał się algorytmowi Bresenhama, który jest bardzo prosty i na podstawie niego łatwo znajdziesz poszczególne kroki jakie trzeba wykonać aby "przejechać" z punktu do punktu. Reszta zależy tylko od Twojej wyobraźni.

Pozdrawiam
_________________
______
Prokopcio
 
 
 
Piotr Rakowski 
Specjalista poziom 3
rakuś



Pomógł: 31 razy
Dołączył: 29 Lip 2005
Posty: 947
Skąd: Warszawa
Wysłany: 2007-03-17, 16:38   

prokopcio napisał/a:
...
Tutaj odrazu Ci proponuję, żebyś szczegółowo przyjrzał się algorytmowi Bresenhama, który jest bardzo prosty i na podstawie niego łatwo znajdziesz poszczególne kroki jakie trzeba wykonać aby "przejechać" z punktu do punktu. Reszta zależy tylko od Twojej wyobraźni.


Te algorytmy Bresenhama (zarówno dla odcinków prostych, jak i krzywych) nie będą dobre do wyznaczania wektorów ruchów (one są do reseryzacji - czyli znajdowania pikseli spełniających określone warunki). Zdecydowanie polecam algorytmy interpolacji liniowej, kołowej, helikalnej itd (wymyślone już od dawna).

Najprostrzy algorytm interpolacji liniowej wygląda tak. Liczenie następnego punktu następuje względem poprzedniego o interwał ruchu w danej osi.
Dla obrabiarki 3-osiowej będzie to:

X(i+1) = X(i) + λxi,
Y(i+1) = Y(i) + λyi,
Z(i+1) = Z(i) + λzi.

gdzie: λxi = λL/L(Xi-Xo), λyi = λL/L(Yi-Yo), λzi = λL/L(Zi-Zo),
L = długość wektora ruchu,
λL = posuw dotychczasowy,
Xi,Yi,Zi - punkt aktualny,
Xo,Yo,Zo - punkt początkowy ruchu.

Pozdrawiam.
_________________
Piotr (rakuś) Rakowski, eduCAD CNC, PLT2CNC, STEP2CNC
Oprogramowanie: http://www.soft4cnc.pl maszyny: http://www.grawerki.biz
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

sponsorem forum jest www.akcesoria.cnc.info.pl
Informacje na witrynie cnc.info.pl są podawane tylko w celach edukacyjnych oraz hobbystycznych. Jedynie użytkownik wysyłający wiadomość lub plik ponosi pełnoprawną odpowiedzialność za ich treść. Jeżeli wynikną z tego konsekwencje prawne, cnc.info.pl może przekazać wszelkie informacje właściwym organom państwowym na temat danego użytkownika oraz pomóc w jego zlokalizowaniu. Zgodnie z ustawą o ochronie danych osobowych cnc.info.pl nie przekazuje informacji odnośnie użytkowników firmom i osobom prywatnym. Hasła, adresy e-mail oraz numery IP są szyfrowane w bazie danych i jedynie administrator jest w stanie odczytać te informacje. Cnc.info.pl jest przeciwna łamaniu zabezpieczeń oraz łamaniu praw autorskich, jednak niektóre osoby nie przestrzegają naszego regulaminu. Jeżeli zobaczyłeś wiadomość lub plik, który twoim zdaniem jest nielegalny lub narusza twoje dobra osobiste, prosimy o natychmiastowy kontakt:
Administrator

www.akcesoria.cnc.info.plsilniki krokoweŁożyska linioweśruby trapezowe i kulowe
Strona wygenerowana w 0,25 sekundy. Zapytań do SQL: 12