Frezarka CNC ze sterowaniem StepStick A4988 Arduino UNO

Dyskusje o programowaniu mikroprocesorów.

Autor tematu
lukaso1987
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 13
Posty: 13
Rejestracja: 19 gru 2016, 20:46
Lokalizacja: Lublin

Frezarka CNC ze sterowaniem StepStick A4988 Arduino UNO

#1

Post napisał: lukaso1987 » 19 gru 2016, 21:22

Witam, jestem nowy na forum, śledząc różne projekty na tym forum postanowiłem zbudować swoją pierwszą frezarkę CNC. Konstrukcja miała być do bólu prosta dlatego że nie chciałem inwestować dużej kasy ponieważ nie wiedziałem czy się uda cokolwiek odpalic:-) założenie było takie, zbudować konstrukcje ze sklejki do testów, prowadnice szufladowe, sterowanie poprzez Arduino Uno sterowniki jakie zastosowałem to StepStick A4988 wszystko ładnie ustwione wszystkie osie przesuwaja się zgodnie z linijka tzn. jeśli ustawie że o 10 cm to w rzeczywistości tak jest gdy klikam na strzalki w programie GRBL Controller, lecz mam problem z wymiarem. Plik Svg robiony w programie Inkscape, np koło o średnicy 100mm potem zarzucam go do Macercam program do generowania G-code ustawiam prędkość głebokość średnicę frezu itp. plik z wygenerowanym G-code wrzucam do GRBL Controller ustawiam punkt zero maszyna startuje ale wszystkie osie kręcą się tak jak by pole robocze było za małe a maszyna ma pole robocze 40x35 cm tak jak by rozmiar koła był większy niż 100 mm i wtedy muszę przerwać bo oś Y i X zjeżdżają do końca( wyłączników krańcowych nie mam jeszcze podłączonych) Gdzie może być problem? proszę o pomoc bo już nie mam pomysłów co robię źle. Chciałbym jeszcze zaznaczyć że gdy przygotuje plik svg koła w Inkscape o rozmiarze 10 mm to wtedy maszyna prawidłowo startuje i rysuje koło o średnicy dokładnie 100mm.



Tagi:


InzSpawalnik
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1693
Rejestracja: 28 gru 2012, 01:04
Lokalizacja: Galaktyka

#2

Post napisał: InzSpawalnik » 20 gru 2016, 07:59

Grbl to biblioteka funkcji ktora wgrana jest do panieci mikroprocesora, kiedy ja whrywasz ma swoje standardowe ustawienia typu zakres pola roboczego, max przyspieszenie, max predkosc i ilosc krokow na jednostke dlugosci. Wszystkie te parametry musza wspolgrac z fizyczna czescia twojej maszyny - wiadomo - zakres roboczy taki duzy jak na maszynie, ilosc kroko na jednostke dlugosci zalezy od tego ile krokow. A obrot ma krokowiec ( i w jakim teybie dziala ) i przelozenia. Max przyspieeszenie zalezy od bezwladnosci samego silnika i ukladu ktory napedza.
Dostep do tych ustawien jest bodajze po wpisaniu $$ ale sobie poczytan artykuly sa na google. Mozna zle ustawic i klapa.


Autor tematu
lukaso1987
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 13
Posty: 13
Rejestracja: 19 gru 2016, 20:46
Lokalizacja: Lublin

#3

Post napisał: lukaso1987 » 20 gru 2016, 17:44

Czytałem już bardzo dużo na temat ustawiania sterowników, wprowadzania parametrów do grbl wyliczałem ze wzoru itp. I wydaje mi się że wszystko mam dobrze ustawione dlatego że poruszając osiami za pomocą strzałek w programie grbl controller osie chodzą zgodnie z przyłożoną linijką tzn. jak ustawie że oś ma się przesunąć o 1 cm czy 10 cm to doładnie tak jest a jak puszczam jakiś plik w g-code np. kwadrat 10 cm to maszyna zjeżdza osiami do końca stołu i bramy a jak puszcze g-code z plikiem przygotwanym 1 cm to rysuje odrazu mi kwadrat idealnie 10 cm tak jak by skalowało wymiar..?? Napiszę jeszcze jakich ustawień użyłem może ktoś wyłapie bład którego ja nie widzę..


Korzystam z przystawki do Arduino Shiled V3, StepSticki A4988 ustawione na 1/8 kroku, szpilka metryczna ze skokiem gwintu 1 mm (na początku myślałem że kupiłem 1,25mm ale się okazało po zmierzeniu że to 1 mm..) Silniki jakie posiadam to Japan Servo KH42JM2R003 I KH56KM2R003.


Tu parametry: z GRBL Controller wersja 3.6.1 wsad HEX do arduino wersja 0,9a



1600.000 x step/mm
1600.000 y step/mm
1600.000 z step/mm

30 step pulse
250 default feed
250 default seek
192 step port invert
25 step idle delay
0 acceleration
0,050 junction
0 arc
25 n-arc
3 n-decimals
0 report ichnes
1 auto start bool
0 invert step enable
0 hard limits
1 homing cycle bool
0 homing dir invert
25 homing feed
250 homing seek
100 homing debounce
1.000 homing pull off


TwinB
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 170
Rejestracja: 02 sty 2016, 17:59
Lokalizacja: Polska

#4

Post napisał: TwinB » 21 gru 2016, 14:16

nie znam GBRL ale na logike jak masz gwint o skoku 1mm i do tego podłączony bezpośrednio silnik 180 krok/obrót to w ustawieniach powinno byc 180 krok/mm
pytanie jakie masz silniki moze masz jakies nietypy co maja 160 krok/obrót a ty to przeskalowałeś x10 wpisując 1600 krok/obrót


Autor tematu
lukaso1987
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 13
Posty: 13
Rejestracja: 19 gru 2016, 20:46
Lokalizacja: Lublin

#5

Post napisał: lukaso1987 » 21 gru 2016, 20:19

A jak mam sprawdzić ile mój silnik robi kroków na pełny obrót?? z danych jakich mi się udało znaleść to że ma 1 A i 1,8 step. Pewenie tu jest problem musiałem coś źle wyliczyć. Ale tak to jest jak się nie zna parametrów silników z demontażu:-)

Jeśli mam silnik o kroku 1.8º to ilość kroków na pełny obrót: 360 / 1.8 = 200 kroki

x,y,z= (200 * 8) / 1mm(skok gwintu) = 1600 mikrokroki gdzie 8 to ustawienie na stepsticku 1/8 mikrokrku.


hmm wydaje mi się że dobrze wyliczyłem :cry:


TwinB
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 170
Rejestracja: 02 sty 2016, 17:59
Lokalizacja: Polska

#6

Post napisał: TwinB » 21 gru 2016, 21:25

Zgadza się standard to 200 kroków
I jeśli masz mikrokrok 8 to masz 1600 na 1mm


Autor tematu
lukaso1987
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 13
Posty: 13
Rejestracja: 19 gru 2016, 20:46
Lokalizacja: Lublin

#7

Post napisał: lukaso1987 » 21 gru 2016, 22:34

Więc gdzie może być jeszcze problem? czy wsad HEX do arduino ma znaczenie? albo wersja GRBL CONTROLLER?

Awatar użytkownika

zacharius
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 2560
Rejestracja: 04 paź 2007, 01:32
Lokalizacja: Kraków
Kontakt:

#8

Post napisał: zacharius » 22 gru 2016, 08:55

a co się dzieje kiedy się frezuje np kwadrat?
pasuje wymiarami?
Nie otrzymasz koni wyścigowych krzyżując dwa osły


Autor tematu
lukaso1987
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 13
Posty: 13
Rejestracja: 19 gru 2016, 20:46
Lokalizacja: Lublin

#9

Post napisał: lukaso1987 » 22 gru 2016, 19:50

Jeżeli plik na wycięcie kwadratu przygotuje w rozmiarze 10x10 cm to maszyna się uruchamia i kręci silnikami az stoł i brama zjezdzają do końca tak jak by rozmiar był większy sporo i nie ma możliwości sprawdzenia jaki bo poprostu za małe jest pole robocze. A jeśli narysuje kwadrat w Inkscape o 1x1 cm wtedy maszyna startuje odrazu i rysuje kwadrat 10x10 cm. Zaznaczam że do robienia G-codów uzywam Makercam (wszystkie jednostki ustawione na mm w obu programach).


TwinB
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 170
Rejestracja: 02 sty 2016, 17:59
Lokalizacja: Polska

#10

Post napisał: TwinB » 22 gru 2016, 20:51

wez pokaz g code bo chyba to cos masz zle

ODPOWIEDZ Poprzedni tematNastępny temat

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