CNC laser engraving
- lasersafe1
- Offline
- New Member
-
- Posts: 5
- Thank you received: 0
Let me start by saying how impressed I am with EMC2. As a previous Mach 3 user, I can see some definite advantages to EMC2 over Mach.
I have one of those Chinese 40W CO2 laser engravers. I tossed out the control hardware and software that came with the unit because it would only do raster engraving. I wanted the ability to do both raster engraving and vector cutting.
I will save you all the details about my experience with Mach3. They don't seem too interested in supporting lasers. Perhaps they know that their software can't pulse that fast? I don't know.
I loaded EMC2 and Ubuntu from the live CD on Saturday night. Within 20 minutes I had the laser vector cutting the EMC2 logo. This software is very intuitive and runs quite smoothly! Okay... Vector cutting is a piece of cake. I simply told my laser to turn on or off based on the Z direction bit. When driving a laser, it is very important for the X or Y stage to be in motion before firing the laser or shutting it off. If the motor stops, you will get a deep burn at the stopped location. Apparently the code for the EMC2 logo was already set up for this because the letter cutouts were *****PERFECT****.
Next I wanted try a raster engraving of an image. I had some code that would move the z direction bit by .0001 inch for the depth. My thought was if I set up the Z motor to move infinitely fast, then it wouldn't stall as it sweeps across during the raster engraver. Well, it didn't quite work like I had hoped.
I then thought that I could use a simple "flood ON" "flood OFF" Gcode to turn the laser on and off. I thought that certainly the code wouldn't stall to activate this signal. Wrong again. The sweep of the X stage stalls during the calls for flood on and off.
I wrote to the EMC2 forum at cnczone.com and explained my situation. I received some advice about the G61.1 and G64 codes. I was also told about the M62 - M65 codes. I tried it out but I'm still having no luck. I can't seem to get my X axis to sweep across without slowing down for the activation of an M code. When I use the G61.1 with a high P value I get a continuous sweep, but it then seems to ignore the M6x codes.
I have attached the files over at: www.cnczone.com/forums/showthread.php?t=93949
I also took the opportunity to do some bragging about the EMC2 software.
I realize that my steppers will never be able to sweep as fast as a servo driven system, but I am looking for an end result similar to this:
Perhaps I'm just doing something wrong in my code? Any help you can provide will be appreciated. Once I get it up and running with both vector and raster I will certainly post a YouTube video to push EMC2 on the laser.
Please Log in or Create an account to join the conversation.
John
Please Log in or Create an account to join the conversation.
- lasersafe1
- Offline
- New Member
-
- Posts: 5
- Thank you received: 0
Once I get this thing going, I'll definitely be posting a video and summary of Gcode and HAL settings.
Please Log in or Create an account to join the conversation.
Go to this page and click on "embedded java client"
www.linuxcnc.org/content/view/4/8/lang,english/
The transcript is recorded so it is not lost and you can still post your findings here.
John
Please Log in or Create an account to join the conversation.
- lasersafe1
- Offline
- New Member
-
- Posts: 5
- Thank you received: 0
1. G64 Px.xxx isn't doing the trick for me.
2. I downloaded and tested the LinkMotion virtual CO2 printer software. I could run my laser with it using the control panel, but it would crash when I tried to send a print job. This is presently $600 software, so it had better work flawlessly. Right now this is a non-starter for me.
3. Since I had to put in a new 3.4GHz machine with at least 1G ram for the linkmotion software, I decided to try Mach 3 again on this new machine. I also have EMC2 available on dual boot now.
4. Mach 3 runs well on this machine and the laser engraver plugin does exactly what I need it to do. It still has some faults: The image must be exactly square or it will fold over on itself. This I can live with because I will be repeating two specific images in the production of a product.
So this is the end of the road for me for now. My system will produce the product that I need. I will still be watching this thread with hopes that someone can figure out how to do the fast rastering within the Gcode. It will be nice to one day raster my image and then immediately cut it out within one piece of code. I hope the EMC programmers can take a look at the freely available source code for the Mach 3 laser engrave plugin. It would be nice if this could be improved upon and made a part of EMC3.
One more statement to make: We have all sorts of companies pushing their new driver cards that have FPGA's and built-in memory for loading a file. The cards and software to run them are usually upwards of $1000. They would have us think that our computer printer port cannot do a fast raster on its own. I beg to differ. With a 3.4GHz PC I've got the Mach 3 pulsing engine running at 100kHz. It is outputing the raster to my laser as fast as my motor can travel (1400"/min on X with 250 accel). I suspect if I replace my X axis with a servo I could go even faster. Our problem is not the parallel port interface (on a fast PC) but is instead the present state of milling software. Art Fenerty did a fine job with the laser engraver plugin, but it does need a few improvements to make it perfect. I suspect that a similar LINUX program could out perform any Windows software with respect to direct drive of the parallel port. I would think within Linux one would indeed have the ability to suspend all other activity while a file is being "printed" by the laser.
Please Log in or Create an account to join the conversation.
I just added a comment at the zone for you about this:
When you tried using m62/m63 you didn't add the p variable , without the p m62/63 will be ignored.(as you noticed)
m62 p1 would set digital-output #1 on, synced with the beginning of next motion command .
Give that a try.
Chris M
Please Log in or Create an account to join the conversation.
- lasersafe1
- Offline
- New Member
-
- Posts: 5
- Thank you received: 0
As soon as I repair my stepper driver I'll be back in the experimentation mode.
Please Log in or Create an account to join the conversation.
www.andrewkilpatrick.org/blog/?page_id=914
Andrew converted an old engraver to EMC2 and cracked the zheight laser switching issues. The IRC Archives should have details and I reckon there might be additional details in the WIki.
Contacting Andrew via email (through his website or the Toronto Hacklab) might get you what you need as well.
Please Log in or Create an account to join the conversation.
- lasersafe1
- Offline
- New Member
-
- Posts: 5
- Thank you received: 0
I think that one day soon we will have this figured out. There is presently a huge leap in performance and price between the $1000 Chinese laser engravers and the $10,000 Desktop engravers like the Epilog. Several of us users are slowly plugging away at determining these performance differences in hopes that all the "do it yourselfers" can make a nice affordable system.
Please Log in or Create an account to join the conversation.
I loaded EMC2 and Ubuntu from the live CD on Saturday night. Within 20 minutes I had the laser vector cutting the EMC2 logo. This software is very intuitive and runs quite smoothly! Okay... Vector cutting is a piece of cake. I simply told my laser to turn on or off based on the Z direction bit. When driving a laser, it is very important for the X or Y stage to be in motion before firing the laser or shutting it off. If the motor stops, you will get a deep burn at the stopped location. Apparently the code for the EMC2 logo was already set up for this because the letter cutouts were *****PERFECT****.
Next I wanted try a raster engraving of an image. I had some code that would move the z direction bit by .0001 inch for the depth. My thought was if I set up the Z motor to move infinitely fast, then it wouldn't stall as it sweeps across during the raster engraver. Well, it didn't quite work like I had hoped.
Thanks for the reply about Andrew's stuff. I did not realize things were happening outside of EMC as well.
I went back to your original post and the comment about the EMC logo working struck me. If you look at that code, it consists of tons of small segments and uses G64 (at least my Sim defaults to that). I suspect that you are seeing the impact of the velocity mode blending moves providing you with a ramp in move turning on the laser.
Are you absolutely sure the lead in move for each letter engraved is complete and the initial spot is not perhaps missed as a result of the blending move?
One thing you might try is setting your laser to turn on at a set z value (say 1mm for example). Then all your Gcode z values should have 2mm for engraving and 0mm for no laser. In addition, make sure the initial move from the starting point is a 3d move, not just 2d. The XY distance increment for that first move could be miniscule, but it would provide the lateral movement you indicate is required.
It might be a CAM challenge to get that leadin move programmed but should be simple after that.
Food for thought.
Brian
Please Log in or Create an account to join the conversation.