interpreter G codu na USB: Arduino

Dyskusje o programowaniu mikroprocesorów.
Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 7985
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#11

Post napisał: tuxcnc » 24 lip 2011, 21:44

pulek pisze:wg opisów autora (kol.prokopcio) w procesorze zawarte są procedury interpolacji, taktowania przyspieszania/ hamowania i cała reszta a program służy tylko do wysłania rysunku wektorowego do procka. Być może nie jest to prawda i rzeczywiście to tylko zwykła przejściówka z USB na LPT a komputer generuje impulsy dla silników, w takim razie proszę nie brać mojej wypowiedzi pod uwagę bo się na tym nie znam aż tak dobrze...

[ Dodano: 2011-07-24, 21:27 ]
ps. ale działa bardzo dobrze :)
Prawda leży jak zwykle pośrodku.
Celem budowy takiego systemu jak CNConv jest ominięcie tego problemu, że Windows nie nadaje się do sterowania w czasie rzeczywistym.
Dlatego faktycznie wysyła się bardziej skomplikowane komendy niż pojedyńcze kroki, ale do interpretera G-kodów to dosyć daleko.
Weź dla przykładu komendę G64 i pomyśl jaką mocą obliczeniową trzeba dysponować, żeby wyliczyć ścieżkę narzędzia ...

.



Tagi:

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 4737
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#12

Post napisał: pitsa » 24 lip 2011, 21:59

tuxcnc pisze: Weź dla przykładu komendę G64 i pomyśl jaką mocą obliczeniową trzeba dysponować, żeby wyliczyć ścieżkę narzędzia ...
Prawda jest taka, że CNConv jest po to żeby móc od tych komend trzymać się z daleka, a ten co ich używa mógł czuć się elitą wśród operatorów cnc. :-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 7985
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#13

Post napisał: tuxcnc » 24 lip 2011, 22:26

pitsa pisze:
tuxcnc pisze: Weź dla przykładu komendę G64 i pomyśl jaką mocą obliczeniową trzeba dysponować, żeby wyliczyć ścieżkę narzędzia ...
Prawda jest taka, że CNConv jest po to żeby móc od tych komend trzymać się z daleka, a ten co ich używa mógł czuć się elitą wśród operatorów cnc. :-)
W sumie to jesteś blisko prawdy, ale nie do końca.
Nie chcę znowu być nieprecyzyjny, ale CNConv to zasadniczo program do wycinania/grawerowania rysunków z Corela.
Z taką głupotą jak nacięcie gwintu już sobie nie poradzi.
Głupia komenda G02/G03 z parametrem Z wytnie zwój gwintu, ale w Corelu tego nie narysujesz i w CNConv nie wytniesz ...
Tak więc pisanie o CNConv w temacie "interpreter-g-codu-na-usb-arduino" jest nieporozumieniem.

Kiedyś napisałem sterownik plotera na 8051, sterowany przez RS232 i czytający bezpośrednio pliki HPGL.
Tylko tyle, że ciął wyłącznie proste i oczywiście bez żadnych przyśpieszeń.
Narysowałem na nim pisakiem kwasoodpornym kilka płytek drukowanych i jak najbardziej działały.
Tak więc nawet tak proste rozwiązania mogą znaleźć praktyczne zastosowania.
Ale z interpreterem G-kodu to ma niewiele wspólnego.

.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 4737
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#14

Post napisał: pitsa » 24 lip 2011, 23:24

No to fajnie, ze jesteśmy blisko prawdy. :-)

Arduino - sterowanie silnikiem krokowym:
http://kameleon.comlu.com/nav.php?id=113

http://sourceforge.net/projects/arduinocncmilll/
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 7985
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#15

Post napisał: tuxcnc » 24 lip 2011, 23:49

It is still in beta testing but it supports the following g-codes - G: 0-4,17-21,90-92 M: 3-5,30,101-108
I to jest najbardziej zaawansowany projekt ...

Ostatnio trafiłem okazyjnie płytę Gigabyte GA-D525TUD + 1GB DDR3 za 270 zł.
Linux EMC2 za darmo.
Próbuję zrozumieć zapaleńców, którzy się uparli ożenić Windows z Atmegą, ale mi nie wychodzi.
Ani taniej ani lepiej.

Żeby sobie ktoś nie pomyślał, to dzisiaj osobiście programowałem AT89C2051.
Będę na dniach robił na tym procku sterowanie elektrodrążarki wgłębnej.
Tylko akurat do tego to jest wymarzony procesor.

.

Awatar użytkownika

blue_17
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1715
Rejestracja: 16 kwie 2009, 07:55
Lokalizacja: Kraków/Kornatka

#16

Post napisał: blue_17 » 27 lip 2011, 16:46

Witam

Wiem ze kolega jest wielkim fanem EMC wiec zapytam na wstępie czy poprawiono błąd z wyłączaniem się systemu bo się nie zamykał.

A co do AVR i systemów operacyjnych to przecież są języki które umożliwiają pisanie aplikacji wieloplatwormowych

Nawet coś takiego jak Lazarus czyli można sobie w delphi napisać i skompilować gdzie sie chce i na co się chce, lecz wiadomo trzeba mieć nieco wiedzy o systemie operacyjnym aby nie użyć jakiś specyficznych procedur czy też funkcji

Kozystam z ubuntu do programowania AVR jak i do operacji webowych shh i ftp

większość poprzez terminal jeśli chodzi o komunikacje z serwerami bo nie ogranicza mnie gui

i to jest fajne :)

Więc niema problemu jeśli chodzi o system operacyjny wszystko kwesta inwencji autora, i jego wiedzy oraz umiejętności, bo gdy np zastosuje operacje zmienno przeciekowe to atmega się zamuli bo nie ma bloku do takich operacji
"I siedzieli oni razem pod nagim DOS-em i nie wstydzili sie tego." :D


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

#17

Post napisał: jarekk » 27 lip 2011, 17:08

tuxcnc pisze:CNConv to zasadniczo program do wycinania/grawerowania rysunków z Corela.
Wiesz jaki to jest duży rynek ? Wiesz ilu ludzi nie ma pojęcia o CNC - i jedyne co by chcieli to narysować coś w Corelu i wcisnąć duzy zielony guzik "wytnij" ? Odpalisz Corela w Linuksie ? ( tak wiem są odpowiedniki, ale mówimy to ludziach z reklamy którzy w większości używają Windows )

Rzadko kto wsadzi CncConv do przemysłowej obrabiarki ( również mój sterownik do Step2Cnc tam nie pasuje).

Lubie EMC2, bardziej niż Mach'a. Ale to inna klientela :-)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 7985
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#18

Post napisał: tuxcnc » 27 lip 2011, 19:13

jarekk pisze:Wiesz jaki to jest duży rynek ? Wiesz ilu ludzi nie ma pojęcia o CNC - i jedyne co by chcieli to narysować coś w Corelu i wcisnąć duzy zielony guzik "wytnij" ?
Ja nie mam nic przeciwko dużemu zielonemu guzikowi "wytnij".
Tylko ten guzik nie wystarczy kiedy się nie wie czym frez jednopiórowy z węglika różni się od czteropiórowego HSS.
Jest potrzebny pewien minimalny zasób wiedzy i żadne zielone guziki go nie zastąpią.

Co nie zmienia faktu, że takie programy jak CNConv dla kogoś mogą być najlepszym rozwiązaniem.

.


spioch211
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 1
Rejestracja: 10 gru 2012, 22:01
Lokalizacja: ddd

#19

Post napisał: spioch211 » 10 mar 2013, 22:41

blue_17 pisze:Witam

Wiem ze kolega jest wielkim fanem EMC wiec zapytam na wstępie czy poprawiono błąd z wyłączaniem się systemu bo się nie zamykał.

A co do AVR i systemów operacyjnych to przecież są języki które umożliwiają pisanie aplikacji wieloplatwormowych

Nawet coś takiego jak Lazarus czyli można sobie w delphi napisać i skompilować gdzie sie chce i na co się chce, lecz wiadomo trzeba mieć nieco wiedzy o systemie operacyjnym aby nie użyć jakiś specyficznych procedur czy też funkcji

Kozystam z ubuntu do programowania AVR jak i do operacji webowych shh i ftp

większość poprzez terminal jeśli chodzi o komunikacje z serwerami bo nie ogranicza mnie gui

i to jest fajne :)

Więc niema problemu jeśli chodzi o system operacyjny wszystko kwesta inwencji autora, i jego wiedzy oraz umiejętności, bo gdy np zastosuje operacje zmienno przeciekowe to atmega się zamuli bo nie ma bloku do takich operacji
Witam, nie wiem za wiele o intencji przytoczonego tekstu, czytając post chciałem dowiedzieć się jak można napisać podstawowy interpretator G-code (w szczególności G2 i G3). jednak nie o tym. Kolega w jednej odpowiedzi pisze o przenoszeniu aplikacji pomiędzy platformami(lin i win - co jest tzw łit marketingowy) i jedyna taka opcja to dodatkowe interpretatory.(chyba że to aplikacja na zasadzie "pokaż i kliknij) natomiast jeżeli pisze o sterowaniu urządzeń przez tzw LPT to jest diametralna przepaść pomiędzy kolorowym Win i uniwersalnym Lin(uniwersalny czyli możesz go dopasować do swoich potrzeb) w lin poprzez jądro masz bezpośredni dostęp do LPT.


Zastanawia mnie także potrzeba zmiennoprzecinkowości. czy nie można tego ominąć poprzez określenie zakresu pracy np 1,001 [mm] nic więcej i tak nie uzyskasz w dalszych przeliczeniach kroku brać 10000[pkt]? i to przeliczać na kroki

Awatar użytkownika

ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#20

Post napisał: ursus_arctos » 13 mar 2013, 19:02

Pisanie programów na AVRy jest jak rozwiązywanie sudoku. Rozwija umysł, bo uczy operować w ograniczonym środowisku, gdzie niewiele da się zrobić na chama i wszystko trzeba trickami. Z drugiej strony, przydatność programowania AVR jest podobna, jak rozwiązywania sudoku ;)
Tak bardziej serio: pisałem interpolator krzywych sześciennych Beziera na AVR - owszem, udało się, ale ogromna ilość przetwarzania wstępnego była robiona na PC; dane wstępnie obrobione szły do AVR, który tylko i wyłącznie dodawał a i tak ledwo starczało mu na to czasu. Obsługa USARTa w wyraźny sposób wpływała na prędkość obliczeń. Obliczenia prowadziłem w wątku głównym, bo obsługa przerwania zegarowego wprowadzała za duży narzut.
O interpretacji G-kodu i pełnym wyliczaniu trajektorii wraz z rampami etc można zapomnieć - to musi zrobić duża maszyma. Jak nie PC, to raspberry pi - to zadanie wymaga zarówno sporej mocy obliczeniowej jak i pamięci operacyjnej, którymi mikrokontrolery nie dysponują.
Może kolega próbować szczęścia z STM32F4, ale nadal nie wiem po co - lepiej już zrobić jakiś mały preprocesor (postprocesor? zależy, jak na to patrzeć) na PC a urządzeniu na USB zostawić prostszą robotę.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Arduino, Raspberry pi i inne systemy mikroprocesorowe”