-
Notifications
You must be signed in to change notification settings - Fork 1
Knowledge Base
Bed size: 500 x 800 x ~150mm
Spindle: 24000 RPM, 2.2Kw, 8.0A
Control Software: Mach3
Recommended Toolchain: Fusion 360 -> Mach3
The input value (control value) will not match the output speed. The relationship is non-linear.
The spindle is rated to 24000 RPM
Entering 13000 RPM will output 21000 RPM (A limit we consider safe)
[Graph of input vs output of RPM values]
Do not exceed maximum RPM
The spindle loses torque as RPM decreases - will cut "best" at high RPM, though this is suboptimal for many circumstances.
Working theory that it's a product of poor workholding.
If you feed G-Code to Bessie faster than she's able to process it, Mach 3 will compensate by slowing down the feed rate. This is most apparent when performing adaptive clearing with complex curves and tight tolerances. The many short segments of lines are too much for the router to process. To overcome this issue, decrease tolerances in Fusion 360 to 0.5, this will produce less data-intensive curves. The reduced tolerance is not an issue for adaptive clearing when the goal is to remove bulk material as quickly as possible. This may become problematic for performing finishing passes at optimal feedrates.
This is thought to be related to the USB to COM port adapter.
The primary difference between a router and a mill is spindle speed, torque, and rigidity of the machine. A router typically has a higher spindle speed and is generally more appropriate for softer materials. As such, Bessie is not well equipped to handle aluminium. Although Bessie can cut aluminium, the settings required are far from optimal, we request that you buy your own tools as you're very likely to break or otherwise destroy bits when finding out.
A CNC mill runs a slower spindle with more torque which is much better for handling the slower cutting speeds and loads associated with metals.
-
Turn on Bessie at the power point
-
Load Mach3 on the laptop using the 'Bessie' profile
This profile includes the configuration for Bessie. Without this profile, Bessie will not function well.
-
Make sure that the bed is clear of obstructions
-
Home all axis (Ref all home)
-
Clean up your mess. Always try to leave the router in better condition than you found it.
-
Turn off the power at the power point.
After creating your toolpaths in Fusion 360, they then need to be converted into G-Code that the router can read. This occurs via a script known as a post-processor.
The 'Mach3Mill / mach3mill' post-processor in Fusion 360 is the closest match from the default options in F360 that will drive Bessie. The G-Code produced by this post-processor isn't perfect. It's close, but missing a few pieces to work properly.
It is important when setting up your output to change the G28 Safe Retract setting to 'Clearance Height'. At the end of a routine, Bessie will be instructed to go to wherever the G28 position is set. If it is not set, then the machine will rapid toward machine home (X0,Y0,Z0) regardless of what is in the way.
We may soon have an improved post-processor that deals with some of these issues. It will be located in the code section of the wiki.
If you don't use the improved post-processor, and without manually changing the code, Bessie's initial move will be to make a b-line for the first operation from wherever the head is currently located. If that is at Z0, that path will be along the surface of the stock (assuming you set the Z0 at the surface of the stock). Therefore it is advised to raise the Z-height to around clearance height to avoid marking the surface or damaging the tool. Alternatively, you can manually add G0 Z+10
immediately above the S13000 M3
start spindle command in your G-Code.
At the end of the file, there should be an M5
(stop spindle) command which is absent. The G-Code can be manually edited to include this in the line before the M30
(program end) command.
Your post-processed file will be saved with the extension .tap. The extension is somewhat irrelevant as the file is a basic text format. Make sure that when you try to load the file in Mach3 that you are looking for the right format.
C:\Users\%username%\AppData\Local\Autodesk\Autodesk Fusion 360\CAM\cache\posts
mach3mill.cps
! The default is G28, you likely don't want G28 (yet).
G28.1
- Set the G28 location
G28
- Go to safe retract location (or machine home if not set)
G53
- Goto machine home
Clearance Height - Raise the spindle a set Z distance above the stock (defined in your Fusion 360 project)
In the Fusion 360 post-processor interface, there is a setting for 'Safe Retracts' which gives you the option of G28, G53, or Clearance Height. We typically use Clearance Height which will simply raise the spindle 15mm(default) above the work at the end of a job. You can then jog the head in the Mach3 interface to gain access to your piece.
With G28 selected in the post-processor but not set on the machine, or with G53 selected, the machine will go to machine home at the end of any job. This is generally of no advantage because with Bessie, at best, the gantry will obstruct access to your work in this position. At worst, there is the possibility the machine will crash into anything between the end of the job and machine home during this operation.
If you do set the G28 location, the head will move to the convenient safe location you defined (keeping in mind workholding that may obstruct the path).
You can define a G28 safe retract position with the G28.1 command. This will let you choose where the head moves to at the end of a job instead of machine home.
Mach3 is the software used to control the router. It is deeply configurable and confronting at first, though there is a lot of information available and deep hobbyist support in forums throughout the internet.
This link the the Mach3 forum contains info on how to back up settings and profiles.
Press Tab to open the jog control interface. Use the arrow keys to jog in the X and Y axes. Press pgup and pgdn to jog in the Z axis. You can adjust the jog speed in the jog controls.
Twist the E-Stop button to disengage if the button has been hit. After each time the E-Stop is triggered, with the button or by opening the doors, the bottom-most button on the E-Stop needs to be pressed (if the button is pressed too quickly it may not register) to reset the E-Stop. This will enable the machine and light the blue light. The Reset button in the Mach3 interface will then need to be pressed a number of times to clear each error before it turns green. Multiple errors are produced each time an E-Stop is triggered.
Click the Ref All Home button to return all axis to 0 in the order Z, Y, then X. Home is at the front left with the Z all the way at the top.
Without homing, Bessie will assume that wherever she is when turned on is 0,0,0. 'Soft limits' typically prevent the steppers from driving past the physical limits of the machine. If you run code without first homing, soft limits will not be correctly applied. Crashes into the bed and beyond X-Max and Y-Max become possible.
If you pause a feed and then restart the code from the current position the spindle won't restart. Before restarting, manually enter the appropriate G-Codes to start the spindle in the second tab.
Feed rates and spindle speed can be easily controlled during operation. Be mindful of the 24000 RPM limit and associated known issue if increasing spindle speed. Check these settings before cycle-start to make sure that the feed rate and spindle speed have not been changed / is appropriate.
The Auto Z-Zeroing tool will accurately zero the Z-height at the surface of the stock. The Z-height is determined by an electrical signal between the spindle and the Z-probe. When the spindle is grounded and the probe is connected to the Probe pin of the Mach3 controller, this pin triggers a digital signal in Mach3.
- place the Z-Probe on top of the stock, beneath the tip of the tool,
- press the Auto Tool Zero button. Before clicking the button, the tool tip needs to be jogged within 20mm of the probe.
- while zeroing, the tool will lower and touch the probe. Once contact is made, the script will zero the Z-axis and then raise the tool to a clearance height, currently set to 15mm.
- the program will then end and you can enter the enclosure to remove the Z-probe from beneath the tool.
You can edit the auto-zeroing program if you really want, however, keep in mind that you must have a program that works without the requirement for the operator (you) to enter Bessie's enclosure, which would trigger the interlock. For this reason, the current program only descends to the touch pad and rises to stay in the air (instead of descending to the zero height, as some programs do, which in Bessie's case would cause you to drive the tool into the zeroing block).
To edit the script for the Auto Zero Tool: Operator > Edit Button Script > Click the 'Auto Zero Tool' button. The script is some weird visual basic stuff and is riddled with function calls that require the correct numbers to access the right part of the Mach3 control software.
The current button script is below:
Rem Auto Tool Zero Z- Metric Version
DownStroke = -25 'Set the down stroke to find probe
DownFeedRate = 100 'Set the down FeedRate
RetractStroke = 5 'Set the retract Stroke
RetractFeedRate = 100 'Set the retract FeedRate
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
CurrentAbsInc = GetOemLED(48) 'Get the current G90/G91 state to return to later
CurrentGmode = GetOemDRO(819) 'Get the current G0/G1 state to return to later
PlateThickness = 10
If GetOemLed (825)=0 Then 'If contacting is not true || Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P2" ' this delay gives me time to get from computer to hold probe in place
Code "G90.1 G31 Z" &DownStroke &" F" &DownFeedRate 'probing move
While IsMoving() 'wait while it happens
Wend
'a=GetOEMDRO(180) 'use this call if you want to make conditional statements based on the current Digital Read Out of Bessie's Z-axis
'Print(a) 'produces a dialogue box for confirming previous line has accessed the correct DRO
Call SetDRO(2, PlateThickness) 'set the Z axis Digital Read Out to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
temp= PlateThickness + RetractStroke
Code "G1 Z" &temp &" F" &RetractFeedRate 'retract
While IsMoving ()
Wend
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
End If
Code "F" &CurrentFeed 'Returns to prior feed rate
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
If CurrentGMode = 0 Then 'if G0 was in effect before then return to it
Code "G0"
End If
Exit Sub
Safely test your G-Code without damaging your stock or the machine. (Also have a peek at the generated tool path in the top right of the first tab of the Mach3 control software).
It's a good idea to test your G-Code before you start cutting. The easiest way to get an idea of whether the router will do what you expect is to do an Air Pass.
Raise the spindle above any nearby work-holding hardware (~50mm) and temporarily zero the Z-height there. Start the operation. You'll quickly get an idea of whether the machine is moving in a way you expect. If not, you just saved yourself some stock, or the spindle, or the tool, or time...
If you have already zeroed the Z-height, you can manually enter G0 Z+50
to raise the head 50mm. This will allow you to reverse the operation if you are satisfied with how the machine is moving during the air pass.
These settings have been set to optimise for smooth(er) operation around corners. Consider this a coarse calibration. Prior to adjustment, toolpaths around corners were jerky and violent.
Settings:
Steps Per | Velocity | Acceleration | |
---|---|---|---|
160 | 8000 | 1000 | = Bad - Judder on start and stop |
160 | 8000 | 250 | = Good - Smooth acceleration on jog |
160 | 8000 | 175 | = Best - Smooth acceleration, no judder. (May need to reduce Acceleration further) |
G-Code is a common language used for controlling CNC machines of all types, including Bessie. It's saved in a basic text format which is relatively easy to read. It is very useful to have a basic understanding of how it works, and to know the most common commands.
A useful article explaining G-Code structure and usage.
G-Code can be entered directly into the Mach3 terminal in the second 'MIDI' tab.
S10000 M3
S10000
= set spindle speed to 10000RPM (not actually 10000RPM due to known RPM issue)
M3
- Start
M5
- Stop
G0 X## Y## Z##
- Go to XYX location (absolute)
G0 X+10
(Raise 10mm - add before spindle start in G-Code)
G28.1 X## Y## Z##
- Set G28 safe retract location
G28
- Go to safe retract location (or machine home if not set)
G53
- Goto machine home
M30
- Program end
Using tools with a Dia. greater than 6mm will quickly demonstrate Bessie's torque deficit. Consider 6mm Ø tools a functional maximum unless working with particularly soft materials.
6mm 2 Flute flat endmill.
Feedrate: 4000mm/min
Optimal Load: 0.8mm
1.5mm Serrated edge mill
1.75mm 2-flute
Keep it slow. 1000mm/m or less to avoid chip-out.
Good results running a 6mm bit at 7000rpm with a feedrate of 6000mm/min with some chipout occurring. Recent runs with red router bits at spindle speed of '12000rpm' (so, 18000 rpm by the Graph of input vs output of RPM values) plunge rates of 200mm/min and feeds of 500mm/min produced nice results on ply. Wood chips for bulk removal should be just large enough to fall to the floor if dropped, rather than float down like dust.
Plunge speed of 100mm/min. Feeds of 600mm/min with a 3.175mm endmill works well. Cuts should not have burrs, shavings should have thin curls, or 1mm long chips.
Bessie is currently set up with an MQL (Minimum Quantity Lubricant) coolant setup. The system provides a limited mist of coolant at the tool and part through a nozzle. A venturi spray mist block (thanks Phil) is mounted next to the spindle. As air from the compressor passes through the block, it draws coolant into the block and expels it out through the nozzle as a mist. A thumb-screw controls the air flow and subsequent mist characteristics. Only a limited amount of fluid is required to provide adequate cooling, you should be looking for a consistent low flow when setting the flow rate.
The change from flood cooling was made to allow for wood to be cut on the router. Previously organic material could not be cut as it would foul the cycled flood coolant system. MQL has no such limitation because the coolant is not cycled.
In order to cut any part, the stock needs to be held secure while this happens. This is called workholding or fixturing. When it comes to figuring out how to cut your part, you also need to know how to hold the stock in place in a way that won't interfere while it's being cut. This sounds simpler than it is until an issue arises.
We generally use table clamps that slot into the channels of the bed, or a vice to hold stock in place. How you set this up is entirely dependent on the operation.
At a minimum, you should be aware that it's easy to crash the spindle into your clamps or the vice. When generating your toolpaths, and when setting up your cut, you should be thinking about whether there will be enough clearance to avoid a crash.
Above is a typical table clamp setup. Note that the heel of the clamp should be raised higher than the top of the stock. An aluminium piece is set under the bolt to spread the load so the bolt doesn't dig into the surface of the bed. The wingnuts should be very tight.
Underneath the stock is waste material so that the tool can pass all the way through stock without making the bed.
Another shot of the table clamp. Ideally, the aluminium block would be more centred under the head of the bolt. In this case, the router path was very close to the table clamp. The risk of crashing the spindle into workholding is high. Fortunately in this case the stickout of the tool was large enough that the spindle could pass over the clamp.
Mostly we use tools that fit into spring collets which tighten securely around the tool when the locknut is tightened to the spindle.
The locknut is removed using 2 spanners that are kept near the machine. The direction of the thread is normal, so the nut needs to rotate clockwise to loosen from the spindle (when looking down at the spindle).
To remove the collet from the locknut, slide out the tool, then push the collet to the side to release it from the locknut.
Select a collet from the set which is the closest fit to your tool.
With the collet tilted, locate the groove of the collet over the eccentric ring in the base of the locknut. Then push the collet all the way in. It should give you a positive click and leave the face of the collet flush with the face of the locknut.
Insert the tool into the collet deep enough that the collet can securely grip the shaft, but no so deep that the collet will grip the flutes of your tool. Also, be aware of your stock thickness and whether there is enough stickout to achieve your cut.
Screw the locknut and collet back onto the spindle and tighten with the spanners being careful not to over-tighten. This method is very effective at holding the tool, there is no need to apply excessive force.
Give the spindle a spin by hand to provide a quick visual check that the tool doesn't have excessive runout / isn't misaligned.
There will be a setting for climb or conventional milling for most operations. These settings relate to the direction of the movement of the cut in relation to the rotation of the tool. The diagram above should help explain the difference.
Typically, you'll want to use climb milling for most operations.