Definicja ruchów drukarki

Amadi
Posty: 8
Rejestracja: 28 paź 2016, 8:40

Definicja ruchów drukarki

Postautor: Amadi » 28 paź 2016, 8:45

Witam. Zastanawiam się jak drukarka wie co ma drukować. Po otrzymaniu pliku .stl oraz wykonaniu slice'ów jak generowane są ruchy? Czy działa to zero-jedynkowo (kładzie filament na powierzchni zależnej od rozdzielczości druku), czy są to ruchy wykonywane wektorowo? Proszę o wytłumaczenie idei. Zależy mi także na komendach (fragment kodu) odpowiedzialny za to. Z góry serdecznie dziękuję za pomoc!


Amadi
Posty: 8
Rejestracja: 28 paź 2016, 8:40

Re: Definicja ruchów drukarki

Postautor: Amadi » 28 paź 2016, 9:27

@McKee
Jeśli chodzi o podziękowanie z góry to nie uważam to za nic złego i tylko zwykły buc by się za coś takiego obrażał. Abstrahując od tego nie zwracam się tu do dziekana czy papieża tylko innych użytkowników forum.



"Slicer to użyteczne narzędzie ciachające model 3d na poziome plastry/warstwy i generujący na ich podstawie trajektorię głowicy wyciskającej plastik."
Przyznam, że nie doczytałem dokładnie tego artykułu i koniec zdania mi umknął. Mam z tego rozumieć, że trajektorią zajmuję się tylko Slicer i nie trzeba odpowiednio modelować kodu w Software/Firmware? Natomiast w oprogramowaniu drukarki manipuluję tylko kalibracją stołu, skokiem silników, temperatura itp?

Garreth
Posty: 381
Rejestracja: 25 sty 2016, 9:32
Lokalizacja: Śląsk
Kontaktowanie:

Re: Definicja ruchów drukarki

Postautor: Garreth » 28 paź 2016, 9:51

Amadi pisze:@McKee
Jeśli chodzi o podziękowanie z góry to nie uważam to za nic złego i tylko zwykły buc by się za coś takiego obrażał. Abstrahując od tego nie zwracam się tu do dziekana czy papieża tylko innych użytkowników forum.



"Slicer to użyteczne narzędzie ciachające model 3d na poziome plastry/warstwy i generujący na ich podstawie trajektorię głowicy wyciskającej plastik."
Przyznam, że nie doczytałem dokładnie tego artykułu i koniec zdania mi umknął. Mam z tego rozumieć, że trajektorią zajmuję się tylko Slicer i nie trzeba odpowiednio modelować kodu w Software/Firmware? Natomiast w oprogramowaniu drukarki manipuluję tylko kalibracją stołu, skokiem silników, temperatura itp?


Tak, slicer generuje trajektorię. Coś na zasadzie żółwika:) Potem do drukarki wysyłane są po szeregówce komendy typu G1 X100 Y100 Z0.2 E10 F1500 - przesuń głowicę do punktu X=100, Y=100, Z=0.2 z prędkością 1500mm/min, ekstrudując w trakcie tego ruchu 10mm filamentu.
( http://reprap.org/wiki/G-code )

Firmware drukarki ma za zadanie zinterpretować tę komendę, odpowiednio przeliczyć sobie ile kroków musi zapodać na silnik aby głowica przesunęła się do danej pozycji z zadaną prędkością (w tym generowanie ramp przyspieszenia i hamowania) i wyekstrudowała tyle filamentu ile potrzeba.

Amadi
Posty: 8
Rejestracja: 28 paź 2016, 8:40

Re: Definicja ruchów drukarki

Postautor: Amadi » 28 paź 2016, 10:40

Ok. Wszystko jasne. Dziękuję za pomoc :)

Awatar użytkownika
McKee
Posty: 389
Rejestracja: 31 lip 2015, 19:05
Lokalizacja: mazowieckie

Re: Definicja ruchów drukarki

Postautor: McKee » 28 paź 2016, 11:20

Amadi pisze:Jeśli chodzi o podziękowanie z góry to nie uważam to za nic złego i tylko zwykły buc by się za coś takiego obrażał.

Tez uważam że to nic złego ale raczej niefortunne sformułowanie którego należy unikać, bo innym może przeszkadzać i nie odpowiedzą. I nie dlatego że się obrażą lub są bucami. Nie wklejając podziękowań (Ja) mam większą szansę na odpowiedź. Nie chcesz skorzystać z tej podpowiedzi? Twoja sprawa.
Pierwszy post na forum, nie przywitałeś się i o "bucach" piszesz w pierwszym zdaniu 2-go posta.
Ja już sobie po tych 2 wypowiedziach zdanie powoli wyrabiam (moje nastoletnie dziecko się podobnie zachowuje jak ma focha :bania:).

Amadi pisze:Mam z tego rozumieć, że trajektorią zajmuję się tylko Slicer i nie trzeba odpowiednio modelować kodu w Software/Firmware? Natomiast w oprogramowaniu drukarki manipuluję tylko kalibracją stołu, skokiem silników, temperatura itp?

Tak, ale nie do końca - dopiszę bo Garreth nie wspomniał:
Gcode to głównie przemieszczenia głowicy (jak w Logo) ale nie tylko. Także ustawienie temperatury (stołu i dysz), ustawienie prędkości ekstruzji, obrotów wiatraka, ew. oświetlenie czy granie muzyki (fanfary na koniec wydruku :D).
Procesor powinien wiedzieć jak interpretować (upraszczam) komendę: "przesuń o 10cm" albo "z prędkością 80mm/s" albo "ustaw 195°C" stąd w firmware podaje się jakieś współczynniki (kroki np).
Czyli firmware -> kalibracja drukarki do jednostek SI / uwspólnianie języka wszystkich drukarek
Slicer -> cała reszta
Ale: Kalibracja stołu ... bo co przez to rozumiesz? Dla mnie jest to np kilka komend g-code. Ani slicer ani firmware tylko użytkownik.

Amadi
Posty: 8
Rejestracja: 28 paź 2016, 8:40

Re: Definicja ruchów drukarki

Postautor: Amadi » 28 paź 2016, 12:02

Jeśli chodzi o pisanie o "bucach" to z mojej perspektywy to wygląda tak jak napisałem w drugim poście. Wcale nie uważam, że dziękowanie z góry zmniejsza szanse na odpowiedź i wywołanie negatywnych odczuć u adresata, wręcz przeciwnie (przynajmniej dla mnie). Ogólnie jestem umysłem technicznym i swoje zapytanie kierowałem także do takich osób i myślę że podobnie jak mnie nie interesują ich psychologiczne i filologiczne bzdury, tylko cel. :D
Drogi @McKee nie chciałem Cie ani urazić ani pokazywać focha bo zupełnie nie to miałem na celu. Dla mnie słowo "Witam" jest odpowiednim przywitaniem, nie ma potrzeby pisania życiorysu czy zbędnego offtopu (niestety to co teraz pisze można też uznać za offtop, ale chciałem wyjaśnić sytuację).

Pisząc o kalibracji może źle się wyraziłem. Miałem na namyśli określenie maksymalnego przesunięcia głowicy względem początku układu współrzędnych dla każdej z osi, zależnego od wielkości stołu, za pomocą przycisków. Reasumując napisze co zrozumiałem i prosiłbym o potwierdzenie bądź poprawienie jeśli się mylę.
Slicer - tnie plik .stl na warstwy i sam generuje optymalną trajektorię dla głowicy w postaci gcode'ów które są zrozumiałe dla np. Arduino na którym zainstalowany jest Marlin.
Firmware (np. wspomniany wcześniej Marlin)- zamienia gcody wysłane ze slicera na operacje wykonywane przez drukarkę. Przykładowo dla trajektorii, otrzymuję nakaz przesunięcia głowicy o 1cm wzdłuż osi OY.W zależności od parametrów sprzętowych (silnik, koło zębate itp) początkowo oblicza ilość kroków, a następnie wykonuję przesunięcie głowicy.

Edit: Mam dodatkowe pytanie. Czy po odpowiedniej konfiguracji firmware np. Marlin będzie się on nadawał do nowo zaprojektowanej drukarki?

Garreth
Posty: 381
Rejestracja: 25 sty 2016, 9:32
Lokalizacja: Śląsk
Kontaktowanie:

Re: Definicja ruchów drukarki

Postautor: Garreth » 28 paź 2016, 13:15

Amadi pisze:Pisząc o kalibracji może źle się wyraziłem. Miałem na namyśli określenie maksymalnego przesunięcia głowicy względem początku układu współrzędnych dla każdej z osi, zależnego od wielkości stołu, za pomocą przycisków. Reasumując napisze co zrozumiałem i prosiłbym o potwierdzenie bądź poprawienie jeśli się mylę.
Slicer - tnie plik .stl na warstwy i sam generuje optymalną trajektorię dla głowicy w postaci gcode'ów które są zrozumiałe dla np. Arduino na którym zainstalowany jest Marlin.

Edit: Mam dodatkowe pytanie. Czy po odpowiedniej konfiguracji firmware np. Marlin będzie się on nadawał do nowo zaprojektowanej drukarki?



Definicje obszaru roboczego są w firmware. Tylko definiują one całkowity obszar dozwolonego ruchu głowicy, a nie sam rozmiar stołu. Czyli jeśli głowica ma pole ruchu 300x300, stół ma wymiary 200x200, a krańcówki osi są w 0,0, to musisz troszkę nakombinować żeby dla slicera punkt 0,0 był w rogu stołu. Na przykład zdefiniować krańcówki jako pozycję -50,-50 (nie uwzględniam tu budowy karetki, bo też wypada uwzględnić, że sama głowica nie dotyka krańcówek, tylko jest względem nich odsunięta), ale to pikuś, nawet jeśli brzmi skomplikowanie:)

Po odpowiedniej konfiguracji firmware to Marlinem nawet kawę zaparzysz:) Wszystkie aspekty pracy drukarki definiujesz w pliku konfiguracyjnym, który jest dość dobrze okomentowany. Kompilujesz, wgrywasz na procka i testujesz:)


Wróć do „Marlin Firmware”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość