D3D Pro v23.12 Data Collection

From Open Source Ecology
Jump to: navigation, search

Mon May 20, 2024

I have been awfully busy with the printer for the past two weeks!

The bad news first:

  • The print quality is, at the moment, able to produce functional parts. There are a lot of small surface imperfections, some stringing, some sections that are underextruding, causing weak points in the print.
  • If the print head crashes into any overextrusion or blobs on the print it can very easily skip the belts and lose its position. I have lost some prints to this issue due to the subsequent layer shifts.
  • It is very easy for the Y axis to get out of alignment. It basically happens every time the stepper motors are turned off.
    • Side note: The solution to this is running the Y axis into the end of the printer until the belts on both Y axes skip. You then know that they are square to one another, assuming that the ends are square to each other. The critical component there is making sure that the frame is assembled square. Marlin does have skew correction available as well if your frame is slightly skew, causing a consistent (non-square) angle in the X axis. If the skew is not consistent from print to print then you likely have some other issue.
  • The extruder main component that holds the stepper motor and gets screwed into the X axis carriage did not fit properly during assembly and I had to chop off the back lip with pliers. This worked for the most part, but it is causing the print head to be angled slightly. It is also somewhat loose and is able to be wiggled back and forth with relatively little pressure.

My current plan to fix the bad news:

  1. Reprint the extruder main component, scaled up slightly in the needed direction for a temporary fix. (hopefully a 2% increase won't make the screw holes too far apart)
  2. Redesign the component in CAD for a proper fit and add this to the CAD assembly.
  3. Implement axis squaring g-code at the start of every print.
  4. Going over the printer and tightening every screw
  5. Reprinting any components that are bent, weak, or otherwise had printing imperfections
  6. Continuing to tune the printer profiles in my slicer

The GOOD news!: The printer is functioning! It has a solid motion system, a high throughput extruder, a robust frame, and it is overall functioning exactly as it is supposed to. It has precision high enough to make very nice looking prints once I get the printer profile tuned. The current torture test I am running on the printer is a 300mm tall anime character statue. Aside from some extrusion issues and the state of the first layer it looks nearly perfect.


  • I have not yet implemented g-code to do this axis squaring.
  • The bed was not stable enough with the standard Z axis carriages so I redesigned the carriages to be about twice as wide, and the bed is showing much more stability. This upgrade also thickened the part of the carriage that would break if you over tightened the screws and now allows for the use of oversized rods. The original design would not allow for bed holding rods that were too long as they were exactly in line with the rods that were used for motion.
  • The 16 gauge steel sheet that I am using for the top of the bed warps rather easily and is making it difficult to get a consistent first layer. It is warped a total of approximately 6mm from the highest to lowest points according to Octoprint. The unified bed leveling can compensate for most of the issue, but it requires fine tuning to get a consistent first layer, which is not great considering how turn-key the machine needs to be.
  • The two 500w halogen bulbs run in series for bed heating are somewhat slow to heat the larger bed size. I need to put two more lights in parallel to get heating that will work quickly enough to be able to call the bed "Fast". I want a target of room temp to operating temp in less than 60 seconds.
  • Using a thicker first layer leads to more consistent results across the bed surface!
  • Bubbles underneath the PEI sheet may be contributing to first layer inconsistencies. Make sure to apply with NO bubbles!
  • The bed holders have been melting under higher bed temperatures. This is because the halogen bulbs create a hot spot very near to where the bed holders sit. The bed thermistor is inside of one of the conduit tubes on the bed, which heats much slower than the bed surface directly beside the halogen bulbs. The temperature eventually stabilizes across the bed given enough time, but not before the bed holders melt. Two things have been done to counteract this:
  1. A layer of heat-resistant carbon fiber felt is placed between the bottom of the bed surface and the contact point of the bed holders.
  2. The bed holders were moved closer to the edges with the upgraded Z carriage that was mentioned above.
  • So far the bed holders have not melted under normal use with PLA, but higher temperatures have not been tested after the upgrades. I will report back when more information is available.
  • I assembled the Y axis backwards due to my choice to use the Y min endstop instead of making it into Y maximum as suggested by the other versions of the D3D Printer. In the mean time I have tested adding more autoparallel clamps to the Y axis rods and mounting Y min in the correct location. I aligned the two Y minimum locations by measuring the distance from the idler side to the clamps and making sure that amount matched on each side. Ultimately, I think that I will switch to using the Y maximum endstop soon and reporting back. The Y minimum endstop adds complexity where there need not be any.
  • The rebar frame makes it easy to clamp a regular desk lamp to the side of the printer for additional lighting.
  • The galvanized rods that are currently in use on the X axis seem to provide a smoother surface to glide on that the regular mild steel rods in use on the other axes. Because of this, and the fact that mild steel will rust eventually unless oiled, galvanized rods should be preferred for use on the printer.
  • I was advised by an electrician to add a fuse or breaker in-line with the power cable of the printer. The GFCI will provide some protection against shocks, but NOT overcurrent protection. If the printer draws too much power it will currently rely on the circuit breaker in the house to trip instead of safely turning itself off. So far, the printer has not tripped any breakers or caused any heating in the cables used to power it, but safety is still a top priority. This will be accounted for in the next iteration of printer.
  • The Universal Gearless Extruder has a tendency to strip 1.75mm filament relatively frequently, especially when there are a lot of short extrusions and retractions all in a row. 2.85mm/3mm filament has not been tested yet. It is possible to reduce the pressure on the filament by using a weaker spring, but this will impact the UGE's claim to fame of having a very high filament feeding force and high performance. Further testing needs to be conducted.
  • The split wire loom that is being used for cable management doesn't hold the cables up and out of the way as well as a cable chain might. The X axis split wire loom should be long enough to be attached to the filament holder rod so that the loom is held up and out of the way of the x endstop and the print head.
  • The motors can run rather well in series. I currently have the dual Y and dual Z motors running in series, two per stepper driver. Any more than this will require an external stepper motor driver to operate. Note that running motors in series requires modification of the stepper motor cables!
  • The stepper motors currently produce a fair amount of noise - more than the fans currently produce. This is likely the result of using the stepper motor drivers that are included with the RAMPS 1.4 kit. Those stepper motor drivers do not have stealth chop/silent mode. I will upgrade these to a better driver in the future to test the amount of noise generated by the steppers. In the mean time I shall enjoy the whirrs and boops.

Thu May 9, 2024

The required parts all arrived for the build by Saturday, 4/5/2024. Thus far I have worked for about 40 hours on the build between the assembly of the physical machine, the testing and adjusting of settings, and the upgrading of the firmware, Marlin, to the latest version.

Notes (no particular order):

  • All of the axis sub assemblies should be assembled before putting the axis together on the rods.
  1. Assemble the motor sides first.
    1. Put a gear on each motor while using a tape measure as a spacer between the motor and the bottom of the gear.
    2. Attach the motor to the motor side print with the appropriately sized M3 screws.
    3. Repeat for all motor sides
  2. Assemble the Idler sides next.
    1. Gather the two flanged bearings, the M6 screw, M6 nut, and the idler side print.
    2. Assemble the idler bearings, flanged sides out, with the M6 screw and nut into the idler side.
    3. Repeat for all idler sides.
  3. Assemble the carriages last.
    1. Tape each linear bearing with electrical tape to get a snug fit when slid into the carriage.
    2. Slide all four linear bearings into the carriage.
    3. Secure with an m6 bolt and the carriage closure.
  • Tightening of the belts should occur when the printer has all of the axes attached and fastened down.
  • Overtightening the belts is easy to do, so steps should be taken to avoid that occurring.
  • Belt attachment tightening procedure:
  1. Secure an end of the belt inside of a belt peg using an m6 set screw (10mm).
  2. Loop the free end through the carriage first. Refer to the CAD for exact proper placement of the belt peg vs belt pinch. Some orientations don't fit!
  3. Loop through the next side (motor/idler), back through the carriage, through the remaining side (motor/idler), and back through the hold with the belt peg on it.
  4. While holding the carriage still, pull the free end of the belt with pliers to make the belt tight.
  5. Slide a belt pinch over both sections of belt near the free end while the tension is still being applied.
  6. Tighten down belt pinch with a screw and nut.
  7. Repeat for all axes
  • Every available adjustment screw location should have a screw in it, including the autoparallels, the bed holders, the rebar mounts, etc. Note that the CAD does NOT currently reflect this!
  • It is possible to put together the printer with uncut rods and then hack saw off the remainder to get the correct size. (I know because I did it on Y1 and Y2)
  • The metal used in the heated bed should be burned with a torch before assembly to burn off any residual grease or oil. They may smoke on the first couple of runs if this step is not taken!
  • After assembly but before first test run, the halogen lights in the bed should be cleaned off with a clean rag and rubbing alcohol (and then be allowed to dry). This should increase the lifespan of the halogen lights, as contaminants on the surface can cause them to burn out prematurely.
  • The BOM currently calls for the incorrect type of stepper motor cable for the RAMPS 1.4 board. The 4 pin connectors were too wide, and the thinner black ones should be purchased and used instead to ensure a proper fit (especially for the dual Z steppers). The dual Z stepper connection on the RAMPS 1.4 board has an extremely tight fit.
  • The BOM calls for a BeaglePlay board, but the build currently uses a RaspberryPi 3B.
  • It is possible to screw the heatbreak too far into the heatsink, which causes the nozzle to be too far away from the bed.
  • The BOM calls for a supervolcano nozzle, but the build uses a standard volcano nozzle and a heatbreak instead, which is preferred as it is faster and easier to change nozzles. The CAD also needs to be updated to reflect this design change.
  • Both the extruder hotend and the heated bed need to have their PID heating settings tuned and saved in the firmware. This has not been done yet at time of writing.
  • The screws that are used on the rebar mount on the bottom of the Z axis are a little too long and are scratching the table surface below the printer. They need to be covered, shortened, cut off, etc. in some manner to correct for this. Alternatively, the printer could be mounted to a slab of plywood or other board to give it a nice bottom surface.
  • The Z axis is belt driven, so when the stepper motors are disabled if the bed is lifted it will crash down to the bottom of the printer. The default rest position for the Z axis should be set to close to the Z MAX so that when it drops it doesn't cause such a loud noise/crush risk.
  • If the power is cut to the printer during a print the Z axis will crash down from the full height of the printer, which is a safety risk. This could be mitigated with an uninterruptable power supply/battery, or possibly springs on the Z axis rods (to catch the falling bed). The trouble with the springs is that the bed/Z axes are currently designed to drive into the bottom of the printer to square the dual Z axes to each other. The springs would prevent this squaring operation, which could cause more inconsistent bed leveling. Hopefully this can be compensated for in software?
  • The orientation of the actual printer "front" and what the firmware thinks is the "front" are different. This is because the D3D Printer orients the origin (0, 0) in the back left of the printer. It will need to be noted in the firmware code which firmware side maps to which actual side.
  • It is easy to make a mistake while plugging everything in on the Universal Controller. Follow the included directions for the boards and components! I had a stepper driver throw out sparks and die because I plugged it in one pin over. I'm lucky it didn't break the entire board.
  • The CAD may have the carriages for Y1 and Y2 backwards. This is a TODO item for me after I get the printer running. I believe that the current orientation, if reversed, would allow for more printable space on the printer.

Mon Mar 25, 2024

The set screws and nuts arrived, so I took time to assemble the frame. The frame took 34 minutes to assemble at a leisurely pace. The current version of the frame corners made it difficult to fasten down the rebar using an M6 nut and an M6x10mm set screw. The nut would just fall away if you're not careful because there was a lot of extra space between the nut and the rebar. I redesigned the corner by moving the nut closer to the rebar so that the nut cannot fall out of place. This change seems to make the corners easier to work with. Time can be saved if the screws are put into the corners before the rebar, and are then tightened down. Without doing that step the frame has to be rotated to have gravity assist in placing the nut in the correct location. The space that the nut fits into is too tight to fit tools into for the most part so it is much preferred to have the screws and nuts pre-placed.

The print times for parts has been reduced due to an upgrade to my printer's nozzle from 0.4mm to 1.0mm. There is a minimal loss of detail on the prints. The frame corners now take 3.5 hours instead of 11 hours. (Print settings used: 1.2mm line width, 0.4mm layer height)

Mon Mar 4, 2024

I purchased a cheap rotary tool with 1.5" cutoff blades to use for finishing the rebar cuts for printer 1. The cuts took approximately 8-9 minutes with the rotary tool I was using. Also, the ergonomics were not great as my wrist began to be sore after the third cut through 1/2" rebar using just the rotary tool. The cutoff wheels did generate varying levels of sparks depending on the angle of the cut, the pressure, the surface being cut, etc. The noise levels were definitely higher, but it was again reported that the sound was no greater than that of a vacuum cleaner from the next room. Overall, the rotary tool with a cutoff wheel is much preferred to hand sawing as it saves on manual labor and isn't too loud for my needs.


  • Two of the four remaining pieces are currently printing. Two plain corners take around 22 hours to print at my current settings on an Ender 3 V2.
  • The hacksaw cuts provided more smooth and straight cuts, where the cutoff wheel made for a much more varied surface. To compensate I just ground such ends to as flat as I could with the cutting wheel.
  • The variances in cut lengths were within ~1.5mm or 1/16" (with one outlier that was 2mm too long).

Sun Mar 3, 2024

Work today was on cutting rebar for the first printer frame. It took 9.5 - 10.5 minutes to cut through a piece of 1/2" rebar with a hack saw (fresh blade, 24 teeth/inch). Time increased slightly as time went on. Please note that the cuts were made with consideration for the amount of noise being made; I live in an apartment with neighbors above, below, and to the side of me who could have potentially heard my work. It didn't cause too much noise as reported by a person in the next room over.

The amount of time taken per cut is too high to be efficient/effective for future printer builds. There are 12 cuts per printer at approximately 10 minutes per cut for a total of 120 minutes/2 man hours of continuous cutting. Reflecting on that fact, I put in an order for a rotary tool at Menards. My hope is that the metal cutoff wheels that come with the kit will be sufficient to cut through the rods and rebar for much faster productivity.

Notes taken while performing work:

  • Buy metallic sharpie for marking cuts (The standard black sharpies blend in without bright light.)
  • Ensure rebar is properly secured for cutting with either clamps or a vice.
  • A carbide/diamond grit blade may cut faster and with less jumping.
  • Don't break your vise by over-tightening. (I broke a small cast iron vise I bought from Menards.)
  • Buy a level to help ensure vertical cut straightness. (May not be necessary if your vise has a clamp for round objects.)
  • Buy sandpaper/grinder for burrs. (This note will be covered by the rotary tool's grinding tips).
  • Mark your cuts with 1-2mm extra space for the width of the blade/cut.
  • The rebar can get hot if cut quickly. Wear gloves or be cautious of this fact to prevent burns.
  • Remember to loosen tension on hack saw after use.
  • Investigate source of issue in frame connector corners that causes misalignment of step screw & nut.
  • Always cut in the same groove. Switching to a new groove in the metal causes dimension inaccuracies.
  • Measure twice, cut small groove, measure to edge of groove, adjust and repeat until perfect.