Frezarka ze skejki i OSB z ruchomą bramą

Maszyny wykonane z drewna, płyt meblowych itp.
Tu możesz również przedstawić się i opisać swoją maszynę
Awatar użytkownika

Autor tematu
RyszardGał
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 10
Posty: 12
Rejestracja: 12 lip 2025, 22:53

Frezarka ze skejki i OSB z ruchomą bramą

#1

Post napisał: RyszardGał » 13 lip 2025, 19:36

Cześć,

Po dłuższym czasie czytania tego forum postanowiłem pokazać swoją frezarkę którą zrobiłem korzystajac między innymi z wiedzy zdobytej tutaj. Nie przedstawiałem wcześniej projektu bo i nie było co pokazać, ot odręczne szkice tylko. Podstawa to użebrowany kufer z płyty OSB 18mm klejony i skręcany. Bramę i zetkę zrobiłem ze sklejki 18mm, na krzyżak znalazłem kawałek sklejki 22mm.

Osie X i Y oparte są na wałkach podpartych 20mm o długości 1000mm , na oś Z upolowałem prowadnice MGN15 o długości 300mm.
Oś X napędzana jest przez śrubę kulową SFU1610 800mm, z silnikiem krokowym 1.8Nm połaczona jest paskiem HTD3 z przełożeniem 4:5 ( 32zęby na silniku i 40zębów na śrubie).
Oś Y napędzana jest za pomocą pasków HTD3M 15mm i kół zębatych 20 po obu stronach bramy. Oczywiście zastosowalem redukcję 4:15 ( 16 zębów na silniku i 60na osi). Silnik 2.1Nm.
Oś Z napędzana jest śrubą kulową SFU1204 bez redukcji, przeniesienie napędu z silnika na srubę również paskiem HTD3M.

Wrzeciono to mokry chinczyk 1.5kW sterowany falownikiem.

W rezultacie uzyskałem pole pracy 730x740x150mm. wydaje się całkiem sztywne, Do moich zastosowań czyli obróbka drewna, głównie jakieś złącza, czopy czasami jakiś dekor okazjonalnie jakaś płytka PCB nadaje się moim zdaniem wystarczająco, wymiary się zgadzają, wszystko się schodzi. Kiedyś poeksperymentuję z aluminium to moze coś w zetce i krzyżaku poprawię jeżeli efekty będą zadowalające.

Obrazek
Obrazek
Obrazek
Obrazek
Obrazek




pitsky
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 554
Rejestracja: 06 maja 2005, 09:58
Lokalizacja: Lublin

Re: Frezarka ze skejki i OSB z ruchomą bramą

#2

Post napisał: pitsky » 14 lip 2025, 08:58

Ładny drewniak, gratuluję.

Dodane 2 godziny 48 minuty 6 sekundy:
No i autorski sterownik.

Awatar użytkownika

Autor tematu
RyszardGał
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 10
Posty: 12
Rejestracja: 12 lip 2025, 22:53

Re: Frezarka ze skejki i OSB z ruchomą bramą

#3

Post napisał: RyszardGał » 14 lip 2025, 23:59

pitsky pisze:
14 lip 2025, 08:58
Ładny drewniak, gratuluję.

Dodane 2 godziny 48 minuty 6 sekundy:
No i autorski sterownik.
Dziękuję za dobre słowo, zgadza się, sterownik własnej konstrukcji, jak i oprogramowanie na PC. Wiem że jest tego od groma już na rynku ale z hobbistycznego zacięcia po prostu musiałem to zorbić samemu. Jakby było zainterosowanie to mógłbym się podzielić szczegółami oraz źródłami. Zarabiać na tym nie zamierzam ale jakby komuś się przydało to nie bedę tego trzymał dla siebie. Rozważam też opcje połączenia sterownika z jakimś otwartym oprogramowaniem, np linuxcnc.

Dorzucam jeszcze link do krótkiego nagrania z wiórami na dowód że to żyje.

Awatar użytkownika

Arbaql
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 5
Posty: 41
Rejestracja: 12 cze 2025, 11:46

Re: Frezarka ze skejki i OSB z ruchomą bramą

#4

Post napisał: Arbaql » 15 lip 2025, 10:22

Również gratuluję. Wygląda naprawdę solidnie.
Czy mógłbyś coś więcej napisać o tym własnym oprogramowaniu?

Awatar użytkownika

Autor tematu
RyszardGał
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 10
Posty: 12
Rejestracja: 12 lip 2025, 22:53

Re: Frezarka ze skejki i OSB z ruchomą bramą

#5

Post napisał: RyszardGał » 15 lip 2025, 23:27

Arbaql pisze:
15 lip 2025, 10:22
Również gratuluję. Wygląda naprawdę solidnie.
Czy mógłbyś coś więcej napisać o tym własnym oprogramowaniu?
Oprogramowanie składa się z 2 części - aplikacja na PC i oprogramowanie sterownika. Generalnie całośc operacji krytycznych czasowo odbywa się w samym sterowniku który zrealizowany jest na ARM STM32H725. Dostaje on po ethernecie proste polecenia (odcinki i łuki) wszystko juz we spółrzędnych maszynowych. Łuki przedstawione są w postaci początek, srodek, koniec oraz wektor obrotu co pozwala na realizację łuków w dowolnej płaszczyźnie. Dodatkowo każdy ruch ma podane parametry prędkości - początkową, końcową, maksymalną i maksymalne przyspieszenie. Samo generowanie impulsów zrealizowane jest na zestawie zsynchronizowanych liczników czyli sprzętowo, co powoduje że jitter jest bardzo mały i nie ma nierówności przy przejściu miedzy kolejnymi segmentami. Nie miałem dużych wymagań co do maksymalnej częstotliwości, w obecjen implementacji jest to ok 20kHz czego i tak nie wykorzystuję ale nic nie stoi na przeszkodzie żeby to zwiększyć. Płytka jest przygotowana do obsługi do 5 osi, oczywiście współbieżnych, oprogramowanie jest napisane na 4 osie ale to też tylko kosmetyka żeby to zwiększyć do 5. Przygotowane sa również wejścia enkoderów, chociaż na razie tego jeszcze nie uruchomiłem. Dodatkowo wejściaprobe, emergency, limit dla kazdej osi z osobna i kilka linii we-wy do wykorzystania w przyszłości w razie potrzeb. Jest też moduł do sterowania falownikiem z wyjściem analogowym.
Dodstkowo moduł ten obsługuje korektę nierówności materiału - można spróbkować powierzchnię i zapisać siatkę pomiarów które póniej będą uwzględniane przy wykonywaniu kodu, zrobiłem to z myślą o frezowaniu płytek PCB.

Oprogramowanie na PC napisane jest w C# .net windows forms czyli generalnie na system windows, chociaż działa również na linuxie przy użyciu bilbioteki mono ( aktualnie w warsztacie działa to stabilnie na jakims 20 letnim pc z postawionym Lubuntu)- jedyne co nie działa na linuxie to wizualizacja 3D. Aplikacja konweruje g-code w serię prostych poleceń, wylicza dla nich parametry prędkości uwzględniając kąt miedzy kolejnymi segmentami a co za tym idzie maksymalnądopuszczalną prędkośc przejścia między nimi. Ogólnie obsługuje większość istotnych poleceń g-code czyli poza podstawowymi poleceniami jak G0-G4 również: zmienne, pętle, wyrażenia warunkowe, podprogramy, wyrażenia matematyczne offsety, lokalne układy współrzędnych, sondowanie, w tym automatyczny pomiar długości narzędzia po jego zmianie. Posiłkowałem się dość mocno dokumentacją do LinuxCNC więc mój program powinien podobnie interpretować kod.

Jak ktoś jest bardzo dociekliwy to na githubie https://github.com/r-gal/CNC jest dostęny kod i wzór PCB w formacie KiCAD
Z rzeczy których brakuje ale będą to ręczny manipulator na kablu i obsługa podprogramów z innych plików.

Awatar użytkownika

Arbaql
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 5
Posty: 41
Rejestracja: 12 cze 2025, 11:46

Re: Frezarka ze skejki i OSB z ruchomą bramą

#6

Post napisał: Arbaql » 16 lip 2025, 01:12

Jestem pod ogromnym wrażeniem. Totalnie mnie zagiąłęś.
Dobrze rozumiem, że akceleracje i prędkości są wyliczane na poziomie pc, jeszcze przed wysłaniem na płytkę?
Swego czasu, gdy dopiero rodziła się we mnie potrzeba zbudowania i posiadania trzy osiowej frezarki CNC, oraz gdy nie wiedziałem jeszcze o istnieniu gotowego oprogramowania na te maszyny, rozważałem przez chwilę zrobienia czegoś podobnego, co realizowało by jakiś gcode, ale na pewno nie na taką skalę i nie miałem pojęcia jak to ugryść. Tym bardziej ,że już miałem na koncie jedną maszynę (dwie osie liniowe i jedna obrotowa) sterowaną Arduino nano, do której napisałem oprogramowanie zupełnie na piechotę, ale cały kod polegał na delaymicroseconds i już podczas pisania programu sam musiałem wyliczyć czasy między każdym kolejnym impulsem dla każdego z trzech silników, a potem to odpowiednio zapętlać :oops: . Tylko u mnie cały "gcode" generował się i siedział w pamięci atmega, więc jak chciałem wprowadzić poprawki do detalu to musiałem ostro grzebać w kodzie...
Także to co prezentujesz to jest totalny kosmos.
Imponujesz wiedzą i profesjonalizmem.

A gcode w czym generujesz na swoją maszynę, na przykład ten z filmu?

Awatar użytkownika

Autor tematu
RyszardGał
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 10
Posty: 12
Rejestracja: 12 lip 2025, 22:53

Re: Frezarka ze skejki i OSB z ruchomą bramą

#7

Post napisał: RyszardGał » 16 lip 2025, 07:42

Dzięki, doświadczenie może i mam ale w pisaniu oprogramowania, maszynę CNC na razie mam jedną i uzywam jej tylko amatorsko, więc tu bym jeszcze o doświadczeniu nie mówił ;)

Tak, aplikacja wylicza parametry prędkości dla każdego prostego ruchu - łuku lub odcinka i to przesyła do sterownika, ale to nie koniec operacji z tym zwiazanych. Łuki trzeba jeszcze rozbić na serię wielu małych odcinków, dla których trzeba te prędkości wyliczyć i to się dzieje juz sterowniku. Ostatnia procedura zwiazana z prędkością ma miejsce już w sekcji real time, podczas wykonywania odcinka obliczane jest cyklicznie czy trzeba zwiększyć lub zmniejszyć prędkość, np jak podamy odcinek o prędkości poczatkowej i końcowej 0 sterownik wylicza jak długo może przyspieszać i kiedy trzeba zacząć hamować.

Generalnie tak, początkowo też myślałem że to mniej pracy będzie ale wyszło w praniu, trzeba było trochę geometrię odświeżyć, szczególnie przy łukach gdzie używam macierzy do obrotu łuku w przestrzeni, jak i przy właczonej kompensacji szerokości narzędzia - wyliczanie nowej trajektorii przy różnych kombinacjach segmentów i kątów między nimi.

G-code czasami generuję w FreeCAD, ale dużo prostych rzeczy piszę ręcznie parametrycznie - dużo robię na maszynie różnego rodzaju złącz, wpustów itp i nie ma potrzeby używania do tego generowanego kodu, szybciej jest tylko zmienić początkowe wartości zmiennych w danym makrze. Akurat rozetę z filmiku również napisałem ręcznie, wrzucam kod poniżej - niestety wersja brzydka bez komentarzy.

Kod: Zaznacz cały


#<S> = 40

#<T> = 0.5 * sqrt[3] * #<S>
#<R> = 40
m3 s14000
g4 p6


g0 z5
g0 x[-#<S>] y0
g1 z0 f700
g2.1 x[-0.5*#<S>] y[-#<T>] r[#<R>]
g2.1 x[0.5*#<S>] y[-#<T>] r[#<R>]
g2.1 x[#<S>] y[0] r[#<R>]
g2.1 x[0.5*#<S>] y[#<T>] r[#<R>]
g2.1x[-0.5*#<S>] y[#<T>] r[#<R>]
g2.1 x[-#<S>] y[0] r[#<R>]
g2.1 x[0] y[0] r[#<R>]
g2.1 x[#<S>] y[0] r[#<R>]
g0 z5
g0 x[-0.5*#<S>] y[-#<T>]
g1 z0
g2.1 x[0] y[0] r[#<R>]
g2.1 x[0.5*#<S>] y[#<T>] r[#<R>]
g0 z5
g0 x[-0.5*#<S>] y[#<T>]
g1 z0
g2.1 x[0] y[0] r[#<R>]
g2.1 x[0.5*#<S>] y[-#<T>] r[#<R>]
g0 z5


#<S2> = #<S>*sqrt[3] /3  
#<S4> = #<S>/3

o100 call [0] [0] [#<S2> ] [30] [#<S4> ] [180]
o100 call [0] [0] [#<S2> ] [90] [#<S4> ] [180]
o100 call [0] [0] [#<S2> ] [150] [#<S4> ] [180]
o100 call [0] [0] [#<S2> ] [210] [#<S4> ] [180]
o100 call [0] [0] [#<S2> ] [270] [#<S4> ] [180]
o100 call [0] [0] [#<S2> ] [330] [#<S4> ] [180]

g0 x-42 y0
g1 z-2
g2 i42
g0 z5

#<angle2> = 0

o200 repeat [12]
o100 call [0] [0] [1.4 * #<S> ] [#<angle2> ] [#<S4> ] [180]
#<angle2> = #<angle2>  + 15
o100 call [0] [0] [1.4 * #<S> ] [#<angle2> ] [#<S4> ] [0]
#<angle2> = #<angle2>  + 15
o200 endrepeat

g0 x0 y0
g0 z0
m5
m2


o100 sub (trojkacik)

#<PI> = 3.1416
#<Rad> =1 ( [#<PI> / 180 ])

#<X> = #1
#<Y> = #2
#<R> = #3
#<A> = #4
#<S> = #5
#<rot> = #6

#<Arad> = #<A> * #<Rad> 

#<h1> = #<S> * sqrt[3] / 6
#<H> = #<S> * sqrt[3] / 3

#<Mx> = #<X> + [#<R> * [ cos[#<Arad> ]] ]
#<My> = #<Y> + [#<R> * [ sin [#<Arad>]] ]

#<angle> = #<A> + #<rot>
#<Arad> = #<angle> * #<Rad> 
#<Ax> = #<Mx> + [#<H> * [ cos [#<Arad>]] ]
#<Ay> = #<My> + [#<H> * [ sin [#<Arad>]] ]

#<angle> = #<angle> +120
#<Arad> = #<angle> * #<Rad> 
#<Bx> = #<Mx> + [#<H> * [ cos [#<Arad>]] ]
#<By> = #<My> + [#<H> * [ sin [#<Arad>]] ]


#<angle> = #<angle> + 120
#<Arad> = #<angle> * #<Rad> 
#<Cx> = #<Mx> + [#<H> * [ cos [#<Arad>]] ]
#<Cy> = #<My> + [#<H> * [ sin [#<Arad>]] ]


g0 z5
g0 x[#<Ax>] y[#<Ay> ]
g1 z0 
g1 x[#<Mx>] y[#<My> ] z[-#<h1>]
g0 z5

g0 x[#<Bx>] y[#<By> ]
g1 z0 
g1 x[#<Mx>] y[#<My> ] z[-#<h1>]
g0 z5


g0 x[#<Cx>] y[#<Cy> ]
g1 z0 
g1 x[#<Mx>] y[#<My> ] z[-#<h1>]
g0 z5

o100 endsub



Awatar użytkownika

Arbaql
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 5
Posty: 41
Rejestracja: 12 cze 2025, 11:46

Re: Frezarka ze skejki i OSB z ruchomą bramą

#8

Post napisał: Arbaql » 16 lip 2025, 14:34

Doświadczenie w pisaniu oprogramowania masz zdumiewające. Dla kogoś kto nie programuje to kompletnie czarna magia.. dopiero niedawno dowiedziałem się o istnieniu czegoś takiego jak python i możliwości pisania makr. Potwierdzasz tylko że to bardzo przydatna umiejętność. Ale z doświadczenia wiem że nauka programowania w nowym języku to proces żmudny i czasochłonny zanim opanuje się nawet podstawy tego języka, a co mówić o granicach jego możliwości. Akurat freecad bazuje na python , a bez freecad moja frezarka była by dla mnie praktycznie bezużyteczna :) . Nie ma za dużego wyboru programów bez płatnych licencji do ożywiania takich maszyn. Trzeba więc będzie się wziąć za naukę, bo podobno , znając python można modyfikować samego freecad, a mi się marzy czwarta oś i możliwość frezowania kół zębatych o zębach skośnych.
Zastanawia mnie więc jaki jest próg wejscia , jeśli na przykład chciałbym ją, lub ktoś inny użyć Twojej płytki i oprogramowania? Czy trzeba się znać na programowaniu w podobnym stopniu jak Ty, czy dla zwykłego Kowalskiego jest to równie proste jak użycie Grbl czy innego softu, który po prostu zamienia gcode na ruchy silników bez konieczności robienia doktoratu z informatyki :D ? ≠

Awatar użytkownika

Autor tematu
RyszardGał
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 10
Posty: 12
Rejestracja: 12 lip 2025, 22:53

Re: Frezarka ze skejki i OSB z ruchomą bramą

#9

Post napisał: RyszardGał » 16 lip 2025, 16:44

Też się powoli w FreeCAD dokształcam, na razie to jeszcze trochę bładzę ale powoli coś ogarniam, na razie udało mi się opanować jak wygenerować g-code do wiercenia i frezowania PCB, korzystm do tego z gotowych skryptów pythonowych, niestety sam jeszcze nic takiego nie zrobię, raz że nie ogarniam jeszcze samego FreeCADa, jakie są rodzaje obiektów itp, dwa ze pythona nie umiem ;)

Pytasz o próg wejścia, no niestety problem nie leży aktualnie w nauce programowania - w końcu program można używać taki jaki jest i ewentualnie zgłaszać rzeczy do dodania lub poprawienia. Problem jest w sprzęcie, czyli trzeba by taką płytkę zlutować i zaprogramować a co za tym idzie trzeba umieć lutować układy SMD i posiadać programator do arm, ewentualnie użyć jakiegoś evm np nucleo i na niego to wgrać, ale wtedyz kolei dobrze by było dorobić bufory, optoizolację. Z przekonfigurowaniem programu na inną płytkę akurat mógłbym pomóc więc to najmniejszy problem. Tak czy inaczej koszt sprzętu robionego samodzielnie może wyjść ok 200zł. Można też sprawdzić ile kosztowałoby zamówienie płytek już zlutowanych tylko do zaprogramowania, ale to z kolei wymaga zamówienia serii - ile sztuk minimalnie nie wiem. Tak więc problem jest taki że niby oprogramowanie jest darmowe, ale nie ma na rynku gotowego sprzętu - trzeba coś samemu porzeźbić. Obawiam się że dużo chętnych na taką rozrywkę niestety nie będzie :/

Awatar użytkownika

Arbaql
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 5
Posty: 41
Rejestracja: 12 cze 2025, 11:46

Re: Frezarka ze skejki i OSB z ruchomą bramą

#10

Post napisał: Arbaql » 16 lip 2025, 20:08

Skoro pracuje to na stm32, to czemu po prostu nie użyłeś grblhal? To znaczy wiem dlaczego. Musiałeś się sam z tym zmierzyć i wyszło Ci to doskonale. Co do samej opłacalności to Twoje rozwiązanie jest ciekawą alternatywą choćby dlatego że dane wysyłane są kablem Ethernet który gwarantuje dużą przepustowość i niezawodność połączenia na znaczną odległość (dużo większa niż kabel USB) Większość płyt sterujących maszyną z takim rozwiązaniem jest kosztowna, średnio około tysiąca złotych z tego co się orientuję.

Dodane 9 minuty 41 sekundy:
Ale rzeczywiście prawda jest taka że większość woli użyć rozwiązań markowych i niezawodnych a przynajmniej sprawdzonych przez innych użytkowników. Żeby zainteresować innych swoim rozwiązaniem musiał byś dowieść korzyści płynących z jego użycia.
A tak w ogóle to nie jestem żadnym znawcą tematu, jestem pewnie jeszcze bardziej początkujący niż Ty w tej branży.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Frezarka - konstrukcja drewniana”