Tag Archives: pocketnc

New machine day: Vibratory tumbler

To date with my machined parts, I’ve mostly left everything in an “as-machined” state.  As I get ready to make some servos where I care at least a little about how they look, I decided to invest a little in surface finish options.  I started using some Scotch-Brite, which gave passable results for some components, but it was hard to be consistent and the final results were always somewhat anisotropic.

Thus, a new vibratory tumbler!

dsc_0323

This is designed for polishing ammunition cases, but works fine for any metal parts that aren’t too large.  I’ve been able to fit entire back housings from the mk2 servo into it, although at that size the polishing isn’t super efficient.

The resulting parts look pretty decent for features that the media is able to reach, definitely better than my hand attempts:

dsc_0352
Left: as machined, Center: Hand Scotch-Brite, Right: Tumbler

 

mk2 leg knee stud

One of the parts on the original quad A0’s leg that was prone to failure was the “knee stud”, a little cylinder that acted as the mating interface between the upper leg and the lower leg.  It directly attaches to the upper leg, and has bearings that ride between it and the lower leg.  The entire tension of the leg belt is born in shear by this part.

20200206-knee-stud

In the mk1 leg, this part was 3d printed with heat set inserts used to form the threaded holes.  This mostly worked, although occasionally the stud could shear along the 3d printed lamination lines.  Thus, for the mk2 leg, I’m making this part out of 6061.

dsc_0204-1

The first op takes a 0.875 inch cylinder, and does all the work on one of the sides.  That includes roughing it down to length, getting the outer diameter that the bearing rests on accurate, and drilling and threading the holes.

dsc_0222
5x knee studs with the first op done

At that point, the part is turned over and bolted into a 3d printed fixture.

dsc_0223

Then, all the tool paths are repeated on the other side, as well as the middle being cut away.  I didn’t really worry about surface finish on the middle section, since it will never be seen.  This of course would be much easier on a CNC lathe with live tooling, but hey, you use what you’ve got!

dsc_0228
All 5 that I made

Making the reduced weight servo mk2

Earlier I described my design plan for reducing the overall mass of the moteus servo mk2.  Constructing a prototype of this turned out to take many more iterations and time than I had expected!  Along the way I produced and scrapped two front housings, two outer housings and a back housing.

dsc_0095
Soooo much PocketNC time for naught!

I made one complete prototype which only had the weight reduction applied to some of the parts and lacked a back cover and any provision for a wire cover.  It was the one from the moteus controller r4.1 juggling video:

dsc_0098

dsc_0096-1

Because of the multiple tries on the large-for-me front and back housing, I had to make soft-jaws and prepare stock in a more efficient manner.

I also had to get new workholding solutions for the PocketNC in the form of the wcubed vise.

Design updates

Every one of the pieces got reworked in some manner or designed from scratch for the things that did not exist previously.

Front housing: Here I iterated on how much material to remove from the central cavity.  Initially I removed more, but it gave the primary output bearing problems to be loaded intermittently.  Also, I had adhesion problems with the ring gear when too little material was left there.  I settled on a continuous ring for the output bearing and a decent amount of material for the internal gear.

20200107-front-housing-left20200107-front-housing-right

Back housing: I tweaked the back housing mounting points so that the outer housing could be symmetric.  Also, I added a facility for the wire cover to guard the phase wires entering the controller.

20200107-back-housing-left20200107-back-housing-right

Outer housing: The outer housing was largely unchanged from my initial weight reduced design, although I produced one bad one due to a simple mistake locating the mounting hole, and a second because the stud lengths between the front and back were different in an earlier iteration.

20200107-outer-housing

Planet output: The planet output design changed only to add some weight reducing cutouts.  This was the last part for which I was still using mk1 servo spare parts for, so now I actually manufactured a prototype in house.

20200107-planet-output-left20200107-planet-output-right

Planet input: Here there are now weight reducing cutouts, and the mating studs use less material.

20200107-planet-input-left20200107-planet-input-right

Back cover: The back cover design is basically unchanged, I just had to make one for the first time.

20200107-back-cover-left20200107-back-cover-right

Wire cover: The wire cover is a part of the design I had deferred until now.  It bolts to the back housing and shrouds the phase wires.

20200107-wire-cover-right.png20200107-wire-cover-left

Assembly

Here’s some assembly pictures:

dsc_0093
All the machined pieces prior to assembly

 

dsc_0099.jpg
Bearings installed in front housing and planet output
dsc_0101
Planet output and ring gear installed
dsc_0103
Stator installed
dsc_0104
Planets installed and pins in planet input
dsc_0106
Rotor and outer housing
dsc_0112
Back housing, controller, and wire cover
dsc_0113
All put together!

DSC00168

DSC00171

 

wcubed vise for Pocket NC

Just because I’m generally looking for workholding solutions for the Pocket NC, I recently picked up a vise designed for it from wcubed.co.

vise.jpg

Unlike the stock vise that comes with the PNC, this has two movable aluminum jaws.  It can probably hold with greater force than the stock vise, since there is a larger contact area, although the screw mechanism doesn’t necessarily apply the force all that uniformly.  Also, since both jaws are movable, you have to take some care to either manually center things, or do some edgefinding, which isn’t terribly easy on a PNC.

What it does allow though, is clamping narrow things.  The stock vise bottoms out at around 0.5″.  This vise can go all the way down to 0.

That came in handy with some recent moteus servo parts that I wanted to do a “5-axis” style toolpath from 3/8″ thick bar stock.

dsc_0045
Is it really that tall?

The vise provided plenty of clamping power to hold and machine at the tip of this awkwardly long bar.  This cut does chatter like crazy, but that’s about what you would expect.

 

Preparing stock on a CNC Bridgeport

As mentioned previously, I made up some soft jaws to hold 4in round stock in a 6″ vise.  My goal was to prepare stock for workholding on the Pocket NC v2-50 to machine prototypes of the front and back housing for the reduced weight moteus servo mk2.

Now, I’ve used those soft jaws to trim down both pieces of stock to the correct length, bore a center hole, and in the case of the front housing, remove a bunch of additional material in a more expeditious manner.  There’s not much more to it than that, so here’s the video:

My first non-Fusion generated g-code

While working to build a weight reduced moteus servo mk2, I reworked my outer housing CAM to do all the machining on the Pocket NC v2-50.  For this part I didn’t necessarily need any challenging workholding and since I could get the stock in tube form, there wasn’t an inordinate amount of material to remove either.

The one challenge is that when mounted in the Sherline Chuck, the mill can’t actually reach all the way to the edge of the part without hitting the X travel limit (which is why most of the other 100mm diameter parts I do are fixtured slightly off-center).  In this case I tackled the problem in two iterations.

Iteration 1

For the first iteration, I just used an adaptive clear from 8 different directions to get most of the material out of the way, then used a multi-axis “flow” to finish the outer diameter causing the B axis to rotate while the end-mill remained roughly in place.  Then a subsequent pass came in from the top to clean up all the stuff that was left behind.

20191216-outer_housing_3_plus_1.png
Coming at the problem from all sides
20191216-outer_housing_od_finish
A “flow” toolpath to do the outside

This worked, but had a couple of problems.  First, it was slow.  A full cycle time was something like 10 hours, largely because all the adaptive clears spent a lot of time not removing much material and rapiding around.  Second, it left a non-ideal surface finish on the outer diameter.  The “flow” toolpath for some reason seemed to jiggle the mill around in X and Y for no great reason, and occasionally sped the B axis up by like 3 times the normal rate for a quarter revolution for no apparent reason.

Iteration 2

I figured this would be a lot easier if I could just have more control over the mill while spinning the B axis.  I could take all the extra material off the top using the side of the cutter, and produce a nicer surface finish on the outside.  Since that wasn’t possible within Fusion 360, I figured this wouldn’t be a terrible time to try doing some “manual” g-code for the first time.  The “manual” is in quotes only because I ended up writing a python script to do the actual generation.

To begin with, I started with the g-code from a Fusion 360 generated toolpath so that I could get the tool setup, probing and such configured in a way that I knew the Pocket NC would accept.  Then my python script had two options, the first generated the g-code to turn down all the material on the top of the stock to the final length.  It moved the mill into position, spun the B axis by 340 degrees, then gradually moved down a Y step while moving 20 degrees, then spun another 340 again until reaching the end.  This worked out just great, used much more of the cutting length of my Datron 4mm mill, and got done in something like 20 minutes.

The second option in the script was for turning down the OD to the final size.  This used the same basic approach, but instead of setting the Z past the inside of the tube, set it to exactly the OD.  The the Y stepped down in the same manner as before, just over a different range (the top of the finished part to slightly past the bottom).

This got me to where I could start on the internal features in only about 40 minutes of Pocket NC v2-50 time, which is a big improvement over a trip to Artisan’s Asylum and an hour on the lathe in order to get it set up, turning the part, and then cleaning up.

 

moteus servo mk2: Reducing weight

After having produced the first functional demonstration of the moteus servo mk2, my next step was to decrease the weight.  While I was at it, I made two other changes:

  • Axial connections: I switched to a design with entirely axial connectors, which removes the need for 4th axis machining when producing the parts.
  • Planet Input Bearing: I switched the planet input bearing to be inserted from the rotor side.  This way, the bearing is captured between the planet input and the rotor, rather than between the planet input and the gears.  That also improves the ability to assemble and disassemble the unit.

moteus_mk2_reduced_weight_2

Slimming down the housings drops around 100g from the total weight.  I may still try to take out some weight from the planet input and output, but they don’t weigh much to begin with so the potential gains there are small.

Next up I’ll manufacture and assemble this, then get it running.

 

Update on Pocket NC v2-50 Threadmilling

After machining a fair number of parts with threads, I’ve tweaked my thread milling feeds and speeds to both go a little bit faster, give a more reasonable fit, and remove the last bit of niggling interference with the M2.5 recipe.

I’ll list the changes here, and have updated the original recipe

Old New
Chamfer Width 0.10mm 0.05mm
M3 Pitch Diameter Offset 0.538mm 0.568mm
M3 Stepovers 10 6
M3 Repeat Passes NO YES
M3 Lead To Center NO YES
M2.5 Pitch Diameter Offset 0.430mm 0.480mm
M2.5 Stock to Leave 0.0mm -0.02mm
M2.5 Stepovers 7 4
M2.5 Repeat Passes NO YES
M2.5 Lead To Center NO YES

Notably, the “Lead To Center” option found on the linking tab is what prevents the M2.5 threads from rubbing when inserting in later passes.  Thanks to Quincy Jones from Implemented Robotics for that tip over in the mjbots discord!

 

moteus servo mk2: Back housing

The back housing is the final piece of the moteus mk2 servo that I wanted to prototype.  (The planet output is identical to the mk1, so I could use extra stock I had of it for the prototypes).  It is large, and only mates directly to 4 other things, which makes it a little less complex than the front housing.

back_housing_exploded1.png

back_housing_exploded2.png

Design

I had initially designed the back housing to mate to the as-yet-unannounced new version of the moteus controller, the r4.x series.  Unfortunately, I don’t have any of those working yet, so I tweaked the design to temporarily fit a r3.1 controller, which looks like this:

back_housing_exploded_r31.png

It mates to the rotor bearing in the center, the outer housing around the perimeter, provides support, mounting and heatsinking to the controller, and provides a mounting interface for the controller cover.

The only design intent change I made in the mk2 version here was to decouple the outer housing interface axially from the rotor bearing interface.  In mk1, the back housing was a flat plate.  Now in mk2, it is a very shallow cone, to slightly reduce the axial length of the large diameter outer housing and eventually make it possible to reduce the weight more because of it.

Manufacturing

Like the front housing, this was challenging to produce on the Pocket NC.  It required even more steps than the front housing, since it had no final flat surface which also had threaded holes.  Thus I ended up using a manual machining stage, followed by 3 operations on the Pocket NC.

Manual machining

The manual machining merely took 4in round stock that was rough cut to 5/8″ and faced it to approximately 15mm, then drilled a center 1/2″ hole.

dsc_1846

Operation 1

For the first Pocket NC operation, I used a 3d printed bracket to clamp the stock down, and then the four M2.5 holes used to secure the back cover were drilled and threaded.  These will be used in the next operation.

dsc_1827

Operation 2

In operation 2, those holes were used to bolt the stock to another 3d printed fixture, which was then bolted to the same 3d printed assembly as used in operation 1 (and for the front housing).

dsc_1833

Operation 3

The final step of operation 2 drilled and threaded 4x M3 holes on the back surface purely for fixturing purposes.  They are used to bolt the in-progress work to yet another fixture, so that the rest of the back can be machined.

dsc_1836

Video

Here’s a video showing all the machining steps:

 

moteus servo mk2: Front housing

The front housing is the most complex machined piece in the moteus servo mk2, as it was in the mk1.  It is relatively large and mates with many other components with the associated tight tolerance surfaces.  For mk2, the front housing is even larger in diameter, but otherwise has the same basic features.

front_housing_exploded.png

Manufacturing

Building a prototype of this was a real challenge given the tools I have available to me now.  For mk1, I didn’t even try and just had Xometry build my prototypes, and was lucky enough that the first ones worked.  My only CNC currently is the Pocket NC v2-50, which is just barely big enough to deal with this part, and has no convenient workholding that can be used for the stock.  Also, it has a low material removal rate, such that starting from stock here would be prohibitively time consuming.

Manual preparation

My approach was similar to that of the outer housing, in that I prepared the materials on the Artisan’s Asylum manual machines, then did the remainder of the machining on the Pocket NC.

I started with 4″ diameter round stock cut to 1″ +0/0.125:

dsc_1790

Then, on the mill, I faced the parts to the correct 22mm height:

dsc_1744

Then I drilled a 5/8″ hole close to the center:

dsc_1745

At this point, I switched to the lathe and performed some roughing operations, removing some of the OD and ID to reduce the amount of cutting the Pocket NC needed to do.  These were done with some 3D printed spacers to help align the stock in the lathe’s 4 jaw chuck.

dsc_1767

dsc_1772

dsc_1780

CNC work

Now that the part was roughed out, I first mounted it to the Pocket NC using a machined aluminum plug bolted to a custom 3d printed plate.

dsc_1779

dsc_1785

My first attempt used a 3D printed plug, which just delaminated and failed, thus I re-drilled some more holes for this first prototype offset from the original 8.  This operation threaded the holes on the front side, which are used to secure the piece for the second operation.

In the second operation, a second custom 3d printed fixture is bolted to the newly drilled front holes, and then bolted to a plate that is mounted on the B axis.  This enables the Pocket NC to reach the full back side and around the perimeter.  The bracket needed to be slightly offset from the center of the B-plate, otherwise the mill couldn’t reach all the way around.

dsc_1788

Datron 4mm endmill

This was the first part for which I used a Datron 4mm endmill on the V2-50.  It is definitely a good tool, although it has its shortcomings.  The biggest win is that it can remove material at more than double the rate of anything else I’ve got.  Granted, this isn’t exactly fast, but it is fast for a Pocket NC and makes parts like this front housing even remotely feasible.  It also produces a nicer surface finish, and has less deflection so straight walls are straighter.  For simple geometries I used 47k rpm, 0.25mm optimal load and 4mm stepdown and then slowed those down when dealing with the more complex shapes.

There are some downsides though.  One, it uses a 4mm collet, which negates much of the value in having the convenient tool changing handle.  It takes a longish time to switch collets so I have to arrange toolpaths to do all the 4mm collet things together.  Second, it produces more chips than just about any other tool I’ve used on the Pocket NC.  So much so, that I had to schedule breaks every 45-60 minutes in the program just to clear out chips.  Otherwise the chip tray became too full to use effectively.  For some geometries, such as when clearing pockets, the chips are thrown onto the X ways and require even more frequent clearing, otherwise the mill can’t move to the full X extent as it squishes the chips against the front side of the enclosure.

Machining video

Here’s a video of the third one I made, which used finalized fixtures for all operations.

Fit test

And here’s one of the front housings with all the various things mated in place.

dsc_1835

dsc_1834-1