First CNC mini-mill part
Setting up the mini-mill went fairly smoothly but it took awhile to get the all the settings in EMC2 correct. For our first CNC part, I took the hometomakearobot.us logo and extruded it onto a block to create the 3D solid model shown to the left. I figured this part would be a good one to test our milling capabilities. Even though the part doesn’t provide any function, it’s complex enough to require a working cnc mill.
I tried numerous CAM (computer aided manufacturing) programs without success. My brother finally stumbled upon a program called EstlCAM 3D at download.com. The CAM program is in German, but the version you download from download.com is in mostly english. EstlCAM is very easy to use and creates clean G-Code. It’s shareware and only mills 80% of the part until registered but the registration is only $22 dollars!
Here’s the g-code that EstlCAM provided for the above solid model:
% G01Z.0787F5.3937 G01X0Y0 G01Z.0787 G01Z.0787F5.3937 G01X0Y0 G01Z.0787F5.3937 G01X0Y0 G01Z.0787 G01X0Y1.7941 G01Z.002 G01X2.002 G01Y1.7764 G01X0 G01Y1.7587 G01X2.002 G01Y1.7409 G01X0 G01Y1.7232 G01X2.002 G01Y1.7055 G01X0 G01Y1.6878 G01X2.002 G01Y1.6701 G01X0 G01Y1.6524 G01X.6614 G01X.6732Z-.0217 G01X1.3524 G01X1.3642Z.002 G01X2.002 G01Y1.6346 G01X1.5354 G01X1.5236Z-.0217 G01X1.5 G01X1.4882Z.002 G01X1.3819 G01X1.3701Z-.0217 G01X.6496 G01X.6378Z.002 G01X.5787 G01X.5669Z-.0217 G01X.502 G01X.4902Z.002 G01X0 G01Y1.6169 G01X.4606 G01X.4724Z-.0217 G01X1.3937 G01X1.4055Z.002 G01X1.4587 G01X1.4705Z-.0217 G01X1.5591 G01X1.5709Z.002 G01X2.002 G01Y1.5992 G01X1.5886 G01X1.5768Z-.0217 G01X.4547 G01X.4429Z.002 G01X0 G01Y1.5815 G01X.4311 G01X.4429Z-.0217 G01X1.5886 G01X1.6004Z.002 G01X2.002 G01Y1.5638 G01X1.6063 G01X1.5945Z-.0217 G01X.437 G01X.4252Z.002 G01X0 G01Y1.5461 G01X.4193 G01X.4311Z-.0217 G01X1.5945 G01X1.6063Z.002 G01X2.002 G01Y1.5283 G01X1.6122 G01X1.6004Z-.0217 G01X.4311 G01X.4193Z.002 G01X0 G01Y1.5106 G01X.4134 G01X.4252Z-.0217 G01X1.6004 G01X1.6122Z.002 G01X2.002 G01Y1.4929 G01X1.6181 G01X1.6063Z-.0217 G01X.4252 G01X.4134Z.002 G01X0 G01Y1.4752 G01X.4193 G01X.4311Z-.0217 G01X1.6004 G01X1.6122Z.002 G01X2.002 G01Y1.4575 G01X1.5945 G01X1.5827Z-.0217 G01X.437 G01X.4252Z.002 G01X0 G01Y1.4398 G01X.4429 G01X.4547Z-.0217 G01X1.5591 G01X1.5709Z.002 G01X2.002 G01Y1.422 G01X1.5472 G01X1.5354Z-.0217 G01X.4724 G01X.4606Z.002 G01X0 G01Y1.4043 G01X.4961 G01X.5079Z-.0217 G01X1.5236 G01X1.5354Z.002 G01X2.002 G01Y1.3866 G01X1.5236 G01X1.5118Z-.0217 G01X.5256 G01X.5138Z.002 G01X0 G01Y1.3689 G01X.5197 G01X.5315Z-.0217 G01X1.5059 G01X1.5177Z.002 G01X2.002 G01Y1.3512 G01X1.5118 G01X1.5Z-.0217 G01X.5374 G01X.5256Z.002 G01X0 G01Y1.3335 G01X.5433 G01X.5551Z-.0217 G01X1.4764 G01X1.4882Z.002 G01X2.002 G01Y1.3157 G01X1.4764 G01X1.4646Z-.0217 G01X.5728 G01X.561Z.002 G01X0 G01Y1.298 G01X.5787 G01X.5906Z-.0217 G01X1.4469 G01X1.4587Z.002 G01X2.002 G01Y1.2803 G01X1.4114 G01X1.3996Z-.0217 G01X.626 G01X.6142Z.002 G01X0 G01Y1.2626 G01X.6969 G01X.7087Z-.0217 G01X1.3406 G01X1.3524Z.002 G01X2.002 G01Y1.2449 G01X1.2638 G01X1.252Z-.0217 G01X.7854 G01X.7736Z.002 G01X0 G01Y1.2272 G01X.7913 G01X.8031Z-.0217 G01X1.2224 G01X1.2343Z.002 G01X2.002 G01Y1.2094 G01X1.2224 G01X1.2106Z-.0217 G01X.8209 G01X.8091Z.002 G01X0 G01Y1.1917 G01X.8268 G01X.8386Z-.0217 G01X1.1988 G01X1.2106Z.002 G01X2.002 G01Y1.174 G01X1.2047 G01X1.1929Z-.0217 G01X1.1634Z-.0098 G01X.9626 G01X.9331Z-.0217 G01X.8563 G01X.8445Z.002 G01X0 G01Y1.1563 G01X.8563 G01X.8681Z-.0217 G01X1.0098Z-.0098 G01X1.1929 G01X1.2224Z.002 G01X2.002 G01Y1.1386 G01X1.2224 G01X1.1929Z-.0098 G01X.8917 G01X.8622Z.002 G01X0 G01Y1.1209 G01X.8622 G01X.8917Z-.0098 G01X1.2047 G01X1.2343Z.002 G01X2.002 G01Y1.1031 G01X1.252 G01X1.2224Z-.0098 G01X.8917 G01X.8622Z.002 G01X0 G01Y1.0854 G01X.8504 G01X.8799Z-.0098 G01X1.252 G01X1.2815Z.002 G01X2.002 G01Y1.0677 G01X1.311 G01X1.2815Z-.0098 G01X.8622 G01X.8327Z.002 G01X0 G01Y1.05 G01X.815 G01X.8445Z-.0098 G01X1.2933 G01X1.3228Z.002 G01X2.002 G01Y1.0323 G01X1.3346 G01X1.3051Z-.0098 G01X.8327 G01X.8031Z.002 G01X0 G01Y1.0146 G01X.7913 G01X.8209Z-.0098 G01X1.3169 G01X1.3465Z.002 G01X2.002 G01Y.9969 G01X1.3642 G01X1.3346Z-.0098 G01X.8091 G01X.7795Z.002 G01X0 G01Y.9791 G01X.7677 G01X.7972Z-.0098 G01X1.3642 G01X1.3937Z.002 G01X2.002 G01Y.9614 G01X1.4469 G01X1.4173Z-.0098 G01X.7854 G01X.7559Z.002 G01X0 G01Y.9437 G01X.7441 G01X.7736Z-.0098 G01X1.4232 G01X1.4528Z.002 G01X2.002 G01Y.926 G01X1.4587 G01X1.4291Z-.0098 G01X.7736 G01X.7441Z.002 G01X0 G01Y.9083 G01X.7382 G01X.7677Z-.0098 G01X1.435 G01X1.4646Z.002 G01X2.002 G01Y.8906 G01X1.4705 G01X1.4409Z-.0098 G01X.7559 G01X.7264Z.002 G01X0 G01Y.8728 G01X.7087 G01X.7382Z-.0098 G01X1.4409 G01X1.4705Z.002 G01X2.002 G01Y.8551 G01X1.4705 G01X1.4409Z-.0098 G01X.7146 G01X.685Z.002 G01X0 G01Y.8374 G01X.6555 G01X.685Z-.0098 G01X1.4409 G01X1.4705Z.002 G01X2.002 G01Y.8197 G01X1.4705 G01X1.4409Z-.0098 G01X.6909 G01X.6614Z.002 G01X0 G01Y.802 G01X.6673 G01X.6969Z-.0098 G01X1.4409 G01X1.4705Z.002 G01X2.002 G01Y.7843 G01X1.4705 G01X1.4409Z-.0098 G01X.6969 G01X.6673Z.002 G01X0 G01Y.7665 G01X.6732 G01X.7028Z-.0098 G01X1.4409 G01X1.4705Z.002 G01X2.002 G01Y.7488 G01X1.4528 G01X1.4409Z-.0276 G01X1.4232Z-.0098 G01X1.3406 G01X1.3228Z-.0276 G01X1.1457 G01X1.128Z-.0098 G01X.7028 G01X.6732Z.002 G01X0 G01Y.7311 G01X.6791 G01X.7087Z-.0098 G01X1.0335 G01X1.0512Z-.0276 G01X1.435 G01X1.4469Z.002 G01X2.002 G01Y.7134 G01X1.4409 G01X1.4232Z-.0276 G01X.9744 G01X.9567Z-.0098 G01X.7087 G01X.6791Z.002 G01X0 G01Y.6957 G01X.685 G01X.7146Z-.0098 G01X.8976 G01X.9154Z-.0276 G01X1.3878 G01X1.4055Z.002 G01X2.002 G01Y.678 G01X1.3819 G01X1.3701Z-.0276 G01X.874 G01X.8563Z-.0098 G01X.7205 G01X.6909Z.002 G01X0 G01Y.6602 G01X.6909 G01X.7205Z-.0098 G01X.8327 G01X.8504Z-.0276 G01X1.3642 G01X1.376Z.002 G01X2.002 G01Y.6425 G01X1.3642 G01X1.3524Z-.0276 G01X.8268 G01X.8091Z-.0098 G01X.7264 G01X.7087Z-.0276 G01X.6969Z.002 G01X0 G01Y.6248 G01X.7028 G01X.7146Z-.0276 G01X1.3465 G01X1.3583Z.002 G01X2.002 G01Y.6071 G01X1.3524 G01X1.3346Z-.0276 G01X.7205 G01X.7087Z.002 G01X0 G01Y.5894 G01X.7264 G01X.7382Z-.0276 G01X1.3287 G01X1.3406Z.002 G01X2.002 G01Y.5717 G01X1.3287 G01X1.3169Z-.0276 G01X.8209 G01X.8091Z.002 G01X0 G01Y.5539 G01X.8268 G01X.8386Z-.0276 G01X1.3051 G01X1.3169Z.002 G01X2.002 G01Y.5362 G01X1.3051 G01X1.2874Z-.0276 G01X.8445 G01X.8327Z.002 G01X0 G01Y.5185 G01X.8445 G01X.8563Z-.0276 G01X1.2697 G01X1.2815Z.002 G01X2.002 G01Y.5008 G01X1.252 G01X1.2402Z-.0276 G01X.8799 G01X.8681Z.002 G01X0 G01Y.4831 G01X.8917 G01X.9035Z-.0276 G01X1.1929 G01X1.2047Z.002 G01X2.002 G01Y.4654 G01X1.1516 G01X1.1398Z-.0276 G01X.9449 G01X.9331Z.002 G01X0 G01Y.4476 G01X2.002 G01Y.4299 G01X0 G01Y.4122 G01X2.002 G01Y.3945 G01X0 G01Y.3768 G01X2.002 G01Y.3591 G01X0 G01Z.0787 G01Z.0787F5.3937 G01X0Y0 % |
Since EstlCAM only works in metric units and I work in english units, we had to run the g-code thru a program that converts it called “NC code scaler”. We also had to manually modify the feed rates, but you could adjust them accordingly in EstlCAM beforehand. Here’s our first CNC machined part:
As you can see the engraving didn’t produce the robot visor details. This is due to the fact the end mill we used was too large to get into those details and EstlCAM knew this fact and didn’t put in the g-code to produce it. There is a lot of information to know in order to machine good parts, that’s where a 3D printer would have been easier. However, 3d subtractive milling is still the best way to make robot parts and you can work in metal too. Future work includes understanding feed rates, depth of cuts, engraving versus milling, the list goes on and on, but we’ve demonstrated for the moment that future robot building will be much easier and a hell of a lot more precise too!