Showing posts with label Open Source Hardware. Show all posts
Showing posts with label Open Source Hardware. Show all posts

Wednesday, 5 April 2017

DuetWifi - Updated Thermal Testing

During the prototype development of the DuetWifi we carried out extensive thermal testing to validate the thermal characteristics of the PCB design. The two areas we looked at in detail were the TMC2660 stepper drivers and the high current heated bed MOSFET and associated traces and connectors. The results of this thermal testing allowed us to confidently set the stepper driver current to 2.0A in firmware and recommend a maximum heated bed current of 15A.

Now the DuetWifi has been in production for over 7 months, we have much more information about the performance of the board in the real world. This combined with updated the thermal testing (thanks again to Andy Hingston) has allowed us to make the following changes:

  • increased the recommended maximum heated bed current to 18A 
  • increased the stepper driver current limit will shortly be raised in firmware to 2.4A.
Notes: 

  • this is for production (blue) DuetWifi and upcoming DuetEthernet boards, not for the prototype (white) DuetWifis.
  • If setting stepper driver current higher than 2A ensure there is a fan blowing across the back of the Duet or Duex board.
  • When first using stepper driver currents higher than 2A use M122 to check for over temperature warnings. Future versions of the firmware will have additional functionality to reduce stepper drivers power intelligently if an over temperature warning occurs.


We also took the opportunity to test the Duex5 stepper drivers, these perform better than those on the DuetWifi as they have even more on-board heat sinking. There is more details on the testing results, and caveats, below.


DuetWifi Stepper Testing : 2.5A Half Step Hold*

DuetWifi Thermal Test 2.5A Half Step Hold - 123.3C - Front View
*See the previous thermal testing blog post for an explanation.

Duex5 Stepper Testing : 2.5A Half Step Hold


Duex5 Thermal Test 2.5A Half Step Hold - 102.3C - Front View

DuetWifi Heated Bed MOSFET Testing : 20A soak test



DuetWifi Thermal Test Heated Bed 20A 86.7C - Front View

DuetWifi Thermal Test Heated Bed 20A 77.1C - Front View
The tests were completed under the following conditions:
  • Board under test: DuetWifi v1.01, Duex5 V0.7
  • Ambient Temperature: 25-27C
  • Soak Time: 20 minutes



Friday, 2 December 2016

Using the Diamond Hotend with DuetWifi

(Guest post by Ian Pegg, deckingman on the Duet3d forums and www.pegdecking.com)
(update, Ian now has his own blog, check it out for lots of interesting 3d printing ideas, especially around making multi extrusion even better!)


Julia vase #11 Heatwave by Virtox
http://www.thingiverse.com/thing:126567/
Printed Ian Pegg


I have been using a Diamond hotend (3 inputs and one output) on my custom built CoreXY printer, controlled by the DuetWifi for some time now. This blog post is is documentation on how to setup the DuetWifi with a Diamond hotend however it can be generalized to other multiple input - single output hotends. They might use different configurations but the principles will be the same. I have taken the definition of a mixing hot end as one which has multiple filament inputs and a single output (nozzle), although see the "issues with mixing" section at the end.


Hardware requirements.


Assuming you have the necessary number of extruders for your particular hot end, you will need to be able to drive them all. The new Duet WiFi and the older Duet v0.8.5 both have support for 2 extruders. If you have 3 or more extruders, then you will need to procure an expansion board or use another method to connect additional stepper drivers to the Duet expansion connector.

Important note. A mixing hot end must have filament loaded into all inputs at all times. Failure to do this will mean that extruded filament will find it's way up into any unused inputs where it will cool and solidify causing a blockage which will be very difficult to clear. 

Software and Firmware requirements.


You should have a slicer that is capable of supporting multi part objects. Although some things can be done by post processing the gcode file, objects which share the same Z position, would be very difficult to deal with using this method. Also, the slicer and the printer firmware should ideally be capable of supporting firmware retraction (G10) – more on this later. At the time of writing, Slic3r (version 1.2.9) is known to support these features. David's (DC42) branch of RepRapFirmware supports firmware retraction as of version 1.10.  

Some slicers support multiple extruders but not necessarily multicoloured objects (although there may be workarounds). It is often possible to use different extruders (tools) for perimeters or infill or support materials.


Connections.


Refer to the Duet wiring diagrams and connect the first extruder motor to E0, the second to E1 and any others to the relevant connectors on the expansion board. I highly recommend that you put a label on each extruder at this time to act as a reminder of which is which when you come to load filament. Remember that the first extruder drive is always D0 (not D1). This may initially confuse you when you start using slic3r which uses D1 for the first tool instead of D0.


E0 and E1 Plugged into the DuetWifi

E1 Plugged into the Duex5
A mixing hot end will only have one heater so connect this to the first heater (marked E0). Similarly, connect the thermistor to the first thermistor connector (also E0). It's not strictly necessary to use these exact connections but if you decide to use some other terminals on the Duet board, make a note of what you have connected to where. Finally connect the hot end cooling fan to wherever you prefer. The most common configuration is to connect the fan to one of the “always on” terminals but my fan is very high air flow and so quite noisy. Therefore I prefer to have it connected to one of the PWM fan terminals and run it in thermostatic mode so that it only comes on when the hot end is above 45deg C.

Configuration settings – tool definitions.


The first thing to do is define the tools. To do this, it is necessary to edit the confg.g file which can be done using the web interface:
DuetWebControl Web interface allows easy editing of all configuration files.

There are a few different ways that you can define the tools. You will probably need a tool for each of the “solid” colours. That is to say, tools which will only use 100% of one filament. Then you will need a tool or tools that combine different filaments in various proportions.

So to define a tool which uses only one colour, it is only necessary to set which extruder and which heater it will use. The gcode to define a tool is M563. So for the first 3 tools you could use something like this;

M563 P0 D0 H1
M563 P1 D1 H1
M563 P2 D2 H1

This would define the first 3 tools (P0 to P2) to each use one of the extruders (D0 to D2) but the same heater (H1).

IMPORTANT. Be aware that Slic3r and perhaps other slicers, use a different numbering system and the first tool is defined as 1 not 0. This can be easily rectified by either defining tools starting with tool 1 and up, or by using the M563 S1 command in config.g to tell the firmware to add a 1 to every tools number

If we want to mix filaments, we'd need create more tools and turn on mixing. So, we might have another tool defined like so;

M563 P3 D0:1:2 H1 ; Define tool 3 (P3) to use all three extruders (D0:1:2) and heater 1
M568 P3 S1 ; Enable mixing for tool 3
M567 P3 E0.34:0.33:0.33 ; Set mixing ratio for tool 3.

What this does is to define the tool T3 to use all 3 extruders (D0:1:2) then it uses M568 to enable mixing for that tool. Finally, it sets the mixing ratio using M567. In this case roughly the same quantity of each of the 3 filaments. However, this mixing ratio should always add up to 1. So, I've used 0.34 of extruder 0, and 0.33 of extruders 1 and 2 (0.34+0.33+0.33 = 1.00).

We could also have other tools. Say for example we had Red filament in extruder 0 and Yellow in extruder 1, we could define another tool which would blend equal amounts of the tool to create Orange. It would look like this:

M563 P4 D0:1:2 H1 ; Define tool 4 (P4) to use all three extruders (D0:1:2) and heater 1
M568 P4 S1 ; Enable mixing for tool 4

M567 P4 E0.5:0.50:0.00 ; Set mixing ratio for tool 4.

Of course, we can define as many tools as we like. The upper limit of tool numbers is constrained only by the Duet's free memory so over 400 tools are possible on the DuetWifi.

Managing a large number of tools would become cumbersome though and there is another way. Once a tool has been defined to use all the extruders and mixing has been enabled, we can simply change the mixing ratio before or during the print. It can be done before the print commences by putting the mixing ratio into the start gcode file. It can also be done during a print by entering the required M567 command in the web interface or by post processing the gcode file that the slicer generates. In theory the tool mix ratio can be set differently for each gcode move.

So we can simply have one tool which is defined as a mixing tool. In practice, this won't work with slicers which expect different tools for different (coloured) parts of an object. So, I have found the best compromise is to just define 4 tools (or one more than the number of extruders), one for each of the primary filaments and one which is a combination of all three. Coincidentally, in slic3r, if you set your printer to have 3 extruders, it will give you 4 tools to choose from for any object.

Taking this a step further, it is still useful to be able to use any combination of filaments for any tool. For example I could have red green and blue filaments loaded but want to print with Cyan, Magenta and Yellow. So all of my tools are defined as mixing tools but the first three use 100% of only one filament (actually this is not strictly true but we need to consider retraction before I elaborate more). Then if I subsequently want to change a tool to use a different filament or combination of filaments, I can do so but simply changing the mixing ratio at the start of the gcode file, without having to bother with all the other configuration settings. It can also be done “on the fly” from the web interface. This can also be used if one wanted to print a number of copies of the same object but in different colours. Simply slice the object once, then edit the start of the gcode file to change the mixing ratio and/or tool number.

Here is what the tool configuration part of a config.G file might look like.

; Tools
M563 P0 D0:1:2 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
M568 P0 S1 ; Enable mixing for tool 0
M567 P0 E1:0:0 ; Set mixing ratios for tool 0
M563 P1 D0:1:2 H1 ; Define tool 1
G10 P1 X0 Y0 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
M568 P1 S1 ; Enable mixing for tool 1
M567 P1 E0:1:0 ; Set mixing ratios for tool 1
M563 P2 D0:1:2 H1 ; Define tool 2
G10 P2 X0 Y0 ; Set tool 2 axis offsets
G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
M568 P2 S1 ; Enable mixing for tool 2
M567 P2 E0:0:1 ; Set mixing ratios for tool 2
M563 P3 D0:1:2 H1 ; Define tool 3
G10 P3 X0 Y0 ; Set tool 3 axis offsets
G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C
M568 P3 S1 ; Enable mixing for tool 3

M567 P3 E0.34:0.33:0.33 ; Set mixing ratios for tool 3


This is not quite how I have my tools defined but to understand the reason for that, we need to look at extruder retraction which is discussed later in this document.

A view of the three e3d Tital Extruders suspended as a flying extruder above the diamond hotend.

Tool offsets


You will notice that in the above tool definitions, there is no X or Y offset, or more precisely the X and Y offsets are set to zero (G10 Pn X0 Y0). That is because there is only one nozzle. X and Y offsets are only necessary where there are more than one nozzle and where they are physically offset from each other. Theoretically these offsets should default to zero but I always like to set them to zero, just in case something should get changed in firmware which might affect the default settings. 

Heating and standby temperatures. 


You will also notice that in the tool definitions above, the initial active and standby temperatures are set to zero (G10 Pn R0 S0). That is because I don't want the hot end to start heating whenever a tool is selected. Instead, I have the heating and standby temperatures set in my start gcode where I can also put the specific temperature as needed for a specific filament.

With a mixing hot end, we only have one heater and one nozzle so if we are using the same type of filament in all 3 inputs, we can instantly switch between tools without having for the next one to warm up, or the previous one to cool down. Therefore, we can (should) set the tool active and standby temperatures to the same values.

This is what I have in my start gcode for PLA in all 3 inputs.

G10 P0 S195 R195     ; Set tool 0 operating and standby temperatures
G10 P1 S195 R195     ; Set tool 1 operating and standby temperatures
G10 P2 S195 R195     ; Set tool 2 operating and standby temperatures

G10 P3 S195 R195     ; Set tool 3 operating and standby temperatures


Then when the print runs and a tool change is needed it can be instantly switched with no warm up or cool down delay.  

Obviously, if we had different types of filament in one or more of the extruders, we would need to change these values for those extruders (tools).

Extruder retraction.


With “normal” retraction, only the “active” extruder will retract. That is to say that if we are only pushing one filament into a mixing nozzle, normal retraction will only pull that single filament back. In effect, all that happens is that filament is drawn from the unused inputs rather than from the nozzle tip. In practice, this is just like having no retraction at all.

What is needed is for all filaments to be retracted, regardless of whether they are actively in use or not. Fortunately Duet hardware and firmware give us the ability to accomplish this. It is done by using firmware retraction using the codes G10 (retract) and G11 (unretract). This might be slightly confusing because G10 is also used for tool offsets but without a tool number, it is used for firmware retraction.

G10 is used in conjunction with M207 to define the retraction amount and speed.
Here is what I have in my config.g file.


M207 S1.5 F3000       ;set firmware retraction

S is the amount in mm. F is the Feed rate mm/min (divide by /60 to get mm/sec).
Optionally one could also have R (additional length on unretract) and Z (additional Z lift in mm)

It is vitally important to use this firmware retraction with a mixing hot end so, the slicer software must also be configured to use this. In Slic3r this is simply a matter of ticking a check box which is in the Printer Settings tab under “General”. Whenever retraction is needed, Slic3r will insert a G10 command (and a G11 command to unretract). For other slicers, there is sometimes a facility to post process the gcode output and one could use this to replace whatever retraction codes was output with G10. Another option would be to use some sort of text editor to do a “search and replace”.    

Tool Definitions revisited. 


Now that we have set our firmware retraction to retract all 3 filaments simultaneously there is another little issue that will become apparent but can be avoided. With a mixing hot end we must have all the inputs loaded with filament at all times otherwise extruded filament will simply find it's way up into unused inputs where it will cool and solidify. We must also retract all filaments simultaneously for reasons discussed above. Therefore, when we print using just a single filament and extruder for a prolonged period of time, what happens is that on the unused inputs, the same piece of filament is constantly being retracted and unretracted. Eventually it will just get worn away and will cease to move and retraction stops working and our prints get stringy.

There is also another issue, which is that most filaments will degrade if reheated and cooled a number of times which is what will happen if we primarily use just a single filament for an extended period of time.

There are a couple of things which can help. The first one is, before starting a print heat the nozzle and extrude some filament from each of the extruders. This will ensure that there is a fresh piece of filament in each of the extruders which may well last for enough retract and unretract cycles without getting so worn that it fails to move.

The way that I prefer to do it is to define the tools so that every tool always uses the main filament plus a small proportion of all of the other filaments. In theory, one might think that this would result in muddy and muddled colours. In practice, it is hardly noticeable and it uses the main filament but just enough of the other inputs to keep them moving so that retraction isn't always moving the same piece of filament back and forth and the same piece of filament isn't being constantly reheated and cooled. Of course, if the colour was absolutely critical, one could always load the same filament into all 3 extruders but in my experience it's unlikely to be necessary.

Here is what my final tool definition section looks like.

; Tools
M563 P0 D0:1:2 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
M568 P0 S1 ; Enable mixing for tool 0
M567 P0 E0.90:0.05:0.05 ; Set mixing ratios for tool 0 (90%,5%,5%)
M563 P1 D0:1:2 H1 ; Define tool 1
G10 P1 X0 Y0 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
M568 P1 S1 ; Enable mixing for tool 1
M567 P1 E0.05:0.90:0.05 ; Set mixing ratios for tool 1 (5%,90%,5%)
M563 P2 D0:1:2 H1 ; Define tool 2
G10 P2 X0 Y0 ; Set tool 2 axis offsets
G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
M568 P2 S1 ; Enable mixing for tool 2
M567 P2 E0.05:0.05:0.90 ; Set mixing ratios for tool 2 (5%,5%,90%)
M563 P3 D0:1:2 H1 ; Define tool 3
G10 P3 X0 Y0 ; Set tool 3 axis offsets
G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C
M568 P3 S1 ; Enable mixing for tool 3

M567 P3 E0.34:0.33:0.33 ; Set mixing ratios for tool 3 (34%,33%,33%)


These are what my mixing ratios will always default to. If I want to print a 2 or 3 coloured object using "solid" colours with no mixing, then what I tend to do is simply add M567 commands to the start gcode which will override the default values that I set in my config.g file. i.e. M567 P0 E1.00:0.00:0.00, M567 P1 E0.00:1.00:0.00, M567 P2 E0.00:0.00:1.00.

For example the snowflakes were printed with White on Gold. In this case, I had two tools. Tool 1 was 100% Gold, Tool 2" was 100% White. The base and the flake are separate stls. I added the base (gold part) to Slic3R platter, then in settings set it to use Tool 1. Then I used "Add part" to add the flake and set it to use Tool 2. So, when it printed, the first part of the flake started out Gold until the White filament purged through but that was only about an eighth of the first layer and there are 3 layers of white.


Example of two colour printing with the Diamond Hotend.

Tuning and tweaking


With the exception of getting the mixing ratios right for whatever printed outcome is desired, there is very little tuning and tweaking necessary for a mixing hot end compared to a non-mixing hot end. The only thing that springs to mind is that, because we retract all filaments together, the retraction distance can be less.

On my particular machine, with Bowden tubes around 250mm long for PLA at 195 deg C and print speed of around 60mm/sec, retraction of 1.5 mm at 3000mm/min works well.

Of course, using firmware retraction makes setting it up a breeze. Simply print two small cubes spaced about 50 mm or more apart then during the print use Duet Web Control to change the retraction on the fly and observe the difference. Use M207 Sn.n Fnnn where S is the amount in mm and F is the speed (feed rate) in mm/min. Start with a small number and increase it slightly until signs of stringing disappear. Repeat for other materials, print speeds and temperature if necessary but you'll likely find one value that works well for most situations. 


Scripting mixing ratios


Another way to use a mixing hot end is to post process the gcode file to enter mixing commands at various places. I have a little python script which an M567 command after “n” layer changes. It runs through loops, each one progressively decreasing the mixing ratio for one filament and increasing another. So the colour changes throughout the height of the printed object from colour A to colour B, then colour B to colour C. This can be extended to go from C back to A and then the entire sequence repeated. This is how I produced the following objects:


Ian's vase
A big version of the Julia vase #11 Heatwave by Virtox
http://www.thingiverse.com/thing:126567/
Printed Ian Pegg
The big Julia vase is printed with Red, Yellow and Clear translucent filaments. Starting at 100% red, reducing the Red by 1% and increased the yellow until 100% Yellow, then repeat going from Yellow to Clear. The mixing is changed at every 5th layer to get one complete iteration over the height of the object. The smaller rainbow Julia vase shown at the beginning of this post used Red, Blue and Yellow and changed the mixing at every layer change so ended up with Red,Purple (Red and Blue), Blue, Green(Blue and Yellow),Yellow, Orange (Yellow and Red) then back to Red and repeat the sequence.

Thoughts and ideas.


Most people think of multi coloured objects but even if your slicer doesn't support multi part objects it may well support multiple extruders. This means that one could choose to use one extruder for the infill but a different extruder for the perimeters. One could then use an exotic or expensive material on the outside but cheaper “everyday” filament for the inside. Or possibly use a clear filament for the perimeters to give the object a clear coating.

Printing support material using a different extruder is another possibility that springs to mind.

Then there are other exotic materials such as electrically conductive filament. It could be possible to print an electrical circuit within an object.


Issues with mixing.


There is a fundamental restriction with the Diamond hot end. This is that there is no mixing chamber as such. The advantage of this is that when changing form one filament to another, the changeover period is very short. Usually, if the printer is set to have two perimeters, by the time the second perimeter is being printed, the transition from one filament to another is complete. Obviously this depends on the size of the object. The disadvantage is that when filaments are “mixed” they come out of the nozzle like stripy toothpaste. So the colour is biased towards each input. This effect can be partly negated by using translucent filament. Or it can be exploited for decorative purposes. I have printed a 3 sided pyramid with each face a different colour by using a single tool with a mixing ration of 0.34:0.33:0.33 and orientating the pyramid on the build plate such that each face is directly opposite a filament input.    


The same pot, taken from 3 angles, showing the different sides
This due to partial mixing in the Diamond hotend.

Video


This is a video of my custom CoreXY printing the large Julia Vase by virtox shown in the picture above:




Monday, 20 October 2014

PanelOne on Sanguinololu

The PanelOne LCD display and control panel was originally designed for RAMPS1.4, and that is still the most sensible way to use it as it uses two 2x5 IDC cables that are readily available. The PanelOne circuit board is designed to work with 3.3V and 5V electronics and this weekend I tested it with Sanguinololu (effectively going full circle back to the original Panelolu - just a lot easier to put together and use!)



This works fine, although you do need to be careful to plug the pins in correctly:



The correct pins for Sanguinololu are:

Wire number    PanelOne             Sanguinololu
                         Aux2
1                       5V                         5V
2                       GND                     GND
3                       EN B                     Rx1
4                       EN A                     Tx1
5                       LCD DB7              A4
6                       LCD RS                PWM
7                       LCD DB6              A3
8                       LCD E                  SDA
9                       LCD DB5              A2
10                     LCD DB4              A1
                         Aux3
1 Not Connected
2 Not Connected
3                       CS                        A0
4                       CLK                      SCK
5                       DO                        MOSI
6                       DI                          MISO
7                       EN SW                  SCL
8                       VCC                      5V
9 Not Connected
10 Not Connected

This blog post has a good image of the location of each pin on the Sanguinololu, re-posted below:

The IDC cables are numbered with wire 1 being the red coloured wire.

This will work out the box with the T3P3 version of Marlin by enabling #SDSUPPORT and #ULTIMAKERCONTROLLER in configuration.h

The process followed can be adapted to use the PanelOne on any electronics that runs Marlin and has enough free pins. Do let me know if you get it working on another board!







Tuesday, 5 August 2014

Kossel Mini - Heated Bed

We are finally ready to release the Heated bed kits for the Kossel Mini. It has taken a bit of time to confirm our preferred design and source the components in bulk. We have been running two test printers for almost two months now with this solution and will be writing to those who have already bought a kit shortly to offer them the upgrade first (as promised!).

Heated Bed


After investigating a number of options (PCB, Silicone heater, kapton heater on borosilicate glass, kapton heater on aluminium plate) we went for a Kapton heater on an aluminium plate.


The heater is rated at 10 A, giving an output of 120W at 12V, and supplied complete with a MF58104F3950 thermistor taped to the centre of the aluminium plate (thermistor table  on chirpy's blog.  Wires are prepared for fitting to RAMPS. We have run these heaters continuously at 125ºC for 24 hours on our Kossel prototypes without any problems, and find that they heat up significantly faster than standard PCB heatbeds because of the higher power density (6kW/m2 vs 3kW/m2)

The aluminium plate acts as an excellent heat spreader for the Kapton heater and is easier to mount than borosilicate glass as it can be drilled and countersunk.

This is mounted in a "sandwich" with an aluminium-foil-tape covered cardboard insulator below (thanks to nophead for this design of heat insulator from the mendel 90).



This allows for various print surfaces to be clipped onto the aluminium plate, e.g; mirror glass with glue stick for PLA, Tufnol for nylon 618 or mirror glass with ABS juice or kapton for ABS. Best of all you can use multiple mirror plates plates to quickly swap on a new one while the other one cools.

In order to keep the electronics cool we have added a fan under the heated bed, complete with splitter cable:

And redesigned the bed mounts and z-probe retractor:


In order to power the bed we decided to add a second, 10A, laptop power supply:



And a matching second socket to the USB/Power plug plate. Because some customers have decided to use an ATX or similar power supply to power the printer and the heated bed, the second 10A power supply will be an optional extra in the kits.



The Mini Kossel Documentation has been updated to describe how to fit the heatbed either during initial build or as an upgrade. It's straight forward (mostly described by the pictures above).

Calibration


The T3P3 github has a slightly updated version of Marlin that we distributed with the kits so far, to include a thermistor table for the heated bed thermistor (number 11)

There are a few of things to consider when calibrating; the bed is now higher by ~10mm, and different bed (and nozzle) temperatures will lead to slightly different  Z = 0 positions due to thermal expansion. For example with a cold bed and cold hotend the Z-height was ~0.2mm lower that with a 80C bed and 225C nozzle.

The easiest way to handle this is to carry out the calibration steps (as described in my previous blog post) with the bed and hotend cold. Once the bed is level and there is no doming then you can measure the difference between Z = 0 on a cold bed and with the bed and nozzle at the centre print temperature for various materials. I measured my test printer with the heatbed between 60C and 110C and the hotend between 185C and 240C and there was <0.1mm of difference in Z height: all were ~0.2mm above the cold bed height.

I used the standard method of a piece of paper as a feeler gauge under the nozzle, stepping down by 0.1mm in Pronterface until I could feel the nozzle dragging. Be careful not to burn yourself on the hot bed! Once you have confirmed the difference (probably 0.2mm) then edit configuration.h :

#define MANUAL_Z_HOME_POS = 238.4 //cold = 238.6

and re-upload Marlin.

Z-probe retractor

The Z probe retract position will have slightly changed in X and Y and gone up in Z due to the new Z-Probe retractor



The documentation describes how to modify the Z-probe retract position in Marlin to compensate.

Extruder steps for different materials

Another thing to consider is that when using different materials, the extruder hobbed insert will bite into the filament more or less, changing the exact extruder steps per mm. With our standard mini extruder we use ~650 steps/mm for PLA. I found the following for different materials on a test printer:

ABS 660
PLA
650
Ninjaflex
700
Lawoo3d
650
T-glase
660
Nylon 618
660

The easiest way to handle these changes is to use:

M92 E650

in your start g-code and have different start g-codes for different materials in Slic3r.

Getting one!


We will be contacting those who have already bought a Mini Kossel kit from us first and offering a discounted upgrade kit, once these orders have shipped the upgrade will be available for general purchase.

All kits sold from now will have the option of a heated bed.

Sunday, 1 June 2014

Kossel Mini and More




Our Mini Kossel is a version of the excellent Kossel delta robot printer from Johann Rocholl, the designer of the original Rostock delta. It's very quick and easy to put together and relatively economical to source parts for. We have designed some additional parts and incorporated a number of variations from around the community. The changes we have made are described below and all the additional source files are available on Github (look in the T3P3 additions directory)

The Mini Kossel can be bought as a kit or assembled from www.think3dprint3d.com  There are 5 colours in stock or we will print you a set in any custom colour we can source and print. All our parts are printed in ABS on our Mendel90 Lasercut production printers which continue to churn out excellent-quality parts every day after almost a year in service.



Linear Rails v Rollers


The initial Kossel design used linear rails


Picture (c) hiwin.com
These are great but add significantly to the cost. Using rollers on the aluminium extrusions themselves has been suggested in a number of places:

http://www.electronhacks.com/2013/12/kossel-mini-3d-printer-vertical-movement-tutorial/

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

and this comparison here: http://www.builda3dprinter.eu/rails-wheels/.

These convinced us to try the roller based option. As we are using Mitsumi aluminium extrusions we got Delrin rollers precision machined:



After many hundred of hours printing the bearings and extrusions are not showing visible wear. The only lubrication we have used is a spray of light oil containing PTFE (for example GT85). It is very simple to tighten the adjusting capscrew to adjust the pre-load and take up any slack if they do wear.

Johann is looking into using recirculating Delrin balls directly on the extrusion as well - well worth following up as and when time permits. Delrin balls are quite pricey, though, but it would be awesome if Airsoft BB pellets turned out to work well. The best carriage for these turned out to be Haydn Huntley's.


RepRapPro mini extruder


This extruder has been proven over many thousands of hours, both on RepRapPro's Mendel and Huxley printers and on our Mendel90 Lasercut multi extruder machine.



We modified this slightly to use easily obtainable pushfit bowden fittings and made a our own version of the quick and simple zip tie mount to fit to the extrusion:






Power and electronics mountings

To keep the kit as simple and user friendly as possible we designed a USB and power plug plate:


That provides a neat interface with the RAMPS in the base of the printer. The non-heated bed version uses a single 5 amp laptop style power supply. We are investigating options for the heated bed version but one being considered is an extension of this plate with another plug for a heated bed power supply. The RAMPS is mounted on another simple plate:


The picture also shows some simple tabs to keep a round glass mirror plate fixed securely using M3 penny washers.



Filament management

A reel holder and filament guide complete the kit:


Build Manual

We have written a comprehensive Kossel Mini Assembly Manual for the kit which we hope will become a useful resource for all. We would really welcome feedback on the manual and suggestions for additional information to add. 

Prints

One of the Mini Kossel beta testers did these prints of the EggO egg "thrones" by mageli which are awesome. 




PanelOne LCD

Following on from the case design tutorial in SCAD here is more information of the PanelOne, a simple LCD controller for RAMPS. It is optimised for those who want to rout/etch a single sided PCB with only through-hole components. It also uses widely-available 10-way IDC ribbon cables.




The more fiddly elements of the SD card socket and logic level converter are left to an optional, and generally available, daughter board such as this one from adafruit:


image from adafruit.com
or this one:
image from hobbytonics.co.uk

The circuit board itself is designed in KiCAD as a single sided board, and was originally designed for Sumpod who commissioned us to design a board that could be routed on a PCB mill and fitted the dimensions of their printer enclosure.



In keeping with the simplicity of the design there is no adaptor board required at the RAMPS end as the pinouts are arranged to match with the AUX2 and AUX3 headers.



The complete KiCad files for the PanelOne are available on github.

Coming Soon

Watch this space... we are working on adding a heated bed and an interesting twist on multiple extruders!