Airtripper's 3D Printer and Arduino Blog http://airtripper.com 3D Printer usage and modifications plus Arduino powered electronic projects and 3D Printing designs. Thu, 21 Aug 2014 02:04:14 +0000 en-US hourly 1 http://wordpress.org/?v=3.8.4 3D Printer Filament & Slicer Profile Handling and Trackinghttp://airtripper.com/1880/3d-printer-filament-slicer-profile-handling-and-tracking/?utm_source=rss&utm_medium=rss&utm_campaign=3d-printer-filament-slicer-profile-handling-and-tracking http://airtripper.com/1880/3d-printer-filament-slicer-profile-handling-and-tracking/#comments Fri, 09 May 2014 01:11:41 +0000 http://airtripper.com/?p=1880 After owning and using a 3d printer for more than a couple of years, you might have a collection of filament of different types, colours and suppliers. You will have notice that, even if you only use one type of filament,such PLA, the same g-code file does not always transfer reliably to another similar reel of filament. So, after calibrating a new reel of filament, how do you keep track of filament with associated g-code? One method is described below.

Different Black Filament 3D Printed with Same G-code

Different black filament 3d printed with same g-code produced different results.

Unfortunately, we’re not at the point where you can receive delivery of new filament, drop it straight in to the 3d printer, and press print, without the need of any sort of calibration. You might get close to a drop in filament if you are able to repeat order the same filament, but even then, some calibration might still be needed on the occasional reel.

Before loading new filament into the 3d printer, the filament diameter is usually the first thing that needs to be checked, and then updated in the slicer software profile if necessary. After evaluating the first test print of new filament, other slicer profile changes may also be necessary to get a good 3d print.

As soon as you start editing the slicer software profile, you are creating a new profile for a new reel of filament. This new profile will need some way to be associated to the new reel of filament while also preserving the original slicer profile for existing filament.

Matching Filament To Slicer Profile & G-code Files

I print mostly from SD Card and for some time I already use some sort of system to match filament with slicer profile and g-code files. I basically name each reel of filament a unique code, and then the same code is used in computer file and folder names to associate slicer profile and g-code files with the filament.

So if I’m looking to print a 3d model directly from the 3d printer SD Card, I select the folder of the model through the 3d printer control interface, I will then be presented with a list of folders that are named with the filament reel codes. Straight away I know which filament the g-code is calibrated for. All I need to do now is select the folder that shares the same code name as the filament I want to use; the g-code used for printing the model would be found in this folder.

Identification Code On Filament Reels

I’ve refined the coding system I’ve been using for the benefit of this article and you can use it as it is or adapt it to your own needs, at the very least I hope it provides some inspiration. When considering a version of a code you want to use, keep the code length to no more than eight digits to suit SD Cards to maintain readability through the 3d printer control interface.

Basically, each reel of filament would have this code writen on the supplier’s label stuck on the side of the reel. At the minimum, when your new order of filament arrives from the supplier, you write on each reel of filament the 2 letter colour code, the 1 digit year code, and the 1 digit month code. If you get two reels of filament of the same colour within the same month, you can add an index code to the final code so that the code remains unique for each identical reel.

The table below gives a quick look at how the code is made up, and with a bit of practice, you’ll probably be able to work with the code without referring to the table too much.

Filament Reel Identification Code Table

Filament Reel Identification Code Table

Colour

This is a two letter colour abbreviation, it’s not a complete list in the table above, more examples can be found on the internet. You are likely to remember most of these codes once you start using them.

Year

I’m assuming the lifespan of filament would not normally exceed ten years, so I’m using only a single digit that is taken from the last digit of the year which will role over every ten years. So, year 2014 will be the single digit 4 on so on.

Month

Month is a single digit to save space, so months 10,11 and 12 will be A, B and C respectively. If you don’t need to use the optional codes, you code use a two digit month in the final code instead.

Index / Reel Number

I’ve marked this down as optional, which would be true for those people who don’t buy a lot of filament. For those who buy many reels of filament a year, the index field is likely to be essential. If you buy many reels of filament of the same colour in the same month, then the reels will share the same code, this is where you need to add an index to the code to make the final code unique for each reel.

This is a single digit field and you can use either numbers or letters depending on the index range you want.

Material

I’ve added a few common types of filament in the code table. Adding this field to the final code might be useful to those who stock up with different types of filament. When looking through the computer file system, I think it will be useful to be able to quickly associate slicer profile files to material types without physically checking filament reels. This is a two digit code, and it will be up to you how you abbreviate the different material types.

Type

This field can be optional and is basically used to identify filament with special attributes. You would use this field for the same reason as for material, to quickly associate the final code to a filament without physically checking reels of filament. The code for this field is single digit, and how you abbreviate the type is up to you.

Saving Filament Slicer Profile Files & G-code Files

A structured file system is needed to make the filament reel identification code to work well, and keeping it simple will make it easy to work with and to remember the structure when adding new files and folders. The functions of the files and folders are explained below in detail with reference to the following example file tree illustration below.

3D Printer 3D Models & G-code File Tree

3D Printer 3D Models & G-code File Tree

3dprint – This is the name I’ve chosen to identify the root of my 3d printer file system. It holds all of the model files, slicer profile files, STL files and G-code files. This folder marks the start of your 3d model files backup, simply drag and drop this folder onto a USB storage device.

Community, Own – Basically, I would have 3d models I’ve created myself and 3d models I’ve downloaded from sharing sites such as thingiverse. Any 3d models I’ve uploaded for sharing, I copy a snap shot from the own folder to the community folder. Community and Own folders are for storing 3d model folders.

airtripper-extruder-v3-bsp – This is the model folder level which contains a number of other files and folders. This folder can be a long descriptive name that best identifies the 3d model it contains. The model folder contains the model files and the STL files saved from the 3d modelling software, also the slicer profile files are saved here also.

BK440PL.ini, BK440PL-idler.ini – Slicer profile file names come from the filament reel code they’ve been set up against. By reading the slicer profile file name, you will know which reel of filament it belongs to. Where you have a group of model parts in one model folder, you might need a slicer profile for a particular part for it to print correctly. BK440PL-idler.ini has the model name included in the file name to show which model part needs its own profile.

In the example file tree illustration, the slicer profiles are stored with the STL and model files, you might fined it more convenient to store the slicer profile files with the g-code files instead. Keeping an ideal slicer profile template with the STL files could be an option.

air-bsp – While long file and folder names are perfectly acceptable on SD Cards, long names may not be readable through the 3d printer control interface. The folder air-bsp, and its contents, would be copied to the 3d printer SD Card. Using the old dos operating system 8.3 file name format would ensure that the file names are readable and not truncated through the 3d printer control interface. However, you might get away with idler.gcode instead of using idler.gco, which will be more convenient when saving g-code files using the Cura Slicer.

If you don’t print from SD Card at all, you don’t need the air-bsp folder level and you can have its content within the main model folder instead. The folder name air-bsp is just short for airtripper-extruder-v3-bsp and is still identifiable on the SD Card when it comes to searching for it.

G-code start section of the Cura slicer profile.

Some filament characteristics edited into the g-code start section of the Cura slicer profile

BK440PL, BL3B0PL and RD440PL – These folders hold the g-code files used for 3d printing. The folder names are taken from the identification code that the filament was assigned. The folder names tell you which reel of filament the g-code files have been compiled against. You would have a set of g-code files for each reel of filament.

On Closing

Once you start using a system like this you will start to create new kinds of data. You will begin to use slicer profile templates for similar model designs and for a particular type of filament. Some filament characteristics can be noted in the slicer profile start g-code section in the slicer software as a reminder of why a particular set-up was used, and you’ll want to keep slicer profiles even when the filament it was associated to has long since run out. You would certainly want keep the slicer profile files that helped get the most problematic filament to print correctly.

I’m sure I’m not the only one using a system similar to this, so if you have any suggestions on how to improve this one, or you have a system to top it, please share in the comment section below.

Related Articles

Marlin Firmware v1, Basic Configuration Set-up Guide

3d printer Filament & Slicer Profile Handling and Tracking.

]]>
http://airtripper.com/1880/3d-printer-filament-slicer-profile-handling-and-tracking/feed/ 0
Marlin Firmware Home Offset Guide Using G-code M206http://airtripper.com/1799/marlin-firmware-home-offset-guide-using-g-code-m206/?utm_source=rss&utm_medium=rss&utm_campaign=marlin-firmware-home-offset-guide-using-g-code-m206 http://airtripper.com/1799/marlin-firmware-home-offset-guide-using-g-code-m206/#comments Thu, 27 Mar 2014 01:43:46 +0000 http://airtripper.com/?p=1799 This is a guide to using g-code command M206 to set the Z axis home offset in the Marlin Firmware, a guide to a method of adjusting the gap distance between the hot end nozzle and the build platform. To set the Z axis home offset on the 3d printer, you will use g-code commands including M206 for the home offset, M500 and M501 for the Marlin Firmware EEPROM feature, and G1 for controlled move to Z axis zero position.

Set Gap Between Nozzle And Bed Using G-Code, EEPROM & Marlin Firmware

Set Gap Between Nozzle And Bed Using G-Code, EEPROM & Marlin Firmware

About

Firstly, this guide may not be suitable for all 3d printers, probably those printers that are the delta type and those with the auto bed levelling feature. Apart from that, for this guide to work for you, you will need a 3d printer configured with a Z+ end stop.

On a lot of 3d printer set-ups, the gap between the nozzle tip and the build platform surface is just a fraction of a millimetre, so it does not take much to upset the gap distance. Things like levelling the build platform, changing the hot end nozzle and using different filament types can cause the first layer height to be out of calibration.

Usually, as accurately as possible, you would only adjust the final travel limit for Z axis in the Marlin Firmware, then upload the firmware to the controller motherboard. However, if adjustments are going to be made more often, it would be more convenient to adjust the final travel limit using the home offset feature.

The guide will explain a method of applying an offset to the Z axis to extend the maximum travel limit, initially set in the Marlin Firmware, using Pronterface. A combination of g-codes will be used through Pronterface so that the home offset can be set, saved and tested. An initial edit in the Marlin Firmware configuration.h file is required, but beyond that, you would only need to change the home offset value to change the gap distance between the hot end nozzle and the 3d printer build platform.

3D Printer Axis Crash Caution

3D Printer Axis Crash Caution – Axis crash is possible with manual jog when software end-stops are disabled

Removed Safeguards – Important

This guide, an extension to the Marlin Firmware v1, Basic Configuration Set-up Guide, covers editing the Marlin Firmware configuration.h file to enable EEPROM support and to disable software end-stops, and as a result of editing the configuration file, it will be important to note that some operational safeguards will be disabled; it will be possible to manually jog an axis beyond its travel limits, probably resulting in an axis crash and possibly causing damage. Accidentally pressing the 100mm jog button instead of the 10mm jog button, is an example of what could cause a 3d printer axis crash; this would normally be prevented by enabled software end-stops. Attempting to print models outside the physical print area could also cause an axis crash also.

Only use this method to set home offset, as described in this guide, if the users of your 3d printer are aware of the manual jog limits and the risk of crashing an axis when exceeding the limits. It would be recommended to include axis homing to the g-code compiler start file so that homing is automatically applied to the model g-code files at compile time. It would be good practice to manually home the 3d printer, using the printer interface such as Cura or a printer control interface, before starting each print.

Marlin Firmware Configuration

If you are attempting to configure the Marlin Firmware for the first time you will need to head over to the Marlin Firmware set-up guide here to get started with the basics.

It’s basically going to be a quick edit of the  Configuration.h before we get started with the main guide to configuring the home offset. Use the Arduino IDE search tool to quickly find the lines of code needed for editing.

3D Printer Marlin Firmware & Home Offset Set-up Example

3D Printer Marlin Firmware & Home Offset Set-up Example

Disable Software End-Stops

To configure the home offset successfully, we’ll need to be able to travel beyond the fixed travel limits set in the Marlin Firmware. When software end-stops are enabled, the home offset will not work outside the axis travel limits. If we want the axis to travel to maximum position plus home offset, we will need to disable software end-stops.

#define min_software_endstops false
#define max_software_endstops false

Software end-stops are enabled by default. To disable software end-stops, find the above lines of code in Marlin Firmware Configuration.h file and set each line to false as shown.

Enable EEPROM Suport

After setting the Z axis home offset on the 3d printer, we want to store the setting in EEPROM so that the home offset value we want to use is available automatically when the printer is started.

#define EEPROM_SETTINGS
#define EEPROM_CHITCHAT

To enable EEPROM support in the Marlin Firmware, uncomment the above code snippets by removing the  forward slashes at the start of each line of code.

Travel Limits After Homing

Ideally, we want to set a maximum travel limit that stops the hot end a good safe distance above the build platform with home offset set to zero, and then fill the gap between the nozzle and the build platform with home offset. If you change the build platform thickness by adding a glass surface for PLA and then remove glass surface for ABS, you will have to allow for the thickness of the glass also. A guide to clearing the current home off set is included further down this article.

#define Z_MAX_POS 80

Normally, you will only need to change the value for Z_MAX_POS; just edit the above line of code to the maximum travel limit you want to set for your 3d printer. On my 3d printer for example, I have around 90mm of travel on the Z axis, as shown in the above code, I’ve set the Z_MAX_POS to 80, that leaves around 10mm to play with when setting the home offset.

Marlin Firmware Home Offset Guide

Some Preparation

After the Marlin Firmware is configured as above, the build platform needs to be levelled before attempting to set the Z axis home offset. You will need to be prepared to fine tune the final offset measurement while the hot end and the heated build platform are up to working temperature. You can practice setting the home offset while the 3d printer is cold, this will avoid trial and error while the nozzle is hot and not extruding for long length of time.

Pronterface - 3D Printer Interface Software

Pronterface – 3D Printer Interface Software

Setting home offset and storing to EEPROM is done through the 3d printer interface software such as Cura and Pronterface. Both Cura and Pronterface have a terminal interface that allow the user to send g-code commands to the Marlin Firmware. For this guide, Pronterface will be used because manual jog controls and terminal are in the same application window for convenience.

Terminal inputs may be case sensitive in some 3d printer software interfaces, if you get an error or no response in the terminal feedback window, check that you are typing upper-case g-code commands.

Setting & Testing Home Offset

Quick Brief

There are seven steps to follow in this guide, first two steps will be to check and clear existing offset for the Z axis, followed by five steps to set and test new home offset. If you are using the Marlin Firmware home offset feature for the first time, please be sure to read through the whole guide first before changing any settings.

The guide describes a set-up that is similar to my 3d printer only, so the Z axis measurements used in this guide are there as a set-up example and not meant to be copied for use in other 3d printer set-ups. If you’ve read the guide in full, you’ll have an idea of what measurements to use on your 3d printer to set your own home offset.

Checking & Clearing Existing Home Offset

Saving a new home offset setting will replace a previously saved offset in EEPROM, so if you’re using a 3d printer you’re not familiar with, avoid unexpected results by first checking for existing offset setting. The next two steps will help to discover and clear an existing offset.

Step 1. This is a simple check to see if an offset has been set.

Check Current Home Offset Setting Stored In EEPROM

Check Current Home Offset Setting Stored In EEPROM

  1. Not an essential step to clearing home offset, put the 3d printer in a safe position by homing each axis after powering up the printer.
  2. Enter the g-code M501 in the terminal interface text box.
  3. Press the send button to send the g-code to the 3d printer.
  4. Data stored in EEPROM is then read to the terminal window. Look for the line with M206 to find the current Z axis home offset.

Step 2. You can fine tune existing offset by jumping to later steps, or you can start a fresh by setting offset to Zero.

Step 2 - Clear Existing 3D Printer Z Axis Home Offset

Step 2 – Clear Existing 3D Printer Z Axis Home Offset

  1. An illustration of what an existing home offset looks like, which can be compromised after build platform re-levelling.
  2. Clear the current Z axis home offset by sending g-code M206 Z0 through the terminal; we set the Z axis home offset to zero.
  3. Save the new home offset to EEPROM by sending g-code M500.
  4. Confirm that the new offset was saved to EEPROM by sending g-code M501.
  5. An illustration of what zero home offset looks like, the 3d printer should be homed after home offset changes.

Setting The Initial Home Offset – 3D Printer Cold

This part of the guide describes setting up an initial home offset while the printer is cold. Basically, we are setting a new offset that will be a centimetre or two short of what we need, we will get the hot end nozzle close to the build platform while the printer is cold. Then, later in this guide, we heat up the 3d printer for fine tuning the final offset.

Step 3. We prepare the printer for the next step so that an initial offset can be measured.

Step 3 - Test Z Axis Height & Z Travel Distance

Step 3 – Test Z Axis Height & Z Travel Distance

  1. First, home the 3d printer. The illustration shows that Z_MAX_POS is much less than Z axis physical travel distance, this should give us room to set an offset.
  2. Send the Z axis to the zero position by sending g-code G1 Z0 through the 3d printer software interface terminal.
  3. The Z axis should now be positioned at zero. We are now ready to measure the initial offset in the next step.

Step 4. So, moving forward from Step 3. c, we are now going to set a rough home offset value with the 3d printer cold, no heaters switched on. If you are just fine tuning the final home offset value,  you could probably skip to Step 5.

If you have a mirrored or glass build platform, slide a sheet of paper over the platform to avoid hot end nozzle reflection that can make you think the gap between the nozzle and platform is bigger than it actually is. If you prefer, centre X and Y axis over the build platform before measuring the gap between hot end nozzle and build platform.

Step 4 - Set New Home Offset For Z Axis

Step 4 – Set New Home Offset For Z Axis

  1. With the Z axis at zero position, as in Step 3. c, use the Z axis manual jog control to bring the hot end nozzle closer to the build platform in 1mm steps. Keep a count of how many 1mm steps, and stop when you get the nozzle about 1 to 2mm away from the platform. Make a note of the total of 1mm steps made for the home offset value. If fitted, the 3d printer LCD control interface will show Z as a negative number; this can be used as the home offset value, with the value changed to positive.
  2. The 3d printer build platform and nozzle is about a millimetre or two apart and we now know the initial offset value we want to start with. For my 3d printer, the initial home offset will be 8mm; because I allowed about 10mm for home offset when setting Z_MAX_POS in the Marlin firmware.
  3. We save the initial offset value to EEPROM, send the new offset value, using the g-code command M206 Z8, through the terminal; setting 8mm as the new home offset.
  4. Immediately save the new offset to EEPROM by sending the g-code M500.
  5. Check that the new offset was saved to EEPROM by sending g-code M501. Look for the line with M206 in it.
  6. With the offset now added and saved to EEPROM, -8 position becomes the new zero position, giving the Z axis a total of 88mm of travel, as the case with my 3d printer. The offset will be updated after homing the Z axis, in the next step.

Step 5. A new home offset value has been saved to EEPROM, and confirmed. Now it’s time to mechanically test the new offset before moving on to fine tuning. The 3d printer is still cold at this point, however, the build platform can be preheated now if preferred, especially if the platform takes a long time to heat up.

Step 5 - Test New Home Offset Setting

Step 5 – Test New Home Offset Setting

  1. To avoid disturbing the X and Y axis centred over the build platform, using the 3d printer software jog controls, home only the Z axis. When the Z axis is at the end stop, the gap between the hot end nozzle and the platform should be slightly more than both Z_MAX_POS and home offset added together.
  2. If the measurements check out as above, then it should be safe to send the Z axis to zero position, send the g-code command G1 Z0 through the terminal.
  3. The 3d printer Z axis should now be at zero position, leaving a millimetre or two gap between the hot end nozzle the the build platform as expected.

Fine Tuning The Initial Home Offset – 3D Printer Hot

Step 6. If you are jumping straight into fine tuning, you need to start from step 5. Right, we’re on to fine tuning the home offset now. This is were you need to be careful, because it is recommended to have the hot end and the build platform at working temperatures while setting the first layer height or gap between the nozzle and platform.

I use A4 photocopy or printer paper as a gap feeler for setting the gap between the nozzle and the platform. You may need to cut the A4 sheet to fit inside the printer, but have the sheet at a size so that it can be handled and positioned while avoiding hands and fingers touching the hottest parts of the 3d printer.

Step 6 - Fine Tune Existing Home Offset Setting

Step 6 – Fine Tune Existing Home Offset Setting

  1. Use the -Z axis jog control to fine tune the ideal offset, get the nozzle close enough to the platform to lightly grab the A4 sheet of paper. Keep a count of each jog move size for totalling later.
  2. Using the A4 sheet as a feeler gauge, in the case of my 3d printer example, the jog moves total is 2.5mm. This would show as -2.5 on the 3d printer LCD.
  3. An offset has already been saved to EEPROM, so we need to add 2.5mm to the existing offset, this would make the total home offset value 10.5mm. Send g-code M206 Z10.5 through the terminal.
  4. Store the new offset by immediately sending g-code M500.
  5. Check that the offset has been saved by sending g-code M501.
  6. After homing the 3d printer again, the Z axis will be updated, and the -2.5 position will become the new zero position. Go to step 7 to test the new settings.

Part 7. By now, the home offset should be ready for the first 3d print test, all we need to do now is test the offset setting, like in step 5, just to confirm we are ready to go. Once the following test is complete, home the 3d printer, and switch off the heated bed and the hot end nozzle heater.

Step 7 - Test Final Home Offset Setting

Step 7 – Test Final Home Offset Setting

  1. Home the 3d printer. The illustration shows how the settings look. The 3d printer LCD would show 90.5 at Z+.
  2. If you have set the home offset carefully, and there is no risk of a Z axis crash, send g-code G1 Z0.
  3. The hot end nozzle should now be A4 paper thickness away from the platform. Congratulations, home offset set.

Closing Notes

I hope you found this guide useful, A lot of care was made to avoid mistakes, but if you find any please let me know.

The graphical illustrations should provide a quick guide for return visits to jog the memory when needing to set a new home offset. If you are feeling confident and you find the 3d printer interface software jog controls don’t give you enough fine tuning, use the G1 controlled move command.

Related Articles

Marlin Firmware v1, Basic Configuration Set-up Guide

Marlin Firmware Home Offset Guide Using G-code M206

]]>
http://airtripper.com/1799/marlin-firmware-home-offset-guide-using-g-code-m206/feed/ 3
Airtripper’s Direct Drive Bowden Extruder V3 BSP Editionhttp://airtripper.com/1764/airtrippers-direct-drive-bowden-extruder-v3-bsp-edition/?utm_source=rss&utm_medium=rss&utm_campaign=airtrippers-direct-drive-bowden-extruder-v3-bsp-edition http://airtripper.com/1764/airtrippers-direct-drive-bowden-extruder-v3-bsp-edition/#comments Sun, 05 Jan 2014 03:53:33 +0000 http://airtripper.com/?p=1764 The Direct Drive Bowden Extruder V3 BSP Edition was first introduced on Ebay back in March 2013, followed by public release of all the design files in August. So to avoid confusion, this article is the documentation for the above extruder and not a new extruder release. While the bowden extruder continues to be popular it seems important to produce some documentation for it, even if only to provide some sort of version history.

Rostock (delta robot 3D printer)

Rostock (delta robot 3D printer) fitted with Airtripper’s bowden extruder

About The Airtripper Extruder

The Airtripper’s direct drive bowden extruder for 3d printers has been a large success, which has allowed makers & builders to easily add an extruder to their custom 3d printer. Its simple bracket design means the extruder can be attached to most surfaces and T-slot type extrusions, and its compact design easily allow for multi hot end set-ups. The bowden extruder’s popularity was especially boosted when it was used on the first Delta Robot 3d printer called Rostock by Johann C. Rocholl. The Airtripper’s bowden extruder was originally designed to replace the Sumpod 3d printer extruder.

After writing the “3D Printer Extruder Filament Drive Gear Review & Benchmark” there is no longer any doubt about the capabilities of direct drive extruders when using recommended stepper motor and drive gear. With better stepper driver tuning, the MK8 drive gear could probably push more force than what I’ve recorded, and if you are only going to be using 1.75mm filament then a direct drive extruder is all you need for most 3d printing operations.

Available On Ebay

The Airtripper’s Bowden Extruder V3 BSP Edition is sold on Ebay by me as a kit with plastic parts and fittings, with optional PTFE tube and extra BSP fitting. The extruder kit is also offered without the plastic parts which allows the purchaser to get the bits from one place in needed quantities and 3d print the plastic parts themselves. My Ebay listings.

Airtripper's 3D Printer Direct Drive Bowden Extruder BSP Edition

Airtripper’s 3D Printer Direct Drive Bowden Extruder BSP Edition

Additions & Tweaks

The latest batch of additions and tweaks was driven by requests to adapt the extruder to accept a BSP push in fitting. Other makers had successfully adapted the extruder to accept a type a of push fitting, but I wanted to use the most popular and most widely available push fittings and made my own adaptation. So the bowden extruder can now be fitted with the 1/8″ BSP 4mm straight fitting.

3D Printer Direct Drive Bowden Extruder

A view of the 1/8″ 4mm BSP Fitting With Set Screw, and a view of the 4mm Pipe Connector

The second addition to the extruder, after the BSP socket add-on, is the pipe bracket. The pipe bracket allows a 4mm tube to be connected to the extruder so that filament can be gently guided from the spool to the extruder. A separate tube bracket, the new additional part, is used to fix the other end of the tube near to the filament spool. The tube bracket was a separate add-on with the last extruder version but now the tube bracket is integrated in the latest extruder body design.

Some tweaks was made to the extruder fixing bracket so that it 3d printed more neatly; you can use the Thingiverse STL viewer to compare this extruder version to the last version. Another tweak was made to the  idler housing. It was found that the idler housing was prone to cracking when printed with brittle filament. So the tweak included widening the idler housing and thickening the walls; this has led to a shorter axle. The axle now drops to rest into a deeper sockets so that once the axle and bearing is pushed into position the axle does not constantly push into the idler housing walls, reducing stress and cracking over time.

3D Printer Bowden Extruder – Parts

Airtripper's Bowden Extruder 3D Printed Parts

Airtripper’s Bowden Extruder 3D Printed Parts

Four 3d printed parts are required to complete the bowden extruder plus an optional part called the tube bracket. The tube bracket allows for a PTFE tube, or other 4mm outer diameter tube, to fit between the bracket and the bowden extruder; this allows the extruder to pull filament from the spool, guided by the tube, from different possible spool location around the printer.

3D Printing The Parts

Skeinforge had been my first choice for printing the bowden extruder parts for some time but Cura has shown to do a better slicing job – and much faster too, and with the ability to print a tray of parts one part at a time, means Stringing is kept to a minimum. I have used Slic3r in the past and found that the extruder body thin walls don’t fill correctly, however, the latest Slic3r versions may provide better results.

I’ve 3d printed the bowden extruder using only PLA filament and can’t really comment on how well the extruder parts will print using other filament materials. There have been reports that ABS filament works well enough but there have been a couple of reports about issues with printing the idler bearing housing correctly.

A print layer height of 0.25mm is always set with my own extruder parts print, with top and bottom layers set to 0.75mm. The fill density is normally set to 25 percent, and with the print speed set to 24mm/s, all the parts will take around three to three and a half hours to print.

Non 3D Printable Parts

Airtripper's 3D Printer Bowden Extruder Metal Parts

Airtripper’s 3D Printer Bowden Extruder Metal Parts

A full description and quantity of the parts that are shown in the image above:

  • 1 x M3 x 25mm S/S Cap Screw Allen Bolt.
  • 2 x M3 x 30mm S/S Cap Screw Allen Bolt.
  • 2 x M3 x 45mm S/S Cap Screw Allen Bolt.
  • 1 x M3 x 6mm S/S Button Head Allen Bolts.
  • 1 x M3 x 10mm Screw
  • 4 x M3 Stainless Hex Full Nuts.
  • 2 x M3 washers.
  • 1 x 22mm of 1/4″ 6mm id Rubber Diesel Hose Tubing Line.
  • 1 x 608 ZZ [8 x 22 x 7] Roller Skate Ball Bearings.
  • 1 x 1/8″ BSP Male to 4mm Straight Push In Pneumatic Fitting
Direct Drive Extruder Stepper Motor with Gear, M5 washers and Ball Bearing

MR105ZZ Ball Bearing for the stepper motor axle is optional with drive gears such as MK7 and MK8

The above parts are required to assemble the bowden extruder to the stepper motor and allow for the bowden tube to be attached. If you own a Dremel type tool you can cut the 6mm and the 25mm screws from the longer versions if desired.

I’ve continued to use the rubber tube as the idler bearing pre-loader because it allowed for plenty of space to remove the idler housing from the extruder for filament changing. I’ve tried using springs and it was difficult to get the springs over the idler housing hooks.

Caution needs to be taken when fitting the BSP fitting to avoid splitting the extruder body. The threads on the BSP fitting provide a good grip inside the fitting socket on the extruder, so there is no need to tighten the set screw too much. The set screw only needs tightening just enough to hold the fitting in place.

3D Printer Bowden Extruder – Recommended

PTFE Tube Preparation For Bowden Extruder

PTFE 4mm x 2mm Tube Preparation For Bowden Extruder To Reduce Filament Snagging.

Since this is a bowden extruder, you will almost certainly be using a length of PTFE tube between the extruder and the hot end. The extruder is designed to take PTFE tube (4mm OD x 2mm ID) and 1.75mm filament, 1/8″ BSP Male to 4mm push fitting is used to connect the tube to the extruder.

As shown in the picture above, to avoid snagging when loading new filament, it is recommended to taper the end of the tube which can be done with a drill bit. Some snagging will occur occasionally but changing the PTFE tube alignment inside the fitting with one hand while loading the filament will help get the filament through the connector.

Before loading new filament into the extruder, straighten the end of the filament as much as possible so the end of the filament does not snag inside of the BSP fitting. Snip the end of the filament if not cut square.

MK8 Filament Dive Gear Test Graph One

3D Printer MK8 Extruder Filament Dive Gear Benchmark, Recommended For Direct Drive PLA Extruder

Along with a high torque stepper motor, the MK8 drive gear is recommended for the direct drive bowden extruder. As shown in the tests here, a good stepper motor / drive gear combination will provided plenty enough torque to drive 1.75mm filament. It will be difficult to solve 3d printing problems or even to calibrate the printer properly without the correct stepper motor and drive gear behind the extruder.

Extruder Stepper Motor SY42STH47-1684B

Extruder Stepper Motor SY42STH47-1684B

The stepper motor I use with my own extruder set-up is the SY42STH47-1684B (Holding Torque (Kg.cm) 4.4) and you will find this stepper on the RepRap NEMA 17 Stepper motor Wiki page.

Due to the grip provided by the MK7 and MK8 drive gear filament pulleys, it is no longer necessary to have the extra bearing on the stepper motor axle. The MR105ZZ Ball Bearing was previously used on the axle to take some load of the stepper motor internal bearings, but since the MK7 and the MK8 drive gears have excellent grip on the filament, it is not necessary to apply a heavy load on the axle with the idler bearing. These same stepper motors are used to drive pulley belts and may put a higher load on the axle than the extruder idler bearing itself.

Airtripper’s Direct Drive Bowden Extruder V3 BSP – Files

Bowden Extruder Model Reference

OpenSCAD Script File Code Snippet: preview_part = 1; // [1:Extruder,2:Idler,4:Strut,5:Axle,6:Tube Bracket]

I’ve 3d printed the bowden extruder from many different reels of PLA with the same STL files without causing issues with the extruder assembly. As long as the 3D printer is calibrated properly, and the settings are good in the g-code, you should get a good set of parts from the STL files that are available for download from Thingiverse.

However, should the STL files need to be compiled again, the OpenSCAD script file for the extruder is also available for download. At the minimum, you would only need to change one line of code to compile an STL file for each of the bowden extruder parts.

preview_part = 1; // [1:Extruder,2:Idler,3:Idler with brim,4:Strut,5:Axle,6:Tube Bracket,7:All Parts]

You’ll find the above line of code in the OpenSCAD script file at the top of the page after a few lines of comments. Basically, to select a model to edit or compile to STL, change the number assigned to the preview_part variable with the number assigned to the model; the image above shows a number assigned to each bowden extruder part model.

File Downloads

Thingiverse

Related Articles

3D Printer Extruder Filament Drive Gear Review & Benchmark

Airtripper’s Bowden Extruder V3 – Updated Design

3D Printer Surgery #4 Extruder Upgrade Part 3

Airtripper’s 3D Printer Direct Drive Bowden Extruder V3 BSP

]]>
http://airtripper.com/1764/airtrippers-direct-drive-bowden-extruder-v3-bsp-edition/feed/ 4
3D Printer Extruder Filament Drive Gear Review & Benchmarkhttp://airtripper.com/1676/3d-printer-extruder-filament-drive-gear-review-benchmark/?utm_source=rss&utm_medium=rss&utm_campaign=3d-printer-extruder-filament-drive-gear-review-benchmark http://airtripper.com/1676/3d-printer-extruder-filament-drive-gear-review-benchmark/#comments Sat, 23 Nov 2013 04:52:48 +0000 http://airtripper.com/?p=1676 3D Printer Extruder Filament Drive Gears

3D Printer Extruder Filament Drive Gears: a, Plain Insert; b, Raptor Filament Drive Gear; c, MK8 Drive Gear; d, MK7 Drive Gear

Probably the most important part of the 3d printer direct drive extruder system, at least after the stepper motor, is the filament drive gear pulley. Basically, the choice of drive gear could make or break the quality output of the 3d printer. Without a good drive gear, it will be difficult to begin to troubleshoot or solve hot end issues. So, with the help of the Airtripper Extruder Filament Force Sensor, I’ve reviewed and bench-marked four drive gears and provided graphs for a quick visual comparison.

All the benchmarking and the drive gear reviews in this topic are based on PLA filament only, softer filament might provide very different results, so a separate review would be needed for different filaments. Since PLA filament can be difficult to extrude, this was a good filament to do the first drive gear benchmark with.

It’s almost certain that some of the drive gears will perform much better on geared extruders, but for this topic, only direct drive extruder is used. I think the benchmark results for drive gears are more interesting when the torque limits of the stepper motor are also shown.

Filament Drive Gear Review & Benchmark

3D Printer Extruder Filament Drive Gear Benchmarking Kit

3D Printer Extruder Drive Gear Pulley Benchmarking Kit

The Benchmark Testing Procedure

The benchmarking is done with the Sumpod 3d printer fitted with the Airtripper Extruder Filament Force Sensor; an introduction to the filament force sensor can be found here. Filament is extruded through the hot end nozzle in air away from the build platform. Enough filament is extruded until filament force has reached its peak, and then continue extruding to be sure that the drive gear can push against the force without filament slipping or stepper motor stalling.

Screen capture is used to capture the Processing application graph at the point of interest. The extruder flow rate is either increased or decreased depending on the drive gear performance. Flow rate is increased to cause the filament pushing force to rise to the point of failure, of either the stepper motor (stalling) or the drive gear (slipping). Adjustments are made to the extruder idler tension to try to compensate for failures and to fine tune for better performance.

Each drive gear pulley is calibrated for the correct value for E Steps/mm. A starting value is entered into the Marlin firmware before extruding 100mm of filament for measurement. 100mm of fresh filament is extruded from the printer interface with the driven filament length being measured for length accuracy. E Steps/mm is updated as necessary to satisfy calibration test accuracy before benchmarking.

Plain Insert Coupling

Brass, bore 5mm, length 15mm, effective diameter 7.66mm approx. E step calibration starting point for 1/8 micro stepping 67.16.

Plain Insert Filament Dive Gear Test Graph One

Plain Insert Coupling showing good grip on the filament pushing over 3.6kg of force.

Plain Insert Filament Dive Gear Test Graph Two

Plain Insert Coupling Stalling the stepper motor at around 4kg of force. Good filament grip here.

Plain Insert Filament Dive Gear Test Graph Three

Plain Insert Coupling stalling the stepper motor with the idler tension overloaded.

This gear was originally supplied with the MDF Sumpod; my first 3d printer. It’s usually called a Plain Insert Coupling, used for connecting universal joints to motor shafts in model boats. A quick google search “plain insert joint” found a number of suppliers with prices around GBP 2.00 (USD 2.64). Similar to the Plain Insert Couplings, a range are also sold under the brand Raboesch Couplings. The prices for the range are slightly more, GBP 2.26 (USD 2.97), and sold by Boots Industries as a drive gear for CAD 14.99; so shop around. Plain Insert Couplings and Raboesch Couplings look very similar but can’t tell how closely matched the teeth are without having both types in hand.

If the Plain Insert can seriously be used as an extruder filament drive gear then this would be the cheapest drive gear available by far, and graph one confirms that this gear has some pushing power. I can’t say that my experience with the Plain Insert has been good, I had a lot of other issues with the Sumpod extruder and with my inexperience at the time it would not be fair to judge the gear by past experience. So, my opinion of the Plain Insert Coupling will be derived from the benchmarking test.

The teeth are triangular shaped, slightly flattened on top, and angled at the bottom between each tooth; a design that will mostly prevent the gear teeth from fully penetrating the filament. So, because of the shape of the teeth, and as confirmed by the teeth marks on the filament, the effective diameter will be determined by the filament type and idler tension. It is likely that there will be flow rate differences between filament types and E step calibration.

Extra care needs to be taken to setup this drive gear, getting the correct tension on the filament, and checking the E steps/mm and flow rate. Over tightening the idler tension can have a negative effect on performance as shown in graph three, and this is due to the stepper motor torque being used to compress the filament between the teeth of the gear; making the extruder stepper motor work harder.

Graph one and graph two show that the extruder idler tension is optimized for best filament grip with graph two being influenced by increasing hot end flow rate to the point of stalling the extruder stepper motor. Graph three shows the extruder stepper motor stalling under increased idler tension.

Although the the Plain Insert as shown good performance for this benchmarking, achieving the same result will be difficult without an extruder filament force sensor. This gear does not have the same high level of grip as the MK7 and MK8 and so hitting the margin between filament slips and stepper motor stalls with idler tension tweaking will be more difficult at higher forces.

Raptor Filament Drive Gear

Brass, bore 5mm, length 11.2mm, effective diameter 9.67mm approx. E step calibration starting point for 1/8 micro stepping 49.7.

Raptor Filament Dive Gear Test Graph One

The Raptor Drive Gear holding steady at around 1.85kg of force.

Raptor Filament Dive Gear Test Graph Two

The Raptor Drive Gear loosing grip on the filament with increased extruder flow rate.

Raptor Filament Dive Gear Test Graph Three

The Raptor Drive Gear stalling the stepper motor with best idler tension

The Raptor Drive Gear was offered by QU-BD alongside their new MBE Extruder V9 at a time when 3d printer parts was much less available than they are today. During that time, filament drive gears for direct drive extruders was quit rare and expensive to import. So when the Raptor Drive Gear came to market with favorable shipping costs, I ordered two to replace the Plain Insert Coupling that I was then using. Unfortunately, my extruder woes didn’t end.

I’m not sure how the QU-BD company did the benchmark for this drive gear but I could not get it to work with PLA filament; so I’m assuming the performance claims was made against ABS filament. Even with the filament force sensor, I could not get a reliable flow rate above 2kg of force. Graph one shows the best force level I could achieve without filament slipping or stepper motor stalling.

With increased filament flow rate, graph two shows the filament slipping on the drive gear leading to under extrusion. When attempting to compensate for the slippage, graph three shows the result. The flattened teeth on the Raptor causes more work for the stepper motor as the teeth get pressed into the filament under increased idler pressure. The harder the teeth get pressed into the filament the less force is available to push the filament, eventually leading to stepper motor stalls.

The Raptor Drive Gear has deep teeth which may effect flow rate calibration accuracy between filament changes and E Step calibration. If the drive gear teeth don’t fully sink into the filament then the effective diameter of the drive gear might not be consistent between different filament types. This would complicate filament set-up and you would have to set-up the idler tension correctly as before when reinserting filament previously calibrated.

The grub screw was a problem for me while using this gear, the Raptor often come lose on the stepper shaft. Personally I thought the wrench required to fit the grub screw was too thin for the tightening toque needed, and sometimes it slipped round in the screw head. In the end, I manage to fined a grub screw with a larger hex socket to insert into the Raptor; which did the trick.

MK8 Filament Drive Gear

Machined stainless steel (304), bore 5mm, length 10.1mm, effective diameter 7mm. E step calibration starting point for 1/8 micro stepping 75.7.

MK8 Filament Dive Gear Test Graph One

MK8 Dive Gear showing good grip on the filament pushing over 4.2kg of force.

MK8 Filament Dive Gear Test Graph Two

MK8 Dive Gear loosing grip on the filament while pushing over 4.7kg of force.

MK8 Filament Dive Gear Test Graph Three

MK8 Dive Gear Stalling the stepper motor at over 4.6kg of force. Good filament grip is demonstrated here.

When I ordered the MK8 Drive Gear I had doubts about its ability to grip the filament with performance on par with that of the MK7. This was due to the reduced diameter, giving 35% more power as claimed, which I thought would compromise the effective grip on the filament. But it turns out that the MK8 Gear can maintain excellent grip on the filament right up to the point of stalling the stepper motor. It’s reduced diameter, compared with the MK7, makes better use of limited torque provided by 3d printer direct drive extruders.

The MK8 Drive Gear’s fine milled teeth allows the filament to be held against the effective diameter easily by the idler bearing; allowing for consistent flow rate calibration between filament changes and E Step calibration.

Graph one shows the level of force that can be achieved with the MK8 when the extruder idler preload is optimized. Achieving this level of set-up will be difficult without a filament force sensor and this is due to the filament slippage, shown in graph two, being difficult to detect. However, since this drive gear is capable of stalling the motor as shown in graph three, cranking up the feed rate fast enough to see if you can stall the stepper motor will indicate if the idler is tight enough to prevent filament slippage.

Even without a filament force sensor, for a well maintained 3d printer extruder system, this gear is easy enough to set-up without special considerations or set-up exercises; since the high level of forces achieved by this gear may never be needed for normal 3d printing conditions.

MK7 Filament Drive Gear

Machined stainless steel (304), bore 5mm, length 11.1mm, effective diameter 10.56mm. E step calibration starting point for 1/8 micro stepping 48.1.

MK7 Filament Dive Gear Test Graph One

MK7 Dive Gear showing good grip on the filament pushing over 2.8kg of force.

MK7 Filament Dive Gear Test Graph Two

MK7 Dive Gear Stalling the stepper motor at over 3kg of force.

Purchased from Ebay, the MK7 Drive Gear turned out to be the most important update to my 3d printer extruder system. After struggling with the Raptor Drive Gear for some time, with the MK7 fitted, I was now able to solve extruder issues rather than manage issues. My extruder suddenly became more reliable and I was now getting the correct feedback needed to calibrate settings to get the best looking 3d prints.

The MK7 with its large effective diameter provided excellent grip on the filament which meant less care about idler tension set-ups. Like the MK8, consistent flow rate calibration between filament changes and E Step calibration was possible due to the gears’ finely milled teeth. Also to note, the MK7 grub screw worked well and its hex socket took a decent size wrench to lock the gear on to the stepper motor shaft with plenty of torque.

NEMA-17 Bipolar 5.2:1 Planetary Gearbox Stepper Motor

NEMA-17 Bipolar 5.2:1 Planetary Gearbox Stepper Motor

Although the MK7 performs well in the grip department, its large effective diameter means there is less torque to drive filament through the hot end. Compare graph one to the MK8 Drive Gear and you’ll see a performance gap between two similar designed gears but with different effective diameters. Looking at graph two the MK7 stalls at around 3kg of filament force, probably not ideal for direct drive extruders but there is enough torque for a good hot end set-up. It’s only when you start having hot end issues that this gear will show it’s torque limitations, and that’s what prompted me to change to the MK8 Gear.

The MK7 Drive Gear would work better with geared extruders or even NEMA23 stepper motors. But options are limited while the MK7 is only available with 5mm bore, an 8mm bore version to fit Planetary gear stepper motors would be welcome.

Filament Drive Gear Review & Benchmark Conclusion

MK8 Filament Drive Gear Pulley

MK8 Filament Drive Gear Pulley

The drive gears may provide very different results for different types of filament, but for PLA filament at least, the MK8 Drive Gear came top in this article. I would recommend the MK8 Drive Gear for direct drive extruders, especially when paired with the stepper used for this test. The MK8 Drive Gear provides a good balance of grip and torque to push the filament with force that easily exceeds 4kg.

The MK7 Drive Gear would be my second recommendation, it has excellent grip on the filament and the idler tension is easy to set-up. However, the gears’ large effective diameter may not provide enough torque when nozzle and filament troubles occur. If you’re looking for serious pushing power from a geared stepper motor, the MK7 should be first choice.

The MK7 and the MK8 have been engineered for the purpose of extruding filament and have provided good all round performance; both easy to set-up with the extruder idler tension.

The Plain Insert Coupling deserves a mention for its good pushing power. However, the gear can be difficult to set-up without the help of the filament force sensor. If you have good experience with 3d printing and have a well oiled machine, you might get some good performance out of this cheap drive gear.

And finally, performing very poorly, the Raptor Drive Gear. As proved with the MK7 Drive Gear, bigger gear teeth don’t mean better grip. However, the Raptor Drive Gear might perform better on a geared extruder where idler tension can be increased, but at the expense of causing more damage to the filament.

Related Articles

Arduino Load Cell Circuit & Sketch for Calibration Test

Airtripper Extruder Filament Force Sensor – Introduction

Airtripper’s Bowden Extruder V3 – Updated Design

3D Printer Extruder Filament Drive Gear Review & Benchmark

]]>
http://airtripper.com/1676/3d-printer-extruder-filament-drive-gear-review-benchmark/feed/ 2
Arduino Load Cell Circuit & Sketch for Calibration Testhttp://airtripper.com/1626/arduino-load-cell-circuit-sketch-for-calibration-test/?utm_source=rss&utm_medium=rss&utm_campaign=arduino-load-cell-circuit-sketch-for-calibration-test http://airtripper.com/1626/arduino-load-cell-circuit-sketch-for-calibration-test/#comments Sat, 05 Oct 2013 03:55:08 +0000 http://airtripper.com/?p=1626 Arduino Circuit & Filament Force Sensor

Arduino Circuit & Filament Force Sensor

Here’s the electronics and firmware side of things to support the Airtripper Extruder Filament Force Sensor, which includes the Arduino load cell circuit and the Arduino Sketch. Follow the guides in this edition to obtain the parts, to calibrate the Arduino load cell circuit, and then to calibrate the load cell for accurate weight measuring.

Overview

Continuing with the Airtripper Extruder Filament Force Sensor project, this post will introduce you to the basic INA125 instrumental amplifier circuit that requires no soldering. With only a few parts to assemble, for those who often tinker with the 3d printer hardware and know how to update the printer firmware, this project should be a breeze to complete. Experienced electronic hobbyist would probably get by with just the pictures as a quick start guide, while those attempting electronics for the first time will hopefully be able to appreciate the extra help provided in the text. In regards to the Arduino Sketch or Firmware, the software should work with any Arduino load cell project

Since the Arduino load cell circuit is aimed for 3d printer installation, a 12 volt supply will be used to power the circuit. This means that the Arduino UNO will require a 12 volt supply connected to its power jack; either from the 3d printer power supply or AC / DC adaptor. While Arduino UNO USB cable is used in this project, once the calibration is complete, the USB cable could be replace with a wireless module such as Bluetooth to catch data untethered.

The Arduino sketch, which I called the firmware earlier, has two modes of operation. One mode for calibration and one mode for sending data to another application. So that the post doesn’t get too big, only the calibration mode will be covered here. The other mode will be covered in the next instalment of the force sensor project where the Processing Application will be introduced.

Parts Guide

I recommend getting the Texas Instruments INA125 Instrumental Amplifier from a trusted source like Farnell, Digikey, RS Components or similar; you don’t want the risk of landing a counterfeit; if that’s possible with this chip. I know the INA125 chip is expensive but it does an important job with good features,  and it’s great that we can get this in a DIP package.

The capacitor is what I had to hand and it’s a 220uf 16v, since the circuit is tested with it, the specification will be added to the bill of materials . As long as the capacitor voltage rating is 16v or over then any similar uf value will do. If you are buying electronics for the first, I should get a spare or two when ordering. Also note the polarity of the Capacitor before inserting it in to the breadboard.

The Cermet Trimmer Pot is used to set the gain on the INA125 Instrumental Amplifier and found 100R was just enough to calibrate the amplifier circuit. While the 100R trimmer pot worked on my circuit, I would suggest getting a 200R trimmer pot also. Using a trimmer pot with of a value much greater than 100R for the gain could effect the stability of the analogue readings. When ordering take note of the arrangement of the legs, ideally you want the legs to be in line rather than staggered for inserting into the breadboard.

The hook up wire is 0.6mm single core wire which is cut to length for a neat breadboard layout. You can use either a jump wire kit or a multi coloured wire pack and both can be found on Ebay. The breadboard can also be found on Ebay and the project uses the 400 pin version.

If you’re on a tight budget like me you can pick-up an Arduino UNO clone off Ebay or you can support the Arduino foundation and get a genuine UNO from a trusted supplier. The project should work with any compatible Arduino board should you own a type already.

This project is based around the 5kg load cell and a guide to how you can get one is found here: load cell guide.

Any files required for the project, such as the Arduino load cell circuit firmware sketch, can be found at the end of this post.

The Arduino Load Cell Breadboard Circuit

INA125 Instrumental Amplifier Breadboard Circuit

Arduino Load Cell Circuit With Texas Instruments INA125 Instrumental Amplifier – Updated 23/11/13

The circuit is simple enough to create on a breadboard as shown in the picture above. The most difficult part will be connecting the load cell if a pin connector crimping kit is not available. Wires on loads cells are very fine and some care will need to be taken to strip the ends ready for connection.

To connect the load cell to the breadboard the wires can be extended with 0.6mm solid single core wire; the same as that used to create the breadboard circuit. Very small terminal block cable connectors could be used, as well as uninsulated bootlace ferrules, to join the load cell wires. Folding back the stripped ends of the load cell wires and twisting them round the wires insulator should provided enough thickness for connectors to grip on.

Arduino INA125 Instrumental Amplifier Schematic

Arduino Load Cell INA125 Instrumental Amplifier Schematic – Updated 23/11/13

The INA125 Instrumental Amplifier is powered from the 12v supply, the load cell supply is powered by the INA125s’ built-in 5v regulator. AREF voltage will also be 5v and the analogue voltage range is from Ground to 5V. Other voltage configurations are possible with the INA125 and you may want to refer to the Data Sheet; link at the end of the post.

The bill of materials below are what I’ve used for my Arduino load cell circuit and I’ve been satisfied with its operation so far.

  1. Texas Instruments INA125P Instrumental Amplifier
  2. 100r Wr3296w 10% 3/8 Cermet Trimmer Pot (TSR-3296W-101R)
  3. Jamicon 220uf 16v Capacitor
  4. 0.6mm Solid Single Core Wire of different colours
  5. 400 Point Contact Breadboard
  6. Arduino UNO
  7. 5kg Load Cell – Load Cell Guide
  8. USB Cable for Arduino
  9. 12v AC/DC Mains Adaptor
  10. Arduino IDE

Once the circuit is complete, get the Arduino sketch file from the link at the end of the post. Uploaded the sketch to the Arduino UNO and test the Arduino load cell circuit. Using the Arduino IDE Serial Monitor and using a hacked scale to test the load cell, put some weight on the load cell and note what happens to the analogue reads.

If the analogue readings go up when weight is added to the load cell, then all is fine and move on to the next step.  If the analogue readings don’t appear to change or going down instead of up, then the load cell may be installed upside down or the blue/green and white load cell wires need to be swapped round.

INA125 Instrumental Amplifier Circuit Calibration

Arduino Load Cell INA125 Instrumental Amplifier Gain Set-up

Arduino Load Cell INA125 Instrumental Amplifier Gain Set-up

Rather than mess about with formulas detailed in the INA125 Amplifier data sheet, I went with my own method of calibrating the Arduino load cell circuit. This involve using a trimmer pot to adjust the gain on the INA125 chip to get the voltage range we want for our Arduino analogue pin to read.

Making changes after calibration, like changing wire lengths, altering the circuit and changing the power supply, could upset the gain On the INA125 and cause all other calibrations to be out.

The load cell I’m using is rated for a 5kg load and I want to adjust the gain on the INA125 so that 5v equals 5kg. So basically, I put 5kg on the hacked scale containing the load cell and noted the analogue readings taken from the Arduino load cell circuit using the Arduino IDE Serial Monitor. If the load cell is going to be preloaded with 400 grammes of weight in its intended application, you may want to add this weight to the weight being calibrated. Otherwise you will loose 400 grammes off the target weight range.

The Arduino 10bit A/D converter will give a maximum reading of 1023 and we want to adjust the trimmer pot on the Arduino load cell circuit until 1022/1023 is reached. Ignore the scale load reading at this point as it is yet to be calibrated. Once the gain is set, we can proceed to the next step to calibrate the weight scale of the load cell.

The Filament Force Sensor Firmware

For the Arduino load cell circuit to work it needs firmware in the form of an Arduino IDE sketch. The portion of code below is copied from the sketch which contains variables you need to know to set up the firmware successfully. While the code is well commented, some variables will be covered in more detail in this section and the next section.

// Set the software mode and set the analog pin
int calibrate = 1; // 0 = Output to Processing Application, 1 = Calibration mode
int analogPin = 0;  // Arduino analog pin to read

// LOAD CELL CALIBRATION
// Low end of the test load values
static long loadLow = 0; // measured low end load in grammes from good scales
static int analogLow = 80; // analog reading from load cell for low end test load

// High end of the test load values
static long loadHigh = 5103; // measured high end load in grammes from good scales
static int analogHigh = 1008; // analog reading from load cell for high end test load

// This is used when you change the load cell platform to something else that weighs
// different and the load is no longer on zero. Add an offset to set to zero.
int loadAdjustment = 0;  // Adjust non loaded load cell to 0

The firmware operates in a mode chosen by the user by setting the calibrate variable to either 0 or 1. Changing modes changes what data is output to the serial interface and what speed the serial interface operates at. Setting the firmware to calibration mode sets the serial baudrate to 9600 and outputs more information to the Arduino IDE serial monitor at 1 second intervals. This mode is ideal for calibrating the Arduino load cell circuit.

Setting calibrate to 0 will set the serial baudrate to 115200 and output just the weight in grammes 100 times a second. Changing the variable plotDelay, not shown in the code snippet, will alter how many times a second data is sent over serial.

The Arduino analogue PIN A0 is used by default and this can be change by assigning a new PIN number to the analogPin variable. Analogue PINs 0 to 5 are available on the Arduino UNO.

Arduino Load Cell Weight Scale Calibration

Calibrating the load cell scale will allow the Arduino code to map grammes to the analogue range that the Arduino load cell circuit can achieve. The calibration, for this application, will achieve a measuring range from zero to 5kg and Zero will be the load cell resting point with no load on the calibration platform. Images are provided as a quick reference to the calibration procedure.

Load Cell Low End Weight Scale Calibration Part One

Load Cell Low End Weight Scale Calibration

With the Arduino IDE serial monitor running, note the analogue readings being received from the Arduino load cell circuit. Test the load cell by adding weight to the platform to confirm that the circuit is functioning properly and a good range of readings is possible; you should be getting an analogue range from around 60 to 1022. If the tests look ok then proceed with the calibration, else check the circuit and try the INA125 Instrumental Amplifier gain calibration again.

The first step is to test the low end of the weight scale and you can do this without adding load to the load cell. So the variable loadLow in Arduino sketch code can be assigned 0 as for zero grammes. Then copy the smoothed analogue value to the analogLow variable and move on to the next step.

Load Cell High End Weight Scale Calibration

Load Cell High End Weight Scale Calibration

For calibrating the high end of the weight scale some load needs to be put on the load cell scale. The amount of weight to put on the load cell scale should be the amount close to the maximum weight the load cell is rated for. The load being used for calibration should not be so heavy that the analogue readings become stuck at 1023. Adjust the weight so that the analogue readings are a little below 1023.

Measure the weight of a test load as accurately as possible on a good scale, assign the measured weight to the variable loadHigh. Put the test load just weighed on to the load cell platform and copy the analogue reading to the analogHigh variable. Save the Arduino sketch and upload to the Arduino.

The load cell scale should now be calibrated and you can now run weight tests using the Arduino IDE serial monitor for the weight readings.

Arduino Load Cell Circuit Transplant

Arduino Load Cell Circuit Transplant

Once the load cell is calibrated it can be transplanted to its intended application. It should be noted that any change in the load cell wire lengths or a change of power supply could effect the gain on the INA125 Instrumental Amplifier  and spoil the calibrations.

Setting up the Arduino load cell circuit in another application could change the load cell pre-load weight where zero weight will no longer be set properly. By running the Arduino serial monitor connected to the load cell circuit, you can reset the scale to zero by copying the Scale load (grammes)  measure to the variable loadAdjustment.

What Now

The Airtripper Extruder Filament Force Sensor graphing is now done in the Processing Development Environment. This allows me and other users  to extend the code and add custom features.

A guide for the Processing Application is being worked on and should be published shortly

The Files

The Arduino load cell Circuit firmware sketch file: https://github.com/Airtripper/load_cell_test

Related Articles

3D Printer Extruder Filament Drive Gear Review & Benchmark

Electronic Kitchen Scales Teardown Versus Load Cells

Airtripper Extruder Filament Force Sensor – Introduction

I hope you found the Arduino Load Cell Circuit & Sketch for Calibration interesting and helpful.

]]>
http://airtripper.com/1626/arduino-load-cell-circuit-sketch-for-calibration-test/feed/ 20
Hex Nut Capture Socket sizing for 3D Printinghttp://airtripper.com/1594/hex-nut-capture-socket-sizing-for-3d-printing/?utm_source=rss&utm_medium=rss&utm_campaign=hex-nut-capture-socket-sizing-for-3d-printing http://airtripper.com/1594/hex-nut-capture-socket-sizing-for-3d-printing/#comments Thu, 26 Sep 2013 07:06:18 +0000 http://airtripper.com/?p=1594 Hex Nut Capture Socket Calibration For 3D Printing

Hex Nut Capture Socket Size Is Consistent When Printed At Different Angles

So, to get the best hex nut capture socket fit, I wrote a parametric OpenSCAD script to produce a simple 3d printable test part to fit a configured screw size. Any screw size with either a hex head or a round head can be configured to produce the calibration test part for 3d printing. I’ve made the OpenSCAD file compatible with the Thingiverse Customizer so that the custom STL files can be produced on-line instead of using the OpenSCAD program.

The purpose of having a hex nut capture socket is to prevent the hex nut or bolt from rotating inside the 3d printed part while being fastened. And with the smaller screws, there’s only a small margin of success for the hex nut or bolt to capture properly in 3d printed parts; so the hex nut capture socket is the main focus of this topic.

Having a test part can help get the initial measurements for different screw sizes. Keeping the test part small for quick 3d printing will make it more convenient to test the screw holes and hex head sockets after a filament change or a change in printer calibration.

Continue reading to find out about setting up the test part for different screw sizes.

Hex Nut Capture Socket – OpenSCAD Settings

Measuring Hex Nut Or Bolt Head Diameter With Digital Calipers

Measuring Hex Nut Or Bolt Head Diameter With Digital Calipers

I use to have to check this often when I include hex nut capture sockets in designs; the diameter measurements, used in OpenSCAD to make the hex shape socket, is taken from measuring flat edge to flat edge on the hex bolt head like the image above.

Hex Nut Capture Socket Rotation Options For 3D Printing

Hex Nut Capture Socket Rotation Options For 3D Printing

view_part = 1;    // [0:design, 1:head_up, 2:head_down, 3:horizontal]

From my own tests I’ve found that the dimensions remained consistent after 3d printing the hex nut capture socket in different angles, and while the head-up and head-down provided the tightest screw head fits, the horizontal rotation was the cleanest fit and allowed the screw head to drop into position without force.

Use the view_part variable to select the model rotation options as shown above. Head_up, head-down and horizontal are centred ready for STL export for 3d printing while the design option shows the model in its original design position. Use the number assigned to each model for the variable view_part.

Hole Taper
As standard, the test part includes a taper at each end of the screw hole. The taper helps prevent the screw hole entrance from closing when first layer of plastic is pushed against the 3d printer build platform. I would recommend using tapers on screw holes, that face the build platform, for tight fitting screw head capture sockets.

Hex Nut Model Configuration Variable reference

Hex Nut Model Configuration Variable Reference

//  – Screw head diameter – flat side to flat side on hex nut or bolt head
head = 6.75;
//  – Screw head type – [6] for hex head and [50] or more for round head
type = 60;
//  – Screw size diameter
size = 3.65;
//  – Screw size diameter smoothness
smoothness = 50;
//  – Screw size length – not including screw head
length = 5;
//  – Screw head length
cap = 3;
//  – Block border thickness between screw head and block edge
border = 4;
//  – Print layer thickness – only required for head down print
layer = 0.25;

Use the image above as a guide to the variable settings listed on the Thingiverse Customizer Application and in the OpenSCAD project file.

The layer variable is optional and it’s there to provide a platform for the screw hole when 3d printing the head_down rotation option. Assigning [0] to the layer variable will remove the platform. A layer height of 0.25 provided a strong enough support for M3 size screw shaft perimeters during printing tests; larger screw sizes may need a thicker platform.

The border variable should be a size big enough to fit all the perimeters and have a neat fill without leaving gaps.

Smoothness will need to be adjusted with the screw size diameter. A visual inspection of the 3d model will help determine the amount of smoothness needed. The smoothness variable only effects the hole for the threaded screw shaft. When using the type variable to adjust for a round head screw instead of a hex head, use the type variable for smoothing the screw head socket.

Hex Nut Capture Socket – Assemble

Arduino & Breadboard Rack Screw Fit Test

Arduino & Breadboard Rack Screw Fit Test

The settings found using the capture socket test part was able to successfully transfer to a finished project with the hex nuts and bolts fitting snugly.

The hex capture sockets can be a bit tight at first and can cause the bolt head to anchor on to the imperfections of the hex hole wall inside the socket. Unlike the hex nuts, the bolts hex head are rounded only on the top side and not on the bottom side. Plunging the bolt head first into the hex capture socket like in the picture above will help smooth out the hex hole to accept the bolt properly.

If you have used the layer variable to create a platform you will need a suitable size drill bit to punch hole through the screw hole once the part is printed.

Hex Nut Capture Socket – The Files

http://www.thingiverse.com/thing:153394

Related post that uses hex nuts and hex bolts in a project:
Airtripper Extruder Filament Force Sensor – Design & 3D Print

]]>
http://airtripper.com/1594/hex-nut-capture-socket-sizing-for-3d-printing/feed/ 0
Airtripper Extruder Filament Force Sensor – Design & 3D Printhttp://airtripper.com/1473/airtripper-extruder-filament-force-sensor-design-3d-print/?utm_source=rss&utm_medium=rss&utm_campaign=airtripper-extruder-filament-force-sensor-design-3d-print http://airtripper.com/1473/airtripper-extruder-filament-force-sensor-design-3d-print/#comments Fri, 13 Sep 2013 00:42:58 +0000 http://airtripper.com/?p=1473 Continuing the Airtripper Extruder Filament Force Sensor series this topic is about getting the plastic parts configured to fit the chosen load cell. Included is a guide to configure the OpenSCAD model file with image references for most of the variables for easy set-up. Be sure to read the section “Choosing A Load Cell” for a guide to getting a load cell to fit the filament force sensor bracket.

Documentation for the electronics and software is currently being edited and will be published shortly.

The Load Cell Bracket

The current force sensor bracket is designed to be configurable to suit a common load cell size configuration with small variances in screw hole positions and sizes. Only two revisions of the bracket have been printed, to test different load cells, and no failures have developed with the plastic parts after many hours of use. A few tweaks have since been made to bulk up the bracket design to improve stiffness and more 3d printable for other makers.

 

Airtripper Extruder Filament Force Sensor

The force sensor bracket design and the OpenSCAD model file was made to be as distribution friendly as possible to allow other makers to get involved in the project as easily as possible.  For now, the current bracket configuration only supports 1.75mm filament but 3mm filament support is on the way with a new extruder design. While the force sensor bracket uses the Airtripper bowden extruder, other direct drive extruders that support 1.75mm or 3mm filament could be made to fit.

It was decided, for a bowden extruder set-up, that a 5kg load cell was sufficient. It was found that an extrusion force of more than 2.8kg (approximately) over a long periods of time would strain the push fit fitting holding the PTFE tube. One push fit fitting had failed, but after many hours of use. However, as well as the high extrusion force, the pushing and pulling of the retraction operation may be a high contributing factor of the fitting failure.

A normal working filament extrusion force has not been defined that I know of but some of the better filament I’m using requires less than 2kg of force at 24mm/s, 0.25mm layer height and 0.4mm nozzle. While I’ve been using the filament force sensor I’ve noticed that the filament is requiring more force to extrude as it ages. Probably a good time to think about my filament storage strategy.

Choosing a Load Cell

The load cell required for the Airtripper Extruder Filament Force Sensor should have a 5kg load rating and be at least 75mm in length. How you’ll get the load cell will depend on the resources you have to get the load cell calibrated. A guide about acquiring load cells can be found here: Electronic Kitchen Scales Teardown Versus Load Cells.

5kg Load Cell Bought from Ebay

5kg Load Cell Bought from Ebay

The above load cell is similar to what you need and the dimensions you see are used in the OpenSCAD model file to configure the filament force sensor bracket. As long as the load cell is at least 75mm long and about 13mm wide then the load cell should fit the bracket after some configuration.

Load Cell Bracket – Configure The Parts

Since load cells from different sources have features with measurements that vary, it is necessary to configure the OpenSCAD file to produce the correct STL files. This should be easy to do even if you are new to the OpenSCAD application, there should be enough information in this guide to successfully reach the 3d printing stage of the project.

OpenSCAD Application Window View

OpenSCAD Application Window View

Getting Familiar With Model File

At this stage you have the load cell you are going to use and measured up similar to the example shown above. You’ve got OpenSCAD installed on the computer, running and got familiar with the software interface. Press F5 to refresh the model window after editing code, and press F6 to compile the model before choosing to export to STL file.

Before configuring the OpenSCAD file with the load cell measurements, we need to get familiar with some code in the file in order to get the model view we want in the render window. Loading the project file into OpenSCAD will automatically  render any object that is configured in code to show in the render window.

The OpenSCAD model file supplied for this project, if I remember to set it correctly, should show by default the assembled model (1:assembled) of the Airtripper Extruder Filament Force Sensor. The models in the file are partly parametric and the assembled model should adjust itself to reflect the entered dimensions of the load cell. The load cell should correctly fit the brackets as long as the assembly screw holes line up. After entering new load cell dimensions, it will be a case of rotating the assembled model in 3d view to check screw holes are aligned.

Selecting A Model To View in OpenSCAD

Load Cell / Force Sensor Bracket Part Reference

The bracket part reference guide above shows the models available for selection to view and edit in the OpenSCAD filament force sensor project file. A number is assigned to each model and is used in the OpenSCAD project file to select which model we want to view in the render window. The following code from the project file is used for selecting a model to view in the render window; it’s the first bit of code in the file.

//– Select Part To View –//

view_part = 1;    // [0:nothing, 1:assembled, 2:load_cell, 3:bowden_bracket...

//-- END Select Part To View --//

In the code file, anything after the two forward slashes " // " are just comments to help describe some code.

The above line of code shows that 1 is assigned to view_part variable and this will cause the project file to display the assembled filament force sensor kit. Changing the assigned 1 to a different number that is associated to a different model in the part reference guide will cause the OpenSCAD render window to update after a compile command (F5) is issued.

Tip: When exporting the rendered model to STL, it is recommended to use the model name as the file name.

Load Cell Configuration

5kg Load Cell Size Variables

5kg Load Cell Size Variables

//—— START Load Cell Configuration——-//

lcl = 80;        // (80) Load cell length
lch = 12.7;        // (12.7) Load cell height
lcw = 12.7;        // (12.7) Load cell width
lclhs = 4;        // (4) Left side screw holes size – screws 1 & 2 (load cell bracket side)
lcrhs = 4;        // (4) Right side screw holes size (load cell stepper bracket side)
lchle = 5;        // (5) Measure from left edge to center of first screw hole (load cell bracket side)
lchln = 15;        // (15) Measure from first screw hole center to second screw hole center (load cell bracket side)
lchcd = 40;        // (40) Measure distance between the second & third hole centers
lchrc = 15;     // (15) Measure distance between the center of the third and fourth screw hole (load cell stepper bracket side)

//—– END Load Cell Configuration —–//

The above code is found in the model file and allows you to enter new load cell dimensions so that the extruder filament force sensor can be configured to fit the chosen load cell. The load cell image above the code shows the variables at positions where measurement values are taken from; this serves as a simple and quick reference to identify each variable association.

When making changes to the load cell dimensions, render the 3d view (F5) to review the changes. With the assembled model in view (1:assembled), rotate the model to check that the changed feature is still aligned correctly.

Configure Bracket & Screw Holes

After the new load cell dimensions have been entered in to the project file we now need to sort out what screw sizes to use to attach and assemble the brackets. Refer to the image below to quickly identify variables used.

Please Note – Screw Sizes

Default screw hole sizes are oversized to allow for shrinkage when 3d printed, and the measurements have been fine with my particular 3d printer & filament set-up. When reviewing the screw hole sizes you will need to determine how much shrinkage allowance you want to add in order for the screws to fit.

Hex nut capture sockets for screw heads will be most sensitive to filament & 3d printer configuration, and so it is advised to do a test print using a small part with the screw sizes you want. Hex head socket being the wrong size could render your newly printed part unusable; wrong size hex nut sockets could make it difficult to assemble the parts.

To avoid complications, the filament force sensor bracket has been designed not to rely on load cells having particular screw hole designs. This means in most cases the default settings for lcbhs, sbsd & sbsdh will not need to be changed.

Variable lcbhs will be an M4 screw with 2 fitting options:

  • Screw into the load cell from underneath the bracket – load cell screw hole is M4 threaded.
  • Push all the way through the bracket and load cell, and fasten with a nut – load cell screw hole is not threaded or the screw hole is M5 threaded.

Variables sbsd & sbsdh should always be at the default setting for M3 screws which allow for a wider stepper motor position adjustment. M4 Screw size can be used if more convenient but the load cell screw holes must be big enough to allow the screws to drop through for nut fastening.

The load cell bracket attachment screw holes lcbfh are adjustable and are used for attaching the bracket to the printer or other surface. The default size is 8mm, for M6 screws, to allow for 3d print hole shrinkage and screw hole misalignments.

Variable lcbss can be updated to adjust the distance between the lcbfh screw hole centres. If you are replacing the Airtripper extruder with the bracket, setting lcbss to 60mm will allow the bracket to fit the holes used for the extruder; saving extra drilling.

The bracket is designed to fit NEMA 17 stepper motors and the variable smw allows some adjustment to the stepper motor clamp width. It is important that the stepper motor is fitted loose enough inside the clamp so adjustments for alignment can be made before the clamp is finally tightened. Adding 1.5mm to 2mm to the stepper motor width when updating the smw variable will reduce the chances of the stepper motor snagging inside the clamp during set-up.

Load Cell Bracket Variables

Load Cell Bracket Variables

Load Cell Bracket Variables 2

Load Cell Bracket Variables

Variables stbsd, stbsdh, lcbbss & lcbbssh are available to fine tune for your 3d printer & filament set-up.

Find the configuration code, shown below, in the model file to make the necessary adjustments as described above.

//—- START Load Cell Bracket Configuration —-//

// Configuration for part 4:load_cell_bracket
lcbhs = 4.5;    // (4.5) Bracket screw hole size for load cell attachment
lcbfh = 8;        // (8) Bracket screw hole size for attachment to printer
lcbss = 46;        // (46) Bracket fixing screw holes distance apart, hole centre to hole centre
lcbbss = 4.5;    // (4.5) Bowden bracket attachment screw size
lcbbssh = 8.4;    // (8.4) Bowden bracket attachment screw Hex head size

//– END Load Cell Bracket Configuration–//

//—- START Stepper Motor Bottom Bracket Configuration—-//

// Configuration for part 5:bottom_stepper_bracket
smw = 44;    // NEMA 17 stepper motor case width
// Stepper motor bottom bracket load cell attachment screw size
sbsd = 3.5;        // (M3 = 3.5)(M4 = 4.5) Screw size
sbsdh = 7.5;    // (M3 = 7.5)(M4 = 8.8) Screw Hex head size

//– END Stepper Motor Bottom Bracket Configuration –//

//—- START Stepper Motor Top Bracket Configuration—-//

// Configuration for part 6:top_stepper_bracket
// Stepper motor Top bracket load cell attachment acrew size
stbsd = 3.5;        // (M3 = 3.5)(M4 = 4.5) Screw size
stbsdh = 7.5;    // (M3 = 7.5)(M4 = 8.8) Screw Hex head size

//– END Stepper Motor Top Bracket Configuration –//

3D Printing & Building The Parts

Skeinforge has been my number one slicing application and it has worked great in producing g-code for the Airtripper Direct Drive Bowden extruder parts. Between Slic3r and Skeinforge, Skeinforge is still the better slicer for the extruder. Other slicers may work very well, but for this project, I’m just going to report what I used successfully with good results.

While Skeinforge worked great for the Airtripper extruder parts, it was not the best choice for the load cell brackets. I found that Skeinforge added too many solid layers in the larger parts which caused poor 3d printed results where there was many consecutive solid layers. Not sure why Skeinforge adds the extra solid layers, but decided that slic3r worked better for the filament force sensor brackets; only putting in solid layers where needed.

3D Printing Part Guide For The Airtripper Extruder Filament Force Sensor

Export The Parts

//– Select Part To View –//

view_part = 1;    // [0:nothing, 1:assembled, 2:load_cell, 3:bowden_bracket...

//-- END Select Part To View --//

Once you are sorted with the OpenSCAD file configuration, locate the above code in the scad file and change the number assigned to view_part to the next model you want to export to STL file for slicing. Use the part reference image above to quickly identify the parts to be 3d printed. In the OpenSCAD application menu "Design" select Compile and Render, and then select Export as STL under the same menu. Use the model name as the file name as you export each model.

The 4:load_cell_bracket and the 3:bowden_backet can be printed in one piece if desired. The one piece bracket, 7:full_load_cell_bracket, was too big for my 3d printer platform.

3D Printing The Parts

Below are some bullet points about the set-up I used for the brackets and the extruder. The settings are more of a starting point than recommendations set in stone.

  • All the parts set to 0.3 infill density.
  • Minimum two perimeters.
  • Solid layers, three top and three bottom.
  • Set a cooling threshold for parts 3:bowden_backet & 7:full_load_cell_bracket. The BSP push fitting socket can spoil without adequate cooling.
  • All the parts printed with 0.25 layer height.
  • Solid infill every 6 layers for parts 3:bowden_backet & 7:full_load_cell_bracket. This was to add stiffness to the bowden tube bracket.

 

Electrical Tape Added For Padding & Protecting

Electrical Tape Added For Padding & Protecting

Building The Parts & BOM

The force sensor bracket assembly will be detailed here while the Airtripper bowden extruder assembly is covered here: Airtripper’s Bowden Extruder V3 – Updated Design. Also note that the bill of materials is based on the default set-up of the OpenSCAD file. However, note the lengths of the screws required when ordering the screws you have configured for your set-up.

Tip
For the purpose of prototyping, I usually keep a stock of screw sizes of the longer lengths and cut them down with a Dremel to the required length. This saves on storage space and keeps the stock of screws to a minimum, and also cuts the cost of getting screws of all sizes.

Filament Force Sensor Bracket Assembly Order

Six steps have been defined to assemble the filament force sensor bracket and by using the image above against the numbered bullet list below the assembly should go smoothly.

  1. First, if the two part version was printed, attach the bowden tube bracket to the load cell bracket with M4 screws pushed through the back. Tighten the nuts and attach the load cell bracket to the printer or other chosen surface.
    • 2 x M4 x 40mm Hex Head Bolts
    • 2 x M4 Full Hex Nuts
    • 2 x M4 Washers
    • 2 x M6 Screws, length & type chosen by user
    • 2 x M6 Nuts
    • 4 x M6 Washers

     

  2. Attach the stepper motor bottom bracket to the load cell. Check that the load cell is attach the proper way round with the load cell load direction arrow pointing downwards on the stepper bracket side. The extended square bit should be pointing towards the back end of the stepper motor.
    • 2 x M3 x 25mm Hex Head Bolts
    • 2 x M3 Full Hex Nuts or Wing Nuts
    • 2 x M3 Washers

     

  3. Assemble the extruder and attach it to the stepper motor. Make sure the stepper motor wires come off the correct side of the extruder for your set-up.
    • 1 x M3 x 25mm Socket Cap Head Screw Allen Bolt.
    • 2 x M3 x 30mm Socket Cap Head Screw Allen Bolt.
    • 2 x M3 x 45mm Socket Cap Head Screw Allen Bolt.
    • 1 x M3 x 6mm Button Head Screw Allen Bolts.
    • 3 x M3 Full Hex Nuts
    • 2 x M3 washers.
    • 1 x 608 ZZ [8 x 22 x 7] Roller Skate Ball Bearing
    • 1 x 22mm 1/4″ x 6mm id Rubber Diesel Hose Tubing Line
    • A suitable drive gear for direct drive extruders

     

  4. Place the stepper motor into the load cell bracket (2), and then clamp the stepper motor in place with the top part of the bracket. Insert all the screws from the underside and slide the stepper motor until the edge of the bracket is about 2mm from the back edge of the extruder. Finally clamp the bracket down evenly until the stepper motor is just about secure and does not move.
    • 4 x M3 x 30mm Socket Cap Head Screws Allen Bolt
    • 4 x M3 Full Hex Nuts
    • 4 x M3 Washers

     

  5. So, with the load cell bracket attached to the 3d printer (1), attach the load cell and stepper motor assembly (4) to the bracket. Use a piece of filament to thread through the bowden tube holder and the extruder to align the force sensor assembly. Some screws might need to be undone to allow more adjustment before finally tightening all the screws.
    • 1 x M4 x 45mm, Head type optional
    • 1 x M4 Full Hex Nut
    • 2 x M4 Washers

     

  6. The final part is to attach the 1/8″ BSP push fitting and PTFE tube. The fitting is held by a screw and the screw only needs to be turned just enough to grab the fitting securely. The PTFE tube end should be tapered to reduce snagging when loading the filament. Tapering the tube end can be done by hand using a drill bit. A tube is required between the filament spool and the extruder so a place needs to be found to attach the tube bracket (12_tube_bracket).
    • 1 x M3 x 10mm Socket Button Head Screw
    • 1 x M3 Full Hex Nut
    • 1 x 1/8″ 4mm BSP Push Fitting
    • 1 x PTFE Tube for Bowden Feed
    • 1 x PTFE Tube for Filament Reel Feed

     

Airtripper Extruder Filament Force Sensor – FILES

A snapshot of the OpenSCAD file will be put on Thingiverse which this topic will support to keep things in sink. A development version of the file will be available on GitHub.The version on GitHub will be develope to support 3mm filament with a new extruder design with possible changes to the bracket. Documentation on GitHub will detail the updates as they happen.

Files

Thingiverse file links will be updated as soon as the electronics and code documentations are complete.

Thingiverse: Airtripper Filament Force Sensor – On thingiverse

GitHub : Airtripper Extruder Filament Force Sensor – On GitHub

Related topics

Electronic Kitchen Scales Teardown Versus Load Cells

Airtripper’s Bowden Extruder V3 – Updated Design

Airtripper Extruder Filament force sensor – Introduction

]]>
http://airtripper.com/1473/airtripper-extruder-filament-force-sensor-design-3d-print/feed/ 2
Electronic Kitchen Scales Teardown Versus Load Cellshttp://airtripper.com/1397/electronic-kitchen-scales-teardown-versus-load-cells/?utm_source=rss&utm_medium=rss&utm_campaign=electronic-kitchen-scales-teardown-versus-load-cells http://airtripper.com/1397/electronic-kitchen-scales-teardown-versus-load-cells/#comments Thu, 27 Jun 2013 22:53:57 +0000 http://airtripper.com/?p=1397 Kitchen Scales Load Cell Ready For Calibration

Load Cell Ready For Calibration

To support the Airtripper Extuder Filament Force Sensor and other projects involving load cells, this article will cover some ideas in acquiring load cells and getting them ready for calibration. The article will cover the pros and cons of buying a bare load cell or buying electronic digital scales for the load cell inside. To finish off the article there are three electronic kitchen scale teardowns to reveal the load cells inside, and you will see how the scale enclosure & platform can be re-assembled for calibration purposes.  A separate article will follow to cover load cell calibration.

You might think the best way to get a load cell unit is to buy it from Ebay. The obvious reason for this is that you know the dimensions of the load cell in advance and the price is, in most cases, cheaper than buying electronic digital kitchen scales for the load cell inside. However, buying the scales for the load cell inside has advantages because you get a ready made weighing platform for calibration and you’re able to test the load cell in advance with the scales manufacturer electronics.

If using load cells for the first time, it is important to note that you might not get the same resolution, accuracy or stability that you get with electronic digital scales. Microcontrollers such as the Arduinos are limited to a 10bit analog to digital converter and the higher the load cell rating the less resolution per 1kg you will get. The microcontrollers can’t read from the load cells directly so an instrumental amplifier is required.  There will be more about this in the calibration article to follow.

Bare Load Cells Or Electronic Kitchen Scales

DIY Load Cell Weighing Platform & Stand

DIY Load Cell Weighing Platform & Stand

Unfortunately, just buying a bare load cell could make it difficult to calibrate without a suitable weighing platform and stand. Buying electronic scales for the load cell inside could provide a suitable weighing platform & stand for the load cell calibration. A weighing platform & stand could be custom designed and printed on a 3d printer or, with a few DIY tools, a platform could be made out of wood. However, depending on the type of load cell & application, the platform design will have to be strong enough to support the maximum calibration weight being tested. A calibration test load can be as much as 5kg or more and the weighing platform needs to be strong enough to support it.

Buying a bare Load Cell

5kg Load Cells Bought from Ebay

5kg Load Cell Bought from Ebay

Bare load cells can be purchased from Ebay in a variety of load ratings and are usually described with full specifications. In order to make use of the load cells you may require a suitable weighing platform and stand for calibration depending on the application.

PROS

  • You know the load cell dimensions in advance.
  • The load cell can be cheaper than buying electronic kitchen scales.
  • You can plan your designs with known dimensions while waiting for the delivery of the load cell. Also, other supporting fixtures can be ordered.
  • A custom made calibration weighing platform can be adapted to fit different sizes of load cells.

CONS

  • The weighing platform and stand will have to be custom made for calibration purposes.
  • A custom made weighing platform and stand could add to the cost of the load cell.
  • Ordering the load cell on its own means the rated load range can’t be tested in advance. Buying electronic scales will allow you to test the load cell inside in advance of removal.

Buying Electronic Scales For The Load Cell Inside

Electronic Kitchen Scales With Weighing Platform Removed From Load Cell

Electronic kitchen Scale With Weighing Platform Removed From Load Cell

There are plenty of kitchen scales to choose from on Ebay but you may also get them at a good price from your local discount store. Using the discount store will give you a chance to inspect the scales before purchase to determine the approximate dimensions of the load cell inside, and returning the scales would be much easier after purchase.

PROS

  • Digital kitchen scales could be bought cheaply from car boot sales or discount stores, or Ebay even.
  • The Scales can be tested quickly after purchase or delivery.
  • You have a ready made weighing platform and stand for calibration purpose.
  • The kitchen scales can be used to test the weighing range of the load cell inside before adding custom electronics.
  • The load cell wire assignments can easily be identified from the circuit board labels.

CONS

  • The build quality of the cheapest electronic scales might not be strong enough to weigh loads up to the maximum load rating.
  • The dimensions of the load cell inside the kitchen scales is unknown until after purchase and the enclosure is opened.
  • You may find the load cell dimensions are not suitable for the application intended after opening the electronic kitchen scales enclosure.
  • Buying electronic kitchen scales could cost more than buying just the load cell unit itself.

Digital Kitchen Scales Teardown For Load Cells

WH-B05 Electronic Digital Kitchen Scales

The WH-B05 electronic scale was purchased from Ebay and was available from more than one Supplier. It’s a very compact unit measuring approximately 16.3 x 12.8 x 3.5cm and has a 5kg load capacity. The build quality is good with a strong sturdy weighing platform and the scales can be had for less than a bare load cell unit.

The load cell inside is a very compact 5kg version and the smallest I’ve seen for the load rating. The scales base and weighing platform can be saved for calibrating the load cell with test weights of up to 5kg. For the smaller weight sensing projects these scale could be ideal.

WH-B05 Electronic Digital Scales Teardown

5kg Load Cell From WH-B05 Electronic Digital Scales

5kg Load Cell From WH-B05 Electronic Digital Scales

SF-400 Electronic Digital Kitchen Scales

This is another purchase from Ebay and this one has a load capacity of up to 10kg, the unit measures 24 x 17 x 3.5cm. I found the build quality to be too low for the 10kg load rating and there was some buckling in the weighing platform when tested with a 5kg load.

Getting a better quality scale of the same rating as the SF-400 will be a lot more expensive unless you can pick one up second hand. If you can make your own custom weighing platform & stand then buying a bare 10kg load cell could be a better option instead.

SF-400 Electronic Digital Kitchen Scales Teardown

10kg Load Cell From SF-400

10kg Load Cell From SF-400 Electronic Digital Scales

KENWOOD DS800 Electronic Digital Kitchen Scales

The KENWOOD DS800 is a high quality digital kitchen scale with a more sophisticated and cleaner looking load cell inside. The glass weighing platform and the metal chassis ensures, when weighing, the maximum rated weight is kept steady and stable. These scales are now discontinued but found that they are sold under a new label; James Martin by Wahl ZX774 Digital Scales.

The load cell in these scales was used for the airtripper extruder filament force sensor prototype. The electronic scale is a bit expensive to buy just for the load cell inside but if you see one of these used going cheap, snap it up. The platform and chassis can easily be used to calibrate other load cells; like the bare ones sold on Ebay.

KENWOOD DS800 Electronic Digital Kitchen Scales Teardown

5kg Load Cell From KENWOOD DS800 Electronic Digital Scales

5kg Load Cell From KENWOOD DS800 Electronic Digital Scales

On closing

Load cells are one of my favourite sensors and I’ll be using them in a few projects I’ve got lined up. All the load cells in this article have been calibrated and tested successfully using an Arduino and an instrumental amplifier. I’m currently testing different load cells in preparation for the load cell calibration guide write-up. The OpenScad files for the Airtripper extruder filament force sensor will be edited to allow user configuration to fit variant load cell sizes.

Hope you enjoyed the Electronic Kitchen Scales Teardown Versus Load Cells.

]]>
http://airtripper.com/1397/electronic-kitchen-scales-teardown-versus-load-cells/feed/ 9
Airtripper Extruder Filament Force Sensor – Introductionhttp://airtripper.com/1338/airtripper-extruder-filament-force-sensor-introduction/?utm_source=rss&utm_medium=rss&utm_campaign=airtripper-extruder-filament-force-sensor-introduction http://airtripper.com/1338/airtripper-extruder-filament-force-sensor-introduction/#comments Thu, 30 May 2013 22:12:36 +0000 http://airtripper.com/?p=1338 Following the announcement of the Airtripper Extruder Filament force sensor I found a bit of time to run a few tests and to plot a few graphs to find out if the load cell is not just a fancy 3d printer add-on. Enough graphs and explanations have been added below to help you decide whether the load cell add-on make for a serious bit of kit or it’s just a waste of time. But before we get into the graphs, we’ll start with the introduction to the Airtripper Extruder Filament Force Sensor; with images to boot.

This is a project with a lot details to cover so there will be three articles including this one. This article is about selling the idea, then the next article will be be about the load cell bracket construction. The last article will then cover the electronics with load cell calibration and software interface. I would advise not to go out and buy the load cell or supporting electronics until advised by this project. This is just to make sure that your load cell will get the best start for successful calibration.

Airtripper Extruder Filament Force Sensor

Airtripper extruder Filament Force Sensor

Airtripper’s Load Sensitive 3D Printer Filament Extruder Using A 5KG Scale Load Cell

You probably get an idea of how this Airtripper load sensitive extruder works by looking at the picture above. I don’t expect it will look great on every 3d printer but it looks good on mine and I shall be fitting a second one soon. The attachment footprint is small which should suit many 3d printer set-ups. All the load sensor bracket components have been designed to provide good stiffness to the complete assembly. More details about the bracket assembly and other options will be covered in the next article.

Airtripper Extruder Filament Force Sensor

Airtripper Extruder Filament Force Sensor

How It Works. It is basically an Airtripper bowden extruder that is attached to one end of the load cell. When the extruder feeds the filament to the hot end, the extruder is effectively pushing against the filament causing the extruder to apply extra load on the load cell. Load cells have strain gauges attached that change in electrical resistance when under different loads. This resistance change provides small voltage levels that can be amplified and then read by an analogue to digital converter. In this project, an Arduino Uno is used to read the analogue output from an instrumental amplifier. The readings taken from the load cell are linear which makes it easy to create an accurate weight table in the Arduino Coding.

Because of the stiffness of the load cell and the brackets, printer wobble has very little influence of the final sensor readings. Any operational lag in the assembly is likely to be much less than the combination of stretching and compression of the bowden extruder system. You’ll notice in the picture above there is a filament guide tube fitted between the extruder and the filament real. This filament tube guide prevents the extruder pulling down on to the load cell when tugging at the filament reel; skewing sensor readings.

Airtripper Extruder Filament Force Sensor Graphs

Set Of 3 3d printed 608-ZZ Ball Bearing Axles

Set Of 3 3d printed 608-ZZ Ball Bearing Axles

Basically, the purpose of doing these graphs is to find out what sort of information we can get out of the load cell that is used for the filament force sensor. We want to find out if the graphs can be used as a guide for better extruder set-ups. The graphs below is just a start and not a complete test of every set-up situation.

Some Test Conditions. I used the same test print object for all the graphs below accept for graph twelve.  The test print object is a set of three bearing axles used on the Airtripper’s Bowden Extruder.

Skeinforge was used to compile the g-code for each test while Pronterface was used to interface with the Marlin Firmware on the Sumpod. It should be noted that the temperature used in the tests below is the temperature of the nozzle heater block and that the nozzle temperature could be much lower.

Graph One

3D Printer Extruder Activity Graph One

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 0.8, Restart Extra Distance (mm) = 0.

Graph one is a plot of what was my typical set-up for months. The 3d printed outputs were good but a bit of cleaning was needed to get rid of the many fine hairs and the odd clumps of plastic.

a The load sensor shows that a consistent pressure is maintained with the current settings, however, there is a slight climb in pressure after each retraction. b The retraction was not long enough to fully de-pressurise the hot end nozzle which caused some pressure to be lost from the nozzle tip through extrusion. Unwanted extrusion usually causes stringing and clumps of plastic to be left between object cavities and perimeters.

Graph Two

3D Printer Extruder Activity Graph Two

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

b Retraction is increased to 2mm and the change is reflected in graph two. The retraction is long enough to drop the pressure to 0kg but the consistent pressure maintained across the graph a still shows a slight climb after each retraction b.

Retraction was long enough to relax the filament in the bowden extruder system but not long enough to pull the filament from the nozzle tip. Some oozing may have occurred to cause a slight loss of pressure. Graph two looks better than graph one because of the signs of less pressure being lost between retractions.

Graph Three

3D Printer Extruder Activity Graph Three

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.1.

Using the same settings as graph two but using Restart Extra Distance of 0.1mm, the graph shows a consistent pressure level across the graph a and also in between retractions b. You will notice that all the retractions b are hitting the 0kg mark consistently. The width of the retraction indicates travel period between plastic filament extrusion.

This demonstrates the sensitivity and the consistency of the load sensor. Adding Restart Extra Distance will add more plastic to the 3d print and alter some dimensions.

Graph Four

3D Printer Extruder Activity Graph Four

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 3.0, Restart Extra Distance (mm) = 0.

With this test I have altered a few more settings (shown in bold red above) since graph three. The main change to note is that we now have a Retraction Distance of 3mm. This has brought the retractions b to well below the 0kg mark. Each retraction shown in the graph is consistent in length and the pressure a has maintained a consistent level between retractions and across the graph.

The effect of this change now means that the filament is pulled from the nozzle tip; preventing pressure loss caused by melted plastic oozing from the nozzle tip. The Extruder Retraction Speed setting is almost doubled to reduce the retraction operating time between plastic extrusion.

This has provided the best set-up for my 3d printer, no oozing and no strings. I was able to print a tray of different objects without loss of quality to object walls; no 3d printed parts clean up was needed. A lot of time saved on production runs.

Graph Five

3D Printer Extruder Activity Graph Five

Flow/Feed Rate (mm/s) = 48, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 3.0, Restart Extra Distance (mm) = 0.

Flow Rate and Feed Rate are both doubled to a setting of 48mm/s but all the other settings remain the same as the previous graph. Because the parts being printed for this test are small the printer would not make the 48mm/s speed. However, speed is increased and is reflected in the graph as an increase in pressure compared to the last graph a.

Although the pressure is nicely maintained across the graph, pressure ripple a has appeared as a result of increased speed. All the wider peaks a look to have a similar patten which would suggest that this is caused by a control feature of the firmware as a result of printing a small part at a higher speed. Although the pressure has increased the retractions b still make it below 0kg and the retraction length remains consistent across the graph.

Despite the ripples the graph still looks pretty neat and tidy and as uniform as the previous graph that had good print results. This faster setting also produced the same good print results.

Force Sensor / Load Cell Temperature Detection Test

The following graphs from six to eleven is about what difference the temperatures makes to the force sensor / load cell readings.

Graph Six

3D Printer Extruder Activity Graph Six

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 215, Extruder Retraction Speed (mm/s) = 20.0, Retraction Distance (mm) = 2.5, Restart Extra Distance (mm) = 0.

220 degrees C looks to be the best setting for my 3d printer set-up and may get away with 215 degrees C as shown in the above graph. The temperature decrease as shown a slight increase in pressure a and a slight variance in pressure across the graph. The length of the retraction b shown in the graph look less consistent.

Graph Seven

3D Printer Extruder Activity Graph Seven

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 210, Extruder Retraction Speed (mm/s) = 20.0, Retraction Distance (mm) = 2.5, Restart Extra Distance (mm) = 0.

With a lower temperature of 210 degrees C there is an obvious pressure wave showing in the graph a. Despite this wave, each retraction b is still hitting around 0kg and looking a lot less consistent in length. The lower temperature setting is now plotting a graph that is now a lot less uniform.

Graph Eight

3D Printer Extruder Activity Graph Eight

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 205, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

With the temperature lowered again the load cell is detecting higher pressure a and also the pressure wave that was shown in the last graph. The Retraction Distance setting is reduced to 2mm and the graph now shows a pressure wave on retractions b similar to the upper pressure wave a. The wider peaks between retractions are now showing indications of sharp rise or sharp falls in pressure.

The walls are looking a bit less evenly printed on the test parts now, but no real signs of major print disaster.

Graph Nine

3D Printer Extruder Activity Graph Nine

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 195, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

At a temperature of 195 degrees C the pressure is now detected by the load cell at well over 2kg. The above graph shows similar characteristics as graph Eight.

Graph Ten

3D Printer Extruder Activity Graph Ten

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 195, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

The Retraction Distance is adjusted keeping the same temperature as the previous graph. The retractions b are now hitting around the 0kg mark and no longer matching the pressure wave of the higher peaks a between retractions. The retraction length shown in the graph are now not consistent across the graph.

Graph Eleven

3D Printer Extruder Activity Graph Eleven

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 185, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

This is where everything goes a bit pear shaped. The temperature is lowered to 185 degrees C and the pressure peaks at above 3kg as detected by the load cell. The graph is looking a bit distorted because the extruder drive gear has reached it’s filament pushing power limits due to the higher pressure. The test parts failed to print properly under these conditions which was mostly due to filament slippage.

Set Of Three 608-ZZ Ball Bearing Axles

Set Of Three 608-ZZ Ball Bearing Axles. Graph 11 test subject

The graph shows indications of filament slippage c and stepper motor stalls d, e. Stepper motor stalls produce a knocking sound and so is easily detected without the aid of the force sensor. Filament slippage is a lot more difficult to detect but can be seen easily on the graph at point c. The filament slippage seems to continue until a lower pressure is reached where the stepper drive gear can move the filament and get a fresh grip; forcing the pressure to go up again.

Sometimes stepper motor stalls look like retractions like at point e on the graph. At point e a retraction happened just inside a stepper motor stall and we know this because the pressure dropped to 0kg and the retraction return did not fully recover. From the settings above we know that the retraction start and return points should be at around the same pressure level.

Graph Twelve

3D Printer Extruder Activity Graph Twelve

Flow/Feed Rate (mm/s) = 48, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

Graph twelve sees a return temperature of 220 degrees C and the Flow Rate and Feed Rate of 48mm/s. But this time we a printing a larger part to encourage a faster print speed.

While comparing to graph Five we have achieved a higher pressure level a and still maintaining consistent retractions that drop below 0kg b. The print still looks as good and you don’t get the pressure wave as shown in graph eight with similar pressure levels.

Conclusion

The Graphs. Since adding the filament force sensor to the bowden extruder the 3d printer is now outputting it’s best print runs. The graphs have played an important role to identify the best extruder set-up, for the first time I have real feedback to work with.

The graphs above are typical of the test part I chose to print and it is important to note that printing more complex objects could produce graphs that look very different. The pressure level will not always be the same across the graph for some 3d prints and this can be due to the firmware printing at varying speeds. Infill is usually printed faster than the perimeters so higher nozzle pressure will be detected during infill printing.

A good graph such as graphs 1 to 5 show a good measure of control over the extruder operation. Settings in the g-code are detected accurately and there is good consistency showing across the graph. Achieving this type of graph from the bowden set-up delivers the best print results.

Graphs 7 to 11 shows how things start to get messed when hot end nozzle temperature is gradually reduced. Pressure waves form across the graphs and retraction lengths become less consistent. In a more serious case of low temperature the extruder load cell (used as a filament force sensor) was able to detect filament slippage and also stepper motor stalls.

V9 Hot End Clone Heater And Nozzle

V9 Hot End Clone Heater And Nozzle Used In This Force Sensor Test

The Pressure Waves. In graphs 7 to 11 you can see a kind of pressure wave where the pressure seems to go up and down like a sine wave. This has caused elements of the graph to lose consistency such as filament retractions and nozzle pressure.

We know that the pressure wave appears when the temperature is reduced because graphs 1 to 5 and 12 show no wave at all; despite the same test part being printed throughout. We also know that 3d printing at a higher speed does not produce the same wave effect because graph 12 pressure reading compares with graph 8 that has the wave.

On this 3d printer hot end the nozzle sticks out from the heater block by about 8mm which I think is plenty enough to cause a large temperature difference between the heater block and the nozzle tip. My guess is that when extra force is needed to extrude filament at lower temperatures the hot end pressure rises causing the nozzle tip to get hotter until it extrudes filament more quickly. As the filament extrudes more quickly the pressure starts to drop causing the nozzle temperature to drop. As the temperature drops in the nozzle the filament becomes more difficult to extrude causing the pressure in the hot end to rise again. I think this is a temperature rise and fall cycle the force sensor is detecting and producing the pressure wave in the graphs.

The Future. I think at the very least this filament force sensor technology could be used for benchmarking new hot ends. We probably should be seeing test results from the many new hot ends that are now appearing on the market to help our purchasing decisions. If the filament force sensor becomes popular it could certainly be used to help troubleshoot extruder problems with new hot ends fitted. The data collected from the filament force sensor could be used to better prepare new hot end for the market. Having new hot ends backed up with good filament force sensor data would help build customer confidence.

The extruder filament force sensor technology could redefine the reputation of bowden type extruder set-ups and the bowden set-up may even become more popular on 3d printers. The filament force sensor would provide an easy set-up and configuration procedure based on sensor feedback.

In the future the filament force sensor could be used to allow 3d printer firmware to calibrate itself to determining the best speed, the best temperature and the best retraction length settings. The firmware could also dynamically adjust the retraction distance when printing speed is adjusted on the front panel. This kind of 3d printer set-up could be the ideal thing for consumer level 3d printers.

The next post will be the guide to setting up the Airtripper Extruder Filament Force Sensor brackets and how to adjust the brackets to fit different load cells.

 

]]>
http://airtripper.com/1338/airtripper-extruder-filament-force-sensor-introduction/feed/ 11
Airtripper Extruder Filament Force Sensor – Announcementhttp://airtripper.com/1320/airtripper-extruder-filament-force-sensor-announcement/?utm_source=rss&utm_medium=rss&utm_campaign=airtripper-extruder-filament-force-sensor-announcement http://airtripper.com/1320/airtripper-extruder-filament-force-sensor-announcement/#comments Thu, 16 May 2013 21:31:53 +0000 http://airtripper.com/?p=1320 Yep, my 3d printer now has a filament force sensor. It works great and it looks awesome. I’m just at the end of a second full day of testing and the installation has not caused any print quality issues using the same g-code as before.

My 3d printer is tied up doing production runs so not yet had the opportunity to study cause and effect with different Skeinforge settings. Basically I’ve been studying live graphs from the production runs; checking for consistency between print jobs and during print runs. The graph below is a 100 second snapshot of a production run I was doing.

3D Printer Extruder Force Sensor Graph Sample

3D Printer Extruder Filament Force Sensor graph

3D Printer Extruder Filament Force Sensor graph

From the graph it is easy to tell when the printer is printing and when it is not. The drops are the retractions and you can see that the nozzle loses pressure after each retraction. The retractions also show a period of travel without printing, and the longer the travel – the more pressure is lost. Also, a bunch of retractions together shows a decline in nozzle pressure with each retraction.

The pressure sensor is preloaded with 200g of force so that the retractions can be absorbed by the sensor without bottoming out. This has not been accounted for in the graph and so 200g needs to be taken off the force sensor graph readings in this case.

By looking at the graph I would deduct that my retraction setting is not long enough. Even after deducing the 200g pre-load, there is  still a round 500g of force applied by the extruder.

Extruder Force Sensor – The Next Step

There is plenty of room for improvement on my 3d prints and I’ll be looking at the graphs to see if the readings can help identify what settings needs to be changed to get the best print quality. Also I’ll be testing the force sensor on printing simple shapes to better judge sensor reading consistency.

How do I get one of these sensor thingies?

I don’t want to reveal the set-up until I’ve got all the support documentation ready to publish. This is because I need the time to focus on the documentation that will allow others to replicate the sensor kit as easily as possible. If I reveal my set-up now, many people will try to build there own sensor kit and I could be bogged down with providing support.

Due to the low investment cost of the hardware and the potential it has for testing 3d printer extruders and hot ends, the force sensor gauge is likely to be very popular. So I’ll be looking to get the airtripper extruder filament force sensor properly backed up with good support documentation.

If you would like to speculate how the force sensor works and how it is fitted, use the comment section below.

]]>
http://airtripper.com/1320/airtripper-extruder-filament-force-sensor-announcement/feed/ 2