Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych
Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 27
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#51

Post napisał: markcomp77 » 23 lip 2005, 12:07

romek-s pisze:Do przemyślenia.
1) protokół komunikacji między programem komputerowym i sterownikiem sprzętowym
Komunikacja musi być zabezpieczona, tzn. należy wprowadzić żądanie potwierdzenia odebrania rozkazu.
2) podział zadań między programem (win) i programem (procesor)
Re:1) WAŻE ze względu na zakłócenia: można przesyłać w blokach z sumą kontrolną... - i potwierdzenia

Re:2) na tym etapie jeszcze nic nie wiadomo, jeszcze nie określiliśmy architektury :(... na początek robimy program pod win32 (ew. na linuksa dla testów) - potem przenosimy część na uC...

romek-s pisze:wczytuje kod, interpretuje polecenia i wysyła trajektorię ruchu do kontrolera nadrzędnego i niech tamten się martwi żeby wszystko chodziło jak należy.
trajektoria... czyli dyskretny opis punktów przez które ma przejść narzędzie w odpowiednich momentach... czyli taka przekompilowana/sprawdzona marszruta?

[ Dodano: 2005-07-23, 12:11 ]
romek-s pisze:Ponieważ zawodowo zajmuję się projektowaniem urządzeń elektronicznych, więc mogę wziąć na siebie zaprojektowanie odpowiedniego kontrolera sprzętowego.
Komunikację zrobimy na porcie USB, który obsłużymy jako port RS232, lub USB.
Interfejs USB będzie wyglądał następująco:
- z komputera kabel USB do konwertera USB-RS232, albo USB-port równoległy 8 bit.
Ponieważ komputer znajduje się blisko maszyny, to scalak zamieniający informację z portu USB na sygnały logiczne, to całość umieścimy w kontrolerze sprzętowym.
do płytki uC należy dołożyć 4x A3977sed (za optoizolacją)... i będzie kompletny sterownik :)
A3977sed z listy społecznej 2 jest osiągalny za ok. 20zł - a jest to sterownik mikrokrokowy bipolarny do 2,5A https://www.cnc.info.pl/viewtopic.php?p=5043

[ Dodano: 2005-07-23, 12:31 ]
sterownik oczywiście planowany jest jako open-hardware ;)


SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Tagi:


vegelus
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 21
Posty: 125
Rejestracja: 19 sty 2005, 10:38
Lokalizacja: Olsztyn

#52

Post napisał: vegelus » 23 lip 2005, 13:44

doszlismy do pewnego konsesusu w sprawie programu :-)
Maja byc dwie "czesci". Jedna po stronie PC i druga po stronie hard:-)
Tu zajmujemy sie czescia PC czy rowniez wersja po stronie sterownika?
Jezeli bysmy od razu rozdzielili te dwie czesci w nastepujacy sposob ze ktos pisze w C dll obslugujaca to co zostanie wyslane z PC to tak naprawde mozemy pisac w czymkolwiek.

Ja w swoim programiku robilem to w nastepujacy sposob. Ladowalem caly kod HPGL do tablicy, potem znaczek po znaczku rozpoznawalem co i jak i zapisywalem dane wstepnie przetworzone do kolejnej tablicy czyszczac wczesniejszy bufor. Tak obrobione dane wygladaly w nastepujacy sposob:
PU,100,100
PD,200,200
...
czyli przechowywalem polecenie dla osi z,x,y
nastepnie rysowalem sobie na ekranie jak to ma wygladac. Powiekszanie i przesuwanie obrazka bylo mozliwe wlasnie dzieki przechowywaniu w tabeli danych. Jak zdecydowalem sie wysylac dane na ploter to odczytywalem punkt i przesuwalem pisak.

Nasz program powinien robic to samo czyli odczytac dane (im wiecej formatow tym lepiej choc GKOD, HPGL i cos kadowskiego wystarczy), przetwarzac je na kod roboczy (np zbior wspolzednych x,y,z do ktorych ma przesowac sie frez). Na podstawie tego kodu generujemy widok i wysylamy dane do sterownika. Sterownik ma za zadanie na podstawie wektorow przesuwac glowice w optymalny sposob buforujac dane na zas:-)

To jest wizja czlowieka, ktory nie ma zbyt wiele doswiadczenia z innymi programami do obslugi frezarek CNC ale wydaje mu sie, ze tak powinno byc ;-)

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 27
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#53

Post napisał: markcomp77 » 23 lip 2005, 13:49

vegelus pisze: Sterownik ma za zadanie na podstawie wektorow przesuwac glowice w optymalny sposob buforujac dane na zas:-)
albo... przesłać mu dokładnie to co ma robić... czyli listę punktów przez które ma przejechać... w okrślonym interwale czasowym...

a głowienie nad wygładzaniem... itp itd zostawić dużemu komputerowi ;)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


vegelus
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 21
Posty: 125
Rejestracja: 19 sty 2005, 10:38
Lokalizacja: Olsztyn

#54

Post napisał: vegelus » 23 lip 2005, 14:48

wlasnie o to mi chodzilo :-)
podajemy np cztery wartosci:
X,Y,Z,T

i tak pierwsze trzy mowia gdzie ma sie znajdowac nazad po uplywie T czasu. Sterownik ma za zadanie przesunac o prosty wektor w przestrzeni glowice w czasie T. PC sie glowi ile i jakich wektorow potrzeba aby wyciac walec o srednicy 20 cm i glebokosci 10. Po ilus tam godzinach myslenia wysyla do sterownika paczki danych ze zmiennymi jak wyzej. Sterownik ma tylko pilnowac czy w dobrym tempie merda silnikami.

Jezeli udaloby nam sie ustalic co ma otrzymywac na wejsciu sterownik to mysle ze FPC moze byc jako glowny jezyk programowania. A zawsze mozna dll dopisac w C czy innym gromgowieco ;-) Jezeli bycmy zdecydowali sie na Lazarusa ktory oparty jest na FP to tam mamy mozliwosc kozystania z komponentow ktore moga byc pisane w VC czy delphi.

Jak narazie mamy remis w jezykach prawie polowa chce C a druga go nie chce ;-)


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#55

Post napisał: GrzegorzK » 23 lip 2005, 15:21

vegelus pisze:po uplywie T czasu
nie zapominajmy o dynamice ruchu - przyspieszenie/opóźnienie!!


vegelus
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 21
Posty: 125
Rejestracja: 19 sty 2005, 10:38
Lokalizacja: Olsztyn

#56

Post napisał: vegelus » 23 lip 2005, 15:40

idac moim tropem myslenia tych danych moze byc wiecej. Nie znam sie na programowaniu procesorow a jedyne co wyslalem poza PC to sterowanie silnikami przez LPT co jak wiemy sprowadza sie do szybkiego pstrykania wlacznikami wlanczajacymi i wylanczajacymi swiatlo :-)

z tego co sie orjetuje dynamika ruchu czyli przyspieszenie i zwolnienie jest potrzebne przy rozpoczeciu i zakonczeniu obrobki ?
Mozna to osiagnac przez podzielenie odcinak 10mm na 10 1mm w ktorym kazdy kolejny musi byc pokonany o T*cos i mamy przyspieszenie ;-)

Ale cherezje glosze, a moze nie ;-)

Zapomnialem zadac jeszcze jednego pytania i to chyba dosc istotnego :-)
Ile program ma obslugiwac osi ?????????


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#57

Post napisał: GrzegorzK » 23 lip 2005, 16:22

vegelus pisze:dynamika ruchu
Jest pare olgorytmów - ogólnie trzeba znać odcinek na którym mamy się poruszać i wyliczyć
przyśpieszenia i prędkośc maksymalną na tym torze.
vegelus pisze:Ile program ma obslugiwac osi ?
Minimum 3 - XYZ.


vegelus
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 21
Posty: 125
Rejestracja: 19 sty 2005, 10:38
Lokalizacja: Olsztyn

#58

Post napisał: vegelus » 23 lip 2005, 16:43

czy jeszcze cos zostalo do obgadania ???
Moze ktos madry (lider) wzialby to teraz i sklekocial w jakis sensowny dokument wymagan funcjonalnych aby mozna bylo przejsc do projektowania czy co tam jest nastepne w kolejce po burzy mozgow :twisted:


anjak
Znawca tematu (min. 80)
Znawca tematu (min. 80)
Posty w temacie: 12
Posty: 86
Rejestracja: 16 lip 2004, 18:13
Lokalizacja: Ostrołęka

#59

Post napisał: anjak » 23 lip 2005, 20:54

"Czy istnieje darmowy Pascal w którym warto robić projekt?"
Polecam C++Builder Personal jest za free http://www.borland.pl/download/personal.shtml
można rozpowszechniać kod itd. licencja do przeczytania.
Do tego mocno będe się upierał przy OpenGl (3D do tokarek też załatwi + wizualizacja).
Program do tworzenia na PC uważąm za priorytet ponieważ:

1. Istnieją już inne programy do sterowania przez lpt wczytujące różne formaty
2. Z tego programu NASZYM własnym formatem będziemy sterować maszyną
3. Właśnie mi tego brak, programu po trochę acada i trochę 3dmaxa.
4. Pierwszy etap programu to edycja tras dla freza w XY. Drugi etap to 2,5D dla XYZ i
trzeci to pełne 3D.
5. Teraz trzeba zdecydować o tym co wysyłamy przez port (inaczej, jak mocno obciążamy uP w kontrolerze)
a.) gotowe wektory (duża ilość danych mało roboty dla uP)
b.) wspórzędne punktów ( mało danych ale dużo roboty dla uP)
6. Od punktu 5 zależy wybór procka A WIĘC które rozwiązanie ?
:?


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#60

Post napisał: GrzegorzK » 23 lip 2005, 21:02

Ciekawe stwierdzenie:
anjak pisze:"Czy istnieje darmowy Pascal w którym warto robić projekt?"
Polecam C++Builder Personal
Sądzę,że na dłuższą metę AVRy się nie wyrobią.
OpenGL górą - JUPI :)
Pascal - JUPI :)

ODPOWIEDZ Poprzedni tematNastępny temat

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