Starting big, making a SLS with Linux CNC
Myself and a friend are working on a bit of a challenge. We are hellbent on making a low cost SLS machine, and at this point we are about to start building. Machining the parts and getting the hardware online is something we are good at, but we are completely lost on how to control it.
A recommendation from a neighboring machine shop was to check out LinuxCNC. I am working on downloading/installing the live CD now, but I have no clue where to start on how to set it up. So far the only tutorials I can find have been directed at 4 axis machines.
My setup consists of 5 stepper motors (X, Y, Z, P1, P2 and R), sensors and output for firing on the laser. P1 and P2 are powder dispense steppers and R is an overhead roller, similar to this image .
I hope LinuxCNC can be a viable solution for us, but I would love to be pointed in the right direction to get started.
Ill post CAD images of the setup once they are done again. The USB they were on cratered.
Thank you!
Please Log in or Create an account to join the conversation.
My setup consists of 5 stepper motors (X, Y, Z, P1, P2 and R), sensors and output for firing on the laser. P1 and P2 are powder dispense steppers and R is an overhead roller,
Does the laser scan on a simple cartesian mechanism, or are there galvanometers and angles to consider?
LinuxCNC nearly always consumes G-code, though it doesn't absolutely have to.
If it is a cartesian frame machine and you have a source of G-code then it's easy to control it with LinuxCNC.
If it isn't a cartesian machine then it is slightly harder, but LinuxCNC can cope with complex kinematics. I don't know of a kinematics module for a galvanometer, but it shouldn't be difficult to do.
If you don't have a source of G-code then it gets more interesting. It should be possible to go straight from a CAD model to machine movement, but an interpreter would need to be written.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19262
- Thank you received: 6451
en.wikipedia.org/wiki/Selective_laser_sintering
So no scanning there. well, we wait and see.
If he is talking about that SLS, i would love to make one, but it will take me a life and a half to make the parts and source a laser.
Please Log in or Create an account to join the conversation.
Andy, i think he is talking about this
en.wikipedia.org/wiki/Selective_laser_sintering
So no scanning there. .
We have some SLS machines at work, so I am vaguely familiar with them.
The ones I have seen use a galvanometer to aim the beam. I am not sure if they use a raster scan and pulse the beam, or run the beam CW and drive it around the area to be sintered.
One simple mechanism would be a rotating mirror (as used by a laser printer) that moves on an axis to scan the entire bed in a raster.
With such a system the "puzzle to be solved" would be the high-frequency modulation of the laser beam. I don't know what frequency would be needed, but I would imagine that a pair of HAL components would be needed, one to load the image data into memory for each layer, and another to pulse the laser in real-time.
Slightly inexplicably, despite the fact that I have never had a 3D printer or a laser system, I have done some works on parts of such systems. I have a slicer that runs inside Autodesk Inventor and a HAL component to display them and a _very_ unfinished attempt at the real-time modulator system
So, there are various sorts of systems that LinuxCNC can already control, and various options for those that it can;t currently control.
Please Log in or Create an account to join the conversation.
Does the laser scan on a simple cartesian mechanism, or are there galvanometers and angles to consider?
...
If you don't have a source of G-code then it gets more interesting. It should be possible to go straight from a CAD model to machine movement, but an interpreter would need to be written.
We are aiming to use a simple cartesian mechanism, mainly because we would like to be able to do other experiments in the bed as well. The problem we do have, I do not have a good source of G-Code. We currently use Autodesk Inventor and it has no integrated source of producing g-code. I'm open to any ideas!
Andy, i think he is talking about this
If he is talking about that SLS, i would love to make one, but it will take me a life and a half to make the parts and source a laser.
I am talking about that traditional SLS . I am wanting to start by trying cold-bed SLS on various plastics using the 40w laser we already have to fine tune everything, then switch to a hot-bed method and a stronger laser for faster work. The other problem I have is that I hope to do stainless sooner or later. With hot-bed work, it requires me to keep the ambient temp 7C below the powder's melting point. I'm slowly doing the research on how to get everything to handle ~1400C. Not fun.
One simple mechanism would be a rotating mirror (as used by a laser printer) that moves on an axis to scan the entire bed in a raster.
I work for a printer company and I was considering using this method. Most printers that are still using a ROS use a polygon mirror and pulse the beam to deliver the laser in a raster method. I was considering that however ROS' are inherently fragile to movement, and it would have to be mounted on an axis to go over the bed. That and they get pricey.
So far, we already have the steppers, laser and uncut steel. We are still trying to figure out how much bed we can afford.
Thanks guys!
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19262
- Thank you received: 6451
Only Humfrey Bogart for now as i need to go to get a coffee, back in a jiffy .
Please Log in or Create an account to join the conversation.
I work for a printer company and I was considering using this method. Most printers that are still using a ROS use a polygon mirror and pulse the beam to deliver the laser in a raster method. I was considering that however ROS' are inherently fragile to movement, and it would have to be mounted on an axis to go over the bed. That and they get pricey.
You could move the bed under a stationary rotating mirror.
Please Log in or Create an account to join the conversation.
You could move the bed under a stationary rotating mirror.
Agreed, that is probably the best way of doing it so long as movements are smooth enough not to disturb the loose powder.
Still, considering the aims of this project is mainly hobby and experimenting on a budget, I think delivery of the laser via gantry mounted mirrors may serve best, mainly because at a later date I may want to mount another tooling.
I've been looking at the order if operations that have to happen between layers and the documentation and I still seem to be missing how to program it.
Here is the order of operations I've figured out so far.
- Elevate P1 by one layer
- Lower Z by layer
- Move roller to limit switch
- Laser on, begin printing layer.
- Elevate P2 by one layer
- Lower Z by one layer
- Move roller to home switch
Repeat
Here is the software hurdles I know I have so far.
- I have limited knowledge of gcode interpreters and CAM. How do I get my models to something LinuxCNC can understand.
- I have limited knowledge of LinuxCNC, how do I set up additional operations between layers?
I'll continue searching the documentation, but being on the countryside leaves me with horrid internet.
I would love any ideas, tutorials or documentation yall think could help!
Please Log in or Create an account to join the conversation.
This could easily be handled by a G-code routine. LinuxCNC can handle 9 axes, so it would be relatively easy to use axis U for the roller, for example. This is a LinuxCNC-controlled DLP printer , which is similar in operation.Here is the order of operations I've figured out so far.
- Elevate P1 by one layer
- Lower Z by layer
- Move roller to limit switch
- Laser on, begin printing layer.
- Elevate P2 by one layer
- Lower Z by one layer
- Move roller to home switch
Repeat
Or you could do it without G-code, in theory, if that was more convenient. For example a Python front-end could send canonical movement commands to the motion queue. (note that this is not often done, so I am fuzzy on the details)
What is your starting point?- I have limited knowledge of gcode interpreters and CAM. How do I get my models to something LinuxCNC can understand.!
Please Log in or Create an account to join the conversation.
I'll study into Gcode routines more.
You mention that LinuxCNC can handle 9 degrees of movement, but the setup tool only provides for 4. I'm guessing you can't rely on the setup tool for everything.
As to my current knowledge, it ends at CAD. I can produce a detailed object in Inventor ready to be given to a fabrication technician.
The software side of this whole project is out of my comfort zone. Talk about a learning experience. :laugh
Please Log in or Create an account to join the conversation.