Galvo laser from sla printer on duet for engraving
-
Hi, i have the same problem, i have to use a Galvo System with ReprapFirmware..
You declared 4min for 1 logo; but how much power of your laser diode are you using? because if you're using 100% of power you can't increase your speed..
The Galvo System need 2 analogic, mine Galvos want +5v 0v -5v, i think yours want the same.
+5v = 20° or 15°
0v = 0°
-5v = -20° or 15°
The galvo drivers need a power supply +15v 0v -15v (this is a little bit complicate to find)
So your Analog output have another spec, the resolution!
More bit you have more precision you have.
Is important to know how is the resolution of your galvo drivers.So, someone knows how can modify the kinematics in ReprapFirmware?
Searching online i find out this link
https://github.com/Duet3D/RepRapFirmware/wiki/Adding-New-Kinematics
But i don't know how add a new kinematics, ok i know how add the files .h and .cpp, but i don't know what i have to write inside.
I know the equation of movement, is simple trigonometric funcion.if the electronics don't have 2 analog output we can use a DAC (Digital Analog Converter), i found a lot of this in the famose online store, that DAC convert a PWM to Analog 0-10V.
Ok, is not a better way to control the galvos but for first step i think is good enough.someone can help us?
-
@g0rg What do you want to do?
Attach the galvanometer head to your CNC machine and move it around above your foam so that the LASER can etch a logo into it 100 times?
-
@artichoke said in Galvo laser from sla printer on duet for engraving:
The galvo drivers need a power supply +15v 0v -15v (this is a little bit complicate to find)
You can use two 15V powersupplies with isolated output and wire them in series. Then use the center wire as GND and you have +/-15V
that DAC convert a PWM to Analog 0-10V.
Is it a sinus signal ? 10V AC? or 5V AC? Or does it change from 0-10V? You need negative voltage here, too!
-
@o_lampe
Yes i need a negative voltage, you are right!
That DAC converter change the value 0Vdc to 10Vdc.
i sayed stupid thing
i have to build a little pcb with MCP4822 12Bit, this one use SPI protocol.
I dont know witch one is the better idea:1-use another MCU (like arduino or something) for reading the stepper driver's command (EN, DIR, PULSE) calculate the trigonometric function and make the conversion of movement and return a SPI command to MCP4822 for changing the voltage to Galvo driver.
2- Modify ReprapFirmware and use SPI control on it.
What do you think about?
PS
if @g0rg haven't the skill for making a pcb i can make the design of the 1° idea on EasyEDA and release it free and buy the pcb assembled.
g0rg do you have some PCB or Electronic Skills? -
@o_lampe Here is a +/- 15 VOlt DC 1.5 Amp converter for US$14
https://www.amazon.com/1500mA-Regulator-Supply-15-18V-L7815-L7915/dp/B00W5U7BUUI've used a similar but smaller version for a project I needed dual voltage for.
This one can take AC input, but it will work just as well with DC input.
If you want a step-up converter, this one should work as well:
https://www.amazon.com/3-3V-13V-Positive-Negative-Converter-Increases/dp/B07Q83P7TS/ref=pd_sbs_1?pd_rd_w=agaax&pf_rd_p=98101395-b70f-4a52-af63-8fac2c513e02&pf_rd_r=57RBQGQKQF20CQC2VAGD&pd_rd_r=a740c38a-7b89-42da-8ef3-549d0c484dfa&pd_rd_wg=3VzRB&pd_rd_i=B07Q83P7TS&psc=1 -
@alankilian yes but i'm in italy and amazon.it don't sell the first item
For my power supply i used LM7812 and 7912 as in following schematics
-
@artichoke That should work.
-
@alankilian said in Galvo laser from sla printer on duet for engraving:
@g0rg What do you want to do?
Attach the galvanometer head to your CNC machine and move it around above your foam so that the LASER can etch a logo into it 100 times?
This is exactly what i'm about.
I use lightburn software to get my gcode job.
In the software i have vectors or let's say a raster image that i can duplicate using the array grid function to have maybe 100 times the same job.
The galvo should etch 1 logo at a time and switch to the second position moving the gantry X and Y axis, restart the same galvo job , etc...As @artichoke said, this is a kinematics stuff but i'm quite lost how to manage this
-
@artichoke said in Galvo laser from sla printer on duet for engraving:
g0rg do you have some PCB or Electronic Skills?
Well, I know how to solder parts but i'm not an electronician. I'm more an IT adept
-
@g0rg You know how to control the workbee CNC from GCODE now right?
If I'm understanding correctly, the process would look something like this:
- Use GCODE to position the LASER engraver at the location for the first logo. (G1 Xnnn Ynnn Znnn Fnnn)
- Trigger the LASER engraver.
- Wait for the engraver to finish (Could be just wait "n" seconds)
- Move to the next location using GCODE.
Which parts of those steps would you like to discuss?
-
Yes i use the workbee for wood carving and aluminium with a spindle.
What I dont know is:
How to manage the gcode to repeat the same piece of code on another starting point.I know that some cnc workers use like a subprogram with g54, g55, g56 origins for machining several same pieces on a vise for example.
But for me it should be kind of 100 different origins. I think that it's not the right way to manage this.I was talking about kinematics thinking that the galvo XY axis could become AB axis and the gantry XY should work as usual XY axis.
-
@g0rg If I were doing this, I would run the galvo from the galvo hardware/driver board and whatever software you use to build and engrave a logo and I would run the Workbee from whatever hardware/drivers and software you use to cut wood and just connect these two systems together with a trigger to start and an indication when done.
That way, each system still works unmodified for its original purpose and you are just using the Workbee to position the LASER engraver to the location you want to engrave the logo at.
Does that make sense?
-
@alankilian Yes, should be ok I think.
Actualy the laser that comed with the kit i bought is dimensioned for a resin 3d printer not for etching wood or foam. So i need to test pwm/ttl my 20w laser diode on the galvo head to see if i can burn correctly -
@g0rg said in Galvo laser from sla printer on duet for engraving:
What I dont know is:
How to manage the gcode to repeat the same piece of code on another starting point.
I know that some cnc workers use like a subprogram with g54, g55, g56 origins for machining several same pieces on a vise for example.
But for me it should be kind of 100 different origins. I think that it's not the right way to manage this.You could generate a single gcodefile for ten logos in a row. One logo after the other will be burned.
Then move up to the next row (is there an end-gcode in lightburn?) Then define this as your new 0,0 with G92 A...B... and run the same file again. You can use a while-iteration-loop in the end-gcode to repeat that file 10 times. -
@o_lampe said in Galvo laser from sla printer on duet for engraving:
You could generate a single gcodefile for ten logos in a row
I agree but even with this approach the galvo working area is around 250x250mm with a relatively acceptable beam distortion. That means that i should move the gantry B axis each time the XY galvo finishes the single job.
I don't know whether a Macro or a WHILE DO END Loop would do the trick
I try now to get deeper in gcode tips and tricks and maybe someone here has already done that and will post some program example...
-
@g0rg I would do something like this: (This is not real, tested code)
var xCurrent = 0 var yCurrent = 0 var xCount = 10 var yCount = 10 var xIncrement = 250 var yIncrement = 250 while yCurrent < yCount set xCurrent = 0 ; Start a new row at x=0mm while xCurrent < xCount G1 X{xCurrent * xIncrement} Y{yCurrent * yIncrement} ; Move to the new logo location set a GPIO pin to start the LASER logo burning while GPIO is not true ; Wait for the LASER to finish set xCurrent = xCurrent + 1 ; Move to the new location in X set yCurrent = yCurrent + 1 ; Move to the new location in Y
-
This post is deleted!