Search This Blog

Thursday, April 9, 2020

Introducing CubeXY

Wow, went off the deep end with this one. It's absorbed almost all of my free time the past few weeks. Given the current corona virus mess, stay at home order, etc, I guess it's good I've had a project.

I finally finished the design. The more I examined the original design, the more problems I found. I could probably write another post of just problems with the original design, but that's kind of pointless, so I won't. This post (sorry for the length) will detail the (re)design of this printer. Because I can't think of a better order, I'll start with a general overview, then go from the bottom up. Fabrication has begun, but that'll be in a separate post.

CubeXY

Without acrylic shell

Major changes include moving the bed frame around 180 deg, switching to a single extruder, making the bed significantly larger, and changing the X and Y axes to CoreXY. The name "CubeXY" comes from merging the original printer name, "CubeX", with "CoreXY".

Major features and specs:

  • CubeX Trio Shell + major frame components
  • E3D Hemera Extruder
  • 350x350mm build area
  • ~280mm usable Z height
  • CoreXY
  • Hiwin MGN9 linear guide for X-axis
  • Kinematic bed mount
  • Ground aluminum bed plate
  • Three independent steppers for Z, automatic bed leveling/tramming
  • Raspberry Pi 4B + 2x SKR v1.3 with TMC2209 drivers + 5inch HDMI touch screen
  • Internal horizontal spool holder

So, without further ado, let's start with the base.

Base

The screw on AL feet, multi-layer 3/16" acrylic base plate(s), 12mm stainless steel shafts, and AL base shaft holders are all used from the original CubeX. The main acrylic base plate has a few modifications. A bunch of holes will be drilled in it for M3 melt-in inserts, and a plug was 3D printed out of clear PETG to plug the largest hole, which was a clearance hole for one of their poorly designed, oft-jammed, proprietary filament holders.  

Original base plate. I have not added all the melt-in insert holes to CAD.

PETG plug. Screws in from the bottom with 7 M3 flat head screws.
Two holes for M4 melt-in inserts for the SSR.

Side note: McMaster "Tapered Heat-set inserts for plastics" are my absolute favorite way to add threads to plastic parts. After using about 500 of them on some (very large) acrylic research slosh tanks, I can say with authority that they are the easiest way to add threads to plastic. They are also incredibly strong...I ran some tests on them, and the short 4-40 ones can easily hold 50 lbs continuous when set in acrylic. I literally could not pull them out. Another easy way to add threads to plastic parts, particularly 3D printed ones, and if you don't have enough depth and have a free edge, are drop in square or hex nuts (more on that later). Be wary of the cruddy knock-off brass melt-in inserts on amazon and eBay; they don't work nearly as well. McMaster has the CAD of the ones they offer, so you can see what a well designed insert looks like. They get melted in with a soldering iron (Weller SP40N, you can get it for 1/2 the price mcmaster sells it for), and special tips, but again, you can get these elsewhere for less than mcmaster, or turn your own out of brass stock (what I'm doing...about 1/10th the price). Pro-tip: For small inserts, plug and unplug the weller to regulate temperature...it gets too hot for small inserts. Also, if you can't afford the brass tips, you can use a normal soldering iron tip on the smaller inserts, but you'll have to get a pair of needle nose pliers to hold the insert in the part while you pull the iron out because the insert will stick to the iron's conical tip. 

I'll be covering electronics in their own section, but I designed some 3D printed trays for the SKRs, Pi, relay board (for remote 24V power on/off for the SKRs), and 30mm SKR cooling fans. The SKRs have 3mm mounting holes, so I just designed the trays with through holes through the standoffs. M3 cap screws go through the SKR board, the tray, and into M3 melt-in inserts in the base plate. The relay board's tray is designed the same way. The PI has 2.5mm holes, which is kind of inconvenient. While M2.5 inserts exist, they and their tips would be another ~$20-30. Instead, I designed the Pi tray with two countersunk M3 holes in the bottom, the screw for which will screw into two more M3 melt-in inserts in the base plate. The Pi is held down to the tray with 4x M2.5 (actually english #2) self-tapping screws. The 30mm fan mount also uses M3 screws + M3 melt-in inserts, as do the filament guides. Disclaimer: I did not create CAD models of the SKRs, Pi, power switch, relay board, or screen: just downloaded them from GrabCAD or other sites. Thank you nice people who uploaded them. 


Gray trays just visible under SKRs and Pi. Also visible: 30mm fan + mount and two filament guides. 

Bottom left: 24V PSU; top: SKR v1.3 + fan; right: SSR for bed heater; bottom right: relay board
The last major component attached to the base plate is the spool holder. I looked on thingiverse (btw, how in the heck did they manage to make the thingiverse interface EVEN WORSE??) for some horizontal spool holders, but I didn't like any of the designs I saw, so I made my own. Here's a side view and cross section of a 1kg spool and the holder:



There's a base, which screws down to the acrylic base plate with 3 M3 countersunk screws, a standard skateboard ball bearing between the base and the bottom cone, a M3 threaded rod secured to the bottom cone that goes up to the top cone, which compresses the spool via a nut in a knob on the threaded rod. It had to be compact enough to fit under the bed when the bed is fully lowered, yet large enough to hold a full size 1kg filament spool. I also wanted it to be able to hold various smaller spool sizes, and the cones+threaded rod design allow this. I've already printed and assembled it, and initial tests seem to show it will work. Filament guides (shown earlier) guide the filament to a PTFE tube via a push-to-connect fitting. The tube goes up the back of the printer, secured using the original tube-securing acrylic pieces, and into a push-to-connect fitting in the Hemera.

Z-axis and Bed

Now is a good time to review the previous Z axis design and everything that was wrong with it. Due to the length of the discussion required to address that topic, I created a separate post for it, which also includes some more details of CubeXY's Z-axis and bed design.

The Z-axis stepper motors (formerly the NEMA17 extruder motors) are attached to the 12mm frame shaft/rods with custom 3D printed clamp mounts. One is located where the previous NEMA23 was at the center back of the printer, and two are located at the front, one on each corner (see second figure of this post). These steppers drive, via plumb couplers, 8mm lead screws (T8x2), which move brass lead nuts that are secured to three points on the bed frame, which has been rotated 180 deg from original orientation in order to allow this. If the bed hadn't been rotated, there'd be a lead screw right in the middle front of the printer, which would be ugly and make getting parts out difficult. Zyletch sells the couplers and lead screws/nuts. Their precut lead screws are about half the cost of custom length ones, so I purchased 400mm long ones. I plan on leaving the Z-axis lead screws long. They don't interfere with anything, and this will allow for possible future Z expansion by replacing the four vertical frame rods with longer ones (along with wiring and acrylic shell modifications). Since three points determine a plane, using three lead screws/nuts prevents over-constraining the bed frame in rotation about X and Y and controls linear motion in Z. To counter linear motion in X and Y, and rotation about Z, two new THK 12mm linear bearings are used in place of the old Z-axis linear bearings. The new front linear bearing block-nut block combinations are 3D printed out clear PETG, and are 20mm shorter than the old bearing blocks (thus adding 20mm to the usable Z height). Thanks to the three Z nuts countering bed rotation about X and Y, the linear bearings shouldn't be torqued anymore, allowing for shorter ones. The bed mounts and rear nut block are also 3D printed out of PETG. The flimsy polycarbonate bed frame back plate (now front plate) was recut out of 3/16" acrylic with a cube logo etched in it. The bed mounts are actually a Maxwell type kinematic coupling, and the bed interfaces with the bed frame coupling via stainless steel balls. The bed plate is CNC milled out of 1/4" thick ground aluminum plate. It's asymmetric due to the asymmetry of the Hemera extruder: only the possible print area + 5mm on each edge is left to save weight and minimize excess aluminum (heat sink). I purchased the 800W, 350x350mm bed heater from Keenovo, which I didn't realize is a Chinese company...long shipping times. It comes with preapplied adhesive for attaching it to the bottom of the bed. I'll be insulating the bottom of the bed with a sheet of 3mm carbon welding blanket held on with high temperature aluminum tape. I got it off eBay; it's cheaper than cork and most other high temperature insulators. I'm planning to print directly on the aluminum bed, but if adhesion becomes a problem, thin PEI sheet can be purchased and adhered to the top. A thermal fuse will be adhered to the bed to prevent thermal run-away. Please refer to this post for more details on the Z-axis and bed mechanical designs.

X-Y Axes

Review

The original CubeX Trio had two steppers for Y, both mounted at the back of the printer, one on +X and one on -X. Each side had a 6mm GT2 belt that looped around a pulley on the NEMA17 motor shaft and a smooth idler in the front frame corner cylinder things, and clamped to the Y carriage between laser cut plates. One of the Y carriages had another stepper motor on it with a pulley, and the other had a smooth idler pulley. A belt looped around these and was attached to the X axis extruder carriage. The extruder carriage was a water jetted and bent piece of steel, with three extruders + hot ends mounted to it. Just the extruder-carriage assembly probably weighed around 1.5kg, which I'm sure contributed to this printers' slow speed. There are more pics of these in previous posts, but here's one showing the whole X axis mechanism and part of the Y.



Apart from the high moving mass, the unbalanced mass probably didn't help speed and accuracy either. The X-axis stepper motor weighs 350g (in fact, all of the NEMA17 stepper motors were identical, even the extruder motors). That side's linear bearing block was also heavier. As a result of this mass imbalance, accelerations in Y would cause a torque on the X-axis. This is exacerbated by the very heavy X-axis, especially if when a Y move is done while the X axis is far off center.  Since linear bearings are not designed to handle torques (only radial loads, see this post for more info), this would cause high bearing wear and slop over time. In fact, when I took the X-Y axis apart, the Y-axis bearings were very worn, likely because of this. The proper way to use linear bearings where torques will be present is to space two far apart so that the torque becomes two radial loads, but 3D printers rarely have room for this. Another option is to reduce the X-axis carriage/extruder assembly mass and balance the y-carriage masses, which is precisely what I did.

CoreXY

It took a few iterations, with intermittent reciprocating application of my head to a wall (ow, ow, ow, ow), but I realized I could convert the X-Y axis to a CoreXY arrangement. CoreXY is the current de facto standard for X-Y axes in cube-like 3D printers. Here are some great links about it: 1, 2, 3. There are many other good discussions/videos about the CoreXY mechanism available online, but I'll cover the basics here. A CoreXY geometry allows for X and Y motion of the extruder carriage with only two, fixed motors. It It uses two long-ish timing belts and pulleys to redirect forces/motion to achieve this. It also has a low moving mass, allowing for higher accelerations and speeds, compared to more standard X-Y mechanisms, like stock CubeX's.  Here is a basic CoreXY layout:

Taken from link #1 above

The blue belt is slightly higher than the red belt. If you think about rotating each motor in different direction combinations (CW, CCW, etc), then follow the belts around, you'll see that different rotation combinations can achieve X and Y motion of the central carriage. One of the biggest advantages of this is that, if the carriage is translating in +X, both belts on the right of the carriage are under tension, which applies force on the extruder carriage, as well as the Y carriage on that side, symmetrically, eliminating torque imbalances that are seen in other XY designs, e.g. H-bot  There are a few variations of CoreXY. Here's one that stacks the pulleys, which reduces the number of pulley shafts required and minimizes layout area.

Taken from link #3 above
The reason the motor pulleys are larger and offset outboard is to make sure segments G and A are straight. In fact, all of the segments except K, M, M (probably should have been labeled N), and J in the above figure must be straight and aligned with their axes. If they are not, then the belt tension will change as carriage position changes, which is obviously bad. Link 2 spends about 2000 words + figures trying to explain that last sentence in about every possible way. But logically, if you think about how the belt angles would change (and therefore their hypotenuse = length) as the Y and X axes move around, you can see how that the only configuration in which their length would not change is when they are parallel to their axes, as in the above picture. Taking belt thickness into account is actually important for proper corexy design. If you don't, then the belts won't be perfectly parallel, and you have the problem mentioned above. That link also showcases some spectacularly bad examples of corexy implementations where this rule was not followed, along with a lot of other helpful information I won't repeat here.

Another key consideration are the pulleys themselves. You want to use toothed pulleys if the teeth are in contact with the pulley, like A motor, B motor, upper and lower P3, upper and lower P4, lower P1, and upper P2 in the above figure. You want to use smooth pulleys if the back of the belt is in contact with the pulley (like upper P1 and lower P2). While you can have belt teeth in contact with a smooth pulley, the recommended smooth pulley size is large (equivalent diameter of a ~40T pulley, which is about 25mm for GT2). Another option is to twist the belts such that the belt backs contact the smooth pulleys. This is done in the BLV MGN corexy printer.

The main disadvantages of corexy are the long belts, which act like springs, and lots of pulleys, which can seize if they're poor quality and require careful support/structure design. Fiberglass or steel reinforced belts are strongly recommended, and upgrading from 6mm to 9mm wide can help too. I'm using 6mm fiberglass reinforced GT2 belt I got off eBay for $7/5m; It's very difficult to stretch, and should be sufficient when properly tensioned. Good quality pulleys are also important. I'll be using the stock Y axis motors and their pulleys for driving the belts. I bought 4 Gates GT2 aluminum idler smooth pulleys (5mm ID, 12mm OD, 15mm flange diameter) from Mcmaster ($9 each, ouch). They're slightly cheaper from printed solid. These are high quality: smooth bearings, well machined, etc. I also bought 4 Zyltech brand ones (5mm ID, 12mm OD, 18mm flange diameter) for $2 each. These were significantly worse quality. 3/4 had crunchy bearings that weren't pressed in very straight. Only 1/4 was immediately usable. And zyltech is actually a decent chinese reseller...I can't imagine how bad the no-name ones off of amazon or ebay are. The only nice thing about the Zyltech ones is that they're about 1mm thinner overall, which fits the vertical belt spacing slightly better. I did manage to get 2/3 bad ones working well by pressing the ball bearings in straighter, as well as oiling all of them. But one is still crunchy. Another option is to make your own pulleys from radial ball bearings + flanges, or from two flanged radial ball bearings, but I found that those could actually be more expensive depending on the bearings purchased. Anyways, if I can't get the Zyltech ones to work better (or replacements), I'll buy more of the Gates ones.

UPDATE (4-18-2020): Zyltech sent me a replacement pulley. I had to straighten the bearings in this one, too, and it also has a crunchy bearing. I'll just try using it anyways...if it fails, I'll put a Gates pulley in its place. Note to people buying cheap pulleys: buy about 2x the number you need, you might get a good full working set that way. I looked into replacing the bearings in them...if you manage to get the bearings out, new bearings cost more than the pulleys with the bearings, so I'm not sure that makes sense.

HMCoreXY

I've talked a lot about corexy in general, and some of the small details, but I haven't talked about how I implemented it for CubeXY. I think I came up with a new CoreXY layout, at least it's one I haven't seen before. I'm going to call it horizontal motor CoreXY, or HMCoreXY.

The original CubeX's Y axis motors are mounted horizontally.

The original belt came out of the two holes (center of picture), traveled in Y to the pulley at the front of the printer, looped around this, and was secured to the Y axis carriage on this side. My CoreXY implementation involves twisting both of ends of the belts coming out of those holes 90 degrees so that their backs face in towards the inside of the printer. Same deal with the other side, twist the belt 90 degrees so that the backs of the belt face in towards the inside of the printer. The result of doing this is that the belts always contact pulleys with their backsides, without the need to impart 180 deg belt twists anywhere in the system. The following is a top down view of the new HMCoreXY belt setup. What were "upper" and "lower" belts in the above corexy diagrams are now "A" and "B" belts corresponding to the motors that drive them. Both A and B belts have portions that are on the upper and lower "paths".

HMCoreXY Belt Layout. Click to enlarge.

Here is a picture of one of the front left (-X) top frame pulley block, which is the stock front left top left block re-machined to hold two pulleys vertically (rather than one horizontally). You can see the 5x30mm precision shoulder screw (from McMaster) head, both pulleys, and spacers.


The following picture is of the right (+X) Y-axis carriage linear bearing block + pulley block. This one has two lower pulleys in it. The "B belt, upper path" belt travels through the pulley block above the two lower pulleys. The pulleys use 5x30mm shoulder screws and spacers. The pulley block is machined from 1.5x1.5, 1/4" wall (1x1" inside) square aluminum tubing. The MGN9 linear guide rail, which is used for X axis travel, is screwed to the back of the X-axis plate, which is CNC cut from the same 1/4" ground aluminum plate stock that the bed is cut from. The X-axis plate is screwed to 3D printed bearing blocks, and both have a light press fit with the 12mm linear bearing (THK LM12LUU, same as Z axis).

The left side (-X) one looks almost identical except the pulleys are both upper, the "A belt, lower path" belt travels through the pulley block below the two upper pulleys, and the X axis limit switch is screwed to the 3D printed bearing block.

The MGN9 linear guide rail is a genuine Hiwin linear guide, with an MGN9H carriage. I wrote more about linear guides in this post. Unlike linear bearings, linear rails/guides are designed to handle torques about all axes. Turns out they can handle quite a lot of dynamic force and torque, especially given their size...MGN9 rails are oversized for all normal-size 3D printers, MGN12 doubly so. Their torque rating is almost equal about all axes, so it didn't matter if the rail was mounted on its side like this, facing up with the extruder sitting on top of the carriage, etc. However, the nozzles in compact extruder-hot ends like the Titan Aero and Hemera don't reach far enough in -Z to clear the 1/4" aluminum plate backing the MGN9 rail when the extruders are mounted on top...I would have been stuck with a volcano extruder if I had wanted to do that. So I just turned the rail on it's side, which happens to make mounting a Hemera easier due to the nice mounting features on the sides of its extruder motor. Experienced readers will probably note now that some printers, e.g. Railcore, use an unsupported MGN12 rail for the X-axis. If I had done that, I could have mounted the rail facing up and still used a compact extruder-hot end. However, this goes directly against the recommended (Hiwin) installation guidelines of MGN series linear rail guides. Linear guide rails are not supposed to be subjected to bending moments. Their job is to constrain the carriage, not take large bending loads, which affect their accuracy. That being said, (good brand) MGN rails are made of high strength carbon steel. The loads that a 3D printer extruder assembly could apply to a MGN12 rail will not be able to cause a deflection significant enough to cause noticeable defects in parts. That's why railcore and other printers are able to get away with an unsupported X-axis rail.

Here is a picture of the extruder assembly. I designed everything to be as compact as possible. The Hemera extruder takes up one whole side. It's bolted to a 1/8" aluminum carriage plate, which is also bolted to the MGN9H carriage, which is buried under the fan (black) and 3D printed belt holder/tensioner assembly (white). I actually managed to obtain a 24V, 1.75mm Hemera (box says "Hermes", lol) before they all sold out due to the covid19 mess. I made sure to orient it such that the hot end's cooling flow is towards -Y, so that the carriage plate wouldn't block this flow (the passages in the hot end heat sink redirect the air flow all in one direction). The inductive Z probe is shown bottom center. Underneath this assembly is a custom designed cooling duct for the fan, printed out of clear PETG, and a thin 12V LED light that screws to the bottom of the extruder motor. The right (+X) side of the belt holder is static. The left (-X) side is the actual tensioner. Since both belts have one end secured to this tensioner, and since both belts should be the same length, both belts can be tensioned with one tensioner. The belts press into the tooth-ed slots and mesh together further in, effectively preventing them from being pulled out (tested to about 50lbf, no failures).



The tensioner consists of a belt mount that runs on a printed track, kind of like a T-slot, but angled so it's actually printable (after a lot of trial and error searching for proper tolerances). Here's a back view of it without any other components:

The tensioning is done by tightening a long M4 cap head screw into an M4 heat-set insert in the other part of the assembly. I should be able to get approximately 30 mm of tightening with it, which should be more than enough. You can see the slot that the MGN9H sits in. Note how it is forked: it's designed to slide on from the +X side, which allows it to be taken on/off without unbolting the extruder. This assembly screws to the carriage plate with three M3 screws, and one M4 screw from the radial cooling fan.

The X and Y extents of the whole X axis extruder carriage assembly was carefully controlled to maximize X-Y build area, which is right around 354x354mm, which I rounded down to 350 x 350mm. Due to the asymmetry of the Hemera extruder, specifically the nozzle being closer to one end than the other, the build area is not symmetric about the central YZ plane of the printer; it's shifted in +X by about 20mm. This drove the bed to be asymmetric. All of these design decisions result in a nice, compact, strong, stiff, space efficient extruder/x-axis assembly.

I mentioned earlier that the belts coming from the motor pulleys are twisted 90 degrees so that their backs are facing the inside of the printer, and the teeth are facing out. If the 90 deg twist is located right at the motor pulleys, i.e. if the belt length between a Y carriage pulley and the motor pulley is very short (happens at the +Y travel limit), then the twist will make the belt want to come off the pulley. Luckily, the motor pulleys have large flanges that will prevent the belts from slipping off, but the twist could cause uneven belt wear. To minimize this problem, the Y axis pulleys were located as far in -Y (towards front of printer) as possible. In fact, the two furthest in -Y partially slip inside pockets in the left and right front top frame rod/pulley blocks.

This requirement and drove the Hemera to be mounted on the +Y side of the carriage plate, with the X-axis plate and rail as far towards -Y as possible. That, along with build area maximizing decisions, drove the Y-axis linear bearings to entirely on the +Y side of the X-axis plate.

The X-axis plate was designed such that the +Z side is just below the required lower pulley Z location, and the MGN9 rail was designed to flush with this top surface. This, along with careful X-axis extruder carriage plate design, maximized the usable Z build height, which can utilize all of the vertical frame rod height except for 62 mm (60 mm tall vertical linear bearing blocks + 1 mm on each side for buffer).

Potential Problems and Disadvantages

I've talked a lot about the advantages of the HMCoreXY setup. It will have all of the standard corexy disadvantages (mentioned above), but also one more. Note how both belt ends on one side of the X carriage are high and both belt ends on the other side are low. Because there isn't a mix of upper and lower like in normal CoreXY, there will be a net torque about Y due to belt tension, which will be exacerbated by -X accelerations. Luckily the moment arm is small, and I estimated that the maximum torque from this imbalance is around 1Nm. The MGN9H carriage can handle ~19 Nm about this axis, so this should not be a problem. There is no possible way to have one upper and one lower belt end on each side (and thus be able to stack the Y carriage pulleys) without heavily modifying the way the motors are mounted, or adding some sort of belt collision avoidance hardware when the belts are crossed vertically (usually a bad idea anyways). I tried for a few hours sketching out every possible permutation of belt positioning, and the one presented above is the only viable one with horizontally mounted motors.

A potential problem I haven't touched on yet is related to the linear shafts/rods. The 12mm linear shafts/rods they used for both the frame and motion shafts are about 0.08mm undersized on the diameter. This causes noticeable slop, even with the new THK linear bearings (though not nearly as bad as the old worn out linear bearings). My mitigation plan for this is to move the vertical rods closer together in X by about 0.2mm, by grinding down the rods oriented along Y slightly if necessary. This will preload the linear bearings radially, which should prevent them from rocking on the slightly undersized shafts.

The trio of proprietary extruders+hot ends were sacrificed to achieve 3x the build area of the original printer. I think this was worth the trade-off, especially since tool changers seem to be the future of multi-filament FDM printing.

Shell

The acrylic shell is the next major sub-assembly. I plan on keeping the CubeX Trio shell and modifying it a little. There are a few pictures of it in some of my earlier posts and online. The shell isn't just a cosmetic part. It screws into the 8 corner frame cylindrical blocks, providing torsional stiffness to the frame.

The lid was lost sometime before I obtained the printer, so I had to laser cut a new one from 3/16" acrylic. I included matching 10mm holes in the top. I designed small 3D printed cups to go in these holes, and the cups hold 6mm neodymium disk magnets, which honestly don't seem to do much to hold the lid on...appears to mostly be held on by its weight. I might try gluing in 10mm disk magnets if I find that the lid needs to be held on.

The big openings on the front and sides do not have doors. I will probably laser cut some 3/16" acrylic door panels and use some small hinges to create doors for them at some point. If I do that, then the printer will be sealed, which means I need an exhaust fan. I'd probably put these in the side doors.

The acrylic shell held the original touch screen. This was also lost before the printer came to me, but it looks a little small in the pictures I've seen of CubeX Duos/Trios. I decided to use a 5 inch HD capacitive touch screen. I also decided to recess it in the front in the same place the old touch screen was. This required cutting the hole bigger and some fairly complicated bevel design. The bevel is made of three 3D printed parts (not including letters). One front plate (bezel) and two back plates. Four M3x10 countersunk screws go through the back plates, through the holes in the screen PCB, and into M3 square nuts that are held in the front plate behind the bezel. The back plates and front plate sandwich the acrylic, holding the screen and bezel in place. The bevel and screen stick out only 0.8mm.

Bevel back

Bevel cross section

I 3D printed the bezel parts out of white PLA. I designed the "CubeXY" letters with the same font and size as the decal on the front of the printer, and I printed them out of shiny silver PLA flipped so that the smooth side would be be seen. They were glued on with CA. The hole was enlarged with a fine toothed coping saw and file.

I'm not sure how the original CubeX Duo/Trio got power into it. For CubeXY, I bought a combination fuse, switch, and C14 power socket (bottom right of first picture in this section). The socket has countersunk holes for M3 screw, which will screw into melt-in inserts in the acrylic. The hole will be cut in the same was as the screen. 

Electronics

 List of controller requirements:

  • At least 6 stepper drivers capable of 1.7A
  • 32 bit controller
  • 24V power
  • Good community development for troubleshooting help
  • Lots of peripheral inputs
  • Ability to use a touch screen
  • WiFi

Most 3D printer stepper driver boards have 5 stepper drivers: X,Y,Z, and two extruders (or two Z's). The need to drive 6 stepper motors made finding the control electronics a little tricky. That, along  with the other requirements, really narrowed down my options to the following:
  1. Duet2 Wifi + Duex2 or Duex5 + PanelDue 5i (~$360)
  2. Duet3 6HC + Raspberry Pi 4 + touch screen (~$320)
  3. Raspberry Pi 4B + two SKR v1.3s + touch screen (about $200) running klipper
  4. Like 3, but with two ramps boards (about $150) instead of the SKRs
The RAMPS boards would have had to been modified for 24V operation, and are generally less feature rich, so I disregarded that one. Options 1 and 2, even knock-offs, would be expensive. Thus, I chose Option 3. The Raspberry Pi 4B will run Klipper firmware and Octoprint. My current work flow is: STL-Cura on my laptop-slice gcode-save to SD card -move SD card to my printer-use screen on printer to select the file -print. Octoprint will allow me to STL-Cura-slice-print...much easier.

The SKR v1.3's will also run Klipper. Klipper splits the processing up among the Pi and the control boards, and has an active development community. Since I'm planning to use Klipper, I wouldn't see much of a performance increase from the faster chip on the SKR v1.4 Turbo. I bought the SKR v1.3's with 10x TMC2209 drivers from Amazon (BigTreeTech brand). I could have saved a little bit if I had bought them directly from BigTreeTech, but I figured I'd get them faster from Amazon and with a better return policy. I don't need 10 drivers, but it was the same price as getting 5+1, so why not. I haven't researched the various TMC2209 options, but I'll at least do 16 or 32 microstepping. I bought the Pi 4B from PiShop, along with a 5 inch waveshare HDMI touchscreen, 3A USB C power supply, Pi heat sinks, etc.

The mounting features for the Pi and SKRs are described in the base section above, and the screen mounting is described in the shell section above. The screen requires a HDMI (full) connection and a micro USB connection to the Pi, which has a miniHDMI and USB-A. Cables come with the screen, including a mini-full HDMI adapter, but the HDMI cable is too short, so I bought a 3ft HDMI-miniHDMI cable from pishop along with the screen. I'll probably need to get a longer USB cable, too. The screen bezel/mount was designed with clearance for the connectors and buttons on the sides of the screen.

I bought some makerbot-style PCB limit switches, which have an analog filter implemented. This link has a good discussion on switch filtering and a picture of the type of switch I bought near the bottom. I plan on using one for the min X limit and one for max Y limit. The X axis limit switch will be screwed to one of the Y axis linear bearing blocks and trigger off the back of the extruder motor. It will have to modified slightly because the PCB is too long as-is. My plan is to bend the cable connector vertical and cut off some of the PCB. The Y axis limit switch will screw to a small 3D printed part that uses one of the left motor's mounting screws to hold it in place. The Y axis linear bearing block has a feature for pressing the Y limit switch.


Mechanical switches have excellent accuracy and repeatability. Even better are inductive probes, but they require an electrically conductive surface to sense off of. Since the bed will be aluminum, an inductive probe will work well for the Z limit switch (max Z), as well as for bed probing. I purchased a "LJ12A3 4 Z/BX" NPN NO inductive probe from pishop along with the Pi. The inductive probe triggering distance is related to the driving voltage...24V is the recommended minimum for this probe. The SKR's (and most controller board's) probe/switch inputs are 5V. If the probe's power is 24V, then when the switch closes, it will try to drive the signal line to 24V, which will fry the control board. I think the Duet2's have built in circuitry for inductive probes, but the SKR's do not. There's a neat trick to get around this problem, though. A BAT85 diode is put in the signal line and oriented such that when the probe signal wire is high (triggered, 24V), no current will flow to the SKR input pin, so the SKR pin will read high (5V) due to its internal pull-up resistor, which can be activated in the firmware. When the probe signal wire is low (open 0V, not triggered), current will flow from the SKR through the diode and probe to ground, which will pull the SKR pin low. The Voron uses a Pi with two SKR v1.3's. Here are a couple links from its documentation explaining the inductive probe wiring: 1, 2 pg. 6. While I'm not 100% sure, I think this will only work with NPN NO inductive probes. You could always use a voltage divider,  voltage regulator, or opto-isolator on the signal line to drop the 24V down to 5V if you're uncertain.

As mentioned in the shell section, I'm not sure how the original CubeX Duo/Trio got AC power into it. For CubeXY, I bought a combination fuse, switch, and C14 power socket off eBay and will mount it into the side of the acrylic shell.
It's rated for 10A, and I'll be using a 10A fuse in it. The bed heater is 800W, the 24V PSU is 200W, and Pi is ~15W, which is bit more than 9A at 110VAC. I doubt I'll ever see that power draw level, though...worse case load on the 24V PSU is about 100W. The switch will be wired in the hot and neutral lines. The hot line will split and go to: 1. the relay board, 2. the solid state relay (SSR), 3. the Pi wall wart power supply. I bought the relay board off of eBay for $7.


The two channel one was cheaper than the one channel ones, go figure. This takes 3.3 or 5V logic and controls, via opto-isolators, AC relays. The hot line coming from one of these relays goes to the 24V PSU hot input screw terminal. The control pin, 5V, and ground come from some of the Pi's GPIO pins. This allows the 24V PSU power to be controlled by the Pi. Since the Pi is powered by an independent power source, remote turning on and off of the SKRs will be possible. As implied by the last sentence, the 24V PSU DC power screw terminals are wired to the SKR input power terminals. The second hot AC split goes to a AC pin on the SSR. The other AC pin on the SSR connects to the bed heater hot line. The control side of the SSR is connected to a SKR's bed heater output terminals. The 5.1V, 3A usb wall wart power supply for the Pi was actually cheaper than an unpackaged 5V PSU. I'll either sacrifice an extension cord for the socket, or connect AC power to its prongs with female blade terminal connectors and heat shrink over them. The neutral AC line splits after the switch and goes to: 1. the 24V PSU neutral input screw terminal, 2. the neutral line of the bed heater, and 3. the Pi wall wart power supply. The incoming AC ground line will split and go to: 1. the 24V PSU ground input screw terminal, 2. the 3D printer's frame, and 3. the heated bed. This link had a wiring diagram that's pretty close to what I'll be doing. The mounting features for the relay board, SSR, and 24V PSU are described in the base section above.

The bed heater is a Keenovo 110VAC, 800W, 350x350mm silicon heating pad. It comes with an adhesive back for adhering to the bottom of the bed. I opted for an AC heater due to the large thermal mass of the bed. While a lower power DC heater would work, it would take a lot longer to heat up. More about the bed itself is in the base section above and in this post. The heater connects to the neutral power line and the hot line coming from the SSR. I purchased the SSR from Zyltech. It's rated for 25A (probably more like half that...), but I won't be putting anymore than about 9A through it. Inline with the hot line, and adhered to the bottom of the bed under the insulation, will be a thermal cutoff (TCO) fuse. This is important for high power heaters in case of a temperature sensor failure. If the bed temperature sensor fails, it can cause the bed heater controller (embedded in the SKR firmware in this case) to think the bed is cold, thus applying full heating power continuously to the bed, which would probably start a fire. The thermal fuse will blow around 150C, preventing thermal runaway. I'll probably be using a normal thermistor for the bed temperature sensing, and it will be connected to the SKR bed temperature sense terminals.

The inductive Z probe is mounted to the X-carriage next to the radial part cooling fan. This fan is a  Sunon MF50151VX-B00U-A99, the most powerful (highest flow and static pressure rating) 5015 cooling fan you can buy (I've spent hours looking), and I've been using it on my Wanhao I3 for years now with great success. Unfortunately, it's 12V, and they don't make a 24V version, so I'll probably have to use a buck converter (cheap on eBay) to drop the voltage from 24V to 12V. If I connect the inputs to the buck converter to the 24VDC + and -, which are also connected to the SKRs, I should be able to just connect the +12V output of the buck converter to the fan, and the - line coming from the SKR fan terminal to the fan because the SKRs use the - pin for PWM/switching. Oddly, there aren't any 24V 5015's that are as powerful. Mounted under the extruder motor is a 12V LED light, which came from CubeX's X-carriage. The SKRs have 5V and input voltage (24V) outputs, so I'll probably have to use another buck converter (or possibly the same one) for that. Also might be able to run that off of the Pi's GPIO with a transistor or relay so that the Pi can be used to turn the light on and off. The 24V version of the Hemera has a 24V cooling fan, NEMA17 stepper motor, 24V heater core, and a hot end thermistor, all of which will be connected to a SKR.

The SKRs have their own 24V, 30x30x10mm cooling fans, which I bought from Zyltech. These will be connected to their controller cooling fan terminals. I aimed them so they'd mostly blow across the motor driver heat sinks.

Since the shell has three big openings in it, I don't have any exhaust fans at the moment. If I add doors to the openings, I'll also add exhaust fans, which I'll connect to a SKR's exhaust fan terminal.

The three Z motors will be connected to one SKR. The X,Y, and extruder stepper will be connected to the other.

I purchased good quality stranded 22 AWG, 3 and 4 conductor shielded wire off eBay. 22 AWG was chosen because it's large enough gauge for the motors and heater core, while still being small enough for standard JST crimp connections. It's important to use stranded wire if the wire will be moving, e.g. the X-axis limit switch. I could have used smaller conductor cable for the switches, but 22 AWG wasn't much more expensive, so I bought that for future possible projects. Shielding the motor cables (4 conductors) is important for reducing noise. The 3-conductor cable is for the limit switches and Z probe. One 4-conductor cable will be used for the 12V LED light and the radial cooling fan. The shielding drain wires will all be connected to chassis ground on one end. I also bought a JST crimp connector kit, which included a bunch of connectors, pins, and the crimping tool off Amazon for $28 (though it still isn't here yet due to covid19 delays). The wiring harnesses for CubeX were all custom jobs, with white sleeving. I don't plan on putting that much effort into the cables. They'll be properly routed and restrained with adhesive cable clips, and run through drag chains/cable trays where necessary. I'll probably 3D print the drag chains if the ones that came with CubeX don't work. The AC power wiring will be with ~14 AWG stranded silicon wire, which I had left over from some other (abandoned) projects. I'll be using crimp/solder fork terminals for the 24V PSU connections, and other terminals where necessary. Cable management is important!

On the software side of things, I haven't delved into Klipper yet. I plan on starting with Voron's configuration files and modifying them for my needs. I'm a decent hobbyist programmer, so I'm pretty sure I'll be able to handle it, and there's great documentation. The basic way it works is: First, you SSH into the Pi with your PC. Then you install Octoprint and Klipper on the Pi. You use Klipper on the Pi to generate Klipper firmware files for the SKRs, which you copy back to the PC with SCP. Then you copy that firmware file onto each of the SKR's SD cards one at a time, then put them back in the SKRs and power them up. Then you configure octoprint and create the printer configuration file, which will contain info about your printer's configuration, how to talk to both SKRs, etc. After that, and assuming the hardware is all set up, it's time to run calibration and checkout tests, such as testing movement directions and limit switches. Automatic bed tramming, where the independent Z axis motors are used to level the bed, is done with the "z tilt" klipper script. After that is run, "bed mesh calibrate" can be run to perform a mesh calibration. Given the ground aluminum bed plate and automatic bed tramming, the mesh calibration should show an almost dead flat bed. All of these calibrations and checkout tests will probably take the better part of a day assuming no major problems. There's also configuring octoprint and installing add-ins, such as the one for PSU control and bed mesh height map visualization. I'll probably have a whole post dedicated to software/firmware setup.

Aesthetics 

I endeavored to keep CubeX's aesthetic intact. Everything is color coordinated: silvers, clear, translucent, with a little bit of black and white. As an example, the new screen's bevel is white, just like the original, and I matched the "CubeX" (decal on front of the printer) font and color for the 3D printed "CubeXY" letters under the screen.

Conclusions

By fixing the major design problems with the original CubeX Trio, I've created a design for what will hopefully be an excellent 3D printer.

To-do

Fabrication is probably about half done and will be discussed in a separate post. Parts acquisition is about 80% done. Covid19, while possibly providing a little more time for me to work on this, also threw a wrench in the economy, which I'm feeling as massive shipping delays for some components, e.g. anything from Amazon. Thus, I've been trying to buy things off of eBay or locally, even if they're a little more expensive. Probably a good thing to do anyways, since Amazon is scary big now.
  • First fabrication post
  • Finish fabrication
  • Finish acquisition 
  • Assemble printer
  • Install electronics, wire them
  • Software setup
  • Checkout and calibration tests

Friday, January 31, 2020

CubeX Rehab Part4

Finished the CAD of the original printer:

I replaced the stock bed with a 375x375mm aluminum plate. This will be large enough to have a 350x350mm heater underneath. The back bed mounting/leveling screws are wider than 350mm apart, so the heating pad will fit between them, but the one in the middle is not far enough forward. I'll have to design and machine a replacement bracket for the front bed support. I may also replace the back two, too, for two reasons: 1. Even though the screws will clear the heating pad, the springs won't, so they'll smush it and/or its insulation, 2. The stock mounts are 40mm rounds of aluminum...stupidly over designed and heavy.

Total build volume will be 240mmx350mm then. I might be able to get another ~20mm of Z height if I get a longer lead screw and modify the little Y axis cable tray.

Parts to design and fabricate:

  • Replacement Z plate. I took the stock plastic one out and saw stress cracks on all screw holes in it. Big surprise...not. Going to mill one out of cast aluminum plate
  • Bed plate - finish design
  • Bed plate mount(s)
  • X carriage/X axis
  • X and Y axis belt tensioners
  • X,Y,Z limit switches (probably 3D printed + switch)
  • Covers for the top and three sides. These'll probably be laser cut acrylic + magnets
  • Electronics mounting
  • Filament holders (external)

Sunday, January 26, 2020

CubeX Part3

I did some more planning for the CubeX Trio rehab build.

Controller: leaning towards Duet Wifi 2 + PanelDue 5 at the moment. I may go with a smoothieboard if v2 comes out soon.

Bed: A 400x400mm bed could fit, but it looks like I'll only have 350x350mm of printable area with a single extruder. I'll confirm this once the CAD's done (see below). My plan is to buy a big silicon heating pad and solid state relay (SSR) and hook up the SSR to mains and the bed heater pins from the control board. I'm aiming for 0.6 W/cm^2, or about 750W. The heating pad will be bonded to the bottom of an aluminum build plate, which will be a little oversized. I'm planning to use cast aluminum jig plate so that it's actually flat, probably 3-5 ish mm thick. I'll likely use glass, PEI, or some other removable build surface on top, and I'll probably insulate the bottom of the heating pad. The oversized aluminum plate will have holes in it for the leveling screws. The two screws at the back are about 360mm apart, so that works well. Unfortunately, the screw in the front is pretty close to the center of the build plate. Since I can't drill through a heating pad, I'll have to machine an extension bracket that replaces the current support piece there (the one that joins the two angled arms that hold the current bed). That will move the third leveling screw out to close to the front of the machine. If the bed being cantilevered ends up being a stiffness or vibration problem, my plan is to add linear bearings to the two front vertical posts, join them with a plate, and bolt that plate to the extension bracket I mentioned earlier. I may also replace the NEMA23 with a NEMA17 and add another 10mm Z rod at the front of the machine, though that'll make getting parts out tricky...could also rotate the base 90 degrees since it's square.Anyways, all of that will only be necessary if the cantilevered bed ends up being a problem.

X-axis carriage: I have a few options here. I could replace the bearing in the short X bearing block with two bearings (or one long one), then machine a new extruder mounting plate. The problem with that is that the super long x-axis bearing block will limit y travel a lot. I could replace both bearing blocks with SC12UU standard blocks, but those would interfere with the belt. I could replace just the longer bearing block with a SC12UU. I could also make my own bearing blocks.

Extruder/hot end: Compact hot ends like the titan aero don't extend down far enough in Z to clear the X axis linear bearing blocks. A titan + e3d-v6 hot end would, though. I can't use one of the stock extruders with an e3d-v6 unless I machine down the e3d-v6 mount OD to ~11-12mm and machine out the extruder clamp from 10mm to the same, both of which will be a huge pain to do. I don't want to use the stock hot ends since they don't have exchangeable nozzles and people complained about them clogging often.

X-axis replacement: Another option would be to completely replace the X axis. This option would replace the two Y-axis bearing blocks with standard SC12UU or similar bearing blocks and adapters to 20mm 8020 aluminum extrusion that would replace the X-axis linear shafts. An MGN12 rail/slide screwed to the aluminum extrusion would replace the X axis linear bearings. This solves a few problems: 1. Can now use compact extruder-hot ends setups, and mounts for MGN slides already exist on thingiverse, 2. the x-axis will be lighter and should be less finicky than two linear shafts, 3. x-axis travel will be maximized. The current X-axis motor mount is ~5mm thick laser cut acrylic. The y-axis belt holders are also 5mm laser cut acrylic, and they just sandwich the belt ends. Both poor designs that need to be fixed anyways, so they would be designed into the y-axis bearing block-extrusion adapters.

Given the above, there's kind of two major options for the X axis: 1. Keep the shorter X-axis linear block, replace its bearings, replace the longer x-axis linear block with a SC12UU, machine an extruder plate, use a titan (or similar) extruder + e3d-v6 hot end, redesign the X-axis motor mounts and y-axis belt tensioners. 2. Replace the whole X-axis with extrusion + MGN12 rail, use standard SC12UU bearing blocks on y-axis shafts, design and 3D print/machine adapters from the bearing blocks to the extrusion that include a new X-axis motor mount and y-axis belt tensioners, use a titan aero (or similar) extruder + hot end, and 3d print/machine a MGN extruder mount. Option 1 should be a little cheaper and uses more of the current hardware. Option 2 maximizes X, Y, and Z travel. I'll probably design both and weigh the options once I know rough costs and how much more travel option 2 gets me.

There are some other minor plans, but those are the major changes planned.


I started the CAD. Right now just modeling what it is currently. I'm not being super detailed...leaving out most of the screws, the belts, etc. Once all the relevant components are modeled, I'll start modeling modifications and adding details where necessary. 


Friday, January 24, 2020

3D printer updates

Tried printing something on the i3. The X axis was reversed because I had the belt tensioner flipped over. I can't flip it the other way because the extruder motor's connector interferes because I rotated it so it wouldn't rub on the top frame on tall prints. So I can't use the belt tensioner. That's the third or fourth x axis belt tensioner I've tried...may just have to design my own. I went back to screws + zip ties.

Did some more work on the CubeX, mainly taking it apart. I found more examples of decent engineering and terrible engineering.

Nice little rubber + plastic grommets around the screws to protect the acrylic. 

Many of the corner holes were cracked like this. 

Shell off

Feet screw off. Didn't end up needing to remove these.

Some parts are fancy expensive CNC milled, some, like these
belt clamps, are just pieces of laser cut acrylic stacked. 

Removed those dumb stainless steel cylinders. 

These acrylic clips were nice. Removed the filament tubes.

Why are these shaped like that? $$

These were the little filament tube ends. Turned and threaded. $$ 

Got the X-Y portion off


Getting there... 

The single linear bearing on one of the X axis rails was shot. The wider one is ok, but it's far too wide for a single extruder. I'll replace both with nicer bearings + holders. The Y-axis bearings seem ok. 

To do: 
  • Replace X axis bearing blocks with more standard ones with new, nicer bearings
  • Design and make a new single extruder X axis carriage plate.
  • Select extruder + hot end. Might use stock extruder + e3d v6 hot end
  • Replace bed plate with a square one (still aluminum). May not need this depending on how I mount the build surface.
  • Add a large AC heated bed + glass build surface.
  • Replace the flimsy lexan Z axis plate thing
  • Replace the reed switches with mechanical switches.
  • Add a standard control board. Put the screen/control interface where the old one was. Will need a relay for the AC bed. May need something fancy to drive the big Z axis stepper.
  • New x axis belt tensioner
  • Design and laser cut top cover and side covers. Maybe use magnets to hold them on


Sunday, January 19, 2020

Cubex Trio Revival Part 1

I saved a Cubify Cubex trio from the trash. This tri-extruder printer, and it's cheaper dual extruder but otherwise identical cousin "duo", were made by Cubify (a 3Dsystems brand) in 2013. The retail was ~$4000, which is squarely in the premium category of printers. It has a X-Y gantry with a Z bed that lowers as it prints.



It came with a custom controller, firmware, and software, three proprietary filament cartridges (1.75mm PLA), proprietary extruders and hotends, etc. They sponsored a lot of ads and fuss over this pre-launch. For $4000, people were probably expecting ultimaker level quality. But it turned out to have several major design flaws that made them basically useless as 3D printers. The motherboard would short, cartridges were unreliable and very expensive, jams common, poor bed frame design causing leveling problems, poor quality control, acrylic broke easily, max print speed 25mm/s, etc. I'll show some pics of other questionable design decisions below.

Here are some pics of the printer as I received it.



Missing controller, cartridges, cooling fans (which just blew down onto the build surface), build plate, and a few other things. First major design flaw I noticed is the fact that filament has to be pulled through about 5 feet of tubing that makes four 90 deg bends...even if that's teflon, that's still a lot of friction. I guess they were trying to keep all the filament contained inside the ~24" cube, but the filament routing is just dumb. The cable routing was actually pretty well done. Another pic of the routing:


I'm not sure what the weird acrylic box thing hanging off the two posts was for...maybe filament dribble? I threw it out. Once I figure out how to take the back wall plate off, I'll take those posts off, too.

Here's a pic of the x axis stepper on one side of the y axis gantry.


The little black nub sticking out slightly over the left x axis rail is a reed switch. They used these + little magnetic cylinders for limit switches on all of the axes. They're certainly more expensive than mechanical switches, and are inherently less repeatable than mechanical switches. Not really sure why they decided to use those.
Closer view of reed switch
Z axis reed switch removed

Magnet cylinder next to 12mm linear shaft
Here's a look a closer look at a corner of the base frame.


I guess they wanted to T off of one of the 12mm steel shafts, so they milled a hole in it...yeah, expensive and stupid. Here's a closer look at the bed + arms.

Let's attach a stepper to two linear shafts by milling flats in the
 shafts and drilling holes through them ...freakin' brilliant. *facepalm.
Not sure what the giant standoffs were for.

That lexan piece behind the Z stepper is milled. Looks extraordinarily expensive and not very rigid. 


The bed's aluminum A arm is supported by two linear rails + bearings at the back of the printer, and moves up and down with a single lead screw driven by a big NEMA23 stepper. This means the bed is basically cantilevered, which isn't ideal, though not necessarily a bad thing if it's stiff enough. Many corexy/hypercube printers have cantilevered beds. There's a lot of slop in the linear bearings, though. I can tilt the end of it about +/-1/8" up and down, which is not ok. The bed has a bunch of cutouts for clearing filament cartridges, along with other things. Again, expensive...

I started taking the extruder assembly apart next.


One of the motors. Has a custom bevel gear on it.
Given the pattern on the front, it looks like these
had optical encoders....not sure why. 

Custom hot ends. I think one set of wires is a
thermistor, and the other a heater band. The
ceramic covering looks like it was paste or something. 

Hard to see, but there is a small stainless steel
heat break pressed into the aluminum.

View of the nozzle. 

One of the extruders. I'm guessing these had fans on the fronts.
Two part aluminum pined together. Bearing supported roller
that pressed filament into the extruder gear.

Clamp for the hot end.
X carriage plate. Laser or waterjet steel.

Fold down tabs for fan mounts (I think)

You can probably guess what I'm about to say...expensive. Jeez. I don't have close up shots of them, but even the X axis belt tension-ers were little aluminum cylinders that probably had about 15 lathe/milling operations. There are definitely simpler/better ways to design most of this stuff.

This X bearing was shot...it had ~2mm of lateral play.
Oh, did I mention all of the bearing blocks were custom machined?

You know what? I get why this thing cost $4000. There is a ton of custom fabrication work that had to go into it. But it really didn't have to be that way...there were clearly many stupid design decisions that caused it to be unreliable and way more expensive that it should have been.

There have been other open source conversions of cubex duos/trios. Reprap wiki has a decent guide. My basic plan at the moment:

  • Goals: maximize build volume, print quality and reliability at least as good as my wanhao i3 v2.1 printer
  • Replace X axis bearing blocks with more standard ones with new bearings
  • Design and make a new single extruder X axis carriage plate. These two things should add about 2 inches of X travel. 
  • The extruder design seems decent, so I might use one of them. But I might also replace it. 
  • Add e3d v6 hot end
  • Replace bed plate with a square one (still aluminum). May not need this depending on how I mount the build surface. 
  • Add a large AC heated bed + glass build surface. 
  • Replace the flimsy lexan Z axis plate thing
  • Remove the filament routing tubes
  • Replace the reed switches with mechanical switches. 
  • Add a standard control board. Put the screen/control interface where the old one was. Will need a relay for the AC bed. May need something fancy to drive the big Z axis stepper. 
  • New x axis belt tensioner
  • Design and laser cut top cover and side covers. Maybe use magnets to hold them on. 
Possible other changes:
  • Replace the NEMA23 with two NEMA 17's, one on each side of the build plate. This would probably help with stability. Common in larger corexy printers. Another common thing to do is use belts instead of two motors. Not really sure why they used a NEMA23 anyways...seems way overkill. 
  • Maybe add a third Z linear shaft. Depends if replacing bearings helps eliminate the slop
  • Might change the X rails to one on top of the other instead of side by side. This is more versatile for extruders/hot ends and might save about an inch in y travel. Will likely do this if the Y axis bearings are also shot. 
  • Design/make a tool changer to change out heads. 

No idea of time frame on this. Might be awhile...

Wednesday, January 1, 2020

3D printing more things

I've been printing stuff for work and fun recently.


Sharkenbear, or "Bark" as I like to call it. I tried Cura's adaptive layer method with these settings: 0.175 primary layer thickness, with a max variation of 0.075, results in a min of 0.1 and max of 0.25. This causes some off-nominal layer blobs because the coast and extra prime settings for pressure compensation don't change, but not too much. You can tell where it switched layer thicknesses by the shiney-ness changes. Managed to resolve the teeth, which is pretty cool. I had to print some extra fins from another shark model and glue them on because three fins came off with the support removal. Removing the supports from inside the mouths and under the toes was a huge pain, too.


I designed and printed some horseshoe name plates for a horse barn. First time (successfully) switching filaments mid print. The cura plugin for pause at height or filament change don't seem to work well with the i3, so I followed the instructions in this post: https://3dprinterwiki.info/duplicatori3/pause-at-layer-height/ . It was pretty simple to modify the gcode.


I designed and printed this for work, can't really say what it is. Made from three pieces glued together. Too much extra prime on the long bit, so I had to sand the seam down.

I'm currently printing a new x-axis belt tensioner. Hopefully this one works better than the previous ones I've tried. The previous ones all had little nubs that the belt wrapped around; the problem is that those nubs always shear off, even if printed at 100% infill. They just aren't large enough to handle the belt tension. This one has a much larger nub/hub thing. I'm not too sure that the tightening ratchet thing will work, but I can always use zip ties if it doesn't.
UPDATE (Jan 2020): It works much better. I tried using a button head screw + locknut for the ratching knob first, but the hex stripped. Tried to use a screw extractor to get the screw out, but then the hex holding the locknut in stripped. I had to drill a couple holes near the hex nut in order to hold it with pliers, then use the screw extractor to get the screw out. I used a socket head cap screw (bigger hex) after that, worked much better. The belt seemed to be held in place fine without zip ties, but I added them anyways. I then re-leveled the Z axis and lubed all the bearings and lead screws. I haven't printed anything yet, but it should have less X axis ghosting now.