D3D v20.04.27 Data Collection

From Open Source Ecology
Jump to: navigation, search

Layer Shifting

See pictures [1]. My theory is, the extruder rams into the base layers sufficiently to actually move the softer, bottom layers. Just the bottom is layer shifted, with little mass - meaning those layers can be soft and easier to move around.

Visible Extruder Shaking

At very low speeds of 10% of 50 mm/s, when the stepping sounds like clicks - you can see the extruder bounce very slightly, maybe 1/4-1/2 mm - just from the clicks. When speed increases, bouncing is due to inertia. I was thinking bouncing may be due to riding of nozzle on lower layers (0.4 mm layer height), but it looks more like inertial effects. Because when slowed down sufficiently, visible bouncing disappears except at accelerations (motion reversal or turning).

Suggestion - stiffen up the axis:. 1. Use harder rods. 2. Use larger rods - 10 mm. 3. Use smooth drivers on Y and x. 4. Move nozzle closer to body, so that the shaking is not amplified by the lever arm length of the nozzle. It seems we can move the nozzle in 1/2-3/4" closer to body. Easiest solution is probably 10 mm rods, or overkill all together to 1" rods.


Note that on the extruder axis, the belt cylinder must be on the X motor side, or it may be difficult to access the belt clamp for tightening. If the belt clamp is not easy to access, the axis may end up being loose.

Motors on both Y axes got somewhat loose. Could be from voltage being too high and motor hot - but not really as I could srew one of them in by 2-3 turns..

The loose X and Y motors could explain a gradual layer shifting over x and y as the print proceeds in z.

It is not possible to tighten Y motor 3mm screws as Z motors are close, so would need a righ angle screwdriver.

Add a hole to the upper corner piece on motor side so that motor-mounting screw can be tightened when axis is on the machine.

X axis idler clamp broke when tightened down. Make this part 100% infill.

Spool Holder

  • Spool holder wears out holes of motor piece after 100 hours or so. Needs a dedicated spool holder.


  • For the bed, because bed holder carriage nut catchers are printed upside down, best way to smooth is using a longer bolt to suck in a nut to clear the excess plastic. Possibly a different production engineering (machine redesign or part redesign) can solve the dirty nut holes

Bed Rise

  • There is slight difficulty of bed moving all way to top. It may be with the rod stiffness near the 3D printed pieces. Maybe raise the 3D printed motor piece higher?
  • When resting bed on Z carriages, use all 4 rods, not 2 - otherwise there is excessive weight on 2 rods and they bend.
  • Maybe the carriage piece needs to be modified so belt hole is on both sides - that way we have full control over motion direction for series motors. Large hole was found on one Z, peg was too small.

Bed Lift Capacity

  • Bed itself is about 24 lb:
    • 17x17" -1/16" plate
    • 9' of 2x1/16" strip = all of 1/16" is 10 lb
    • one 1/8"x18"x18" plate = 11.4 lb
    • Rods - 2 lb (8' of 8 mm)
    • Insulation - at most 0.5 lb from D3D_v20.04_Calculations
  • 6x6" plates of 1/8" steel are 1.3 lb each
  • How many can we lift?
  • It should be, based on former results - 14 lb based on D3D_v20.04_Data_Collection#Bed_Weight_Holding_Capacity because we have 2x the motors, 2x the weight, and excess hold was 7 lb, so with double motors this should go to 14.
  • Data:
    • 4 plates (5 lb) Check.png
    • 6 plates (8 lb) Check.png
    • 8 plates (11 lb) Check.png
    • 10 plates (13 lb) Check.png
    • 12 plates (16 lb) No. Went up <1" then dropped.
    • 14 plates (18 lb) No. Went up a little then dropped.
    • 16 plates (20 lb)


  • RAMPS 1.4 doesn't handle 2+2 series+parallel z motors. It is fine to drive 2 in series - bed lifts. Adding the other side just causes skipped steps.


  • Used 3x10.5" slabs of 1" on each side - 4 kg almost exactly.


Hysteresis of Bed

  1. Hysteresis - at 14 ambient, set to 55C goes to 82C.
  2. Set to 99 at 16 ambient - temp goes to 112 on second cycle.
  3. Set to 135. Parts of bed bubble up. So put metal plate on to keep thermal expansion down, baking in the bed with glue to bed contact. At 120, temp went down to 117 after putting on 33 lb of plate. 25 plates of 1.3 lb. With plates on, overshoot is to 142C.
    1. Without the metal plates, overshoot goes to 146C.

PID Autotuning

  • Enabled Bed PID autotune. Autotune fails - Marlin_Bed_Temperature_Overshoot#Errors. But stock PID values result in the following 2 data points:
  • Set to 67, overshot to 73. Then fell to 67 and vershoots to 68. Stable at 68. Flashes quickly on/off.
  • When set to 99, overshoots to 103. Great.

Turned on slow PWM:

  1. define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay

Works great: setting to 91 overshoots to 95. Falls to 89. Stabilizes at 91. Great results, default PID settings for bed work quite well, even on Slow switching of less than 1 Hz.

Energy Usage

At 17 ambient, bed set at 91C has on-cycles of about 1 second. 5 cycles take 42 seconds - or about 1.4 second in 8 seconds of full power. Divide 1800W by the duty cycle to obtain about 315 average wattage for the bed.

Z Motion

Never seen it before: Z axis moves only in one direction no matter what direction i make it go. So for example, upon homing, it keeps going into the head.

This may be something with the counterweights?

Undetected Quality Control Issues

Controller passed basic quality control of the controller: all motors working and endstops triggering.However, this was the first time that the Z driver went one direction only, whether told to move up or down. This means that we need to add testing for both stepper motor directions in basic quality control. This should be visible from the existing test - but one has to examine the shafts very closely for the reversal upon endstop trigger.

It was not a bad driver, so I replaced the RAMPS board. Unfortunately, fried the Arduino voltage regulator as I forgot to convert RAMPS from 12V to 24V operation, and Arduino regulator was hit with 24 volts for an immediate smoke cloud. Replaced Arduino (still works but regulator is fried, so it can't take a 12v input any more). After testing the Z motion - it works - moves both up and down. Success. Not a problem to drive 4 stepper motors in series - on 24V.

The issue was either the RAMPS board or the Arduino itself. Did not get a chance to test the arduino before regulator fried. After regulator fried, tested the Arduino. It may have been the issue - as it didn't drive the Z axis properly. So it's likely that the RAMPS board is good, and the suggestion for next time is to replace the Arduino first before replacing the RAMPS.

See D3D Controller Troubleshooting.

Driver Voltage

  • Set all of the drivers to 0.6-0.7V - including Z which is in series.

Burnt Driver

When one stepper driver was plugged in, the screen went dim. Indeed, that driver was bad (no motion). It can be seen that screen turning dim may be an indicator of bad driver.

Motion Stop

Hole too big - threads go into it only partially.