Bygga SLS Skrivare med Galvo

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo

Inlägg av RogueNeurons »

Krille Krokodil skrev: 5 augusti 2021, 20:50:40 Du behöver ingen FPGA-kunskap, det är färdiga lösningar som med stöd i Mach, LinuxCNC och dyl..

Grbl är ju portat till ett flertal 32 bitars processorer, det kanske finns någon snabb processor i någon av de
serierna man kan slänga in det på?

Eller Klipper kanske, de är över 500k.
Hur konfar man Klipper till 500k steg/s? Jag maxxade ut på 230 ish?
De tester jag gjort är på ett Teensy 4.0 (IMXRT 1062)
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Bygga SLS Skrivare med Galvo

Inlägg av Krille Krokodil »

Vet inte men de skriver att de har nått över 500k. Jag kör det på en muskulös 8-bitars jag är inte riktigt på de höjderna.

1200 instruktioner per steg på Teensys känns ju inte orimligt.
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo

Inlägg av RogueNeurons »

Jag gjorde just ett litet test där jag delar upp en "move" i fraktioner baserat på tiden jag ämnar spendera åt rörelsen. Koden kör jag på en teensy 4.0 i 600MHz.
Galvocountern kommer upp i 3028 som lägst och toppar på 3150.

Kod: Markera allt

[size=85]
uint64_t my_now = nanos();
if(my_now > next_command_time)
{
	static int i = 1;
	int frametime = 1000000; //1ms
	if( ((my_now-framestarttime)/frametime) >1)
	{
		framestarttime = my_now;

		if(bufWritePos>=bufReadPos+1)
		{
		  bufReadPos++;
		  Serial.print("galvocounter:"); Serial.println(galvocounter);
		}
		else
		  bufReadPos=0;
		galvocounter = 0;
	}
	float fraction_of_frame = ((float)(my_now-framestarttime)/(float)frametime);
	if(bufReadPos==0)
	{
		float stepstotakeX = xbuf[bufReadPos];
		float stepstotakeY = ybuf[bufReadPos];
		galvo.goTo((stepstotakeX*fraction_of_frame),stepstotakeY*fraction_of_frame);
	}
	else
	{
		float stepstotakeX = xbuf[bufReadPos]-xbuf[bufReadPos-1];
		float stepstotakeY = ybuf[bufReadPos]-ybuf[bufReadPos-1];
		galvo.goTo(xbuf[bufReadPos-1]+(stepstotakeX*fraction_of_frame),ybuf[bufReadPos-1]+stepstotakeY*fraction_of_frame);
	}
	galvocounter++;
	next_command_time = next_command_time+500;
}[/size]
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo

Inlägg av RogueNeurons »

Om jag puttar ut data till galvot i bakgrunden samt mäter en PWM signal droppar det ner till 628...

Sen provade jag lite motmedel och kastar in överklockning till 800MHz och det trimmade upp den i 925.000 positionsangivelser per sekund!!
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Bygga SLS Skrivare med Galvo

Inlägg av TomasL »

Det låter som att du skall använda servon i stället, tillsammans med dedikerat drivsystem, då slipper du dessa problem, om jag fattat det hela rätt.

Du skickar bara önskad position samt hastighet till drivern, och den sköter resten.
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo

Inlägg av RogueNeurons »

Är servom verkligen ett bra val? Jag har sett folk som gjort det och lyckats så jag betvivlar inte om det går eller blir bra men det känns dyrt, för det är ju inga RC servon vi pratar om.
Sen har ett servo viss tröghet genom mycket massa i statorn och är byggt för att flytta vikt till skildnad från en galvo motor ( eller vad den kallas ) som är byggd att endast flytta en lätt vikt, typ en spegel, och klarar acceleration långt mycket både snabbare och effektivare än ett servo någonsin kan. Ett servo borde dessutom ha mera energiförlust p.g.a. massan den flyttar runt.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Bygga SLS Skrivare med Galvo

Inlägg av Lennart Aspenryd »

För den som vill kunna mer om SLS kommer det ett seminarium.
https://my.demio.com/ref/Mv6nx452Wjgl5l ... 6ecc21457c

Kunskap kostar oftast bara tid, till en början 😊
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Bygga SLS Skrivare med Galvo

Inlägg av Krille Krokodil »

Industriservon regleras inte så snabbt, några 1000Hz är det mesta jag har sett inom det normala spektrat.
Industriprylar kan man reglera i ms-skalan ungefär, där är en massa mjukvarukrafs som snurrar i dem och
knappt någon enda kund efterfrågar bättre respons än 1 ms.

Höghastighetspressar som går som tyskarnas MG42-kulspruta byggs fortfarande rent mekaniska för det har
inte funnits några servostyrningar som har varit snabba nog för att synkronisera de rörelserna. Nu med
linjärmotorer & kraftiga FPGA så skulle det kanske gå att få till men Siemens Simotion och de andra färdiga
lösningarna som finns är nog en 10-100 gånger för långsamma. Har bläddrat lite i Simotion-manualen och jag
har för mig att det var ms som var skalan, inte us.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Bygga SLS Skrivare med Galvo

Inlägg av TomasL »

Men är det verkligen frågan om us tidsupplösning.
Är det inte mer frågan om mekanisk upplösning.
Du skall vrida spegeln med mycket stor precision, dvs någon hundradels grad eller så på kort tid, med steg motor, eftersom den styrs diskret, så behöver du naturligtvis en hög upplösning i tid, eftersom den efter nedväxling måste drivas rätt många steg.
Med ett servo, försett med enkoder och tacho, så hanterar ju servodrivaren detta, helt utan inblandning av ditt styrkort.
Du skickar ju i princip ett kommando till servodrivaren, Snurra 95,252 varv med en hastighet av 10000 rpm.
Servodrivaren startar motorn, och efter ett tag så bromsar den motorn så den har snurrat exakt det antal varv som begärts.

Snabbhet, tja, en linjär rörelse på ett par meter/s är ju inga problem, dessutom går det få mycket kraftig acceleration.
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Bygga SLS Skrivare med Galvo

Inlägg av svanted »

har du nånsin sett hur en sls skrivare jobbar?

det ska ju inte ta lika lång tid som en vanlig "plastskrivare",
om varje "laserpixel" tar typ 1uS att smälta vill man ju utnyttja det.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Bygga SLS Skrivare med Galvo

Inlägg av Krille Krokodil »

TomasL skrev: 9 augusti 2021, 09:21:17 Men är det verkligen frågan om us tidsupplösning.
CNC är två eller flera servon som ska göra mikroskopiska linjer i olika riktningar i 2D eller 3D. Servona måste nå start-
och ändpunkterna samtidigt och enbart i "långsam" höghastighetsfräsning så handlar det om 10'000-tals mikrolinjer
per sekund.

Även en sketen 8-bitars Arduino spöar skiten ur det mesta på industrimarknaden för de släpper inte in kunderna i
de innersta reglerlooparna. Inte ens utvecklare inom ABB blir insläppta till bättre än ms timing i robotarnas OS,
vi kunder är ytterligare en loop ut och får jobba med några 10 ms.
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo

Inlägg av RogueNeurons »

Att man inte får tillgång till bättre precision än ms har nog mer med garanterad precision än något annat att göra om det nu stämmer. (inte för att jag tvivlar) Skall du in på ns territorium har tillverkare svårt att garantera att input, output och verklig rörense stämmer överens. Men laserskanners från 2k eur och uppåt jobbar i de regionerna. så det beror nog lite på tillämpning. Tröghet har en hel del med det att göra så visst kan man få bättre upplösning men det betyder ju inte nödvändigtvis att saker blir snabbare, bara mera precisa. Sen ska man upp i ganska dyra industrigrejor för att grejornas elektronik skall vara av bleeding edge standard. Många moderna stegmotordrivare har fortfarande intern elektronik som är 15+ år gammal... och det gäller många andra industrigrejor med. Men eftersom dagens utveckling går så snabbt innebär det också att man i ett hobbyprojekt kan nå iallafall upplösning om än inte precision som industrin har svårt att hålla takt med. :D

Sen är det en annan fråga vad som efterfrågas - det är inte nödvändigt eller ekonomiskt försvarbart att tillverka saker i högre precision än tillämpningen kräver. En maskin som skall dubbla precisionen kanske kräver 4 eller 8 gånger rigidare konstruktion vilket har motsvarande effekt på maskinens pris - och är sällan försvarbart. Få tillämpningar kräver bättre än 0.01mm precision då det som kräver precision ofta hanteras på annat sätt - typ borrhåls position vs innerdiameter. När man 3D printer märker man fort att 0.1mm upplösning känns grovt, att 0.05 känns fint och 0.01mm känns sjukt bra men efter 0.05mm så spelar det inte så stor roll eftersom FDM teknikens brister och begränsningar gör sig påminda. om man skulle sätta in mekanik som ger 0.000001mm presision på en 3d printer skulle den inte nå mycket bättre upplösning än 0.05mm iallafall då andra faktorer (som inkonsikvent fillament diameter) kommer vara den svaga länken. Samma gäller industrimaskiner och tidsupplösning.

I min tillämpning har jag som mål att nå mellan "industrihastighet" och "Allt vad min Teensy processor kan åstakomma". Med 65k x 65k punkter över en yta på 250mmx250mm blir det en del punkter över även vid hög upplösning. Med en "step/Dir approach" blir det många steg att processa men om jag kan märka ut viktiga punkter att nå samt interpolera resten baserat på tid så kan Teensyn fylla i bäst den orkar och jag kan på så sätt nå högre hastighet...
RogueNeurons
Inlägg: 14
Blev medlem: 3 februari 2021, 02:23:26

Re: Bygga SLS Skrivare med Galvo - OPAL FW

Inlägg av RogueNeurons »

Jag har idag publicerat koden till min kontroller på Github: https://github.com/opengalvo/OPAL
Krashar lite då och då, läcker minne och har mängder med skavanker men istället för att alla sitter på sin kammare tills något är perfekt så släpper jag in folk redan nu...
Skriv svar