Files
SyncHome/trunk/Arduino/sketch_uno_micromill/Appendix_C.txt
2023-03-13 09:05:51 +00:00

78 lines
5.2 KiB
Plaintext

/*
Appendix C
Mill operation
1. Understanding G-Code
There is a standard - DIN66025/ISO6983 - for G-Code, it looks quite simple and handy. As often, in common this
is true, but the standard leaves plenty room, the real world uses it and the devil is in details.
Never use any G-Code file without proper testing. Most automatically created files need manual care before they
can be sent to the machine. Be sure to understand at least the G-Code basics, else the learning curve (like mine)
will be exponential but repair intensive.
Since the mill is very slow, it will easily take some hours for even rather simple objects. The longer a job takes,
the more likely something is to come in between. To be able to stop a job and continue it somewhat later, the code
producer should use absolute coordinates. This also makes it easy to split the job in advance. Keep an eye on the
tools motor temperatur, maybe use the TOOL_AUTO_OFF feature to let it cool while moving in G0.
2. Setup + Finetune Settings
First important point is to make sure that all axes do move in the correct directions. Turning the ULN connectors
is the easiest way here, or set stepper_pins appropriate. Put the axes manually somewhere in middle position before
switching on the power. If endswitches are enabled and homing set true, all axes shall move towards the switches.
Once the table moves correctly, the endswitch settings must be tuned. In normal operation, homing cycle drives the
axes into negative space until the endswitches go high. This is the MIN position. Depending on the switch used, it
should be 1-3 mm less than the 0 position to make sure the switch is released a bit before 0.
The third point is experimental and may take some time. Depending on material and tool, the path depth and move
speed has to be be determined. The most important point here is to prevent slip, which is hard to detect. One
way is to run a gcode test file several times, increasing the feedrate a bit each time. As long as the xy 0 pos
the machine goes to at jobs end is exactly the same it was in the beginning things look good but it is hard to
detect offets below 0.2mm.
Depending on the material and the tool there will also be aweful vibration and resonance issues. A slim rubber
pad between table and workpiece may help.
As rule of thumb a 1mm diameter tool at 10k rpm will have a cut speed of ~32m/min. For a cut depth of ~2mm
generic cut speeds are 40-120 for steel, 100-500 for aluminium, 100-200 for copper, 50-150 for plastic and
up to 3000 for wood.
For the max feedrate cut speed, numbers of tools cutting edges, tool rpm and a material specific value are
multiplied. With the given tool at 10krpm there are calculated speeds like 4mm/min for plastic, acryl etc,
1mm/min for light metal and less than 1mm/min for steel. Calculators are on the net.
In firmware there are two ways to set the feedrate. Using a separate F comman or G94 F, the default feedrate
is set. G0 and G28 always use the max feedrate. All other commands use the default feedrate or the feedrate
given in the command itself. The drill commands have a separate drill feedrate that isnt affected by default
feedrate. $G displays the current work rate. See Appendix A Feedrate issues.
3. G-Code Applications
For first start, F-Engrave is not a bad place for a kickoff. Simply enter the mills limits, be sure to
click Z working in negative, set arc none in settings and then export your word ir picture. In the next
step it is suggested to run a G-Code simulator like CAMotics. If this shows the path as expected, it
should be ready for production. Double check the feedrate, then maybe it is time to give the mill a try.
Using check mode ($C) helps to detect errors, maybe use a separate Nano with homing and endswitch disabled
and a 250 timer to see if the file runs correct in senders visualizer. Also a pen attached to the tool may
help to see how things will run.
Having more sophisticated constructions in mind, a quite poerful way to go is FreeCAD. It still is in early
state of development, expect many things work only in their "specific" way, often enough a part file needs
to be redone from scratch because things went haywired. Especially in Paths workbench. Once the Machine and
Tool is set up, be sure to click the whole part in project tree before marking a surface and creating a path
object. From Versions 0.14 seems to create paths ok, 0.15 and 0.16 bummer, 0.17 looks like Paths is working
again. Starting with a very simple object like a block with a pocket is strongly suggested.
As from Freecad - other CAD's may be same - Parts are sometimes created using all coordinate system quadrants.
If defining coordinate axes as part of the construction - some tutorials suggest to do so - it might come to
issues later in path, if the object has to be moved to fit into the build coordinates of the mill.
In common construction the object is built in positive Z quadrant. To ease things here, M934 can be used to
set a Z coords translation to negative. This way the produced gcode can be used directly. Use M935 to disable
the translation (default setting). If this feature shall be used, in Freecad Machine settings set Z MAX 20mm
MIN 0mm and place a M934 P-20 into the gcode header.
A micromill post processor script is available.
*/