Driving XY galvos from Gcode
- Hi everyone,
This is my first post, so I'll introduce myself.
My name is Murilo, I'm a product developer and intusiast of DIY stuff.
I've been following this group for a while and now I decided to "jump inside" of building my own 3d printer.
The system I wish to build is a laser galvo based, just like the Form1. But the thing is I have very limited knolege on programing and hacking (I can't do much more than the "led blink" thing on arduino...) But I'm not afraid of learning and think this is a great opportunity, not just for me, but for everyone interested.
So here it is: is it possible to control the galvos through Mach3 or any other Gcode interpreter?
Something like: PC (mach3 or similar)-> arduino -> DAC -> galvos
If this was possible, the beam diameter would be the "tool" diameter and the path could be done in raster or offset fashion.
I don't know how does the Form1 outputs the layers to the galvos, but I imagine that it might not be so different from this...
Is this possible? Is there a better way to build a laser 3d printer?
Can anyone give some advise on this?
- You can trace images easily enough it just adds some more coding to do and use exactly the same compensation when converting pixel position to angle as you would in converting coordinates to angle, there is just a scaling factor between the two things.Graham
On 27 Feb 2013, at 10:20, Murilo Lana <murilo@...> wrote:Yes, that's exactly what Form1 does:The only way I know it is done is by Gcode.Using white pixels to turn on the laser the way you said would make it difficult to compensate for the beam radius. Somehow you would need to shrink the image a little bit to compensate for this.Enviado via iPhone
Em 26/02/2013, às 23:25, Graham <grezmos@...> escreveu:It's usual for the flavour systems to trace the outlines as well as raster so that MIGHT make things more complex, I don't know if it is absolutely necessary though.Graham
On 27 Feb 2013, at 01:16, Chris Marion <chrismarion@...> wrote:If creating a plugin for my software, it might be even easier - no Gcode to decipher. My slicing software already produces black&white slice images, and by setting the resolution of these slices you could match it to the angular resolution you have on your galvos. Then just scan through each line of pixels in the slice as you scan the galvo in the same pattern, turning the laser on/off rapidly as needed to produce the image. Encountering a white pixel turns the laser on, otherwise it's off. Z axis, tilt mechanism, sensors, etc are also all taken care of already if it is built as an extension of 3DLP.
On 2/26/2013 7:54 PM, Murilo Lana wrote:Great to hear that!I think this might become a kind of universal 3D printing software =-)Like mach3 has its modules: machMill, machTurn, machPlasma, your software could have FDM, DLP, laser modules.The idea I have about this software is:Read the Gcode from the slices, map the X Y coordinates (zero in the center), translate the coordinates to 0 - 4096 values for each axis so the board can map this values to -+5V.There are some other things like z axis, tilt mechanism and sensors, but this are simpler to deal with.Enviado via iPhone
Em 25/02/2013, às 22:53, Chris Marion <chrismarion@...> escreveu:
Hi all, it's been a while since I've actively contributed to a discussion, but this is a really interesting one. I may be able to help out in the software department - right now all my efforts are focused upon finishing the newly re-written version of my 3DLP Host software. But considering that much of the supporting code for this has already been written by me, I may be able to write a module for my 3DLP software to support galvo-based printer hardware. This probably couldn't be for a couple months realistically with how much still needs to be done on the 3D slicer and host software, but I'm throwing the idea out there. I'm pretty interested in working on a galvo-based prototype myself, so the timing might be pretty good.
On 2/22/2013 2:33 PM, Murilo Torres wrote:
I just read, this Due board has two built-in 12-bit DACs. The sampling rate of this board is around 1000 ksps.
Yes,a gcode interpreter that would get the readout coordinates from X Y and convert them to readable values for arduino or a proper DAC card, as you suggested.
The g-code does not contain the intermediate co-ordinates those need to be generated by the software.
Buttalking about DAC card, we get back to that question: what kind of signal does it need?
It would be plugged in to the computer and controlled by the software.
Whywould it make more sense to use a proper DAC card instead of the arduino board? Resolution?
Why talk to another very small computer when you have a big computer that can do the work and faster.
Ifso, is there a way to build an arduino board with 12bit or even 16bit resolution? I’m asking this because there are other things to be controlled else then the galvos, like z axis, vat tilt, lcd, resin level sensors… I don’t know if a DAC card would handle all.
You can interface an arduino with a DAC chip. There is the advantage that the arduino can do the other functions but these are all really slow things, the galvo control should hopefully be much faster so the printing does not take the rest of eternity.
I found a company which sells a system to drive galvos from gcode, but I don’t think it is cheap. As far as I know they have their own driver to use with their software, which kind of kills the DIY thing.
it sounds like you want something that just plugs together anyway if you are not going to do the programming etc.