Koncepcja sterowania

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
Prospero007
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 2
Rejestracja: 31 mar 2009, 12:55
Lokalizacja: Katowice

Koncepcja sterowania

#1

Post napisał: Prospero007 » 31 mar 2009, 14:14

Witam
Jestem nowy na forum ... i właśnie zaczynam tak jak zapewne wielu z was od budowy swojej pierwsze maszyny cnc, i w końcu doszedłem do etapu tworzenia sterownika. Przetestowałem sobie już parę silniczków krokowych na sterowniku l287 i l298 (do testów zaprogramowałem sobie Atmege 32 na mojej płytce testowej i napisałem malutki program w gccu) i zacząłem się zastanawiać nad wyższa warstwą sterowania.
Oczywiści w typowych rozwiązaniach należało by użyć portu LPT i sprawa załatwiona ale ja takiego w swoim komputerze nie posiadam. Wiem ze są rozwiązania typu Smooth Stepper ale to rozwiązanie mi nie odpowiada.Mam inni pomysł lecz nie wiem czy jest on do zrealizowania, mianowice - chciałbym zrobić sterownik do osi XYZ i komunikować się z kompem za pomocą protokołu modbus, zaś na komputerze miał bym zainstalowany program Macha3 który ten protokół obsługuje.Tyle ze nie jestem pewnie czy obsługuje również obsługę osi XYZ ... Na stronach internetowych znalazłem jedynie obsługę urządzeń dodatkowych jak np tu: http://www.machsupport.com/videos.php lub tu: http://www.henriksplace.se/CNC/CNC_Mach3_modbus_1.html ale skoro twórcy Macha udostępnili SDK - można by samemu coś pokombinować i wtedy oczywiści należało by określić przeznaczenie poszczególnych rejestrów w sterowniku i de facto stworzyć własny standard. Jakie jest Wasze zdanie na ten temat?



Tagi:

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1417
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#2

Post napisał: k-m-r1 » 31 mar 2009, 15:05



jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#3

Post napisał: jarekk » 31 mar 2009, 16:50

Modbus kiepsko nadaje się do obsługi ruchu - no bo trzeba przewalić naprawdę dużo danych do trajketorii ruchu ( a struktura rejestrowa Modbusa jest raczej do mniejszej objętosciowo komunikacji).

Moim zdaniem tak się da zrobić tylko bardzo proste sterownie któe nie obsługuje przyspieszeń/hamowań w ruchu.


Autor tematu
Prospero007
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 2
Rejestracja: 31 mar 2009, 12:55
Lokalizacja: Katowice

#4

Post napisał: Prospero007 » 01 kwie 2009, 00:37

Zgadzam się z powyższym ale taka sytuacja ma miejsce w przypadku gdy przesyłamy dane do rejestrów dosłownie krok po kroku - czy może chodziło jeszcze o coś innego? Myślałem o tym żeby mój sterownik był na tyle autonomiczny aby sam sterował pojedynczymi krokami silników krokowych a program sterujący przesyłał by mu tylko kolejne instrukcje przemieszczenie wrzeciona na daną pozycje... w praktyce należano by utworzyć szereg rejestrów zawierających takie dane jak np:

Zmienne tylko do odczytu
0 [numer instrukcji]
1 [flaga wykonania instrukcji]
2 [pozycja początkowa X]
3 [pozycja początkowa Y]
4 [pozycja początkowa Z] - jeżeli instrukcja została wykonana pozycje korcowe zajmują miejsce funkcji początkowych (przy założeniu ze realizowane jest programowanie przyrostowe)

Zmienne do odczytu i do zapisu
0 [rodzaj interpolacji] np. 0 - obsługa jednej osi,1-interpolacja liniowa, interpolacja kołowa
1 [Stop]
2 [Reset]
3 [pozycja końcowa X] - pozycje podane w jednostkach kroków na jedną oś dla uproszczeniu obliczeń.
4 [pozycja końcowa Y]
5 [pozycja końcowa Z]
.. pozostałe zmienne potrzebne do obsługi poszczególnych rodzajów interpolacji

Tak więc sterownik realizował by interpolacje kołową i liniową 2D.

Na komputerze trzeba by w takim wypadku zaprogramować funkcje konwersji z G-kodu na mój protokół.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#5

Post napisał: jarekk » 01 kwie 2009, 10:01

Tak się też da - masz na pokładzie zmiennoprzecinkowy procesor sygnałowy ? I dużo pamięci aby przeliczyć kilka kroków do przodu ?

Mam taki soft i sterownik, ale większosć przeliczeń jest na PC - do procka idą wstępnie przygotowane wektory ruchu ( już stałoprzecinkowe, przeliczenia były robione na całym pliku).

Rada od kogos kto tę drogę przeszedł - zrób taki soft na PC. Niech na początku tylko wyswietla scieżkę - wtedy będziesz miał pojęcie ile trzeba mocy procka aby to wszystko działało.


muskiel
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 152
Rejestracja: 26 mar 2005, 16:25
Lokalizacja: Starachowice

#6

Post napisał: muskiel » 02 kwie 2009, 22:52

Witam,

Kolega jarekk ma racje.

Cytat z machsupport:
A Modbus device is the preferred way of expanding input/output capability for signals which are not time-critical.
Modbus zostal przewidziany w Mach3 dla obslugi np. PLC (I/O)

pzdr
Piotr

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”