The people at EMC2 Fest (webcam here) made this AVI of 5-axis machining a sphere using some custom g-code and povray.
I've been playing around with vpython, so you can expect some CAM-related posts on drop-cutter in Python and associated 3D views or animations in the not too distant future.
Here's a setup wit three vises for machining model yacht tiller arms. The parts are rotated 90 degrees between the first stage (leftmost) and the second stage (middle), and then again 90 degrees for the final stage (right). There's some rigid tapping at around 8:20.
By popular demand, some details on the spindle, spindle-motor, and VFD of our cnc-mill which just recently was able to do rigid-tapping.
The motor is a standard induction motor from ABB rated at 1.5 kW and around 3000 rpm (at 50 Hz AC). It has a lot of model identification numbers: "1.5 kW M2VA 80 C-2 3G Va 08 1003-CSB ". There are more details on this line of motors on ABB's site, but this kind of motor should be available from almost any manufacturer of industrial induction motors. Presumably torque drops off after the rated maximum rpm of 3000, but with small diameter tools we have been running the VFD up to 90 Hz or around 5400 rpm. When taking heavy cuts the VFD tries its best to keep the rpm up, but we do observe a 100-200 rpm drop when a 40 mm face-mill digs in. It might be possible to wire the encoder counts to the VFD and get a truly closed loop system but I doubt it's worth it.
The motor is connected to an Omron Varispeed V7 VFD with a maximum motor capacity of 1.5 kW. I can't find a good link on the international Omron site, so here's one in finnish instead (datasheet here). This is a sensorless vector-drive VFD, which is very important - with the previous simple V/f open-loop VFD we could only do machining close to maximum RPM and certainly would not have tried rigid-tapping. The electrical connection is simple with the VFD connecting to 1-phase AC mains and then the three phases from the VFD connecting to the motor.
The VFD is controlled by EMC2 using three general purpose IO pins on the m5i20. One pin sets the rpm (VFD reference frequency) using a pulse-train generated by the stepgen HAL component (step_type=2 ctrl_type=v). The two other IO lines set the VFD to either forward or reverse.
Below a close-up of the US Digital 500 ppr encoder mounted on top of the motor. There's a cooling fan driven by the main motor axle on top of the motor and we tapped the axle with a M6 thread, inserted an M6 set-screw, and coupled the set-screw to the encoder using plastic tubing. The encoder sits on a alu-bracket which is bolted to the fan grille. Z-axis servo in the background.
We've mounted a 500 cpr encoder on the spindle-motor which means it's possible to do rigid tapping. Above some spot-drilling, then a 2.5 mm drill, and then an M3 tap at 500 RPM and 0.5 mm Z-feed per revolution. Below the same thing but with a 5 mm drill and an M6 tap (1 mm Z-feed per rev).
Last weekend we made some rings for mounting a finderscope on the main telescope. Today I got the holes drilled and tapped so the rings are ready to use. The gallery below shows the adaptive pocketing paths that were used to cut both the part and the jig that allowed drilling the holes at +/- 120 degrees.
There is a video of the roughing operation at 2000 mm/min that will be online soon.
Jari made this steel bulb over the weekend. It has a slightly triangular cross section in the beginning which flattens out to a 'beaver-tail' at the end.
After the test run on Saturday Jari made a complete bulb in steel on Sunday. The first half can be milled with the stock clamped to the vises, but for the second half we need this jig. It's in aluminium and was fairly simple to make - which also means making a bulb mould in aluminium should be easy. If someone is interested in a bulb mould, do drop me an email.
Milling the second half proceeds exactly like the first half. Here the rough-program is run leaving about 1 mm minimum of material for the finish pass. We now adjusted the program for a bit faster feedrate and much faster plunge-rates as it is clear the program is error free and all plunges are outside the stock.
Surface finish is slightly better than on the trial bulb. The design weight was 2410 g and this one came out at 2416 g - pretty good. With a 100-150 g fin trimming the total weight close to 2500 g shouldn't be a problem.
As a first serious test-run for our now servo-controlled cnc mill we decided to make an IOM bulb out of steel. It ends up a bit bigger in volume when made out of steel compared to lead, but the difference isn't huge. Making it with a cnc mill allows designing almost any reasonable 3D shape you can imagine.
The mill worked fine during the whole run, about 3 hours of rough-cutting and 1.5 hours of finish cutting, but there was a slight operator error in the setup which means this bulb will likely not sail. The following error stayed low throughout the run, and the servos weren't even hot to the touch after the workout.
We used adaptive roughing paths and then a simple parallel finish path. Both operations are cut with an 8 mm flat cutter. The adaptive paths did seem to work, and on this size machine they are really handy since a slight over-cut will likely stall the spindle motor (1.5 kW and 5000 rpm, small by big-iron cnc-standards).
0:00 rough cutting begins. The stock is a 45 mm diameter steel bar, face-milled down on the sides so it can be clamped to the machine vises. Note the cutting feedrate which is 500mm/min and 'high-feed' in the (x,y)-plane when the tool is positioned for the next cut. When the tool lifts up to the clearance plane it does normal G0 (rapid) moves.
1:34 more rough cutting on the other end of the bulb.
1:58 still pics of the rough-pass almost ready
2:15 view of emc2 while cutting. Note pyVCP bar widgets showing commanded PWM to servo motors.
4:29 beginning of parallel finish cut. programmed feed 1500 mm/min which is attained briefly in the middle of the move.
5:00 more finish cutting, about 2/3 done.
5:50 another view of emc2 and the pyVCP panel. Note Y and Z motors working to position the tool. The following error for each axis is also shown.
6:15 still pictures of the finished bulb (well, one half of it anyway). Note at the front of the bulb we tried to run the program at 150% of programmed feedrate, but that didn't work at all and resulted in a poor surface finish. We did try to slow down also from 100% but that didn't improve the surface much.
Google video doesn't really do justice to the nice 640x480 video and 5 Mpix still-photos that come out of the N95, so if you've bothered to read this far, here's the original 100 Mb mp4 (I hope I don't exceed my bandwidth limit).