CAD/CAM Question

SergioPagoada…I have Autodesk Inventor and am interested in HSM. I see they have HSM Express, I might try that to see how it works. I was wondering how you send your GCode to the X-Carve? Does HSM communicate directly with the X-Carve, or do you use HSM to generate the GCode and then use Universal GCode Sender to send it to the X-Carve?

Hsm is only the cam option, so sadly you can’t use it to operate the machine directly, it just generates the gcode and you use your own gcode sender, I use chilipeppr, seems to have more options then UGS. But one tip if your going to use hsm, when you hit post process to generated to gcode pick the right controller, I think the option is grbl general? I can’t remember but something along those line, they have a rather large list of controllers

I’ve never heard of Chilipeppr. I’m not real happy with UGS yet, so maybe I’ll check out Chilipeppr. I went to ChiliPeppr - Hardware Fiddle, is this what you are using? It indicates serial port, is it possible to use it with the USB that comes with the X-Carve?

Yes, the XC will show up as a COM port.
(USB = Universal Serial Bus)
The specific number may vary with your setup. Check the device manager for the number if Chilipeppr does not automatically detect it.
I have not been able to get chilipepper to work with grbl, (some sort of error won’t let me actualy select grbl from the configuration drop down list) but I have not really tried.

1 Like

Yes you can use the standard usb, but in order for the chilipeppr workspace to talk to your machine you need to download the json server, I believe version 1.8. Then run it and keep it open for the whole duration your running the machine, chilipeppr will recognize the arduino, and you have to change the controller type to grbl in the drop down menu. After that you set the timing, I think I have mine at the highest or second highest something like 100k I think… or whatever works for you

1 Like

I’m trying HSM Express, and I like it. I can’t figure out which Post Configuration to use. I tried “grbl.cps - Generic GRBL” and it doesn’t seem to work. I might be making another mistake that explains the failure, but could you please verify what you have selected? There is also a field next to it where you can select “All, Milling, Turning, etc…”, can you let me know what you have selected there as well? Thank you.

explain what you mean that it doesnt work? does it fail to export? or does the g-code ( should export as an .NC file) not come up when putting it in UGS or Chilipeppr…

as you can see all the way to the left is my gcode commands, i have a 2d contour, it should show the bit size, wcs and the file size of the operation.
if there is an error with the operation, such as wrong bit size or any settings the program thinks it cant do. you could test it by simulating the operation. if i can simulate it then everything is good. if it cant then it should give you an error saying cant generate gcode.
once every operation has its gcode, the in post process make sure you rather remember the output folder, or change the output destination. change the name so you know which one it is, and press post.
the nc file gets uploaded to whatever gcode sender your using.
Hopes this helps. If it doesnt let me know. ill try to help out as much as possible. hsm really is a great program. so many options to do practically everything

1 Like

I’m sorry, I should have been more specific in what I mean by “It doesn’t work”. Here is what I’m doing:

  1. Created a test part in Inventor, and assigned the 2D milling operations in the HSM CAM tab.

  1. I try to Simulate. Everything looks ok, except it appears that the slot milling starts above the part. I probably have something wrong in my 2D Pocket operation, but didn’t think it should prevent me from doing a test.

  1. I Post Process the code, and it seems to work fine.

  1. I open the *.nc file I created in UGS 2.0. I look at Visualize, and it appears to be right.

  1. In UGS I Perform the “Homing Operation” by pressing $H, and it goes to Home.

  2. I jog the tool to the point on the material where I want to start the part, and then I click “Reset Zero”.

  3. I then “Send” the GCode to the X-carve. The machine goes to the home position, and then moves back to “Near” my Zeroed position. I say it moves “near” because it moves to within about 1 to 2 inches of that spot, but it’s not exactly the spot I zeroed.

  4. The head is turning very slowly, I didn’t even realize it would turn this slowly. You can’t hear it, it’s just barely turning the mill. It does appear to start doing the operations, but the head is turning so slowly that no material is being moved, so I have to abort.

That’s what I mean by not working.

Thank you in advance for all of your help, it’s much appreciated!

What kind of Spindle you have you said. Sorry for asking if you mentioned before. I missed.

Please attach your Gcode file here so I can have a look at it with a program I have that tests Gcode. I think I know but need to see the Gcode to confirm this.

Dave

hmm, post the gcode file here on the forums, i will run it through my machine and see if i can get it to work. but also, while making your operations, you have the ability to change the rpm of the spindle. make sure you have that set too. but typically i set my spindle to manual on and off. but i suggest you try manual control of the spindle first. as i have yet to get automatic control of the spindle to work consistently on Chilipeppr, sometimes it works, sometimes it doesnt :confused:

Attached is the GCode. I did think about manually controlling the router; however, I’m confused as to why it won’t start at my zeroed positioned. It’s completely possible that it’s something I’m doing wrong.

My spindle is the 300W 24VDC provided by X-carve.

Test.nc (8.5 KB)

It will not necessarily start carving from 0,0,0. That is a reference point but not the start point depending on your object shape and cutting strategy.

Looking at the gCode…
(Wikipedia)

G90 = Absolute Positioning, Positioning defined with reference to part zero. (a good idea to always define this just to be safe)

G94 = Feedrate per minute (but no “M” value for federate defined)

G17 = XY plane (probably not needed but not a bad idea to define it anyway)

G20 = inches (always define your units)

G28 = Return to “home” Machine Zero - the point set by running a homing cycle, not the one you set by resetting the zero (probably not a good idea, if you did not home cycle your machine who knows where this may be and if the bit can move safely to there.)

G91 Z0 = Incremental programming, move Z +0 (Why? This is probably for your CAM software to automatically adjust for different tool lengths? This could cause weirdness if you get wrong data in here.

G90 = Absolute Positioning, Positioning defined with reference to part zero. (good resetting back after that Incremental move. Otherwise your print would go crazy really fast.)

(2D Pocket1)
M9 = coolant off

T1 M6 = Automatic tool change, Tool #1 selected doesn’t do anything for the XC but it does let you know what bit is used if you are trying to read the file manually. Of course you need to make sure you know what bits are what tool #s)

S1000 M3 = spindle on 1000RPM (are you sure you want to be running at 1000RPM? This is probably just the default seep in your CAM program, you may want to adjust the default to match your XC max.)

G54 = ??? (I have no idea what this is. or what it is doing. “Have largely replaced position register (G50 and G92). Each tuple of axis offsets relates program zero directly to machine zero.” ??? But it makes me nervous.)

M8 = coolant on

G0 X0.1213 Y-0.7675 = first rapid move (who knows what feed rate as it was not defined)

I notice it is using “I” and “J”
I = Defines arc center in X axis for G02 or G03 arc commands.
J = Defines arc center in Y axis for G02 or G03 arc commands.
I am not sure how Grbl handles the ARC stuff. I know it is defined in the VCarve post processor so I assume it is being used?

Thank you for the suggestions, it’s working now. I realized that the way I had it set up in HSM, it was starting at the center of the part rather than at the corner. That explains why it wasn’t starting where I expected.

You were right, I was thinking that the spindle was a binary (on/off) setting. I didn’t realize I could control its speed, so I increased it to 10,000 rpm. Now it cut my test part as I expected.

In UGS, after you run the part I notice that I can’t jog the head to different positions. I’ve tried a soft reset, but that doesn’t seem to allow the controls (+/-X, +/- Y, +/-Z) to work. Do you know if there is anything that you can do besides closing and opening UGS again? I’m using UGS 2.0.

Oh yeah I had the same problem. It is a bug in grbl.
If you upgrade grbl to the latest version and run the “Nightly build” version og UGS it fixes the problem.
However upgrading grbl is a huge pain as the online directions leave out a lot of stuff or are just plain wrong.
It took me 3 days to get it working. (more here)

The work around is after running the file hit “pause”, then “resume”. It will “complete” the file and return full control.
If you “cancel” it errors and you have to do a soft rest which works, but cycles power to the steppers so they can shift a bit, causing problems with multi bit carves.

1 Like

To answer the question what G54 is. G54 is the first of several work off sets that can be used. When you home or reference the machine at start up and the spindle moves to Z0 at the top of travel and carrage moves to X0 and gantry moves to Y0. these are machine zeros. Now the control software knows where the spindle is located.
With the machine homed or referenced at X0, Y0, Z0 you now move to a corner of your material or in the case of this Gcode file the center of the material and set X0, Y0 then set the tool down till it just touches the material this is Z0.
You have now set a WORK OFF SET G54. If you had control software with a GUI that had DROs for both machine coordinates and work off set coordinates you would see that with your spindle at G54 0,0,0 and that the spindle is some distance from machine 0,0,0

If you jog the spindle away and up from G54 0,0,0 and then do a Manual Data Input (MDI) of
F20 enter
G1 enter
X0 enter (the X axis will move to G54 X0 at a feed rate of 20)
Y0 enter (the Y axis will move to G54 Y0)
Z0 enter (the Z axis will move to G54 Z0)

Machine Coordinate 0,0,0 is always in the same position on the machine. G54 work coordinate off set can be any where on the machine that the spindle can move to.
You do have to be careful not to put the machine into a position the your Gcode will run an axis into a hard stop or switch that is not configured as a limit switch.

Hope this helps

Dave