Search This Blog

Friday, September 25, 2020

Quick, easy, cheap sprinkler guards

The new house has a sprinkler system. Ended up having to replace 3 heads because they'd been chewed up by edgers/mowers, so I decided to do something about that. I don't like the concrete rings...they're bulky, wide, hard to cut into partial rings, you can't adjust their depth (they sit on the ground) so if the sprinkler head is taller than them, then they don't work, etc. 

I ended up buying a 10ft piece of 4" PVC "gravity sewer pipe" and using a miter saw to cut it into ~5-6" long pieces. It's schedule 10, so pretty thin, which makes it easier to hammer into the ground to the depth needed for each sprinkler. I did this with a piece of wood on top of them and a 4lb sledge hammer. I even cut some into partial rings for places where a full ring wouldn't fit, like when a sprinkler head was up against something concrete, e.g. driveway. Bonus: the pipe is green, so it doesn't look bad in the yard.

Partial ring

I think they look better than concrete rings. They're cheaper, too. Win-win-win


New house, new garage

Ugh, 4 months since the last update. Lots of stuff going on. We bought a new house, and I've finally started to put the garage together. I've been cleaning, painting the walls, purging junk, unpacking, setting up shelves, etc. 

These made it pretty much unscathed. Time to restart assembly of CubeXY!

Some of the rockets didn't make it...oops.

We had a lot of tools, but I purchased some more, mainly off of craigslist or fb marketplace. 

Mini hydraulic press, pressure washer

Wet tile saw

There's a table saw under there

Tooling cabinet I got from a machine shop auction.

Bins full of metal stock and tooling that was in the cabinet.
I'll be replacing these cabinets/workbench later.

Got a great deal on this Kennedy Toolbox

There's a craftsman bandsaw under there that I need
to reassemble. Bought new bolts for it.

32" radial drill press that I decided I don't really need and am trying to sell.

Nice floor standing drill press.

33 gal, 6HP compressor. New regulator, made the handle out of 
PVC+wooden dowel. The plastic cover came off another one. 

Lots of good stuff. The compressor didn't come with a handle, and the regulator was broken. It also didn't have the plastic pump cover, but I luckily found a very similar era one on FB marketplace for $30. Took the cover from that. I had already made the PVC handle, but I'll keep the metal handle. The $30 actually worked, despite being super rusty. Turns out that 9/10 of the parts are compatible, so I stripped them all of for spares: 

Spare compressor parts

That left the tank...eek. Very rusty. I really didn't want to make a bomb. Hydro-static testing is fairly safe because water is basically incompressible. As long as you get all of the air out, there won't be much stored energy in the tank. 

Lots of rust...the inside was worse.

Filling with garden hose after plugging the other two holes. 

Very full. Shook it around to get air bubbles out. 

Brass schrader valve in a 1/2 - 1/8 NPT adapter

$20 300 psi AAA brand tire inflator from amazon
Only air in the system was the compressor air hose.

I had to clamp the compressor in place to keep it from shaking around. There's a little USB snake camera held looking at the pressure gauge. I turned the compressor on, then got in my car and plugged it in while watching the camera feed on my phone. Unplugged it to turn it off. Let it get to 200 psi (1.6x 125 psi, which is operating pressure). Then held it there for 10 minutes. The schrader valve was leaking...could hear the hiss, it was about 5 psi/minute, so I had to repress a few times. But it passed! No water leaks. Total cost was about $35 for the compressor and fittings. You could probably figure out a way to do it without the $50 USB snake camera...maybe a gauge on an air hose T'd off of the schrader valve fitting. 

Not that those boards would do anything if it blew, 
but they made me feel better.

Used one of these to depressurize it. 

Sprayed water everywhere. 

Removed schrader valve and drain plug. 
30 gallons is a lot of water...

I'm letting it dry out now. Then I'll sandblast the outside, give it a coat of anti-rust primer, and paint the outside. Then the plan is to mount it on the wall as a second storage tank. The 33 gal compressor will normally be hooked up to it to provide air to my garage via a 50' retracting hose reel. When I need air elsewhere, I'll unhook the compressor, wheel it around, and leave this tank on the wall. 

My plan is to eventually turn the garage into a machine shop. I'll be insulating the ceiling and installing a window AC unit before next spring. Planning to save up for a CNC bed router, CNC mini-mill, and a CNC lathe. Possibly also a laser cutter. The garage is ~24'x24'x8', so it's not a lot of space, but I might be able to cram all of that in there. 

I also scored ~750ft of good quality Cat6 riser cable off craigslist for $25. I'm going to eventually wire the whole house with ethernet drops. 

We've done a ton of other projects...painting, new light fixtures, various minor repairs, etc. This was just what was in the garage this morning when I was taking pictures. I'll make some more posts later.  

Friday, May 8, 2020

CubeXY X-axis Re-redesign

One of the great things about hobbies is the lack of deadlines. Unlike in the real engineering-world, I can keep tweaking and perfecting designs as much as I want. This printer is turning out to be a great outlet for that.

I mentioned in an earlier post that the "12"mm SS rods that come with the CubeX are undersized. I finally measured them with a micrometer. They're 80um under, which for linear bearings, is WAY undersized. The THK linear bearing spec for 12mm LM shafts calls for -6 to -17 um. That probably contributed to the bad bearing wear I saw on the stock bearings. I purchased 4 new 12mm rods from PDTech on eBay: they actually listed a diameter tolerance spec, and they were case hardened, both of which are important for linear shafts (and neither are common for cheap chinese linear shafts). The only downside is that they're chrome plated steel, not stainless steel, but case hardened stainless steel shafts are very expensive, so I didn't buy those. I only purchased four since only four of them will have linear bearings on them. They ended up being about 11um undersized, which is right in the middle of the THK tolerance range. They result in noticeably smoother linear bearing movement and less (almost no) slop.

I purchased them long, partially because some of PDTech's non-standard lengths were actually cheaper than their standard lengths (455mm was cheaper than 450mm, not sure why), but mainly because I plan on making the printer taller. I mentioned this in passing in a previous post, but there is a lot of room between the top of the top aluminum cylinder shaft holders and the top of the acrylic shell. I can safely increase the length of the vertical shaft/rods by 40mm and still leave plenty of clearance between the hot end assembly and the lid. 40mm is convenient because the stock vertical shafts are 400mm long, and the stock X-axis shafts are 440mm long, so I can replace the 4x 400mm stock shafts with the two 440mm long old x-axis shafts (rear of printer) and two of the new tighter tolerance shafts (front of printer). I'll have to redrill 4 screw holes in the acrylic shell, and cut some acrylic out around the XY motors in the wire-mounting back plate, but that's pretty much it. Totally worth getting another 40mm of Z travel, for a total of about 325mm.

Taller CubeXY
While trying to find actual tension force measurements of belts in corexy printers (never found any), I stumbled across this interesting post on belt compliance. This person measured belt compliance at 10N preload (tension) + 10N. Basic 6mm GT2 fiberglass reinforced belt (like the kind I bought), has  modulus of 0.0067 %/N, while 6mm GT2 steel core belt has a modulus of 0.0024%/N. The given example is a 1kg carriage being accelerated at 3000 mm/s2 with a 1000mm belt. 1kg*3m/s2=3N. 0.0067%/N*3N = 0.02%. 0.0002*1000mm = 0.2mm, which is about half a nozzle width, which would probably result in very bad ringing. I had been planning to drive my corexy, which has approximately 2m long belts, at 6000+ mm/s2, with an approximately 1kg carriage. Doing this math for my printer yields 0.8mm of stretch, which is terrible. A steel core belt would be about 0.29mm of stretch. I bought some to try. The disadvantage of steel core belts is that they're heavier and stiffer, which means less power ends up in the motion of the carriage. Steel core belt minimum radius is also larger, mainly to prevent kinking and fatigue, so I may not be able to use them...we'll see. I'll probably start with fiberglass core belts. This post has a lot of details on belts.

X-axis Re-redesign

Due to the FEA results from the last post, I decided to completely redesign the X-axis to make it stiffer. 

The X-axis plate is flat now, and the pulley blocks also hold the linear bearings. The Hemera exttruder has been rotated 90 deg. The x-axis plate is 149g and made of aluminum. It's about 25% lighter than the previous steel design, and 45-75% stiffer, depending on the bending mode. It'll be machined out of scrap 1/4" ground plate. The pulley blocks will be machined from T6-6061 bar stock. The fan mount plate will be band sawed out of 1/8" aluminum plate, and I'm going to use flush press-in threaded inserts in it instead of threading it. The motor-carriage mount will be milled from 2x2" x 1/8" wall square aluminum tube, which holds the extruder motor on the inside almost perfectly. Unfortunately, almost all of the previous machining I did won't be used. Luckily, the nozzle ended up in very close to the same place, so the same bed plate can be used. I will have to print new bed mounts, though, because the bed has to be shifted in +Y 5mm. This system should result in  much stiffer X and Y axes. Here's a close up of the new extruder assembly:

This version is far less elegant than the previous one. The belt tensioner on the previous version was very simple and compact. This one uses the two stock X-axis belt tensioner cylinder things mounted inside of a 3D printed ratcheting assembly. I'll use a wrench on the printed hexes to tighten the belts, then tighten the button head screws down to hold the tensioner in position. Mounted off of that assembly is the inductive probe, which is conveniently closer to the nozzle now. The other side of the extruder has the fixed belt mount which takes each belt in and turns them 180 deg for plenty of belt engagement. Both the belt mount and radial fan are screwed to the 1/8" aluminum plate, which in turn is screwed to the side of the Hemera extruder motor. The fan location and duct are also less elegant. The previous duct completely encircled the nozzle. This one only has room to blow from one side. Because the belt heights are fixed by where the motors are mounted, and the requirement that belt segments be straight, the belt tensioner and fixed belt mount could only be located in the locations shown. Also, since Hemera was rotated so the length was along Y, the only place with room for the fan was on one of the X faces. Because the fan has its inlet on one side, that restricted the fan to the -X side. The fan also couldn't be located too far in +Y or it would impede the cooling flow from the hot end cooling fan. All of these things meant that the fan had to be mounted kind of high and in the location as shown. The LED light will be taped under the motor. I tried about every way I could think of to come up with a better way to configure the extruder assembly, but this was the best. While it's not as pretty or elegant, this should be a far stiffer and better performing design.

I've put in new material and screw orders. I should be able to finish machining the new X-axis plate next week. I'll start 3D printing the new plastic parts this weekend.

Tuesday, April 21, 2020

CubeXY Fabrication Part 3 and X-axis redesign part 2

I re-machined the pulley blocks today. They required a relief cut in them for the longer 450mm rail. Speaking of which, here's the "new" (ugh, see below) X-axis design.

Right pulley block

The x-axis plate is contoured for mass savings, which I extended to the 3D printed pulley blocks for aesthetics. The M3 screws were also shifted around some.

I also pressed-in the linear bearings to the old aluminum x-axis plate and test assembled it on the printer.

The good news it that is slides well, and I think I got the linear bearing spacing correct. The bad news is that this let me see a bending mode I hadn't thought of until now. Previously, I analyzed what I thought was worst case: both motors being used to apply max force such that the x-axis was maximally accelerated in y. I applied this y acceleration to the FEA model with both ends of the x-axis restrained. This is not the worst case, though. For corexy, in order to move diagonally, one motor applies force while the other does not. This causes both the X and Y axes to translate, resulting in diagonal motion. Here's the basic corexy belt layout I discussed a few posts ago:

If you spin the bottom right motor clockwise, for example, that will pull the x axis carriage in -X and the whole x-axis in +Y, resulting in diagonal movement. All of the belts are still tensioned, but belts H and D are tensioned more, by exactly the force required to accelerate the axes' masses, and that force is applied by the motor torque to the pulley. Because H (and D,  M and J, but they don't matter for this discussion) has more tension, there is a net torque on the X axis assembly about Z, which has to be countered by the Y axis linear bearings. Remember how I said linear bearings don't handle torque loads well? Oops. But there's another problem. If the X-axis is not very stiff, then the net force in segment H will cause the X-axis to be bent. My design is essentially a beam supported by two rollers, or if you think of the system as static, a pin (pulley P1) and a roller (the linear bearing under P2). This is causes a different mode shape, one that results in more deflection than the previously analyzed case, despite using the force of only one motor instead of two.

I removed the Y axis acceleration (left gravity), left the radial roller supports in the linear bearing holes, left the fixed support in one of the shoulder bolt (pulley) holes, and applied half the previous force (one motor only) to the other shoulder bolt hole. This caused negligible Z deflection, but the Y deflection of one side relative to the other was about 1.8mm! Yikes.

This is the bending mode I was seeing with just the linear bearings and aluminum x-axis plate (no steel rail)...I was able to move them about 5-10mm relative to each other. If there's any play at all in the bearings or frame (impossible to remove all of it), and if the beam connecting them isn't perfectly rigid (never is), then the linear bearings can move axially relative to each other. In the FEA case above, no displacement in X of the linear bearing surface was allowed (bearing or frame slop), so it's likely that the real world deflection would be > 1.8mm.

The frame will be stiffer when the 12mm rods/shafts are locked in place (set screws) and the acrylic shell is on, but that won't eliminate bending in the rods and aluminum brackets holding them. There's also no way to the play between the undersized rods (talked about previously) and the linear bearings...I can add some pretension, but I don't think it'll be enough. Accelerating much slower (~factor of 10, ugh) also fixes this problem, but slow printing was something about this printer I was trying to fix. Ultimately, the right way to handle this problem is to make the X-axis stiff enough to not deflect significantly, which I'm not sure how to do at this point.

The weird thing is that other corexy's aren't immune to this, including ones with rail guides. Linear rails are designed to handle torque, but they still don't limit axial motion, which is where this bending mode comes from. This X-axis design is actually stiffer than Railcore II's unsupported MGN12 rail, at least according to my FEA, so how does that printer work so well? This lead me to re-examine my model inputs, specifically what I'm using for force and acceleration.

I first used just the motor torque and pulley radius to calculate a force. I then used an online calculator for stepper motors that accounts for rotor inertia, applies a factor for reducing the holding torque to a more realistic torque value in order to reduce positioning error, and applies another factor for microstepping torque reduction. I could have written my own simulation program, and have for (much larger) linear motion applications before, but meh...if a calculator exists, why not use it. This dropped the max per motor acceleration to 3 m/s2 from a previous 32 m/s2. I also checked forums for maximum real world accelerations for other high performance corexy printers. It seems that 6-20 m/s2 are about the maximum. 20 m/s2 results in 200mm/s in 1mm and 0.01s. I'll probably redo these analyses with that.

Update: I re-ran the final design with 20m/s2 and 6m/s2. 2*20m/s2 in case 1 (the bending mode shown previously) resulted in a Y deflection of 0.062mm, and 0.55mm at the nozzle and 1mm at the unconstrained y bearing block for case 2 (the bending mode shown above). 2*6m/s2 in case 1 resulted in a Y deflection of 0.017mm, and 0.16mm at the nozzle and 0.3mm at the unconstrained y bearing block for case 2. The Y deflection for 20m/s2 is still unacceptable, and I'll probably have bad ringing at 6000mm/s2 if the motion is somewhat diagonal. Not good.

Sunday, April 19, 2020

CubeXY Fabrication part 2, and X axis plate redesign

Made some more progress fabricating.

I made 4 brass soldering iron tips for melt-in inserts. The brass rod cost $6 (only used half of it), and it took about an hour to turn these.

I designed them for combination US and metric. They cover M2-M5 and 4-40 - 10-32.

I milled the bed plate (with a lot of help, thanks Anthony). While programming prototrak is like riding a bicycle for me, mastercam apparently isn't.

bed being milled
The 1/4" cast aluminum plate stock, purchased from midwest steel supply, arrived with a few pits in it. I guess despite being ground, basic material handling of these large sheets results in pits. One of the mill clamps also left a noticeable dent in an edge. Otherwise, it came out well. I'll probably end up lightly sanding the whole top anyways to improve bonding. 

Next was test milling linear bearing holes to find a good press-fit diameter. 

I had to turn a small part to push this out after I pressed it in.
Then actually milling the x-axis plate (again, thanks Anthony). 

This felt a little flimsy. Uh oh... I went back and checked math/FEA. First thing I noticed was that the big chamfers on each side interfere with the X-axis carriage at both travel limits. Oops. I calculated what the max possible acceleration of the Y-axis could be given it's estimated mass (~1kg), the motor torques and inertia, etc. Came out to about 64 m/s2, which is likely an over estimate because it doesn't account for friction or microstepping losses. I used that and 1g applied to a mock extruder assembly, the X-axis rail, and X-axis plate in an FEA model. I added radial restraints to the inside of the linear bearing holes and fixed constraints in the shoulder screw holes. The parts were "bonded"...bolt contacts are a pain to add in solidworks simulation, and they really slow it down. Considering the close screw spacing, I expect maybe 5% more deflection in reality than predicted by the bonded contacts. The results showed a max deflection at the nozzle location of about 0.19mm in Y and 0.07mm in Z. Some of the Z deflection came from 1g, which will be accounted for because that's constant. The rest came from torquing of the X-axis plate. That amount of Z is concerning,'d probably cause poor bonding in one direction and extruder skipping in the other direction. The Y deflection is also concerning...that'd definitely be noticeable, and probably manifest as bad ringing or bulging layers. I tested both forward and reverse acceleration to see which was worse. I also did a mesh independence test. I then started modifying the design and running FEA. Took about 30 iterations, but finally settled on something better. 

I targeted half of both of the baseline deflections as my goal. I figured out I didn't have room in the Y-axis to make the plate thicker, which would have been the best way to improve bending stiffness due to Y-axis acceleration. So the plate can't be thicker than 1/4". Tests making the thin beam portion slightly wider helped Z deflection some, but didn't significantly help Y. I also tried making it thicker just around the linear bearings, where I did have some room to make it thicker, but that didn't help very much. The stress contours showed that almost all of the material around the linear bearings, except the portion near the thin rail mount beam, was essentially unloaded. Since I couldn't make the rail mount beam thicker, I had to change materials. Steel and stainless steels have a modulus of elasticity about 3x higher than aluminum. Unfortunately, they're also about 3x denser. I decided on SS304 because I can buy it for not much more than carbon steel, and it won't rust. One small advantage of using SS304 is that it's CTE will match that of the rail (some steel alloy) better than aluminum. I realized that extending the rail from 430mm long to 450mm would stiffen the transitions to the rail mount beam by effectively making that region thicker. Final results: Y deflection of 0.11mm and Z deflection of 0.038mm, 2x the mass of the X plate (about 10% more moving Y mass). Not terrible, I got most of the way to the 1/2 deflection goal. 

(Preliminary) Design of new X-axis plate

Final FEA run,100x exaggeration, showing contours of Y-axis deflection 
Contoured ends and pockets under the rail resulted in about 30% mass savings over solid. I also redesigned the X-axis belt tensioner part to accept the chamfers. The pulley blocks will need a chunk milled out for the longer rail and a M3 hole relocated, and the linear bearing blocks will need to be re-designed and re-printed. 

I'll probably go ahead and press the linear bearings into the old x-axis plate and use it to test the Y-axis shaft spacing and motion. 

To do:
1. Finalize re-design
2. Buy a longer MGN9 rail. oof
3. Buy a piece of SS304 bar stock
4. Re-machine pulley blocks
5. Re-print linear bearing blocks
6. Mill new X-axis plate
7. Get back on track.

Sunday, April 12, 2020

CubeXY Fabrication Part 1

Most of the 3D printed parts have been printed. All done on my Wanhao I3. Here's a pic of most of the parts that have been fabricated so far:

Apologies for the stained garage floor
The following is a picture of one of the top front rod holder/pulley blocks having one of its pockets CNC milled. Turns out ProTrak mill programming is like riding a bicycle.

If you look closely at the vise, you'll see two black vise blocks. These were 3D printed solid, and have a cylinder boss that interfaces with the 12mm rod holes. They allowed me to align the part. I then used a gauge to pick up the inside of the other 12mm hole, the center of which became my zero.

The last few 3D printed parts are currently printing:

The following picture series shows modifications to the acrylic shell.

Taped-on paper template + coping saw
Finished screen hole. Used a file to clean up edges
Test fitting the bezel
Screen and bezel installed!
Letters glued on
Template for power socket
Power socket installed. I actually cut out the corners shown in the
previous picture so I could orient the socket the other way around.
Left to fabricate:
  • CNC mill Y-axis pulley blocks
  • CNC mill X plate
  • CNC mill bed plate
  • Turn brass melt-in insert soldering iron tips
  • Drilling and installing melt inserts
  • Wiring
After that, lots of assembly.