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.
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):
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.
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.
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.
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.
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.
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.
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.
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.
The heated bed parts supplied in the parts kit are:
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.
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.
To house the electronics I had two criteria:
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.
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.
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:
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)
To fine tune the BLTouch watch this video
https://youtu.be/BV11-VOQjMc
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.
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.
Add LED lighting.
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.
Decided to add a camera to monitor and to record time-lapse video.
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.
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.
(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
Per the first part of Chris Riley's video I downloaded the following software and performed the install on the Raspberry Pi.
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.
(Navigate the raspi-config menu by using the up/down/left/right arrow keys.)
Stay tuned, The board is ordered, I'll post as I go.
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:
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.
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.
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
Next step is to install and test.
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 printer is back up and running.
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.
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.
Correct orientation so that loads are supported by two races of bearings.
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.
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.
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.
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 }
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.
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 to E3D All-Metal Hotend
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.
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.
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:
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.
The things I'm working out are:
Below is a picture of my second test print "Astronaut Phil A Ment." Printed at 2 perimeters, 20% fill, no supports, 60 mm/s.
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.
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.
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.
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.
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.
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.
Well so much for the Titian and in with the Titan and upgrade #8.
At some point I'll need to upgrade to 32 bit. I'm still trying to decide between Duet and Smoothie Board.
- 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.
- 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)
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.
-- 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
-- 1/14/2019
-- 1/10/2019
-- 12/18/2018
-- 12/11/2018
-- 11/3/2018
-- 10/31/2018
-- 10/29/2018
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.
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 -
Change Minumum Pulse Width to 6
Change Maximum Stepper Rate to 250000
Change Maximum Stepper Rate to 140000
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 -
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.
Still more testing to do, but I'm calling it a night. Will update when I get more.
Ran into issues configuring my Bed Cooling Fan.
To control the P2_06 pin the syntax is:
M43 Debug Pins
Octoprint
RepRap Discount Full Graphics LCD
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
LCD SD card selection
(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.
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.
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.
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.)
// 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.
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:
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:
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.
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 PrintersThe author marked this model as their own original creation. Imported from Thingiverse.