📢 Beware of SCAM! If you get a suspicious Messenger message with a link, don’t open it or reply!

My Build Log of Scott_3D's Hypercube Evolution

Update 4/12/202 Ordered new .9 degree motors for X/Y axis and new belts and idlers. Will update when I receive the…
16
41
0
2919
updated July 14, 2022

Description

PDF

Update 4/12/202

Ordered new .9 degree motors for X/Y axis and new belts and idlers. Will update when I receive the parts and start the work. See Update # 15

I'm sorry that Thingiverse has turned this build log into a difficult read.

Update 9/22/2019

Just finished rebuilding the X carriage for a direct extruder.

Used my E3D V6 / Titan Extruder Mount

I had to make some modifications which I will update it with.

See Updates Section.

Thank you to Scott_3D for the shared HyperCube Evolution design. The build was, and still is, a very rewarding experience. My printer is operational and printing parts as fine as those proudly presented in Scott's introduction video. I hope that this build log makes future builder experiences as enjoyable as mine.

I will try to document those items that I needed to research and/or experiment with to resolve.

Scott_3D made a series of videos that are linked here.

Thank you again Scott.

*My build utilized a parts kit from Components Explorer. The makeup of the bill of material is always evolving. Do not assume that the parts I received in the kit are the same as what is currently being supplied.*

I have been adding my experiences and thoughts to this as I continued my build. The printer is still not complete, although it is currently fully operational. (at least until I break it again trying something new.) The printer is still sitting on the table I used to build it; a 1-1/2 inch thick, very flat, table that I've had since the late 60's. I never imagined that one day I'd build a 3D printer on it.

Current Specifications:

  • 300x300x300 build
  • E3D-V6 Clone
  • Titan extruder Clone
  • Mega2560 / RAMPS1.4 / Marlin / 24 Volt
  • Raspberry Pi 3B+ / Octoprint
  • BLTouch Probe
  • LED Lighting
  • Bed Cooling Fan
  • Raspberry Pi Camera

Parts Sourcing

After sourcing and pricing the parts needed to build the HEVO, I decided to purchase the box of parts from Lin. (AliExpress - Components Explorer) I purchased the 300x300x300 parts list which at that time included the following (In no particular order):

  • Precut 3030 and 2020 extrusions
  • L brackets, 3030 corner brackets, screws and hammer head nuts
  • 12, 10, and 8 mm linear bearing rods and bearings
  • Three NEMA 17 stepper motors
  • Two NEMA 17 stepper motors with 8mm ball screws and anti-backlash nuts
  • Clone E3d V6 hot end
  • Clone Titan (Titian) extruder with stepper motor
  • PTFE Boden tube
  • 200 watt MK2A heated bed (300x300)
  • 100K NTC3950 thermistor, and leveling screws
  • Borosilicate Glass 300x300, Insulation pad, and adhesive build mat
  • Arduino Mega 2560
  • Ramps 1.4 with five stepper drivers
  • 24V to 12V buck converter
  • Ramps fan extender module
  • Power expansion module (Which I knew was not correct, but that is what Scott_3D called it in the video)
  • Optical end stops
  • Brass knurled nuts, dowel pins, end caps, leveling feet
  • Timing pulleys and idlers (Flat and Toothed)
  • Inductive sensor
  • 2, 3, and 4 core 24AWG UL2464 shielded cable
  • 14AWG Silicone Wire
  • 24 Volt 500 Watt Power Supply
  • AC rocker switch with power inlet socket and fuse (No power cord though)
  • Some tools, crimp connectors, solder, rosen, and a 40Watt soldering iron ( which came in handy to insert the knurled nuts)

Additional Purchased Parts

  • Crimp Connectors
  • PLA, PETG, ABS filament (I had this already except for the PETG in Yellow which I selected as my HEVO color.)
  • 5A and 10A automotive fuses
  • 24 volt hotend heater
  • MOSFET for heated bed.
  • Split cable loom (1/2 inch and 1/4 inch)
  • M6x12mm Button Head screws
  • M4 washers
  • JST PHR-6P connector plugs. (To make up stepper cables)
  • JST SM 2 and 4 pin connectors (To make up stepper and Fan cables)
  • Heat shrink tubing
  • Dial indicator. (To level bed)
  • 24 volt part cooling fan
  • 12 volt controller cooling fan
  • USB extension cable
  • RTV Silicone. (To mount thermistor to heated bed.)
  • Kapton tape
  • 22awg stranded wire (Black, Red, Green) to wire Power Supply.
  • Additional quantity of 4 core 24AWG UL2464 shielded cable
  • 24 volt to adjustable output Buck Converter

Suggested Tools

  • Long nose pliers
  • Wire stripper
  • Crimping Tools
  • Metric Hex Screwdrivers (Allen wrenches are tough on the hands)
  • Strap and large clamp. (Optional but makes squaring the frame easier.)

Clamp is used to pull extrusions together for a tight fit.

Strap is used to pull diagonally opposite extrusions into square prior to tightening screws.

  • Tape measure
  • Combination Square, Framing Square, and a plastic drafting square (from the days before CAD)
  • Volt/Ohms Meter
  • Small table top vice to hold parts while installing knurled nuts, soldering, etc.

Print Settings

Printer:

Anycubic Kossel Delta Plus

Rafts:

No

Supports:

Yes

Resolution:

.1618

Infill:

40

Filament: Amazon Basics, 3D Solutech, MatterHackers, & HICTOP PETG, PLA, ABS

Yellow and Black

Notes:

All major parts printed in yellow Amazon Basics and MatterHackers PETG.

Some Hot End parts, heated bed parts printed in black HICTOP ABS.

PWS enclosure, and extruder motor mount printed in black 3D Solutech PLA.

I originally printed the endstop flags in black PLA. I found that PLA is transparent to the infrared sensors; so, I reprinted them in black ABS.

Parts were printed using a .1618 layer height. This layer height is a Golden Ratio based on a 1.9 degree stepper, 16 microsteps, 20 tooth pulley, and GT2 belts on my delta. It avoids steps that would have the stepper motor jump to a whole step causing a layer line.

Post-Printing

My Build Experience

Inventory and Inspection

The inventory showed that all the parts on the BOM were present in the correct quantities.

The inspection identified two parts that were defective. One 10mm bearing rod had a rough surface which was unacceptable. The clone Titan (Titian) extruder had a cracked plastic face where the bearing had been pressed in. I notified Lin and new parts were immediately shipped out.

Electronics Testing

  1. I bench tested the Arduino MEGA (Blink Script) and RAMPS card.
  2. Downloaded and configured Marlin 2.0 for the Hypercube printer. Turned off cold extrusion protection for testing.
  3. Loaded Marlin to the Arduino MEGA.
  4. Modified RAMPS card for 24 volts.
    • Removed diode and fuses.
    • Crimped wire into 4mm female spade connectors and soldered to board as fuse connectors.
    • Designed and printed a Fuse Insulator Block in ABS and placed around connectors.
    • Inserted automotive blade fuses (5 Amp for motors and fans, 10 Amp for heaters)
  5. Built cabling for PWS.
  6. Attached PWS to Arduino and Ramps and verified "No Smoke"
  7. Installed A4988 stepper drivers to the RAMPS card and adjusted their reference voltage.
  8. Attached LCD, fan extender, fans and motors to the RAMPS card and verified motor control. ( -- Did not attach hotend or heated bed -- )
  9. Loaded a test stl file to SD (zero temperature for hotend and bed, Z-Hop on retraction of 1mm, no G28 or G29) and allowed the electronics to burn in by air printing a six hour print.

The Frame

  1. Began build with one side then assembled additional extrusions to complete the cube.
  2. Verified that all corners are flush with other adjoining members.
  3. Using Spacer Jig, by Asphyth, I adjusted lower frame members to 10mm offset from base.
  4. Loosen screws and using clamps pulled all extrusion joints closed and re-tightened screws.
  5. Using a tape measure and squares adjusted each side for square. Loosened screws and used strap to pull each side into square if necessary. Re-tightened screws.
  6. Repeat steps 3,4, and 5 until all six sides of cube are square.
  7. Assemble 90 degree corner braces to frame and check square again.
  8. Insert "Z" axis extrusions using the spacer jig. This required loosening some screws and then re-squaring the cube. Re-squaring was much easier since most screws did not get loosened and corner braces held the alignments.

Bearing Preparation

  1. Cleaned linear bearings of original lubrication using brake cleaner. After cleaning, the ball bearings are loose and can be heard when shaking the bearing.
  2. Cleaned bearing rods with a Coffee Filter and Super Lube Synthetic Oil.
  3. Checked the linear bearings on the bearing rods. Both LM10LUU bearings were defective and ran rough and did not run true. But Lin had also supplied four LM10UU bearings which were good which I used in the build.
  4. Repacked bearings with Super Lube Synthetic Grease using the Linear Bearing Greasing Cap

Knurled Nut Installation

Many of the printed parts require the installation of knurled nuts. These nuts need to be melted into the prints. When melting into the part the displaced plastic will move to any open area. These areas will be into the nut and clearance hole and will cause difficulty during assembly. I found that, for me, the best way to install the nuts was to use a long, lightly oiled, M4 screw to pass through the clearance hole and into the nut. Then heat the nut with a soldering iron and push and pull the nut into the plastic. The screw prevents displaced plastic from entering the nut or blocking the screw hole. The screw also holds the nut in alignment with the screw hole. I waited about a minute for the nut and plastic to cool a bit and then removed the screw. With some of the parts the installation of the knurled nut caused the plastic to bulge. I removed the bulge with an x-acto knife.

Note: When installing the linear bearings they need to be aligned. See the "Blunders, Caveats, Errata, Hindsight and Thoughts" entry for 4/13/2019 for an explanation.

Y Assembly

  1. Assembled idler pulleys to "Y" bearing rod blocks.

There were no washers supplied in Lin's kit. Needed to supply my own spacer washers. 2. Attempted to mount brackets and bearing rods but there was not enough clearance to install.

The bearing rod was too long to assemble to frame, without moving the "Z" axis extrusions to allow more room to manipulate the rod into position. 3. Found that the 6M button screws supplied with Lin's parts are too short to be used in the build. Needed to purchase screws.

X Assembly

  1. Assembled idler pulleys to "Y" carriages.
  2. Assembled four LM8UU linear bearings to the "X" carriage.
  3. Inserted the two LM8UU bearing rods to the "X" carriage bearings.
  4. Placed "Y" carriages on "X" bearing rods and slightly snugged clamps.
  5. Positioned the "Y" carriages on "Y" bearing rod linear bearings.
  6. Adjusted the "X" bearing rods in the "Y" carriages to center them.
  7. Assembled "Y" carriage bearing clamps to carriage.
  8. Tightened "X" bearing rod clamps.

Z Assembly

The "Z" assembly video does not give much information on the build. The only information given, the distance between the "Z" extrusion and the top extrusion, is incorrect. Scott gives the dimension as 130mm, but that dimension is from top to top not between the extrusions. The correct dimension is 100mm spacing between the extrusions, which Scott corrects in a later video. The Spacer Jig has the correct dimension.

I modified the "Z" nut bracket to enlarge the opening and re-position the screw holes. The anti-backlash nuts supplied in the parts kit I received are larger than for what the original bracket was designed.

I centered the "Z" stepper motor mounts in the frame at this step. I found that, after installing the heated bed and hotend, it's necessary to readjust the "Y" end stops and "Z" motor mounts and bearing rod brackets so that the nozzle covers the maximum "Y" dimension of the bed.

Belts

I needed to research how the belts are installed for a corexy printer. It isn't obvious from the video what the belt path is. My research uncovered several belt configurations but also an understanding of the corexy operation.

The belt configuration for the Hypercube Evolution (HEVO) is a stacked belt configuration. Because of this, the left-hand stepper motor that drives the top belt will need its pulley inverted so that it aligns with the top belt path.

I found using a couple of small binder clips, to hold the belts at the "X" carriage during routing, made the job much easier.

The belt path itself is simple. Starting from the right-hand side of the "X" carriage, the lower belt extends around the "Y" carriage flat pulley to the right-hand stepper motor. Then from the stepper to the lower right rear idler to the lower left rear idler. Then route the belt to the left "Y" carriage toothed idler and then back to the left-hand side of the "X" carriage.

The top belt path is similar.

Pull the belts taut and install the clamps. Adjust the motor pulleys so that the belts are centered through the "Y" carriage and on the motor pulleys. Adjust the belts so that the "Y" bearings touch the "Y" axis linear rod brackets simultaneously.

Extruder

I opted to install a bowden setup to the hotend. I also wanted the clone Titan extruder to be mounted on the right-hand side of the printer. The mounts I found did not allow that because of the protruding gear. I designed a Titan Bracket that allows mounting on the top of the extrusion on the right side.

I used the HyperCube Evolution Spool Holder by rafaljot which works great.

Heated Bed

The heated bed parts supplied in the parts kit are:

  • Clone MK2A 300 x 300 x 3 mm
  • 300 x 300 x 3 mm glass (which can't be used. More on this later)
  • 300 x 300 x 5 mm insulation pad
  • 100K Ohm NTC3950 thermistor with cabling attached.
  • 2 Meters 14AWG silicone cable

The heated bed I received had both a drilled hole and a slot at the center of the bed. I opted to use the drilled hole which does not extend through the bed. I used High Temp RTV Silicone to seal the thermistor to the bed and High Temp Gold Tape to hold the wires in place.

To wire the hot bed I opted to not use the 14AWG wire provided since it seemed too stiff. Instead I used 14AWG Silicone Jacketed Wire that I had already purchased for another project.

To run the wires to the electronics I printed two designs from Thingiverse.

Hot End & "X" Carriage

The hot end supplied in the parts kit is a 12 volt hot end. It includes a 12 volt hot end cooling fan and a 12 volt heater cartridge. The 12V fan is run from the fan extender which is 12V. But, the heater is connected to the RAMPS card which has been converted to 24 volts. I purchased a 24V 40W heater cartridge to convert the hot end.

The parts cooling fan also connects to the RAMPS card so I purchased a 24V 50x50x15mm radial fan. Currently, I now have three spares, so that probably means that the fan I installed will be the only part to never wear out.

The optical end stops supplied with the kit have soldered on connectors which do not fit the "X" carriage. I unsoldered the connectors and soldered shielded 3 core 24AWG wire to each which was supplied in the parts kit.

I decided to use a split loom to run the cabling back to the electronics. To hold the loom in position I printed two designs from Thingiverse.

At first the loom worked as intended, but after a few days it began to sag under its own weight. Twisting the loom would only provide a temporary fix. I am now experimenting with adding a 3/64 inch (1.2 mm) piece of piano wire to the loom. Currently, I have it tie wrapped to the exterior of the loom and it adds the necessary support without any observable effect on the hot end. I am also designing and remixing a horizontal cable chain which I'll be testing. One of these will be my final solution.

Electronics

To house the electronics I had two criteria:

  • Power should be separate from control
  • Alpha version of controls enclosure must be printable on my Kossel Delta Plus

To meet these design criteria I designed the following parts.

Power Supply

The power supply enclosure includes tie points to be used to hold the 24 to 12 Volt buck converter. The holes for the power entry/switch are sized to accept a 4mm screw to cut its own thread. If the holes are a little too small drill them out slightly.

I designed the enclosure to be fastened to the left side toward the rear with a 1/2 inch split loom extending up to the electronics enclosure.

Electronics Enclosure

The enclosure I uploaded is actually my second version. The first was not quite deep enough and needed tweaking on access hole placements. The fan box is separate from the enclosure to facilitate printing on my Kossel Delta Plus. Print it separately and glue to the enclosure.

The enclosure houses the Arduino, RAMPS and MOSFET.

The piano hinge is the Parametric Hinge by rohingosling and it works great.

The hinge is configured to use a length of 1.75mm filament as the hinge pin.

Reprap Full Graphic LCD

The ribbon cables supplied with the LCD display are 30cm long. I preferred to mount my display to front of the printer. To do this I purchased longer ribbon cables (1 meter) which allowed mounting the display to the front. This caused some new problems when printing from the SD card.

  • Layer shifts
  • strange carriage movements to the bed extremes
  • stopped failed prints

What I found was the maximum ribbon cable length for SD printing is 30cm due to bus protocol communications being susceptible to noise and cross talk. I knew that shielded cabling could solve the problem so I tested a few ideas.

  • Wrapped ribbon cables in aluminum foil.Failed
  • Covered each ribbon cable in metal flue-duct tape.Failed
  • Took my ribbon cables apart and shortened them by 30cm.Failed
  • Made my own shielded cables using shielded cable that I purchased to complete wiring steppers. (4 core 24AWG UL2464)Success

I remixed Reprap Full Graphic LCD housing by d3delta3d.

Here is a link to my published remix of Reprap Full Graphic LCD housing.

Motor Connections

Much research went into trying to determine which X/Y motor connected to which X/Y connector. My research gleaned the following:

  • There is no X or Y. CoreXY is similar to delta type printer where both X and Y motors work together to move the carriage.
  • The correct naming of the motors can be "Alpha and Beta", or "A and B", or "X and Y" , or "Right and Left."
  • The correct connections depend on the motors, cabling and printer build.
  • Determining the correct connections for a particular build is mostly trial and error.

Whatever the naming convention, I found that in my case I needed to connect the left front motor to the "X" connector and the right front motor to the "Y" connector.

To test I put the carriage in the center, powered on and issued a positive move command of about 10mm and watched where it went.

Rules of thumb: (At least for my Scott_3D HEVO)

  • If both motor shafts turn in the same direction the carriage movement is in the X axis.
  • If the motor shafts turn in opposite directions then carriage movement is in the Y axis.
  • If only one motor turns then the carriage moves diagonally toward or away from the motor that is moving.

Follow up & Upgrades

  • During burn-in of the assembled printer I experienced a power supply failure. The printer locked up with the LCD screen blank. I switched off the power supply and then powered back on. The power supply then failed with a blue flash that seemed to light the room. What I found was that a large choke coil had come loose from the circuit board. Probably happened during shipping from China. It took a while for the compromised solder joints to totally fail.

Upgrade #1

  • My first upgrade was to replace the inductive sensor with a BLTouch. The inductive sensor specification states that it detects ferrous metal at 4mm. But since the print bed is aluminum the distance is much less at around 1.5mm. From time-to-time I prefer using glass on the bed but due to the sensor I could not do leveling when glass is used.
  • The pins suggested in the BLTouch documentation are not available in this build. The Fan Extender uses all the Servo Pins.
  • Since the Z-Max is not used I connected the BLTouch three wire plug to +Z Endstop.
  • Verified that Marlin's Configuration.h had the #define USE_ZMAX_PLUG commented out.
  • Connected the two wire plug to -Z Endstop.
  • Did not use the 5Volt jumper that AntClabs supplies.
  • Configured Marlin for BLTouch.

To fine tune the BLTouch watch this video

https://youtu.be/BV11-VOQjMc

Upgrade #2

My second upgrade is rewiring the Z stepper motors from a parallel connection to a Serial connection. The serial connection will allow me to drive the motors with 1 Amp of current without maxing out the stepper driver at 2 Amps.

Upgrade #3

Install a 5 volt supply dedicated to the BLTouch. The 300ma draw on deploy and stow causes a small flicker in the LCD display. I believe that this may be due to a dip in the 5 volt power from the inductive load of the BLTouch's electromagnet. Won't know until I scope it out.

Upgrade #4

Add LED lighting.

  • Design LED brackets
  • LED Strip Lights
  • 12 volt power supply

Upgrade #5

To reduce the cool down time to release PLA from the glass bed, I designed and installed a Bed Cooling Fan. The fan reduces cool down from 25 minutes to 11.

Upgrade #6

Decided to add a camera to monitor and to record time-lapse video.

  • Arducam 5 Megapixels 1080p Sensor OV5647 Mini Camera
  • Miuzei Flex Ribbon Cable - 2 Meter

The installation entailed connecting cables. Octoprint detected the camera and it was operational.

To attach the camera I printed 3dkarma's Raspberry Pi Camera Mount with Ball Joint for Reprap except for the frame mount. To get a better fit I needed to scale the ball-joint ball by 104% in Cura. (You may need to experiment yourself to get the best fit.)

I designed a frame mount for attachment to the 3030 extrusion.

To route the ribbon cable I remixed and published a cable clip.

Operational Issue

After about 48 hours of print time the printer developed an intermittent squeak. At first it seemed like a bearing was breaking down, but grease didn't seem to reduce it. I finally tracked it down to the Titian Extruder (Titan Clone.) The large gear that is attached to the hob gear rubs against the housing and also the bale arm. The black gear had worn with whitish streaks where it was rubbing. I used a light coating of PTFE oil on the gear and it is now quiet.

Another 10 or so hours of printing and the Titian Extruder is exhibiting another problem. The squeak didn't return but now there is inconsistent extrusion. I did a comparison to an extra housing, that Lin had sent to resolve another defective extruder part, and it looks like the clearance is definitely off. The spare has more clearance between the gear and and housing. It also fits better with less backlash between the drive gear and hob gear. Fingers crossed, but I don't think that this extruder is long for this world.

Upgrade #4.5

Raspberry Pi 3 and OctoPrint Install

(This upgrade should have been after number 4 but I was negligent on keeping up with the updates.)

I decided to use Octoprint for monitor and control. The install was very straight forward and uneventful. So much so that I forgot to add it to my log. Sorry, so here is the play-by-play.

Purchased from Amazon

  • CanaKit Raspberry Pi 3 with 2.5A Micro USB power supply
  • Samsung 32GB MicroSD Memeory Card.

Per the first part of Chris Riley's video I downloaded the following software and performed the install on the Raspberry Pi.

  1. Downloaded software:
  2. Formatted the SD card.
  3. Unzipped OctoPi.
  4. Installed Win32diskimager.
  5. Wrote the OctoPi image to the SD card.
  6. Using Notepad++ I edited the "octopi-wpa-supplicant.txt" file to configure my network parameters. (Note: Chris's video says to edit "octopi-network.txt" but that file has been replaced with the above.)
  7. Put the SD card in the Raspberry Pi and applied power.
  8. I then logged into the router to get the IP address that was assigned to the Raspberry PI.

Optional: After completing the Octoprint setup I re-accessed the router to setup an IP address reservation for the Pi's MAC address. By setting up the reservation the IP address will not change during router and/or Pi reboots.

  1. Opened Chrome and entered the IP address to access Octoprint and setup the login info. I am not slicing in Octoprint so I did not setup anything for CuraEngine or Default Printer Profile.

To complete the communication link to OctoPrint I installed the OctoPrint Connection plugin to Cura.

Raspberry updates:

The Pi does not have an internal clock, so it sets its clock by accessing an NTP server. The clock is set to UTC which may differ from local time by quite a bit. To set the Pi to the correct time zone you can follow these steps.

  • Install the terminal software Puddy
  • Using Puddy attach to the Pi using the same IP address used to access OctoPrint.
  • Login: The default username is: pi and password: raspberry
  • type: sudo raspi-config

(Navigate the raspi-config menu by using the up/down/left/right arrow keys.)

  • Enter the password again
  • Select Localisation Options
  • Select Change Timezone
  • Follow the prompts.
  • select Finish to exit menu.
  • To disconnect type: exit

Upgrade #7

32 bit Re-Arm board installation

Stay tuned, The board is ordered, I'll post as I go.

  • 12/22

My compile testing of Marlin 2.0 bugfix has uncovered some issues: + My Arduino IDE 1.9 compiles are unsuccessful for two reasons: 1. Has issues loading libraries. I'm not sure if this is an Arduino problem or Windows since MS updated my install twice. The first time killed my file sharing and the second killed printing. I've fixed those issues but don't know if others are lurking waiting for me to run into them. 2. Cannot link because link command exceeds 32K max command length of Windows. + Loaded PlatformIO under Atom and have successfully compiled Marlin 2.0 bugfix. Now I'll start my learning curve on PlatformIO.

-12/27

Received the Re-Arm board.

Followed the Marlin instructions:

  • Formatted a 16G SD card and named the volume REARM.

Still don't know why Marlin says to format a 32G SD Card. The 16G SD I used seems to be overkill. The only reason I can come up with is that the maximum partition size is 32G. I guess it's easier to spec a 32G card than to explain partioning a 32G volume.

  • Moved power jumper to USB.
  • Plugged cable into USB port and verified PC saw the SD card volume REARM.
  • Downloaded clean copy of Marlin 2.0 bugfix.
  • Applied edits per the instructions.
  • Used Auto Build to compile.

The compiler throws quite a few warnings but it compiles successfully. Per a few github forum posts this seems to be expected until the code is cleaned up.

  • Used Auto Upload to load to SD card.

This was unsuccessful. Had to use Windows file manager to copy .bin file to the SD card.

The file to copy is: MarlinFirmware.pioenvs\LPC1768\firmware.bin

  • Pressed the reset button on the Re-Arm board to load the firmware to flash.
  • Updated the Marlin configuration files with my configuration and used Auto Build to verify successful build. Used Auto Upload to uploaded to Re-Arm. This time the Auto Upload worked and copied the firmware.bin to the SD card.

Next step is to install and test.

Upgrade #8

As I thought the Titian Extruder was not long for this world. I repaired it once due to a worn large gear and bad tolerances and clearances. But it failed again. This time the extrusion became erratic. After lots of fine tuning I gave up. I replaced the extruder with a genuine Titan Extruder. What a difference.

Things I ran in to:

  • The bowden connector from the Titian does not fit the Titan Extruder. I need to grind off about 2mm to get it to fit. It works but it would have been easier to just purchase the PTFE connector with the extruder.
  • The Titian extruder required a thicker mounting plate between the motor and the extruder body. I could not reuse the mount I made for the Titian. I was able to use the mount that came with the Titian extruder, that couldn't be used for the Titian, for the Titan.

The printer is back up and running.

Upgrade #9

I finally did it. I destroyed my PI camera trying to refocus it. So I'm upgrading to a focusable camera. It's on order. Can't wait to be able to get clear pictures.

Got the camera and designed a new case and mount. Attached the new camera to the ribbon cable and my picture taking is back up and running. My only disappointment is that I guess I forgot about the lack of detail in 5 megapixel cameras. Now that even a phone has a 12+ megapixel camera, an in focus 5 megapixel image is just lacking. It's good enough to monitor the printer but for time-lapse photography it's severely lacking. This could turn into another future upgrade.

Replace 8 mm Linear Bearings and Shafts - 4/24/2019

Received the LMU-N8 linear bearings and 8 mm linear shafts from MiSUMi a couple of days ago. Got to install them today. Used the same preparation process I used during the original build.

  • Cleaned with brake cleaner
  • Repacked liberally with Super Lube grease
  • Marked the top of each bearing with a magic marker, so that I install them correctly this time.

Correct orientation so that loads are supported by two races of bearings.

  • Wiped down linear shafts
  • Lubed linear shafts with Super Lube
  • Installed to printer.
  • Fired up the printer listened in amazement.

The buzzing that had always eluded me is gone, except for a rare lower frequency buzz that I traced down to the motor bearing in the Noctua fan. With the buzzing gone the prints should now be better than ever. I'm currently printing a soap dish as my test.

Upgrade #10

I ordered TMC2208 V3.0 UART Mode (No soldering, jumper already installed) for the X, Y, and E steppers. Won't get them for a while. I'll let you know how it goes.

Got the TMC2208's and did the upgrade see the "TMC2208 Upgrade" section.

Upgrade #11

I would like to print flexible filaments but with the bowden setup its pretty much impossible. I decided to venture into setting up a direct extruder with the Titan. I have been working toward that end by designing an E3D-V6/Titan mount for the HEVO. I have particular design criteria I'm trying to satisfy, or at least satisfy as many as possible. I've lost count of my iterations to fine tune the design, but it is getting close. If you are looking to do the same then stand by. I will post my experiences here. I wouldn't start printing any of what I've designed so far because there are still changes that I'll probably be making.

Upgrade #12

My Z steppers were wired in series and operating well; but, there were a few times that it seemed that bed adhesion was better after aligning the Z motors. I aligned them by moving the bed 2 mm below the hard Z max. Both motors would skip and that was my alignment. After upgrading to TMC2208's on X Y and E, I had a few spare A4988's. So I decided to dive into another upgrade.

Except for a few small caveats it was an easy and very satisfying upgrade.

Install:

Inserted the A4988 in the E1 socket and adjusted the VREF to match the A4988 in the Z socket.

Configuration:

Since the stepper driver defines default to A4988 I did not need to edit Configuration.h. If another stepper type is used the following line would need to be edited to define the correct type:

//#define E1_DRIVER_TYPE A4988 The remaining Marlin edits were done in "Configuration_adv.h"

Remove the comment slashes from the beginning of the following line:

#define Z_DUAL_STEPPER_DRIVERS Remove the comment slashes from the beginning of the following line:

#define Z_STEPPER_AUTO_ALIGN Set the following probe locations:

(Note that the probing locations are not the hotend locations. The probe offsets will be subtracted from the locations specified. As an example, If the probe's X offset is +20 and the probe location for Z_STEPPER_AUTO_ALIGN is set to X = 25 then the hotend will move to X = 5 so that the probe will be at X = 25.)

#define Z_STEPPER_ALIGN_X { 25, 275 } #define Z_STEPPER_ALIGN_Y { 143, 143 }

  • Caveat #1

The Z_STEPPER_AUTO_ALIGN is executed by issuing a G34 G-code. The printer must be Homed prior to the G34 command otherwise it doesn't work.

  • Caveat #2

If the set probe locations would move the hotend beyond reachable locations then the Auto Align does not work. When the G34 code is issued Marlin will respond with "Ok." If the command errors out there is no error message, it just doesn't work.

And.... As normal perform an M502 and M500 to initialize the EEPROM after flashing.

Testing:

After flashing the updated firmware I did not home or perform any large bed movements. It's necessary to verify that the steppers are both moving in the same direction.

Using the LCD I used the "Motion" menu to perform small movements of the Z axis.

Motion / Move Axis / Move Z / Move 0.1

I placed a finger on the top of a lead screw. I moved the axis .1 mm and observed which way the lead screw turned. I then moved to the opposite lead screw and performed the same test. If the lead screws do not turn in sync then either reverse the cable to the new stepper driver or change the stepper direction in Marlin.

After verifying motor directions I performed a Home (G28), and then an Auto Align (G34.)

A new menu item is added to the LCD, Motion / Auto Z-Align. (Note: must perform an "Auto home" prior to using "Auto Z-Align," otherwise it does nothing.

After performing the Auto Z-Align the correction offsets can be saved to EEPROM with an M500 or Configuration / Store Settings.

Upgrade #13

Upgrade to E3D All-Metal Hotend

  • Parts on order.

7/31/2019 Update

Received my parts 2 weeks ago but didn't have time to do the install. Finally, was able to build and install the hotend a few days ago.

  • Followed the build instructions on the E3D web site.
  • I reused my 24V 40W heater since what was supplied from E3D was only a 30W.
  • I reused my Noctua 40mm fan with my Canted Cooling Fan Shroud since the E3D fan is a 30mm 24V and I'm running the fan at 12V. I also like the quiet Noctua fan.
  • I changed the BLTouch Mount from the straight mount to the offset mount to move the sensor the 15mm away from the heater block. This is because the standard E3D hotend can operate up to 300c. (Maximum range of thermistor, not the hotend itself.) So I didn't want to take a chance of damaging the probe.
  • Verified that the Marlin E0 thermistor type was set to 5.
  • I installed the E3D hotend in a bowden configuration using the standard Hypercube Evolution X carriage.
  • The thermistor uses a molex connector and extension cable. This meant feeding the extension through the wire loom to the electronics.
  • Performed a PID Autotune.
  • Printed a few test prints to tune in the print parameters.

Still have a little bit of stringing but the prints themselves were very nice. I'll need to fine tune my print settings over the next few days or weeks, depending on my free time.

So far I'm very happy with this upgrade. Knowing that there is no PTFE tube in the heatbreak is very satisfying. I really hated tearing the hotend apart to replace the PTFE or the heatbreak after printing a few ABS or PETG parts.

I guess I'm ready now to try Nylon or maybe PC.

Upgrade #14

Decided to try direct extrusion. After two days of printing, re-cabling, rebuilding, and tuning the printer is up and running. It is still not tuned to the level I will be satisfied with but it is running and the prints are already better than acceptable. So here is how it went:

  • Printed my E3D V6 / Titan Extruder Mount and found that the .step files for the Titan Extruder and the E3D-V6 hotend are not entirely accurate. Strangely the Titan .step file is accurate for the Titian (clone) extruder but not the Titan extruder. This meant a design adjustment to the carriage mount.
  • The pancake motor that I have is rated at .7 Amps. I'm running at 1.0A because it skipped at the .7A current. I guess I'll need to buy another stepper before this one burns out. But it is only running slightly warm. I guess I'll see.

Edit: I found a manufacturer spec sheet for my motor, and to my surprise it is actually rated at 1.0A not the .7A that AliExpress showed it as.

  • Found that my design of the BLTouch mount was not quite right. Needed to do some revisions but still need to tweak it to get it exactly right. As part of the revision I designed a shim that can be used to perform minor adjustments to the mount height of the probe.
  • Realized I needed to design a loom clamp for the new carriage assembly. Took about an hour between design and print but I'm really happy with it. I'll include it in the Extruder Mount design.
  • Repositioned my runout sensor and provisioned it as part of the reverse Bowden.
  • Did not use the canted fan duct because the Noctua fan just doesn't move enough air to prevent heat creep. Used the 30 mm fan supplied by E3D which moves a lot more air.

The things I'm working out are:

  • Very intermittently a perimeter wall will have a small extrusion skip. Haven't found the reason for this yet. It may due to travel distance but not sure yet.
  • Had to adjust retraction. It was originally set for 2.1 mm and I experienced a clog. I reduced it to 2 mm and it seems okay now. I will probably try adjusting it smaller while printing some stringing tests.
  • While printing a Benchy I had my first experience with overheated TMC2208 steppers. It started great and then started layer shifting and there were obvious clicks from the motors. Tried adjusting the driver current and it had no effect. But, that's when I noticed the door of the electronics enclosure was open and the cooling fan was very efficiently blowing air into the room instead of the enclosure. I shut the door and all was well again.
  • During retraction there is a click from the extruder. There looks to be some play in the gears that I'll need to fix. I don't know how that slipped past me when I assembled the gearing. The extrusion skips could be related to this.
  • Because the nozzle is now positioned closer the the X-Rails I can no longer move the nozzle off the bed to perform a purge. I need to reposition the bed to compensate for this.

Below is a picture of my second test print "Astronaut Phil A Ment." Printed at 2 perimeters, 20% fill, no supports, 60 mm/s.

Upgrade #15

I've been very happy with the HEVO to date. As my skills grow so does my demands. I decided that it's time to do some more mods. I ordered new .9 degree steppers and 4 smooth idlers. The motor swap is for the X/Y motors and the idlers will replace 4 of the toothed idlers so that the belt will ride on 2 smooth rollers and only one toothed roller. I'm going to do this by twisting the belts at the rear of the printer. If I see a printing improvement I may delve into a Y Axis redesign to allow twisting the belt as it comes off the motor gear. Updates to come when I get the parts.

Blunders, Caveats, Errata, Hindsight and Thoughts

  • 8/19/2019

Although there was a marked increase in quality when I upgraded to an E3D extruder, after installing a TMC2208 on E0 I could not get it tuned back in the way I liked. I then upgraded the hotend to a full metal E3D V6 thinking that things would be better. Boy was I mistaken. My hypercube quality went from so-so to garbage. Missing extrusion, blobs, first layer issues. If you can name it, it was happening. Nothing I was doing seemed to fix the problems. This is when I noticed, after several attempts to calibrate the extruder, that E0 steps per unit were changing erratically. Particularly, on my last attempt when the steps went from a little over 400 to over 500 steps per unit. As a test I replaced the TMC2208 with an A4988, and my calibration issues went away. I also noticed that the extruder motor was much cooler and quieter with the A4988. Printing quality got much better, but still not what I would expect from my printer. My next step was to tune in the retraction and hotend temp. I printed Retraction Calibration Cubes and started with a 2mm retraction. The cubes looked more like the hairy lion than cubes. I continued adjusting in .5mm increments and settled on 3.5mm at 35 mm/s. I also found that lowering the hotend temp to 205c from 210c and raising the travel speed to 150 mm/s eliminated the stringing. The last calibration was the extrusion multiplier which I printed a spiralized cylinder to measure. With a .4 nozzle at a 90% multiplier the cylinder walls now measure .45mm (on average).

My Marlin settings are:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 399.52, 427.79 } #define DEFAULT_MAX_FEEDRATE { 500, 500, 40, 45 }

#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 50, 10000 } #define DEFAULT_ACCELERATION 2000 #define DEFAULT_RETRACT_ACCELERATION 2000 #define DEFAULT_TRAVEL_ACCELERATION 2000

#define DEFAULT_XJERK 10.0 #define DEFAULT_YJERK 10.0 #define DEFAULT_ZJERK 0.3 *8/19/2019

Since installing a second A4988 stepper driver for the Z axis, I've noticed that no setting of VRef can reduce the grinding noise in the motors as the bed is raised. Also with the VRef set to drive the motors at 1.1 Amp the bed could not be raised with a glass bed installed. To raise the bed required 1.2 Amps to each motor, which is the maximum for my motors.

I was really happy with the automatic Z leveling, but I decided to back away. I reconfigured the motors to one A4988 driver with the motors wired in series. Now, no more grinding noises, and the bed can lift with glass at 1.1 Amps.

So Upgrade #12 is now backed out.

  • 7/14/2019

I'm not sure how much better the print can get, but there was a markedly increased quality improvement when I upgraded the extruder to a genuine E3D Titan. I decided to take the next step and upgrade to a genuine E3D All-Metal Hotend. I'm going to start with a Bowden setup and then migrate to a direct extruder arrangement. I've ordered the parts and now I'm waiting.

  • 4/13/2019

My LM8UU bearings from China just wore out. The top skin was printing and the layer changed from smooth to wrinkled. It was as if it was a first layer and it wasn't sticking to the build surface. While the skin was printing I rested my fingers on the X carriage and I could feel a rumble. After the print finished I pulled tugged and twisted the carriage and found that there was at least .1 mm or more play in the bearings. To continue the diagnostic, and also as a temporary fix, I inserted a shim (two layers of copier paper) between the top of both top bearings and the X carriage to tighten the bearing fit to the rails. Well that fixed it and also eliminated a buzz that I could never track down.

I ordered new 8 mm bearings and rails from MiSUMi. Kind of expensive but I feel it will be worth it.

Also I found out that when installing the linear bearing on the rails they need to be aligned. Aligned means that the bearing should be turned so that the top bearing races support weight evenly. (ex: If there are four races then the bearing should be positioned so the races are at the 45, 135, 225, 315 degree positions.) This way the side loads are always distributed between two bearing races evenly. I didn't know this when I built the printer. Whether the bearing failure is related I'll never know.

  • 3/17/2019

I realized that I installed the lower Z axis linear rod supports upside down. Not sure why I thought they installed the way I did it, but the important thing is, it reduced my Z height by 30 mm. I turned them right side up and mounted them to the bottom of the lower extrusion instead of the top surface. My Z height is now 291.7 mm.

  • I should have purchased a focusable PI camera. I tried every printable wrench I could find. Tried several times to turn the lens with jewelers pliers. Tried to remove the glue with an xacto knife and using a large pin. Nothing worked because the glue used on the camera I purchased looks to be either a cyanoacrylate or plastic cement.

Well I finally got fed up with the out of focus picture. I grabbed the jewelers pliers and twisted the lens. The glue won. The threads are stripped and with continued fussing the plastic ring gave way and separated from the lens, but not from the camera. I just ordered a new camera, this time with a focusable lens. I'll let you know how this one turns out in Upgrade #9.

  • The Titian Extruder gave up the ghost. After many attempts at calibrating I gave up. Extrusions were erratic and I could only acceptably print at 30mm/s and sometimes 15mm. It seems that the first failure was due to bad tolerances and clearances. This time it looks to be the hob gear wore out. The Titian was just not worth the effort and aggravation. I should have upgraded sooner.

Well so much for the Titian and in with the Titan and upgrade #8.

  • I've decided that it's time to go 32 bit. I didn't decide on Duet or Smoothie. I went in another, maybe crazy, direction. I've ordered a Re-Arm board and I plan on running Marlin 2.0 on it. At least that's the plan. I’ll be posting about my journey through these uncharted waters.
  • Just finished my first 19 hour print and am now printing a 7 hour print. The printer is working great. The 19 hour print is a round container and is about 145mm diameter. It also has vertical ribs on the exterior as a design element. I sliced it to print at 100mm/sec., which is usually fine, but this print pushed the 8-bit Arduino over the edge. When printing the exterior wall the nozzle displayed significant hesitations that caused extrusion problems. I slowed the feed rate to 60% which helped substantially; but there was still a slight hesitation when transitioning from the large container diameter to small rib diameters.

At some point I'll need to upgrade to 32 bit. I'm still trying to decide between Duet and Smoothie Board.

  • The Raspberry Pi camera install went without a hitch. Debug turned out to be another story.
  • The camera is factory set for 1 meter to infinity focus. It is adjustable by turning the lens. The posts and instructables say that the glue used is a low adhesion type that I should be able to break free. Watching a few videos shows this to be true. But, in my case... not so easy. The glue seems to be a cyanoacrylic or a plastic cement. The first wrench didn't work and pliers have not worked. I haven't broken the camera yet so I'm printing another couple wrenches.
  • The video stream has flashing pink lines and bands through it. My research found several causes.
    • Under powered Raspberry Pi.
      • My power brick is 2.1A so not an issue.
    • Bad connections at Pi or camera.
      • Checked, everything is tight and contacts are clean.
    • Electrical Interference.
      • This seemed to be the issue since testing showed that pink bands and lines only appeared when motors were in motion. I moved the camera and ribbon cable to try to reduce the interference but could not. Put the camera and cable inside an RF insulating bag to no avail. Decided to swap out the USB cable between the Pi and Arduino. BINGO!!!! that was it. The bad USB cable was supplied with the Lin parts kit. It is obviously very low quality. Since electrical noise through the USB can interfere with the camera, I decided to install a cable that includes a ferrite filter.
  • One of the benefits of printing on glass is easy print removal after the glass has cooled. I normally print with a bed temp of 70 degrees for PLA. For easy removal the bed must cool to around 35-30 degrees. This takes quite a while since the bed is fairly well insulated. I'm currently working on installing a bed cooling fan that can be controlled by gcode. See update Number 5.
  • To hold the glass to the print bed I used small clamps which worked fairly well. To prevent the hotend from impacting the clamps I needed to reduce the build space and position the clamps near the edge. Bumping the clamp could push it into the path of the hotend during bed leveling or printing. I also noticed that the glass was not as flat with the clamps. I designed the following glass clips. They work for my bed with cork insulation and maybe others. My heated bed measures 308mm square. The glass measures 298mm square. The leveling screw hole centers are positioned 3mm from the corner edges. The Glass Clips are printed in PETG.
  • The bed leveling screws protrude above the bed surface when not using the glass. It is possible for the part cooling duct to catch the screw head when the carriage is at a "Y" max position. I plan on replacing the screws with flat head screws and counter sinking the bed holes. Until then, I've moved the bed rearward and reduced the "Y" bed dimension to 270mm so that the cooling duct cannot catch the screws.
  • Upgrade #2 did allow the Z steppers to raise the build plate with glass but did not totally resolve the power on issue. It seems that the inductive load from the BLTouch is pushing the 5 volt Arduino supply to the edge on power up. The Arduino boots up consistently with the BLTouch disconnected but not with it connected. I've decided to add a second buck converter from the 24 volt to power the BLTouch.
  • After running into the cable length limitations for using the SD card reader, it may have been better to mount the electronics near the front of the printer to allow the use of the 30mm cables.
  • After adjusting the Z stepper driver output to 2 amps, the printer would no longer boot up without a PC being attached to the USB port. After scratching my head for a time this is what I found.
  • The BLTouch pulls 300ma when it is activating (Deploying and Stowing the probe)
  • The BLTouch does a self check test which deploys and stows the probe twice on power up.
  • The high current for the steppers plus the 300ma inductive load seems to much for the Arduino and it crashes on boot up.
  • Connecting the USB allows the Arduino to boot up prior to the printer turning on.
  • By reducing the motor current or disconnecting the BLTouch the printer can power up without the USB connection.
  • This all led to upgrade number two. (See section above)
  • After installing the BLTouch I tried using the glass bed. To my surprise the steppers could not lift the bed with the additional weight. To lift the bed the stepper driver needed to be adjusted to 2 Amps; which is not an advisable solution.
  • I used 1/2 inch split loom to carry the cabling to the X carriage. At first it seemed that it was a good decision; but then it began to sag. After re-positioning it several times and still getting some layer shifts, due to the loom catching on the frame, I decided to change over to a cable chain. I remixed and printed some designs. I designed my attachments and was ready for the change over, but then I decided to try something different. I zip tied a 1/32 inch piano wire to the loom. Voila, it stood up just the way I envisioned it should be. I have now cut the piano wire to length, folded over the ends, covered the ends with shrink wrap and installed it inside the loom. It looks and works great.
  • The warning about plugging a stepper in backward causes damage isREAL.

I thought that the damage would be contained on the RAMPS card, since it is called a "Shield," but no.... The RAMPS card is only a breakout board and most, if not all, damaging blunders are passed directly to the Arduino Mega 2560. I plugged in a stepper backwards and killed the Arduino's pins that enable and step the driver. I am now driving the Z steppers from the E1 stepper driver connection of the RAMPS card.

Updates

-- 4/12/2020

Updating X/Y motors and idlers. See Upgrade #15

-- 9/22/2019

Updated X-Carriage to direct extrusion. See Upgrade # 14

-- 7/31/2019

Updated E3D V6 Hotend installation

-- 7/14/2019

Upgrading to an E3D All-Metal Hotend

-- 7/8/2019

Troubleshooting of clacking noise after the TMC2208 install.

-- 6/20/2019

Installed dual drivers on Z axis motors. See: "Follow up & Upgrades"

-- 4/24/2019

Installed new 8 mm Bearings and Linear Shafts. See: "Follow up & Upgrades"

-- 4/13/2019

Added to the "Blunders, Caveats, Errata, Hindsight and Thoughts" My 8 mm bearings wore out.

--4/8/2019

After some printing I reaized the new 40mm fan was pulling hot air from the bed and hotend. I presume the 30mm fan also did the same but it wasn't as evident. I looked on Thingiverse for a solution and then decided to design my own. I did some Google research on air flow and cooling fins and then designed a Canted Cold End Fan Shroud which is now installed.

--4/7/2019

Cool end 30 mm fan bearing wore out (Noisy and vibrating). Upgraded to 40 mm Noctua fan. Used this 30mm to 40mm adapter So far it's working great and very quiet. Since it's connected to the RAMPS fan extender, it's running on 12V, not the 24V that the modded RAMPS is powered with.

--3/24/2019

Update Re-Arm Log - Reset the Re-Arm board remotely.

--3/13/2019

Update Re-Arm Log - Nozzle Park, Advanced Pause

--3/10/2019

Update Re-Arm Log - LCD SD card access

--3/9/2019

Updated Re-Arm Log

--3/6/2019

Added Re-Arm Board Upgrade Log

-- 3/3/2019

Another PWS Failure

Started a print, and while waiting for the bed and hotend to heat, the whole printer shut down. Since I've had PWS problems in the past, I looked at the PWS first. I found that the power switch indicator lamp was not lit. Thought it might be the power strip it plugs into but it wasn't. I removed the PWS from the printer and checked the switch and found that it had failed. I thought I could order just the switch but found that I could order three power entry switch modules for less than getting the switch alone. I finished my parts printing on my delta and I'm now reassembling the HEVO and upgrading to a 32 bit Re-Arm board.

-- 2/1/2019

  • Installed the new focusable camera with a new case and mount.

-- 1/14/2019

  • Destroyed my PI camera trying to refocus. Upgrading to focusable camera.

-- 1/10/2019

  • Upgraded Titian Extruder to Titan Extruder

-- 12/18/2018

  • Will be upgrading the printer to 32 bit using a Re-Arm board. Upgrade #7 on the way.

-- 12/11/2018

  • Added Raspberry Pi 3 and Octoprint Install

-- 11/3/2018

  • Designed a new ribbon cable clip that I have published. It is thinner, clips to the 3030 extrusion, and snaps closed around the cable. I found this to be much better for routing the cable unobtrusively.

-- 10/31/2018

  • Added installation of Raspberry Pi camera.

-- 10/29/2018

  • Updated electronics enclosure. Adjusted Arduino clips by 1mm. Moved bed cable access by 20mm.
  • Published Bed Cooling Fan.

Re-Arm Board Upgrade Log

3/6/19

Well I took the leap. I had bought the Re-Arm board in December and have been awaiting the opportunity to install it. Well it's installed and I'm still working out some issues, but here is what I've accomplished so far.

  • I downloaded the most recent Marlin bugfix2.0

  • Installed PlatformIO and learned the basic operations of the IDE.

  • Moved my Arduino HEVO Marlin 2.0 configuration over to the new bugfix2.0 and compliled it for the Mega2560 under PlatformIO.

  • Uploaded to the HEVO and verified operation.

  • Recompilied for the LPC1768 and uploaded to the Re-Arm board.

  • Installed the Re-Arm board into the HEVO.

  • No changes were made to the RAMPS card. The LCD cable was modified to supply 5V to RFGSC display.

  • Double and triple checked all of my connections, crossed my fingers and powered up.

  • Smoke test was successful.

  • Movement testing. Used G1 commands to move 10mm in each direction.

    • +10 mm X axis - Movement +10 mm on X axis. PASS
    • -10 mm X axis - Movement +10 mm on Y axis. FAIL
    • +10 mm Y axis - Movement +10 mm on Y axis. PASS
    • -10 mm Y axis - Movement +10 mm on X axis. FAIL
    • +10 mm Z axis - Movement +10 mm on Z axis. PASS
    • -10 mm Z axis - Steppers stuttered as build table fell about 5 mm. FAIL
  • Downloaded fresh copy of Marlin bugfix2.0 and did a bare bones Cartesian configuration for the Re-Arm board.

  • Compiled and uploaded to HEVO.

  • Movement testing - Take Two -

    • +10 mm X axis - Movement positive spin of X stepper. PASS
    • -10 mm X axis - Movement negative spin of X stepper. PASS
    • +10 mm Y axis - Movement positive spin of Y stepper. PASS
    • -10 mm Y axis - Movement negative spin of Y stepper. PASS
    • +10 mm Z axis - Movement +10 mm on Z axis. PASS
    • -10 mm Z axis - Steppers stuttered as build table fell about 5 mm. FAIL
  • Change Minumum Pulse Width to 6

  • Change Maximum Stepper Rate to 250000

    • Z steppers are better but missing steps.
  • Change Maximum Stepper Rate to 140000

    • Z steppers better but still missing some steps.
  • Checked stepper driver reference voltages. They are all set to .375 volts which yields .93 Amps at stepper.

  • Raised reference voltage to .432 volts. which raises the amps to 1.08.

  • Movement testing - Take Three -

    • +10 mm X axis - Movement positive spin of X stepper. PASS
    • -10 mm X axis - Movement negative spin of X stepper. PASS
    • +10 mm Y axis - Movement positive spin of Y stepper. PASS
    • -10 mm Y axis - Movement negative spin of Y stepper. PASS
    • +10 mm Z axis - Movement +10 mm on Z axis. PASS
    • -10 mm Z axis - Movement -10 mm on Z axis. PASS

(Pulse width and stepper rates will need to be revisited after finishing the upgrade.)

  • Began reconfiguring the bare bones Cartesian configs to support my build of the CoreXY HEVO. I'm doing this a piece at a time so that not too many changes are done between each test. If something fails it will be easier to determine where I went wrong.

  • Test endstops using M119. PASS

  • Test endstops with G28 XY. PASS

  • Configure BLTouch

Since the Servo pins are used for the Fan Extender I have the servo control of the BLTouch connected to the Z_Max endstop pins.

  • Changed the Servo0 pin in pins_RAMPS_RE_ARM.h from P1_20 (Arduino pin 11) to P1_28 (Arduino pin 19. Which is Z_MAX endstop)
  • Test BLTouch using the M280 commands. PASS
  • Test BLTouch by issuing G28 and manually triggering the probe prior to the build plate reaching it. PASS
  • Execute an Auto Home. PASS
  • Test parts cooling fan. M106 and M107. PASS

Still more testing to do, but I'm calling it a night. Will update when I get more.

3/9/19

  • Ran into issues configuring my Bed Cooling Fan.

    • With the MEGA 2560 the MOSFET for the fan is connected pin 59 on the RAMPS AUX2 port. To upgrade I configured in "pins_RAMPS_RE_ARM.h" the P2_06 (Arduino pin 59) pin to Marlin's "FAN2_PIN" and then tried to control the fan using M106 P2. This did not work. After much research I could not find a consensus to prove that this is implemented for the LPC1768.
    • I tried using the M42 command to activate the pin. The syntax of the command is changed for the LPC1768 processor of the Re-Arm board. After looking through multiple forums, git hub, and how to videos I stumbled onto the syntax.

    To control the P2_06 pin the syntax is:

    M42 P206 Snnn (where nnn is 0-255) Yes this is a PWM pin.

    • But it didn't work. It errored as a protected pin. I forgot that I had assigned it to FAN2_PIN. Commenting out the assignment allowed the M42 command to work.
  • M43 Debug Pins

    • I found during my troubleshooting that the M43 Debug Pins command will usually crash the Re-Arm board. Thankfully there's a 50/50 chance that it completes the output before the crash.
  • Octoprint

    • Found that the Re-Arm card auto sets the communication speed. I configured the speed in Marlin to 250000. Setting a baudrate in Octoprint will cause the Re-Arm to set to Octoprint's setting. I have verified that Octoprint performs well with the Re-Arm card.
  • RepRap Discount Full Graphics LCD

    • The LCD menus are operational.
    • The SD card is always detected whether present or not.
    • No files are displayed under "Print from SD Card"
    • There are two menu items on the LCD that I've never seen before.
      • Change SD Card
      • Under "Print from SD Card" there is "Refresh"
      • Neither of the above items seem to do anything.
    • I am using a custom cable which I modified to supply 5 volts to the panel.

3/10/2019

Did some more research on my SD card issue and found a hidden gem in the Marlin Github forum. There is a setting in "pins_RAMPS_RE_ARM.h" to select which SD card to access. It is described by Marlin to be a feature. Marlin allows g-code storage and printing from either the SD card in the Re-Arm card or the SD card in the LCD; but you can't have both.

Caveats:

  • Re-Arm SD card selection

    • Access is through the USB connection.
    • The SD card is detected as an external disk drive.
    • On a Re-Arm Reset/Boot the SD card is detected as a removable drive by the PC.
    • Cura can access the removable drive and write to it; but the file write time is much longer than writing directly to an SD card.
    • The LCD will show "No SD Card" and will have a menu item "Init. SD Card"
    • Only one SD access path is available at one time.
    • Clicking on "Init. SD Card" will open SD card access to the LCD, but closes the removable drive access to the PC.
    • To restore PC access the Re-Arm card must be reset. (See work around.)
    • Running the G-Code is done by accessing it through the LCD panel.
    • After clicking on "Init. SD Card" a new menu item is added "Change SD Card." I have not determined what that menu item does.
    • Octoprint can see the SD card files, but crashes when attempting to upload to the card.
  • LCD SD card selection

    • Access is through a SD reader/writer on local PC
    • The SD card must physically be moved from the PC to the printer.
    • Running the G-Code is done by accessing it through the LCD panel.
    • If the SD card is inserted while the Re-Arm board is rebooting, the Re-Arm board crashes.

(Workaround)

To manually release the onboard SD card and return remote drive access to the PC a Custom User Menu Item can be added to Configuration_adv.h

#define CUSTOM_USER_MENUS #if ENABLED(CUSTOM_USER_MENUS) . . . #define USER_DESC_1 "Release SD Card" #define USER_GCODE_1 "M22" . . . #endif

Since I use Octoprint for most of my printing, I rarely use the SD card. I've configured Marlin for LCD SD access and will use it in the rare case of not being able to use Octoprint.

3/13/2019

Just completed the configuration and testing of Nozzle Park and Advanced Pause with filament Unload & Load.

While doing background research on the Re-Arm board I read a post from a Kickstarter board recipient who was very positive about the boards ability and quality. The post ended with the line that everything was fine until he bricked the board when configuring Advanced Pause. It was the last post on the subject so I don't know any other particulars that could of caused the issue; and I didn't find any other posts with similar issues. So with a little trepidation I was off on my journey to configure Advanced Pause.

I have been using this feature on my delta since it was available and it works like a charm. Prior to this board upgrade on the HyperCube, I had never tested the advanced pause and the filament load function worked but unload didn't. I put it on my followup to-do list.

Well here I am, time to followup.

I copied the configurations from the Mega2560 configs and uploaded to the HyperCube.

Wow.... Load/Unload worked the same as before. (What a surprise.)

After staring at my configuration and noticing that there are very few GitHub issues opened on Load/Unload problems, I found my problem. My unload length was 650 mm and my Load length was 630 mm. My Extrude Max Length was set to 650 mm. From the description it seems that any extrude command over 650 mm would be ignored, but in actuality, it is any extrude length of 650 mm or more is blocked by the firmware. I changed the Extrude Max Length to 700 mm and Unload is fixed.

Now to test Advanced Pause with a filament change. I edited a G-Code file and inserted a M600 command. When the M600 command executed Advanced Pause parked the nozzle.

Yikes.... It slammed it into the front rail !!!! (Now, what had I done?)

Back to staring at my config for Nozzle Park. My print bed Y_MIN_POS is set to -9. This allows moving the nozzle off the print bed for purging. But in configuring Nozzle Park, I decided to park at X10,Y10. Instead of just entering those values I adapted Marlin's configuration and changed their (Y_MAX_POS - 10) formula to read (Y_MIN_POS -19). You probably see the problem... I forgot to change the operator from "-" to "+". I was parking at Y-28. One good thing comes out of this. I now know that the Nozzle Park feature ignores "Soft End Stops."

Retesting with M600 is successful and this upgrade is just about complete!

I'm looking at configuring "Linear Advance." I've never used it before, but it does look interesting. But now it's time to find out if the 32 bit upgrade was really worth it by seeing what this printer is capable of now. Also, I'm interested in finding configurations, that by default, were tuned for 8 bit processors and now can be opened up to take full advantage of a faster processor. If you have suggestions please comment. Thanks.

Update 3/24/2019:

I got very tired of reaching into the electronics enclosure to press the Re-Arm board reset button every time I made a firmware update. I stumbled across a G-Code command in Marlin for LPC1768 (Re-Arm). The code is "M997". Since I'm using Octoprint and installed the "Terminal Commands" plug-in, I added the code to a terminal command button. Now all I need to do is upload the new FW, reattach the Raspberry Pi and issue the command from Octoprint's terminal.

TMC2208 Upgrade

I received the TMC2208’s and started my learning curve on install, configuration, and unfortunately or fortunately, troubleshooting. But, all well worth the effort. I continued my Google and YouTube research to determine how, and most importantly, the best way for me to install the new stepper drivers. I decided to only upgrade the X and Y drivers as a start.

Note: These TMC2208's were ordered already configured for UART mode. So, I did not have to solder jumpers to activate the UART pin.

  • Built the UART "Y" cables with one side containing a 1K resistor, as instructed in online videos and the Marlin Configuration_adv.h file.

  • Reviewed the configuration of Marlin and determined that the version I was currently running was missing TMC2208 specific configurations. So, I downloaded the newest bugfix 2.0 version. But, after moving my configuration over, it would not compile. The error was due to "printcounter service warnings" being broken. There are github issues opened for the problem, so I’ll revisit it later.

  • The new Marlin pins_RAMPS_RE_ARM.h file contains definitions for the TMC2208 UART pins, and the Configuration.h and Configuration_adv.h have settings, but wrong instructions. So, follow along...

  • The pins_RAMPS_RE_ARM.h pin defines TX and RX pins for X, Y, Z, and E0. But for each TMC2208 the TX and RX are the same pin. The Configuration_adv.h file instructions have not been updated and contradict what is defined in pins_RAMPS_RE_ARM.h:

  • To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN

  • to the driver side PDN_UART pin with a 1K resistor.

  • To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without

  • a resistor.

  • The drivers can also be used with hardware serial.

  • I edited Configuration.h and Configuration_adv.h and compiled successfully with ATOM.

Configuration.h

#define X_DRIVER_TYPE TMC2208 #define Y_DRIVER_TYPE TMC2208

Since the Trinamic driver drives the stepper reverse of A4988 the following two defines needed to be changed on my build from false to true. Your build may be different.

#define INVERT_X_DIR true #define INVERT_Y_DIR true

Configuration_adv.h

#if AXIS_IS_TMC(X) #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 #endif

#if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 #endif

#define CHOPPER_TIMING CHOPPER_DEFAULT_24V

#define MONITOR_DRIVER_STATUS

#define HYBRID_THRESHOLD

#define TMC_DEBUG

//#define SOFTWARE_DRIVER_ENABLE (The Marlin text led me to believe this needed to be defined, but it should not.)

  • I edited the pins_RAMPS_RE_ARM.h file to change the pin designations. I did this because the defaults use the ena and dir pins for E1. Since I’m still debating on installing a second driver for the Z axis I did not want to use those pins. Since I was only installing two drivers I only needed 2 pins, so, I changed the defines to use I2C pin 20 (for Y) and 21 (for X) on the RAMPS.

// P2_08 E1-Step // P2_13 E1-Dir

// #define X_SERIAL_TX_PIN P2_13 // #define X_SERIAL_RX_PIN P2_13 #define X_SERIAL_TX_PIN P0_01 #define X_SERIAL_RX_PIN P0_01 #define Y_SERIAL_TX_PIN P0_00 #define Y_SERIAL_RX_PIN P0_00 // #define Z_SERIAL_TX_PIN P0_01 // #define Z_SERIAL_RX_PIN P0_01 #define Z_SERIAL_TX_PIN P2_13 #define Z_SERIAL_RX_PIN P2_13 #define E0_SERIAL_TX_PIN P2_08 #define E0_SERIAL_RX_PIN P2_08

  • Next was the install of the TMC2208’s.

    • Removed X and Y A4988’s and stepper cabling.
    • Pulled all jumpers under the A4988 drivers.
    • Matched the Gnd and Dir pins to the Gnd and Dir on the RAMPS and inserted in sockets.
    • Adjusted the Vref for 1.1 Amp max output. (My steppers are 1.2A max)
    • Installed the stepper cabling
    • Installed the UART Y cables using only the side of the Y that contained the resistor.
  • Upload new firmware, reset Re-Arm card, M502, M500 (to initialize EEPROM)

  • Test for driver status and communication with M122 gcode. SUCCESS

  • Test for stepper movement. FAIL

  • Make many changes of my own and from online forum suggestions. FAIL - FAIL - FAIL

  • Remove TMC2208’s and reinstall A4988’s and configure the new Marlin 2.0 to get printer running again.

  • A day of research online rewarded me with:

    • a one liner in a Marlin Issue forum post for no stepper movement. After the OP posted his configuration it was answered with ...you enabled SOFTWARE_DRIVER_ENABLE...
    • Pins no longer need to support interrupts
    • Marlin now supports true half duplex UART communications. This meansno Y cable necessary. Now only a single jumper with a 1 K resistor per TMC2208.
  • Reinstalled TMC2208’s, reconfigured Marlin, commented out the SOFTWARE_DRIVER_ENABLE, cut off the unused leg of my Y cables, uploaded and retested. - SUCCESS

All I can say isWow

I now understand why all the comments I've read state that after installing Trinamic drivers the loudest printer parts are the fans. There are times I now have to check visually whether the printer is still printing. Print quality is better. I believe that it's due to reduced motor vibrations being passed through to the X carriage. This upgrade is well worth it.

Follow up and troubleshooting

The upgrade has been very rewarding. Less vibrations and better prints. But, I ran into a strange issue. When moving around a small (approx. 20 mm cylinder) at travel speed (120 mm/s), which happens when combing is set to "Not in Skin," there was a loud clacking noise. It was very disturbing since everything else is so quite.

The things I checked:

  • Loose belts, bearing rods, motors, idler and drive pulleys.
  • Checked for loose X-Carriage components.
  • Checked for missing steps.

All of the above checked out as okay, so, I started researching if this was a standing issue with the TMC2208's. Couldn't find anything. My thoughts at this point was that it could be related to Hybrid Stealth mode switching, but couldn't prove it. Since it wasn't causing major printing problems and it only happened on tight arcs, I started following up with research as time permitted. It took a while but I think it is nailed.

  1. Marlin is aware, but it's buried in the issues.
  2. The theory is that it is partially due to Marlin feeding movements to the steppers in bursts.
  3. The issue is that each movement pushes the stepper above the hybrid threshold and it switches to Spreadcycle (CLACK - Trinamic known issue.) end of burst movement it switches back to Stealthchop. This repeats all the way around the arcs.
  4. Marlins solution is to lower the threshold to around 60 mm/s.
  5. I feel that defeats the purpose of installing the TMC2208's. Since they are then in Spreadcycle more often.
  6. I raised my threshold to 150. No more clacking and things are quite.

I still have some testing and to put some usage under my belt before I can say that this is the solution. But so far it's looking good.

Category: 3D Printers

Tags



Model origin

The author marked this model as their own original creation. Imported from Thingiverse.

License


Highlighted models from creator

View more