Heeks CAD and CAM

Discuss Laser CNC Software Issues

Re: Heeks CAD and CAM

Postby dirktheeng » Thu Jul 21, 2011 4:08 am

I got a good response to my question in the forum for the ss http://www.warp9td.com/index.php?option ... =3164#3164
dirktheeng
 
Posts: 616
Joined: Thu Sep 09, 2010 4:49 pm

Re: Heeks CAD and CAM

Postby cpdude » Thu Jul 21, 2011 4:15 am

Hey Dirk,

I don't want to come across as totally uninformed but I've honest forgot most of the configuration settings. I set them up about a month ago and have been mostly using my RetinaEngrave card until last week. I believe all of the port two stuff was only to make Mach3 happy (i.e. stop throwing up nasty message boxes and such). I've been using Mach3, the SS card and rev 2 of Bart's pololu driver board. I do know that the combination works very well on my laser.

I'll shoot of an email to Greg since I'm sure he can explain this better than me.

Brian
2.x laser ( Mach3 | SmoothStepper | FSE RetinaEngrave)| DIY CNC Router (EMC2) | Prusa I3 3d printer | Building a Wolfstock deta printer | Rhino v5
cpdude
 
Posts: 102
Joined: Fri Dec 24, 2010 5:21 pm
Location: Cameron Park, CA

Re: Heeks CAD and CAM

Postby dirktheeng » Thu Jul 21, 2011 3:45 pm

All,

I just realized that nobody can see the response I got from greg without a login. Here's what he wrote back to me with when I asked him about the M10/M11 command in SS

Hi dirktheeng,

I hadn't announced that feature yet , but it looks like you noticed the functionality. It should work. You might need the latest plugin:

http://warp9td.com/files/SmoothStepper_v17ed.m3p

It sounds like you are very familiar with the M11 and M10 commands. I will respond to your posting with much more detail than you need, but others will be able to better understand what this is all about.

The only reason I hadn't announced it yet is because it is hard-coded to Output #1. I can't find any way to know what output number is specified on the gcode line (i.e. "M11P1" means Output number 1, and "M11P2" would mean Output #2). However, this probably isn't much of a limitation for someone who wants to get their laser going. I am waiting for Brian to tell me whether or not it is possible for a plugin to know. I started to add a way for the user to specify which Output number to use. In that plugin listed above, there is an option for telling it which Output Number to use, but unfortunately I haven't completed the code that goes behind it, so it does nothing at this time. If Brian says there is no way to know, then I will complete that code, otherwise it will be transparent to you and it will work just as it does with the PP.

You will see an option for "M11Px/M10Px Gates Spindle Output". This is probably an unnecessary feature, but somebody might be able to use it. I believe that normally the PWM signal is turned on all of the time for control of intensity, and another discrete I/O turns the laser on and off. The gating feature combines the PWM and On/Off discrete in one signal. M11 turns on the PWM and M10 turns it off. If the PWM _base_ frequency is set high enough, then this works well. Something in the range of 20 to 50 kHz would work well. But if your laser power supply requires a low frequency such as 1 kHz or less I don't think it would work as well. But it would only affect the beginning when the laser is turned on. So it might not be a problem...

The PWM output is the Spindle Output. Set up the spindle as PWM and select your _base_ frequency in the config dialog of the SmoothStepper. Set your pulleys so that S0 is 0%, and S1000 is 100% (it will end up being nearly 100%).

Water Jet systems are similar to lasers. The difference is that the water jets need to pierce through the material before the jet or material is moved. I added a feature to delay before moving after an M11 command. For lasers, you will want to check the box that says "Select Delay" and enter "0" for the delay. If you want the laser to be stationary for a while before moving (that doesn't make any sense, but maybe there is a use for it), you can enter a value in the Delay box. If you find you need to change this value a lot, you can check the box that says "Selected Via User DRO", and enter a User DRO number to use. Then modify your screen set to include a DRO with that number.

If you are unfamiliar with M11 and M10, the syntax is as follows:

M11Px
M10Px

where "x" is a number that represents the Output number you want to use. The Port and Pin for the Output is set in the Outputs tab of Ports & Pins. Right now it is hard-coded for Output #1. Until I get more info from Brian, you will need to change your setup to use Output #1.

M11 and M10 by themselves don't create any action. I consider them "arming" commands. When you issue an M11 command, the next movement command (such as G0 through G3) will turn the Output pin on. The reason for this is because of the indeterminate amount of time it takes to get from the M11 command to the movement command. For example, M11 could turn the laser on, but then something could happen in Windows and the G1 command that follows might not get executed for a while. In the meantime you've burned a little more material than your would have liked. So instead, the M11 command "arms" the Output and it is triggered when the next motion command is executed. The Output will stay on until an M10 command is used to turn it off. Just like the M11 command, the M10 command requires a motion command following it to make it work. So in order to turn the laser off after a series of cutting moves, be sure to move somewhere such as the start of the next part, or a home position. Otherwise it will sit there burning a hole waiting for a motion command. I'm not sure I see the value in the M10 command being an arming type of command, but that is the way it is. But I see a great deal of value in the way M11 works.

Here is an example of how you would cut a square:




Code: :



S1000 (Set the laser PWM at 100% duty cycle)
M3 (Turn on the spindle)
G1 X0 Y0 (get into position at the start of the part)
M11P1 (arm the laser on/off to be turned on)
G1 X1 Y0 (coincident with the beginning of this move, the laser on/off is turned on)
G1 X1 Y1 (cut a square)
G1 X0 Y1
G1 X0 Y0
M10P1 (arm the laser on/off to be turned off)
G1 X2 Y0 (coincident with the beginning of this move, the laser on/off is turned off)


You will still be able to turn the laser on/off using other Output commands. For example, you could have a button on the screen that simply turns the Output on, and it will stay on no matter if an M11 or M10 is executed. So in order for M11/M10 to work, make sure the Output is deactivated before trying to use them.

You are correct about the way the Activate/Deactivate commands work. There is a large delay and so they don't work. The M11/M10 commands are processed quickly at the same speed the other gcode commands are processed.

I don't know why it wasn't working for you. Probably because you are using an Output other than number 1. After reviewing my reply, please let me know if you have any questions. I am positive it works, so it might be a setting that is not being made correctly, such as the PWM spindle output or something like that.

Thanks,

Greg


I specifically asked about the diagnostics page not showing the light up when I used the M10/M11 command and wether or not it was necessary to use the spindle output for the M11/M10 to output the right stuff. This is what Greg said in response:

It might not light up there due to the path that the command is taking. The data is running through the buffer that holds the trajectory data and gets logically OR'd with the data from the standard Output commands. I will look to see if that is the case and if it would be possible to update the status data with that version of the data instead of what it has now.

You're right, I don't think the spindle output has anything to do with it unless you're gating the spindle output with Output #1.

Good luck. Let me know how it goes.

Thanks,

Greg
dirktheeng
 
Posts: 616
Joined: Thu Sep 09, 2010 4:49 pm

Re: Heeks CAD and CAM

Postby dirktheeng » Thu Jul 21, 2011 5:19 pm

All,

It does indeed work with the M10P1/M11P1 command on the SS. The diagnostics window output LED will not light up, but the voltage does work. Greg is going to look into setting the update so that the diagnostics window does display the correct output. One other thing to note, when there is no motion and the M11P1 command is active, the voltage goes low. That is, if I give it an M11P1, then a g1x500, the voltage will go high as soon as it moves, but go low when it stops. If I then give it a g1x0, it will go high when it starts and low when it stops. That is a nice feature as it is failsafe. If the axes are not moving, the power is off.

As mentioned before you have to use output 1 for the trigger with M10/M11 commands at this point with the SS. This is no big deal, but you have to be aware of that. The box is there in the SS setup to set it to a different output, but it is not functioning right now.

You can also set the SS to produce a PWM signal to set laser power, but I haven't started messing with that yet. It can use a base frequency much higher than the paralell port version so it can directly control the laser power. I'm going to try to set that up next.
dirktheeng
 
Posts: 616
Joined: Thu Sep 09, 2010 4:49 pm

Re: Heeks CAD and CAM

Postby greg » Fri Jul 22, 2011 4:24 am

dirktheeng wrote:If the axes are not moving, the power is off.


I was going to post a copy of the posting I made in the Warp9 forum but you beat me to it :-). I created the account but needed to wait for administrative approval before being able to post. I haven't looked into displaying the diagnostics properly yet but I will get to it soon. I wanted to make a comment about "If the axes are not moving, the power is off". Generally this is true but not always. Internally if it is seeing zero-velocity moves it will think it is moving when in fact it physically isn't going anywhere. To support water jets, I added a delay feature so that the water jet can pierce through the material with an accurate amount of delay before moving. Zero-velocity moves are sent as an accurate way to create a delay. During this time the water jet (or laser) would be on but not moving. Of course for lasers you would specify a delay of zero and it would move at the same time the laser is turned on. I don't know of any case that Mach would be sending zero-velocity moves on all the axes at the same time, so this probably isn't going to affect anyone. But I thought I would point it out just in case it happens someday. I'm glad you like the fail-safe feature I added. It should allow you to step through the gcode line-by-line if you wanted to without burning holes. As long as there is a steady stream of moves, the output signal will not turn off (no glitches).

Greg
greg
 
Posts: 1
Joined: Thu Jul 21, 2011 5:21 am

Re: Heeks CAD and CAM

Postby dirktheeng » Fri Jul 22, 2011 5:12 pm

Greg,

I have to say that I love the SmoothStepper. I can really make the motors move fast... I got the x axis cart to move faster than 70m/min. My motors run quieter, have beter tone, and seem to run cooler. So far, forum support has been good and I have been able to do everything I wanted to do.

I can't wait for the SDK to come out. A lot of us are looking for an all in one controller that can do vector machining via Mach3 and can also do engraving. There are several laser controllers out there that can do vector cutting and engraving, but none that can interface with mach3. There are several advantages to using Mach3, the leaset of which is familiarity and comonality with other cnc machines that we have at home or work. We can also easily account for laser width with cam software without much work and make sure we can easily get accurately sized parts inside and out. It would be great to be able to use something like the SS for a dual purpose as an engraving controller as well.
dirktheeng
 
Posts: 616
Joined: Thu Sep 09, 2010 4:49 pm

Previous

Return to Software

Who is online

Users browsing this forum: No registered users and 13 guests

cron