Improvements between BI V2.0 and V2.5

Introduction

After our very successful Kickstarter campaign for the BI V2.0 3D printer we immediately decided to re-invest and vastly improve the proposed design. The number of upgrades and improvement was such that the new machines would be versioned as BI V2.5 to reflect these advances.

In this article, we aim to document the major improvements between the BI V2.0 and the new BI V2.5. As V2.5 is being finalized this article will be kept current and updated with the latest pictures and information.

Structural Improvements

The original V2.0 featured ¾ inch hollow aluminium extrusions and 3D printed structural corners that required a metal insert to reach the desired rigidity. Hollow aluminium extrusions where selected for their low cost and their ability to conceal electrical wiring to create a cleaner look.  3D printing of the structural corners was an interesting approach for small production runs, but was quickly determined to be unsuitable for a burgeoning Kickstarter production run of more than 300 units. Indeed, each corner would take approximately 10 hours to print and there existed four corner variations. With 6 corners per printer, that meant that each V2.0 required more than 60 hours of print time just for the structural frame!

3D-printed-corner-with-metal-insert

V2.5 now features structural corners that are similar in function, but are molded in a zinc alloy to allow for a reduced production time, improved rigidity and better tolerance. To accommodate the molding process, the corners were modified with thinner walls and an opening on the bottom to install the aluminium structural beam effortlessly. Another major change is that in V2.5 the structural frame now uses the 20/20 aluminium extrusion system. These 20/20 components are widely available and using them simplifies the fastening of structural beams to structural corners. Lastly, to create a more streamlined look, the axis limiting switch was moved from the outside to the inside of the structural frame.

BI-V2.5-Zinc-corner
zinc-corner

Another area of improvement for V2.5 is the positioning of the bottom structural corners and the print surface support system. In V2.0 we had the structural corners in the upright position lying flat on the ground and 3D printed clips were added to the bottom horizontal aluminium extrusions in order to support the circular print area. A macro adjustment mechanism was included in each 3D printed clips to level the glass pane.

v2-bottom-corners

V2.5 saw the inversion of the bottom corners to allow the use of the bottom horizontal aluminium extrusions for supporting the circular print area. In addition, a laser cut acrylic surface is introduced to allow for the fastening of all electronic components underneath the print area and hidden from view. A slightly more sophisticated leveling system is implemented with three screws and dampening springs that provide an additional layer of protection in the event of a head crash against the glass. Dampening inserts are installed under each corner to reduce the effect of vibration and prevent slippage of the unit on its resting surface.

v2.5-bottom-corners

Linear Motion Components Improvements

V2.0 was comprised of three vertical aluminium beams that served the additional purpose of linear motion components. Our novel approach with V2.0 was to 3D print a custom shaped PLA linear bearing that would fit and glide directly along the vertical aluminium extrusions. To prevent any displacement of the carriages (the components sliding up and down) along the axis perpendicular to the circular build area, we introduced the auto-balancing triple pulley cable system. This new approach generated savings by removing the need for expensive linear rails. In addition, the noise generated by the smooth motion of the carriages along the aluminium extrusions was very low. One disadvantage of cable driven systems was their time-consuming installation, which is unsuited for larger production runs.

BI-V2.0-Linear-Motion-Carriages

V2.5 also relies on a custom shaped linear bearing as well as using the vertical aluminium extrusions as motion components. However, in V2.5 the carriages are injection molded in POM (an engineering thermoplastic with very low coefficient of friction) and match the outline of the 20/20 extrusions. Furthermore, an adjustment mechanism is present in each axis to ensure the carriage is conforming perfectly to the 20/20 extrusions. The result is a linear motion system with very little play and as such there is no longer a requirement for the triple pulley system. For this reason, and for ease of manufacturing, V2.5 ship with a classic belt system.

BI-V2.5-Linear-Motion-Carriages

Delta Platform Improvements

V2.0 featured a 3D printed PLA delta platform with a hotend mounting system that relied on an acrylic insert for support and a 3D printed PLA top plate to secure everything in place. This approach worked relatively well, but did not allow for hotend adjustments that are necessary to ensure perfect vertical alignment of the print heads. In addition, the PLA platform was prone to heat deformation over time. Cooling fans were mounted on the periphery of the platform in order to cool both the object being printed and the hotends. The auto-levelling probe was mounted directly in the center of the platform in the same slot as the hotends. This limited the system to a maximum of 2 hotends whilst using an auto-leveling probe. Having such a large print area, it became apparent that the auto-leveling probe was required at all times.

Delta-platform

The delta platform in V2.5 addresses the fundamental issues of V2.0. The new system allows vertical hotend adjustments and is also injection molded out of fiberglass reinforced engineering ABS (which improves heat resistance). The major breakthrough with V2.5 is the hotend vertical adjustment system which ensures that all print heads are perfectly aligned for multiple extrusion prints. This system is comprised of laser cut aluminium plates that support the hotends. The vertical adjustment is possible by introducing a rubber O-ring gasket between the hotend and the adjustment point. The compression distance of this gasket is enough to allow for the necessary adjustments between print heads. Other modifications include the addition of accessory mounting points on the periphery of the platform. This is where a fan can be mounted to support dual extrusion cooling. The auto-levelling probe, if present, is also installed in periphery to free the third hotend hole (V2.0 previously mounted the auto-levelling probe in one of the hotend slots).

2.5-delta-platform

Extruder Improvements

The V2.0 extruder is largely derived from our previous work on V1.0 which is itself derived from other widely used open source designs. It worked well, but we felt that it could be further refined for V2.5. In V2.0 the extruder was positioned on the top of the delta tower and relied on a fan to prevent heat exchange between the stepper motor shaft and the filament. When heat transfers to a filament that is not moving for an extended period of time it can become soft and lead to stripping, which in turn leads to extruder failure. Using a fan that blows cold air directly onto the filament is an effective strategy to avoid this failure mode. In V2.0, springs were also used to tension a bearing against the extruder driver wheel. These springs provided dampening and accommodated filaments with diameter variations.

V2.0-extruder1

V2.5 sees a major improvement in the positioning of the extruder and the removal of the cooling fan from the design. Positioning the extruder inside the frame streamlines the design and frees the top of each delta tower for other accessories such as spool holders. By using high-quality drivers such as the DRV8825 and better stepper motors that are finely tuned for the extruding application, it is possible to reduce stepper motor heat and remove the cooling fan from the equation. Another modification to V2.5 is the use of a self-tensioning injection molded wheel that combines the roles of the springs and the tensioning bearing in one part.

2.5-extruder

LCD Case Improvements

We’ve always wanted to include a large LCD for standalone control with our 3D printers. In V2.0 we used a full graphic Smart Controller that contains an SD-Card reader, a rotary encoder, and a 128 x 64 dot matrix LCD display. This LCD is enclosed in a relatively unrefined 3D printed PLA enclosure.

v2-lcd

With V2.5 we kept the same outstanding LCD controller, but we took the time to redesign the LCD case to a standard that is more in line with our vision. The result is a beautiful 3D printed enclosure with aluminium backing and acrylic front.

v2.5-lcd

Conclusion

The transition between V2.0 and V2.5 is detailed in this article. At Boots Industries we believe in collaboration and sharing with the community. As such, we will continue to update this article with the latest information and publish further articles. Thanks for reading!

Filament Spool Holder

While working on the Rostock 3D Printer BI edition we also tested different types of PLA filament spools. Although most of the spools that we worked with were similar in that they held 1 kg of PLA, they often had different inner diameters. We found that when working with different spools a versatile system was necessary. We designed our filament spool holder to allow for quick switches between different spool types. When 3D printing, it is important to use a high-quality spool holder as it will ensure the smooth unspooling of the filament and will minimize strain on the extruder.

In this article, we will discuss the BI spool holder and its features. Our primary goal was to design a simple filament spool holder that would be versatile but we also wanted it to be stable and allow for smooth unwinding.

Breaking it down

After several rounds of testing our final design is a spool holder that is comprised of three main parts:

1) The spool holder base which supports the assembly.

Spool-holder-base

2) The rotating platform which sits on top of a 608 bearing and allows for smooth unspooling.

Rotating-Platform

3) The spool adaptor which can be modified to fit any type of filament spool.

Spool-adaptor

The main parts are 3D printed using 1.75 mm PLA and a typical infill of ~30%. Additional parts required include a 608 bearing, a 20 mm M4 cap screw, and a flat M4 washer. The following exploded view depicts the assembly:

Exploded_view

Central to this design is the ability to quickly switch between adaptors to accommodate spools with different mounting diameter.

If you would like to print your own, all SketchUp models, STL files, and additional instructions are available on Thingiverse.

How to String the BI V1.0 Delta 3D Printer

The BI V1.0 Delta 3D Printer is assembled with a Cable Drive System that can be tricky to install without some pointers. This article will explain how to properly string each tower and will give information on what to look for when completing this task.

1) We start the stringing process with the 3D printed drive pulley installed to the shaft of the stepper motor.

2) While facing the drive pulley as depicted in the picture below, introduce the no stretch cable trough the guide tunnel from left to right.

  • The drive pulley should be positioned in such a way that orients the inner tunnel to bring the wire closer to the motor (while being inserted from left to right).

3) With the free end coming out on the right make an overhand loop knot.

4) Slip the M4 tensioning screw and the M4 washer trough the loop and screw it in the carriage about 3 threads deep.

String1
Sting4

5) Next, move the carriage to the top of the tower against the endstop switch.

6) Maintain some tension on the wire by holding the carriage with one hand and spin the pulley with the other hand to make it come down.

  • The initial position of the pulley should be turned at least half a turn clockwise from the position where the cable enters the tunnel guide.
String2
Underside-String-Half-Turn

The best technique to turn the drive pulley is by spooling the other side of the cable onto the drive pulley to ensure that the cable doesn’t slip on the pulley. Make sure to maintain tension with the carriage or else you’ll end up running out of tensioning room on the screw later on (it won’t screw up enough to tension the assembly).

7) Keep bringing the carriage down until it is at the very bottom.

8) Once that’s done measure the length of cable necessary to start from the pulley with at least half a turn clockwise then go around the idler pulley then back down to the carriage.

9) Once you’ve determined the length of the cable make an overhand loop knot and cut the free end. Now slip the newly made knot over the cable attachment prong.

  • If you made the knot a bit short and you can’t slip the knot on (which is not a bad thing) you can move the carriage to the middle of the tower while making sure to keep the tension in the cable. Unscrew the tensioning screw, slip the knot over the prong and reinstall the screw.

Sting_5 10) The last step is to make sure the cable spools correctly on the pulley. We’ve analyzed the spooling motion and it is crucial that the cable spools without crossing itself to keep the spooling diameter the same throughout the entire length of the carriage motion.

  • Failure to avoid wire crossing could affect print quality! Usually, if the initial turn of the cable around the pulley is stacked right and there’s enough tension in the cable it should spool correctly. If the cable begins crossing over itself, then you need more tension. You can also use the M4 washer as an adjustment to help position the cable.
String6
String7

Test the motion of the carriage and make sure it doesn’t bind at any point along the tower by moving it by hand up and down a few times. You should also make sure during the test that the cable spools itself properly every time.

You have now stringed one tower. Do the same for the others if required. With experience, you should be able to string one tower under 5 minutes.

Tower Calibration – Rostock BI V1.0 3D Printer

Calibrating the Rostock 3D Printer BI Edition

As you know the Rostock 3D Printer BI edition comes pre-calibrated out of the box or in a DIY Kit. However, if you happen to notice that your printer is not printing as well as it should or if you replaced some parts you might want to recalibrate it. The calibration process is iterative and we’ve come up with a solution that shouldn’t take too much time. If you only want to adjust the base layer height please refer to the Getting Started Guide found inside your user manual.

First, you will need the Arduino IDE (integrated development enviroment) that is available free on arduino’s website. Then you will need to get the firmware source code for your Rostock BI (instructions on where to retrieve the firmware for your fully calibrated printer is found with the printer documentation, but the basic software version can be obtained from us.

The first step is to open Marlin.ino using the Arduino IDE.

Marlin-Source-File

Then navigate to the Configuration.h tab.

Configuration-tab

The first calibration step is to set the DEFAULT_AXIS_STEPS_PER_UNIT  value on line 312. Because the driving pulleys are 3D printed there could be slight variations between their shape and behavior. As such, we take time to adjust this crucial setting with empirical data instead of using theoretical values.

The method we use is to take measurements from the top plate to the carrier we are calibrating (each done individually).

The steps are as follows:

1. Home all axes then position your digital caliper to take the measurement.

2. Move the carrier 2 mm down in Z to ensure the caliper is properly seated then zero it.

3. Move the carrier 40 mm down in Z and record the distance traveled. We recommend that you take at least 3 measurements and discard any extreme values. We use a simple Excel sheet to facilitate the calculation which implements the following formula:

Excel-Calculator

New DEFAULT_AXIS_STEPS_PER_UNIT = [Commanded Move Length (mm) / Actual Move Length (Average)] * Current DEFAULT_AXIS_STEPS_PER_UNIT

With the Excel Calculator, you must first enter 40 mm (or the test distance you choose) in the Commanded Move Length field.

The next step is to conduct the measurements at least 3 times and enter your results for the tower in the Actual Move Length fields. An Average will be calculated for your 3 measurements.

Lastly, check the corresponding DEFAULT_AXIS_STEPS_PER_UNIT from the Firmware and enter it in the Current DEFAULT_AXIS_STEPS_PER_UNIT field.

The answer will be displayed in the New DEFAULT_AXIS_STEPS_PER_UNIT field. You must replace the old value with it and run another test to insure that the actual move length equals the commanded move length.

Arduino1

Bed

The next step is to roughly set the hotend height. This setting is controlled by MANUAL_Z_HOME_POS on line 303. Home all axes then descend the hotend to the glass surface while noting how many clicks of each interval to see how far you went. Replace the MANUAL_Z_HOME_POS in the firmware and upload. Now if you home all axes and try to descend lower than the set height the controller will stop it.

Arduino2

It is now time to calibrate each tower’s Endstop switch. Load up the Tower Calibration.gcode into Repetier-Host and run it. The Gcode is configured to perform certain steps and ask you to continue after each step.

  1. The first movement of the printer will be to lower Hotend to 2 mm above the glass.
  2. Click “Continue” and the print head will move towards the “X tower” and should remain 2 mm above the glass during its travel.
  3. Continue the calibration code and note the behavior of the print head at each location.

If the hotend lowered or raised itself visibly, then a major adjustment to the screw on top of the carrier of the affected tower is needed. The idea is to adjust the towers in such a way that the print head remains 2 mm from the glass during the entire calibration procedure.

Closeup-Adjustment-Screw-Main

Tower Height Adjustment Screw

The next image depicts how to adjust the carrier screws. Each revolution of the screw will adjust the height of the tower by 0.5 mm. Turn clockwise to raise the print head from the glass and anti-clockwise to lower the print head. Here’s an example.

Calc_Height

This is where the iterative process starts because changing one of the screws does affect the others but not as to diverge from the trend. Do this a few times but not to perfection because the next setting will also affect the height near the towers.

This next setting is the DELTA_RADIUS, but because it is a calculated value we will indirectly change it by changing the DELTA_SMOOTH_ROD_OFFSET on line 65. This has a result of changing the path the hotend takes from one point to another.

Arduino3

The ideal print head trajectory is a flat trajectory paralleling the glass surface. If the setting is not right you will see the trajectory that is either concave or convex with respect to the heat bed. This is the most difficult to adjust because you have to adjust it by eye. If the trajectory is concave it means the value of DELTA_SMOOTH_ROD_OFFSET is too high and vice-versa. This step could be done before adjusting the tower screws but if you don’t know where the starting and ending point should be it makes it a little bit harder to judge.

Once the trajectory is flat then you don’t have to change it again, a few iteration of the screw process and you should be done.

You can also try to print and see a trend of the plastic being squeezed to the glass (convex) or being extruded to high (concave) at the extremities of the print area.

Having done this process numerous times we got a feel of how much adjustments to do for certain deviation and hopefully you can calibrate your BI edition of the Rostock without too much frustration. Don’t hesitate to visit our support section if you need more help calibrating your 3D printer.

Cable Drive System – Rostock 3D Printer BI

During our research when designing the Rostock 3D Printer BI Edition, we found that some people had experimented with using cable drives instead of the traditional belt drives. After careful analysis, we were confident that a cable drive could accomplish the same function as a belt drive and that it would also be simpler to implement. We went through several rounds of testing and redesigning until we were fully satisfied with our current cable drive system. Today we are unveiling our final design for the cable drive system (which will ship with the first batch of Rostock BIs).

To begin, let’s take an overall look at the system and its components. At the bottom, we have a cable drive pulley, in the middle, we have a carriage assembly with cable tensioner, and at the top, we have an idler pulley module with bearings and a stop switch. The carriage assembly glides smoothly along 5/16 inch steel rods using LM8UU bearings.

Real_cable_drive_top_view_with_comments

Rostock 3D Printer Drive Pulley

One of the most important features that we wanted to incorporate into the cable drive pulley was the ability to keep the wire from crossing over itself. The main reason why we wanted the wire to spool perfectly around the pulley was to ensure that binding of the wire would not affect the print quality. We initially tested “ribbed” pulleys that were intended to guide the wire around an infinite screw. However, we found that these systems produced long pulleys that moved the wire laterally and created other types of problems.

Another objective we had was to keep the pulley relatively close to the stepper motor face. By doing so, we limited the lateral movement of the wire across the pulley and maintained a relatively constant wire distance between the top and bottom pulleys.

Motor_drive_closeup

The result is a minimalistic drive pulley held in place by a retaining screw. We placed a dividing wall in the middle of the pulley to keep the spooling and unspooling segments separate. Another interesting feature of the drive pulley is a guide tunnel going from one end to the other.

Better_Closeup_Pulley

This guide tunnel allowed us to use a single wire for the assembly and secure the wire on the pulley without the need for screws (other designs used additional screws to secure the wire onto the pulley). The strategic location of the guide tunnel promotes a more linear winding of the cable, which translates into a linear carriage motion.

Carrier and Tensioner

The cable used in the Rostock 3D Printer BI Edition is a high quality braided non-stretch fishing line. A non-stretch cable is important in order to guarantee that the cable doesn’t lose its tension. The cable tension is adjusted by turning an M4 screw equipped with a washer. The washer will  ensure that the wire is secured to the carrier. Another useful benefit of using a washer is that it allows you to fine tune the position of the wire around the tensioning screw and also fine tune the winding pattern of the cable.

Carrier_closeup

The carriage assembly is held in place on the rods by linear bearings which provide a very smooth motion. Finally, on the inside part of the carrier we positioned an M3 screw to hit the “endstop”. The height of that screw must be 0.5 mm for each turn. This is critical for the proper calibration of the towers and print head.

Idler Pulley

The idler pulley, located on the topmost part of the assembly, is comprised of two 608 bearings and a 3D printed pulley. It is mounted on a part that supports both rods and the top plate and the wire is simply looped over the 3D printed pulley. This arrangement provides support for the cable and a very smooth drive. We used two bearings to allow for a greater surface area when adjusting the final position of the pulley. We plan to  use only one 608 bearing for  subsequent versions of the system.

The cable drive system that we have designed is simple and reliable. The production of this system is very straightforward when compared to the belt and metal pulley. Since we use a non-stretch wire, there is also minimal lash in the system which means accurate and easy calibration. 

Idler_closeup

Stop Switch (Mechanical Endstop)

The stop switch is located on the inside part of the idler pulley module and, as its name suggests, is used to stop the carriage assembly. It is not necessarily part of the cable drive system itself, but we decided to dedicate a few lines to it in this article. The endstop used is a mechanical switch mounted to a PCB breakout board. It is widely used in many 3D printer designs and performs very nicely. We evaluated the possibility of using Hall sensor based switches but saw no real benefits for this application where we simply needed to mark an initial position in the software. In a nutshell, when the screw located on the carriage assembly hits the switch, a signal is sent to the software, the stepper stops and the position is marked as “parked”.

Endstop_closeup

If you would like to print your own, all SketchUp models, .STL files and additional instructions are available on Boots Industries Thingiverse.

POTs Calibration – RAMPS 1.4

The first batch of the Rostock 3D Printer BI Edition is driven by the Arduino Mega 2560 and the RAMPS 1.4 electronic package. This package is installed upside down under the top plate of the Rostock BI inside a protective PLA case.

Ramps1_4
Arduino-Mega-2560

When you remove the protective PLA case and take a look at the RAMPS board you will find four A4988 Pololu Stepper Drivers equipped with heatsinks.

Ramps_A4988

The potentiometers (POTs) found on each stepper driver are used to adjust the power delivered to their respective stepper motors. The initial adjustment of each POT is done at BI Labs (except for the DIY 3D printer), but you may find that over time they might require fine tuning. There is a small margin of adjustment for each POT that is optimal for your Rostock 3D printer. In this article, we will cover the steps required to properly adjust the POTs.

If a POT is set too high then the associated stepper driver will tend to overheat and go into over-temperature thermal shutdown (to prevent damage to its components). The first sign of overheating is erratic stepper motor behavior. Typically, this can be recognized by the sounds of the stepper motor suddenly losing power (thermal shutdown). If no load or movement is required of the motor, it is hard to detect whether it is over-powered as the driver is barely producing any heat. To help you better understand, we’ve included a short video that shows the different behaviors of an improperly powered stepper motor.

We talked about the over-powered state that can lead to erratic stepper motor control and thermal shutdown. Conversely, if the POT is set too low, the stepper motor can enter an underpowered state. This can be recognized by a lack of holding torque and a stepper motor that is skipping steps because the necessary movement  requires a higher power demand than the POT setting allows for.

Both situations are remedied by fine tuning the POT adjustment so that the stepper can provide enough power without overheating. To adjust the POT screw we recommend using a non-conductive flat screwdriver (#0).

Non_conducting_screwdriver

If you turn the POT adjustment screw clockwise you will:

  1. Increase the power delivered to the stepper; and
  2. Increase the heat generated by the stepper driver.

Turning the POT counter-clockwise will have the opposite effect.

Pot_increase
Pot_decrease

It’s important to note that some POTs do not have a physical stop at the minimum and maximum power setting. In the absence of a physical stop, you must be aware that there is a dead zone of rotation where the POT screw will be ineffective. In other words, making a full revolution will bring you back to the same setting but only a certain percentage of the revolution is effectively controlling the power output.

Note: The image below depicts the “dead-zone” as 180 degrees. A dead-zone is not always present but if it is, your inputs will have no effect in it.

Pot_dead_zone

The best way to calibrate a POT is to launch a print and adjust the POTs until you are satisfied with the power delivery. The ideal point is reached when your POT is set slightly higher than the minimal setting required to accomplish the task. The three tower stepper motors won’t require as much power as the extruder stepper motor.

Finally, we should point out that the fan enclosed in the PLA protective case plays a key role in keeping your POTs at a low temperature. As such, make sure to re-install the case when you are done.