https://reprap.org/mediawiki/api.php?action=feedcontributions&user=Funny+bananas&feedformat=atomRepRap - User contributions [en]2024-03-29T07:12:27ZUser contributionsMediaWiki 1.30.0https://reprap.org/mediawiki/index.php?title=TMC2100&diff=177707TMC21002016-12-11T21:05:04Z<p>Funny bananas: /* Sources */</p>
<hr />
<div>{{Languages}}<br />
{{Development<br />
<!--Header--><br />
|name = TMC2100<br />
|status = working<br />
<!--Image--><br />
|image = TMC2100_preview.jpg<br />
<!--General--><br />
|description = TMC2100 stepper driver<br />
|license = [[CC-BY-SA]]<br />
|author = Skimmy<br />
|reprap = unknown<br />
|categories =<br />
{{tag| surface-mount electronics}};<br />
{{tag| stepper motor drivers}};<br />
{{tag| Electronics}};<br />
|cadModel = [https://github.com/watterott/SilentStepStick watterott/SilentStepStick Eagle source files]<br />
|url = <br />
}}<br />
TMC2100 are the quietest Pololu compatible stepper motor drivers currently available on the market. The size corresponds to the popular Pololu drivers: the pinout is compatible, but not identical. The driver can be used on all major electronics, eg 8-bit electronics as RAMPS, Rumba, GT2560 or 32-bit electronics as RADDS or AZSMZ and all other Pololu compatible RepRap electronics.<br />
<br />
==Specification==<br />
<br />
*Driver-IC: [http://www.trinamic.com/products/integrated-circuits/stepper-power-driver/tmc2100 TMC2100], noiseless operation (in certain modes)<br />
*Hardware compatible with Step Stick and Pololu A4988<br />
*1.25A RMS '''continuous current''' (equivalent to about 1,77A I<sub>max</sub>)<br />
*'''short-time''' peak current 2.5A per motor coil<br />
*Step/Dir interface with micro-step function (interpolation of up to 256 micro-steps)<br />
*Motor voltage: 5...45V<br />
*stealthChop mode - for a noiseless operation<br />
*spreadCycle mode - for a high dynamic and torque<br />
<br />
==Special features in comparison to other stepper motor drivers==<br />
<br />
The TMC2100 stepper motor drivers a few peculiarities must be observed.<br />
<br />
*The driver board is "upside down" mounted, with the chip and the potentiometer down. To allow this, the pinout is mirrored too.<br />
*The heat sink is mounted on the circuit board on the back. This is much better, because the heat is much better guided by the heat pipes of the board, than the thick plastic layer of the chip itself.<br />
*The potentiometer is mounted upside down and adjustable via a hole through the board.<br />
*The "spreadCycle" operating mode is recommended for use in 3D printers. This guarantees sufficient torque for 3D printers; also, this is a very quiet mode.<br />
*The "stealthChop" operating mode is noiseless, but it can often lead to step losses since the torque is considerably reduced.<br />
<br />
==Pin Configuration==<br />
<br />
Since many different electronic boards available such as RAMPS, RADDS, RUMBA, etc, the wiring of config pins (CFG1, CFG2 and CFG3) is solved differently, so it's recommended not to connect config pins. This prevents that change of the electronics implies adjusting the driver. Be joined, that the "spreadCycle" mode also needs the pin CFG1 connected to GND. This can be realized by a small wire bridge (see photo).<br />
<br />
Some Chinese boards have been seen in the wild that have CFG1-3 printed out of order on the bottom of the PCB. So CFG3 is connected to MS1 and is actually CFG1 (see photo). Because the configuration pins ship open, you must close them by bridging with solder as shown in the photo in addition to connecting MS1 to GND.<br />
<br />
The pins and DIAG1 DIAG2 have no function and may also be omitted.<br />
<br />
Various operating modes to provide a through connection of the 3 config pins that green highlighted line is the recommended operation mode:<br />
<br />
{| class="wikitable"<br />
|-<br />
! CFG1 !! CFG2 !! Schrittteilung !! Interpolation !! Mode<br />
|-<br />
| GND || GND || 1 (full step) || none || spreadCycle<br />
|-<br />
| VCC || GND || 2 (half-step) || none || spreadCycle<br />
|-<br />
| open || GND || 2 (half-step) || 256 µ-Schritte || spreadCycle<br />
|-<br />
| GND || VCC || 4 (quarter-step) || none || spreadCycle<br />
|-<br />
| VCC || VCC || 16 µ-steps || none || spreadCycle<br />
|-<br />
| open || VCC || 4 (quarter-step) || 256 µ-steps || spreadCycle<br />
|- style="background:lightgreen" <br />
|GND || open || 16 µ-steps || 256 µ-steps || spreadCycle<br />
|-<br />
| VCC || open || 4 (quarter-step) || 256 µ-steps || stealthChop<br />
|-<br />
| open || open || 16 µ-steps || 256 µ-steps || stealthChop<br />
|}<br />
<br />
==Images==<br />
<br />
{| width="90%" align="center"<br />
| [[File:TMC2100_Schematic.png | center | thumb | circuit diagram]]<br />
| [[File:TMC2100_Schematic_simple.png | center | thumb | wiring diagram]]<br />
| [[File:TMC2100_CFG_PINS.png | center | thumb | CFG Pins]]<br />
| [[File:TMC2100_boardlayout.jpg | center | thumb | pin assignment]]<br />
|-<br />
| [[File:TMC2100_spreadcycle_topview.jpeg | thumb | top view (spreadcycle)]]<br />
| [[File:TMC2100_spreadcycle_bottomview.jpeg | thumb | bottom view (spreadcycle)]]<br />
| [[File:TMC2100_Vref_pins.jpeg | thumb | Vref pins]]<br />
<br />
|-<br />
|[[File:TMC2100-chinese-cfg1-bottom.png | thumb | bottom view (spreadcycle, mislabeled chinese pcb solder bridge)]]<br />
|[[File:TMC2100-chinese-cfg1-top.png | thumb | top view (spreadcycle, mislabeled chinese pcb)]]<br />
|}<br />
<br />
==Setting the reference voltage / motor current==<br />
<br />
The best way to adjust the motor current, the voltage at V<sub>ref</sub>-Pin (0 - 2,5V)to measure and then adjust the potentiometer. The maximum continuous current is 1,25A (I<sub>rms</sub>) or 1,77A (I<sub>max</sub>) and is determined by the 0,11Ω-sense resistor.<br />
<br />
Chinese PCB's have been reported with a 6.8k Ohm potentiometer instead of 20k. This limits the maximum current significantly.<br />
<br />
These steppers require active cooling over Vref voltages of around 0.55.<br />
<br />
'''Formulas for calculating the values:'''<br />
<br />
I<sub>rms</sub> = (V<sub>ref</sub> * 1.77A) / 2.5V<br />
<br />
I<sub>rms</sub> = V<sub>ref</sub> * 0.71<br />
<br />
I<sub>max</sub> = 1.41 * I<sub>rms</sub><br />
<br />
V<sub>ref</sub> = (I<sub>rms</sub> * 2.5V) / 1.77A<br />
<br />
V<sub>ref</sub> = I<sub>rms</sub> * 1.41<br />
<br />
V<sub>ref</sub> = I<sub>max</sub><br />
<br />
<br />
'''Example:''' <br />
A voltage of 1.0V at the VREF pin sets the motor current to 0,71A I<sub>rms</sub> / 1A I<sub>max</sub>.<br />
<br />
V<sub>ref</sub> = (I<sub>rms</sub> * 2.5V) / 1.77A <br />
<br />
1V = (0,71A * 2.5V) / 1.77A<br />
<br />
'''Please note:''' In some stepper motor drivers, such as the A4988, it represents the maximum current (Imax) with other the RMS current (Irms), such as the TMC2100.<br />
<br />
==Further information==<br />
<br />
Github: [https://github.com/watterott/SilentStepStick SilentStepStick]<br />
<br />
Summary PDF: [[File:SilentStepStick_v1.0_summary.pdf]]<br />
<br />
==Sources and where to get it:==<br />
<br />
[http://www.watterott.com/de/SilentStepStick watterott.com]<br />
<br />
[http://www.robotdigg.com/product/944 RobotDigg] (will charge lots for shipping, theres a reason they don't list shipping rates)</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta_geometry&diff=176416Delta geometry2016-08-26T14:09:29Z<p>Funny bananas: /* Introduction */</p>
<hr />
<div>== Introduction ==<br />
A 'delta' robot or printer is a robot where a platform is maintained by three pair of arms set in a triangle. The pairs of parallel arms maintain the horizontality of the platform and the movement of these arms displace the platform in the three dimensions. Many solutions exists, but a few are used practically.<br />
<br />
There are two principles to displace the arms pairs:<br />
*Each arm pair is installed on a main articulated arm, the movement being generated be the rotation of this main arm. The geometry is the rotational delta or 'Clavel delta' from the name of its inventor. The principle is widely used on 'pick and place' machine in a wide range of industries, from electronic to food. This system can be found in the [[Delta by Energetic]] or on the [[FirePick Delta]] printers.<br />
<br />
*Arm pairs are attached to carriage sliding along parallel rails. This geometry is called [[Linear_Delta_Printer_Kinematics|linear delta]] and is the most frequent type used in 3D printer world, the machines originating the movement being the [[Rostock]] and the [[Kossel]]. The term 'parallel delta' shall not be used as all robots with parallel arms are called [[Wikipedia:parallel robots | parallel robots]]. <br />
<br />
There is another solution without rigid mechanics which is to suspend the platform to wires. There are a few examples and notably the [[Skydelta]] or this [https://sites.google.com/site/3dprinterlist/delta-3d-printers/wire-suspended-deltas/wiresuspended-delta suspended delta]<br />
<br />
The linear delta kinematic calculation is simple because the carriage follow a straight line, so the horizontal movement of the platform is linked to the vertical movement of the carriage by Pythagorean theorem (which states that the diagonal length squared, is equal to the sum of the triangles sides squared, the triangle must be a right angle triangle). Here the diagonal is the arm length, constant, the vertical branch is the relative vertical position of the platform and carriage, the horizontal branch is the relative horizontal position of the platform and carriage.<br />
<br />
The math is not difficult, but for a printer a lot of square roots must be done on control boards based on 8 bit processors, which are struggling doing these calculations, so a lot of fine software optimization were done for the delta geometry for these processors. 32 bit controllers are becoming the controller boards of choice more commonly for delta printers as they have much faster processors and do not struggle with the math at all.<br />
It shall be noted that the sliders columns can be on a non-equilateral triangle and asymmetric dispositions were tested, notably the 'Square' delta with angles of 90°,90° and 180°.<br />
<br />
== Geometry of a linear delta ==<br />
=== Schematics ===<br />
[[File:Delta_geometry1.png|280px|left]] <br />
The arm angle with effector at center is the result of the arms length, minimum angle and angles of the arms while at maximum diameter.<br />
For minimum angle of 20°, this angle is around 60° for maximum diameter arm verticals, but if the minimum angle is increased, it may be higher. Minimum angles of 22° will gives an angle of 63° with vertical arms. <br />
<br />
Arms may not be able to reach the vertical due to clearance problem, notably with the part cooling fans or effector accessories. In that case, for a given minimum angle, arm length may be reduced and the angle while effector is at center will be lower. <br />
<br />
On the other way, some printers have arms capable to go over vertical (e.g. Rostock Max). <br />
{{clr}} <br />
[[File:Delta_geometry2.png|280px|right]] <br />
The minimum arm angle, while effector is at maximum diameter, is one of the basic design parameters.<br />
It is important for effector stability, precision and carriage speed.<br />
A low angle induce high carriage speed for a given effector horizontal speed.<br />
Low angle also decrease effector stability.<br />
Generally, 20° angle is considered as a practical minimum and induce a carriage speed 2.75 times higher than effector horizontal speed.<br />
Some printers with theoretical minimum angle of 15° may experience lost steps at their maximum diameter. <br />
[[File:SpeedUpChart.png|thumb|250px|left|Speed up coefficient for given arm angle]] <br />
{| border=1<br />
| mini angle<br />
| speed multiplier<br />
|-<br />
| 22.5°<br />
| 2.41<br />
|-<br />
| 20°<br />
| 2.75<br />
|-<br />
| 17.5°<br />
| 3.17<br />
|-<br />
| 15°<br />
| 3.73<br />
|-<br />
| 12.5°<br />
| 4.51<br />
|}<br />
<br />
{{clr}}<br />
[[File:Delta_geometry3.png|320px|left]] Arm space does not influence movement calculation, but have an importance for the effector stability. Best stability is obtained for the minimum offset, with the maximum possible arm space for this offset (minimising b dimension).<br />
{{clr}}<br />
<br />
=== Reachable area ===<br />
[[File:Delta_reachable_area.png|464px|right]]<br />
For a given minimum angle, the reachable area is a triangle with bulged sides, with the ends of the triangle oriented toward the columns, which cannot be accessed without impacting the column. Then, for simplicity, the reachable area is generally considered circular. <br />
It might be interesting to evaluate the real reachable area when one want to inscribe a rectangle or square in the printing area.<br />
The accessories (belts and fans) are critical for the real usable area. <br />
<br />
Schematic<br />
*Green : the area which may be reachable without obstacle<br />
*Orange : the practical area taking into account the clearance required between effector and columns.<br />
{{clr}}<br />
<br />
===Delta columns and axis names===<br />
[[File:Delta conventions.jpg |left|512px]] <br />
View from top<br />
{{clr}}<br />
<br />
=== Effector stability === <br />
[[File:Effector_geometry.png|280px|right]] <br />
==== What is effector stability ? ====<br />
This is the fact that an effector resist to tilting moments. <br />
The tilt may displace the hotend nozzle and creates imprecision. It also have an effect on level measurement sensor while the sensors are offset from the hotend.<br />
Two things have important effect on an effector stability:<br />
* The geometry, as different geometries may induce higher or lower loads on arms and articulation, so higher or lower deformation. A geometry reducing the load will increase precision.<br />
* The moment resistance induced by arm articulation, say a cardan will resist to torsion induced by the effector, while ball articulation will not.<br />
<br />
The moment which will induce tilt will be created by :<br />
*Inertia<br />
*Load on the nozzle <br />
*Friction in articulation, which may be significant for some types of articulations. <br />
<br />
====How to improve geometry====<br />
*A small offset will reduce the load on arms/articulation for a moment and shall be researched.<br />
*For a given offset, the distance between the centers of articulation (noted 'b' on drawing) will modify the moment created by side loads. The lower this space, the better the stability. When these articulation are merged, the geometric stability is very important, as there is no possible level difference in the merged articulations, hence, no possibility to have an 'articulated' tilt. This solution is used by example on the [http://www.spiderbot.eu/en/ Spiderbot delta]. <br />
<br />
{{clr}}<br />
====Position of the hotend====<br />
What is also very important is the position of the hotend to minimize the effect of effector tilt. <br />
Experience show that a nozzle near the effector plane seems the best solution. However, care shall be taken to limit the raise of the center of gravity, to avoid creating dynamic moments.<br />
<br />
====Quantifying the effects of the geometrical stability: TES coefficient ====<br />
Understanding that there are other causes that the effector stability to nozzle movement imprecision, it is however interesting to quantify the displacement due to geometrical instability.<br />
<br />
A coefficient could be defined, that we may called TES, for tilt effector stability, which will not quantify the effector instability, but its effect on the hotend, by combining the moment effect and the displacement related to the distance between the virtual articulation and the nozzle location.<br />
<br />
a being the lever due to arm space (see drawing)<br />
b being the space between balls (articulations)<br />
<br />
*Tilt geometric load moment is related to a/b, a being proportional to arm space<br />
*Tilt stiffness is proportional to arm space<br />
<br />
TES = (Arm space)²/b, <br />
Dimension units shall be mm.<br />
<br />
It is important to note that the TES does not depend from arm length, only effector geometry. Indeed, the arm stiffness in their axis is huge compared to other elements, notably articulation stiffness, so the arm length have nearly no effect on tilting stability. This is why you could install the small Kossel mini effectors on large printers without problems. <br />
It shall be noted that for merged articulations, this coefficient will be infinite.<br />
<br />
This coefficient is calculated in the [[Delta_geometry#Simulation_on_software | OpenScad delta simulator]]. <br />
<br />
====Implementation====<br />
The practical improvements added by a good geometry is closely related to the quality of the mechanical implementation. By example, if you widen the arm space to improve stability, but the side extensions on the carriage to reach the new width add excessive flexibility, you may have at the end reduced the real stability. It shall be noted that wider arm space does not raise or decrease the moment and only help to fight play in articulation. If your problem is the rotation of the carriage, that is the carriage which shall be reinforced, no geometry can help.<br />
<br />
== Interactive web simulation ==<br />
=== Linear deltas ===<br />
[[File:dSim_Graphic_simulator.png|thumb|x180px|right]]<br />
*[https://tube.geogebra.org/m/1352047 GeoGebra dSim graphic simulator] for linear delta, use sliders to adjust parameters. Can be viewed in 3D with red/blue glasses.<br />
{{clr}} <br />
[[File:Deltabot_calculator.png|thumb|x180px|right]]<br />
*[http://www.thinkyhead.com/_delta/ Thinkyhead Deltabot calculator] for linear delta, enter numbers for simulation.<br />
{{clr}}<br />
<br />
=== Rotational deltas ===<br />
*[http://arvc.umh.es/parola/delta.html Parola] Java based simulator, rotational delta with many options<br />
*http://arvc.umh.es/label/delta.html <br />
<br />
<br />
== Simulation on software ==<br />
[[File:OpenScad_delta_simulator.png|thumb|x180px|right]]<br />
*[https://github.com/PRouzeau/OpenSCAD-Delta-Simulator OpenScad delta simulator] for linear delta with active simulation, with common printers datasets predefined. Change variables values for simulation. You can see [https://github.com/PRouzeau/OpenSCAD-Delta-Simulator/blob/master/Delta_simulator.avi?raw=true a film here] or [https://github.com/PRouzeau/OpenSCAD-Delta-Simulator/blob/master/FisherDelta/film_FisherDelta.avi?raw=true here (Fisher Delta)]<br />
{{clr}} <br />
==Delta calculators==<br />
=== Linear deltas ===<br />
*http://www.heliumfrog.com/deltarobot/details/details.html Excel sheet calculator for linear delta<br />
*https://github.com/Jaydmdigital/mk_visual_calc OpenScad calculator with visualization dedicated to Kossel<br />
=== Rotational deltas ===<br />
*[https://www.marginallyclever.com/other/samples/fk-ik-test.html marginally clever] Online calculator<br />
*[http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ Trossen robotics forum]<br />
<br />
== Math and research papers ==<br />
*[[File:Rostock_Delta_Kinematics_3.pdf]] Comprehensive paper of Steve Graves about linear delta kinematics<br />
*https://groups.google.com/forum/#!topic/deltabot/V6ATBdT43eU Deltabot forum thread on Steve Graves paper with other useful resources<br />
*http://robinsonia.com/wp/?p=161 math explanations for linear delta<br />
*http://scholar.rose-hulman.edu/cgi/viewcontent.cgi?article=1000&context=mechanical_engineering_grad_theses Linear delta research paper, but with the sliders parallel to the effector plan.<br />
<br />
Rotational delta are a quite common research topic, notably for university students. <br />
*http://www.ohio.edu/people/williar4/html/pdf/DeltaKin.pdf Rotational delta kinematics.<br />
<br />
== Calculation links ==<br />
*https://hackaday.io/project/963-firepick-delta-the-open-source-microfactory/log/3588-6152014-delta-mechanism-simulation-and-accuracy-determination (Rotational delta)<br />
<br />
== Simulation without source/access ==<br />
Some people have done Delta simulation on CAD/Math software, but not publicly release them. <br />
*https://www.youtube.com/watch?v=8_6QfZ6DJfU film of a Simulation with Matlab<br />
*https://www.youtube.com/watch?v=K2zxvHq3iC8 film<br />
*https://www.youtube.com/watch?v=OwI6hYHWbjw A python simulator, undisclosed program.<br />
<br />
== Calibration ==<br />
*http://forums.reprap.org/read.php?178,639039 Arm length calculation from printing part<br />
*http://escher3d.com/pages/wizards/wizarddelta.php web calculator for calibration parameters<br />
*http://forum.seemecnc.com/viewtopic.php?f=36&t=8698 calculator for calibration parameters<br />
*https://github.com/hercek/Marlin/blob/Marlin_v1/calibration.wxm Calibration calculator running with WxMaxima<br />
*http://forum.seemecnc.com/viewtopic.php?f=82&t=7640 forum thread about [https://github.com/626Pilot/Smoothieware/blob/edge/src/modules/tools/zprobe/ComprehensiveDeltaStrategy.cpp Heuristic calibration algorithm]<br />
<br />
[[Category:Delta Technology]]<br />
[[Category:Reference]]<br />
<br />
{{dl}}</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta_geometry&diff=176415Delta geometry2016-08-26T14:07:55Z<p>Funny bananas: Fixed grammar, added a sentence.</p>
<hr />
<div>== Introduction ==<br />
A 'delta' robot or printer is a robot where a platform is maintained by three pair of arms set in a triangle. The pairs of parallel arms maintain the horizontality of the platform and the movement of these arms displace the platform in the three dimensions. Many solutions exists, but a few are used practically.<br />
<br />
There are two principles to displace the arms pairs:<br />
*Each arm pair is installed on a main articulated arm, the movement being generated be the rotation of this main arm. The geometry is the rotational delta or 'Clavel delta' from the name of its inventor. The principle is widely used on 'pick and place' machine in a wide range of industries, from electronic to food. This system can be found in the [[Delta by Energetic]] or on the [[FirePick Delta]] printers.<br />
<br />
*Arm pairs are attached to carriage sliding along parallel rails. This geometry is called [[Linear_Delta_Printer_Kinematics|linear delta]] and is the most frequent type used in 3D printer world, the machines originating the movement being the [[Rostock]] and the [[Kossel]]. The term 'parallel delta' shall not be used as all robots with parallel arms are called [[Wikipedia:parallel robots | parallel robots]]. <br />
<br />
There is another solution without rigid mechanics which is to suspend the platform to wires. There are a few examples and notably the [[Skydelta]] or this [https://sites.google.com/site/3dprinterlist/delta-3d-printers/wire-suspended-deltas/wiresuspended-delta suspended delta]<br />
<br />
The linear delta kinematic calculation is simple because the carriage follow a straight line, so the horizontal movement of the platform is linked to the vertical movement of the carriage by Pythagorean theorem (which states that the diagonal length squared, is equal to the sum of the triangles sides squared, the triangle must be a right angle triangle). Here the diagonal is the arm length, constant, the vertical branch is the relative vertical position of the platform and carriage, the horizontal branch is the relative horizontal position of the platform and carriage. <br />
The math is not difficult, but for a printer a lot of square roots must be done on control boards based on 8 bit processors, which are struggling doing these calculations, so a lot of fine software optimization were done for the delta geometry for these processors. 32 bit controllers are becoming the controller boards of choice more commonly for delta printers.<br />
<br />
It shall be noted that the sliders columns can be on a non-equilateral triangle and asymmetric dispositions were tested, notably the 'Square' delta with angles of 90°,90° and 180°.<br />
<br />
== Geometry of a linear delta ==<br />
=== Schematics ===<br />
[[File:Delta_geometry1.png|280px|left]] <br />
The arm angle with effector at center is the result of the arms length, minimum angle and angles of the arms while at maximum diameter.<br />
For minimum angle of 20°, this angle is around 60° for maximum diameter arm verticals, but if the minimum angle is increased, it may be higher. Minimum angles of 22° will gives an angle of 63° with vertical arms. <br />
<br />
Arms may not be able to reach the vertical due to clearance problem, notably with the part cooling fans or effector accessories. In that case, for a given minimum angle, arm length may be reduced and the angle while effector is at center will be lower. <br />
<br />
On the other way, some printers have arms capable to go over vertical (e.g. Rostock Max). <br />
{{clr}} <br />
[[File:Delta_geometry2.png|280px|right]] <br />
The minimum arm angle, while effector is at maximum diameter, is one of the basic design parameters.<br />
It is important for effector stability, precision and carriage speed.<br />
A low angle induce high carriage speed for a given effector horizontal speed.<br />
Low angle also decrease effector stability.<br />
Generally, 20° angle is considered as a practical minimum and induce a carriage speed 2.75 times higher than effector horizontal speed.<br />
Some printers with theoretical minimum angle of 15° may experience lost steps at their maximum diameter. <br />
[[File:SpeedUpChart.png|thumb|250px|left|Speed up coefficient for given arm angle]] <br />
{| border=1<br />
| mini angle<br />
| speed multiplier<br />
|-<br />
| 22.5°<br />
| 2.41<br />
|-<br />
| 20°<br />
| 2.75<br />
|-<br />
| 17.5°<br />
| 3.17<br />
|-<br />
| 15°<br />
| 3.73<br />
|-<br />
| 12.5°<br />
| 4.51<br />
|}<br />
<br />
{{clr}}<br />
[[File:Delta_geometry3.png|320px|left]] Arm space does not influence movement calculation, but have an importance for the effector stability. Best stability is obtained for the minimum offset, with the maximum possible arm space for this offset (minimising b dimension).<br />
{{clr}}<br />
<br />
=== Reachable area ===<br />
[[File:Delta_reachable_area.png|464px|right]]<br />
For a given minimum angle, the reachable area is a triangle with bulged sides, with the ends of the triangle oriented toward the columns, which cannot be accessed without impacting the column. Then, for simplicity, the reachable area is generally considered circular. <br />
It might be interesting to evaluate the real reachable area when one want to inscribe a rectangle or square in the printing area.<br />
The accessories (belts and fans) are critical for the real usable area. <br />
<br />
Schematic<br />
*Green : the area which may be reachable without obstacle<br />
*Orange : the practical area taking into account the clearance required between effector and columns.<br />
{{clr}}<br />
<br />
===Delta columns and axis names===<br />
[[File:Delta conventions.jpg |left|512px]] <br />
View from top<br />
{{clr}}<br />
<br />
=== Effector stability === <br />
[[File:Effector_geometry.png|280px|right]] <br />
==== What is effector stability ? ====<br />
This is the fact that an effector resist to tilting moments. <br />
The tilt may displace the hotend nozzle and creates imprecision. It also have an effect on level measurement sensor while the sensors are offset from the hotend.<br />
Two things have important effect on an effector stability:<br />
* The geometry, as different geometries may induce higher or lower loads on arms and articulation, so higher or lower deformation. A geometry reducing the load will increase precision.<br />
* The moment resistance induced by arm articulation, say a cardan will resist to torsion induced by the effector, while ball articulation will not.<br />
<br />
The moment which will induce tilt will be created by :<br />
*Inertia<br />
*Load on the nozzle <br />
*Friction in articulation, which may be significant for some types of articulations. <br />
<br />
====How to improve geometry====<br />
*A small offset will reduce the load on arms/articulation for a moment and shall be researched.<br />
*For a given offset, the distance between the centers of articulation (noted 'b' on drawing) will modify the moment created by side loads. The lower this space, the better the stability. When these articulation are merged, the geometric stability is very important, as there is no possible level difference in the merged articulations, hence, no possibility to have an 'articulated' tilt. This solution is used by example on the [http://www.spiderbot.eu/en/ Spiderbot delta]. <br />
<br />
{{clr}}<br />
====Position of the hotend====<br />
What is also very important is the position of the hotend to minimize the effect of effector tilt. <br />
Experience show that a nozzle near the effector plane seems the best solution. However, care shall be taken to limit the raise of the center of gravity, to avoid creating dynamic moments.<br />
<br />
====Quantifying the effects of the geometrical stability: TES coefficient ====<br />
Understanding that there are other causes that the effector stability to nozzle movement imprecision, it is however interesting to quantify the displacement due to geometrical instability.<br />
<br />
A coefficient could be defined, that we may called TES, for tilt effector stability, which will not quantify the effector instability, but its effect on the hotend, by combining the moment effect and the displacement related to the distance between the virtual articulation and the nozzle location.<br />
<br />
a being the lever due to arm space (see drawing)<br />
b being the space between balls (articulations)<br />
<br />
*Tilt geometric load moment is related to a/b, a being proportional to arm space<br />
*Tilt stiffness is proportional to arm space<br />
<br />
TES = (Arm space)²/b, <br />
Dimension units shall be mm.<br />
<br />
It is important to note that the TES does not depend from arm length, only effector geometry. Indeed, the arm stiffness in their axis is huge compared to other elements, notably articulation stiffness, so the arm length have nearly no effect on tilting stability. This is why you could install the small Kossel mini effectors on large printers without problems. <br />
It shall be noted that for merged articulations, this coefficient will be infinite.<br />
<br />
This coefficient is calculated in the [[Delta_geometry#Simulation_on_software | OpenScad delta simulator]]. <br />
<br />
====Implementation====<br />
The practical improvements added by a good geometry is closely related to the quality of the mechanical implementation. By example, if you widen the arm space to improve stability, but the side extensions on the carriage to reach the new width add excessive flexibility, you may have at the end reduced the real stability. It shall be noted that wider arm space does not raise or decrease the moment and only help to fight play in articulation. If your problem is the rotation of the carriage, that is the carriage which shall be reinforced, no geometry can help.<br />
<br />
== Interactive web simulation ==<br />
=== Linear deltas ===<br />
[[File:dSim_Graphic_simulator.png|thumb|x180px|right]]<br />
*[https://tube.geogebra.org/m/1352047 GeoGebra dSim graphic simulator] for linear delta, use sliders to adjust parameters. Can be viewed in 3D with red/blue glasses.<br />
{{clr}} <br />
[[File:Deltabot_calculator.png|thumb|x180px|right]]<br />
*[http://www.thinkyhead.com/_delta/ Thinkyhead Deltabot calculator] for linear delta, enter numbers for simulation.<br />
{{clr}}<br />
<br />
=== Rotational deltas ===<br />
*[http://arvc.umh.es/parola/delta.html Parola] Java based simulator, rotational delta with many options<br />
*http://arvc.umh.es/label/delta.html <br />
<br />
<br />
== Simulation on software ==<br />
[[File:OpenScad_delta_simulator.png|thumb|x180px|right]]<br />
*[https://github.com/PRouzeau/OpenSCAD-Delta-Simulator OpenScad delta simulator] for linear delta with active simulation, with common printers datasets predefined. Change variables values for simulation. You can see [https://github.com/PRouzeau/OpenSCAD-Delta-Simulator/blob/master/Delta_simulator.avi?raw=true a film here] or [https://github.com/PRouzeau/OpenSCAD-Delta-Simulator/blob/master/FisherDelta/film_FisherDelta.avi?raw=true here (Fisher Delta)]<br />
{{clr}} <br />
==Delta calculators==<br />
=== Linear deltas ===<br />
*http://www.heliumfrog.com/deltarobot/details/details.html Excel sheet calculator for linear delta<br />
*https://github.com/Jaydmdigital/mk_visual_calc OpenScad calculator with visualization dedicated to Kossel<br />
=== Rotational deltas ===<br />
*[https://www.marginallyclever.com/other/samples/fk-ik-test.html marginally clever] Online calculator<br />
*[http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ Trossen robotics forum]<br />
<br />
== Math and research papers ==<br />
*[[File:Rostock_Delta_Kinematics_3.pdf]] Comprehensive paper of Steve Graves about linear delta kinematics<br />
*https://groups.google.com/forum/#!topic/deltabot/V6ATBdT43eU Deltabot forum thread on Steve Graves paper with other useful resources<br />
*http://robinsonia.com/wp/?p=161 math explanations for linear delta<br />
*http://scholar.rose-hulman.edu/cgi/viewcontent.cgi?article=1000&context=mechanical_engineering_grad_theses Linear delta research paper, but with the sliders parallel to the effector plan.<br />
<br />
Rotational delta are a quite common research topic, notably for university students. <br />
*http://www.ohio.edu/people/williar4/html/pdf/DeltaKin.pdf Rotational delta kinematics.<br />
<br />
== Calculation links ==<br />
*https://hackaday.io/project/963-firepick-delta-the-open-source-microfactory/log/3588-6152014-delta-mechanism-simulation-and-accuracy-determination (Rotational delta)<br />
<br />
== Simulation without source/access ==<br />
Some people have done Delta simulation on CAD/Math software, but not publicly release them. <br />
*https://www.youtube.com/watch?v=8_6QfZ6DJfU film of a Simulation with Matlab<br />
*https://www.youtube.com/watch?v=K2zxvHq3iC8 film<br />
*https://www.youtube.com/watch?v=OwI6hYHWbjw A python simulator, undisclosed program.<br />
<br />
== Calibration ==<br />
*http://forums.reprap.org/read.php?178,639039 Arm length calculation from printing part<br />
*http://escher3d.com/pages/wizards/wizarddelta.php web calculator for calibration parameters<br />
*http://forum.seemecnc.com/viewtopic.php?f=36&t=8698 calculator for calibration parameters<br />
*https://github.com/hercek/Marlin/blob/Marlin_v1/calibration.wxm Calibration calculator running with WxMaxima<br />
*http://forum.seemecnc.com/viewtopic.php?f=82&t=7640 forum thread about [https://github.com/626Pilot/Smoothieware/blob/edge/src/modules/tools/zprobe/ComprehensiveDeltaStrategy.cpp Heuristic calibration algorithm]<br />
<br />
[[Category:Delta Technology]]<br />
[[Category:Reference]]<br />
<br />
{{dl}}</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=G-code&diff=156215G-code2015-10-27T11:29:51Z<p>Funny bananas: edited M420 to also included enable/disable mesh bed leveling. Added M421: set a mesh bed level z coordinate</p>
<hr />
<div>{{Languages}}<br />
<br />
This page tries to describe the flavour of '''G-codes''' that the RepRap firmwares use and how they work. The main target is additive fabrication using [[FFF]] processes. Codes for print head movements follow the [http://www.nist.gov/manuscript-publication-search.cfm?pub_id=823374 NIST RS274NGC G-code standard], so RepRap firmwares are quite usable for CNC milling and similar applications, too. See also on [https://en.wikipedia.org/wiki/G-code Wikipedia's G-code article].<br />
<br />
There are a few different ways to prepare GCode for a printer. One is to use a slicer like [[Slic3r]], [[Skeinforge]] or [[Cura]]. These programs take a CAD model, slice it into layers, and output the GCode required for each layer. Slicers are the easiest way to go from a 3D model to a printed part, but the user sacrifices some flexibility when using them. Another option for GCode generation is to use a lower level library like [[mecode]]. Libraries like mecode give you precise control over the tool path, and thus are useful if you have a complex print that is not suitable for naive slicing. The final option is to just write the GCode yourself. This may be the best choice if you just need to run a few test lines while calibrating your printer.<br />
<br />
As many different firmwares exist and their developers tend to implement new features without discussing strategies or looking what others did before them, a lot of different sub-flavours for the 3D-Printer specific codes developed over the years. But this is the master page for RepRap. Nowhere in here should the same code be used for two different things; there are always more numbers to use... The rule is: add your new code here, then implement it.<br />
<br />
But human nature being what it is, things aren't always done that way, so some multiple uses of the same code exist. The rule is that later appearances by them on this page than the original use of a code are deprecated and should be changed, unless there is a good technical reason (like the general G-Code standard) why a later instance should be prefered. Note that the key date is appearance here, not date of implementation.<br />
<br />
== Introduction ==<br />
<br />
A typical piece of Gcode as sent to a RepRap machine might look like this:<br />
<br />
N3 T0*57<br />
N4 G92 E0*67<br />
N5 G28*22<br />
N6 G1 F1500.0*82<br />
N7 G1 X2.0 Y2.0 F3000.0*85<br />
N8 G1 X3.0 Y3.0*33<br />
<br />
Gcode can also be stored in files on SD cards. A file containing RepRap Gcode usually has the extension '''.g''', '''.gco''' or '''.gcode'''. <br />
Files for BFB/RapMan have the extension '''.bfb'''.<br />
Gcode stored in file or produced by a slicer might look like this:<br />
<br />
G92 E0<br />
G28<br />
G1 F1500<br />
G1 X2.0 Y2.0 F3000<br />
G1 X3.0 Y3.0<br />
<br />
The meaning of all those symbols and numbers (and more) is explained below.<br />
<br />
Slicers will (optionally?) add GCode scripts to the beginning and end of their output file to perform specified actions before and/or after a print such as z-probing the build-area, heating/cooling the bed and hotend, performing ooze free "nozzle wipe" startup routine, switching system power on/off, and even "ejecting" parts. More info on the [[Start GCode routines]] and [[End GCode routines]] pages.<br />
<br />
To find out which specific Gcode(s) are implemented in any given firmware, there are little tables attached to the command descriptions, like this one:<br />
<br />
{{firmware Support | fived={{yes}} | teacup=automatic | sprinter={{no}} | marlin={{partial}} | repetier={{experimental}} | smoothie=depreciated }}<br />
<br />
Here means:<br />
; {{m|yes}}<br />
: The Gcode is fully supported by the firmware.<br />
; {{m|partial}} or {{m|experimental}}<br />
: There is some support for the Gcode. Often it is required to check out the source code branch for the firmware (usually stored in a different branch) or to flip configuration switches on the mainboard.<br />
; automatic<br />
: The firmware handles this Gcode automatically, so there's no need to send the command. An example is power supply on/off Gcode (M80/M81) in the Teacup firmware.<br />
; ???<br />
: It is unknown if the firmware supports this Gcode. You may want to test this yourself before using it in production.<br />
; {{m|no}}<br />
: The firmware does not support this Gcode.<br />
; depreciated<br />
: The firmware depreciated this Gcode. The firmware author(s) should amend the depreciated Gcode on this page with workarounds (if needed) and the last supported firmware version that will accept this Gcode.<br />
<br />
For the technically minded, Gcode line endings are Unix Line Endings ('''\n'''), but will accept Windows Line Endings ('''\r\n'''), so you should not need to worry about converting between the two, but it is best practice to use Unix Line Endings where possible.<br />
<br />
== Fields ==<br />
<br />
A RepRap Gcode is a list of fields that are separated by white spaces or line breaks. A field can be interpreted as a command, parameter, or for any other special purpose. It consists of one letter directly followed by a number, or can be only a stand-alone letter (Flag). The letter gives information about the meaning of the field (see the list below in this section). Numbers can be ''integers'' (128) or ''fractional'' numbers (12.42), depending on context. For example, an X coordinate can take integers ('''X175''') or fractionals ('''X17.62'''), but selecting extruder number 2.76 would make no sense. In this description, the numbers in the fields are represented by '''nnn''' as a placeholder. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Letter<br />
! Meaning<br />
|-<br />
| Gnnn<br />
| Standard GCode command, such as move to a point<br />
|-<br />
| Mnnn<br />
| RepRap-defined command, such as turn on a cooling fan<br />
|-<br />
| Tnnn<br />
| Select tool nnn. In RepRap, tools are extruders<br />
|-<br />
| Snnn<br />
| Command parameter, such as time in seconds; temperatures; voltage to send to a motor<br />
|-<br />
| Pnnn<br />
| Command parameter, such as time in milliseconds; proportional (Kp) in PID Tuning<br />
|-<br />
| Xnnn<br />
| A X coordinate, usually to move to. This can be an Integer or Fractional number.<br />
|-<br />
| Ynnn<br />
| A Y coordinate, usually to move to. This can be an Integer or Fractional number.<br />
|-<br />
| Znnn<br />
| A Z coordinate, usually to move to. This can be an Integer or Fractional number.<br />
|-<br />
| Innn<br />
| Parameter - X-offset in arc move; integral (Ki) in PID Tuning<br />
|-<br />
| Jnnn<br />
| Parameter - Y-offset in arc move<br />
|-<br />
| Dnnn<br />
| Parameter - used for diameter; derivative (Kd) in PID Tuning<br />
|-<br />
| Hnnn<br />
| Parameter - used for heater number in PID Tuning<br />
|-<br />
| Fnnn<br />
| Feedrate in mm per minute. (Speed of print head movement)<br />
|-<br />
| Rnnn<br />
| Parameter - used for temperatures<br />
|-<br />
| Qnnn<br />
| Parameter - not currently used<br />
|-<br />
| Ennn<br />
| Length of extrudate. This is exactly like X, Y and Z, but for the length of filament to extrude. <s>It is common for newer stepper based systems to interpret ...</s> Better: Skeinforge 40 and up interprets this as the absolute length of input filament to consume, rather than the length of the extruded output.<br />
|-<br />
| Nnnn<br />
| Line number. Used to request repeat transmission in the case of communications errors.<br />
|-<br />
| *nnn<br />
| Checksum. Used to check for communications errors.<br />
|-<br />
|}<br />
<br />
== Comments ==<br />
<br />
Gcode comments begin at a semicolon, and end at the end of the line:<br />
<br />
<pre><br />
N3 T0*57 ; This is a comment<br />
N4 G92 E0*67<br />
; So is this<br />
N5 G28*22<br />
</pre><br />
<br />
Comments and white space will be ignored by your RepRap Printer. It's better to strip these out on the host computer before sending the Gcode to your printer, as this saves bandwidth.<br />
<br />
== Special fields ==<br />
<br />
==== N: Line number ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | machinekit={{yes}}| grbl=? }}<br />
<br />
Example: N123<br />
<br />
If present, the line number should be the first field in a line. For G-code stored in files on SD cards the line number is usually omitted.<br />
<br />
If checking is supported, the RepRap firmware expects line numbers to increase by 1 each line, and if that doesn't happen it is flagged as an error. But you can reset the count using M110 (see below).<br />
<br />
Although supported, usage of N in Machinekit is discouraged as it serves no purpose.<br />
<br />
==== *: Checksum ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | grbl=?}}<br />
<br />
Example: *71<br />
<br />
If present, the checksum should be the last field in a line, but before a comment. For G-code stored in files on SD cards the checksum is usually omitted.<br />
<br />
If checking is supported, the RepRap firmware checks the checksum against a locally-computed value and, if they differ, requests a repeat transmission of the line of the given number.<br />
<br />
== Checking ==<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | grbl=? }}<br />
<br />
Example: N123 [...G Code in here...] *71<br />
<br />
The RepRap firmware checks the line number and the checksum.<br />
You can leave both of these out - RepRap will still work, but it won't do checking. You have to have both or neither though.<br />
If only one appears, it produces an error.<br />
<br />
The checksum "cs" for a GCode string "cmd" (including its line number) is computed by exor-ing the bytes in the string up to and not including the * character as follows:<br />
<br />
<pre><br />
int cs = 0;<br />
for(i = 0; cmd[i] != '*' && cmd[i] != NULL; i++)<br />
cs = cs ^ cmd[i];<br />
cs &= 0xff; // Defensive programming...<br />
</pre><br />
<br />
and the value is appended as a decimal integer to the command after the * character.<br />
<br />
== Buffering ==<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | grbl={{yes}} }}<br />
<br />
If buffering is supported, the RepRap firmware stores some commands in a ring buffer internally for execution. This means that there is no (appreciable) delay while a command is acknowledged and the next transmitted. In turn, this means that sequences of line segments can be plotted without a dwell between one and the next. As soon as one of these buffered commands is received it is acknowledged and stored locally. If the local buffer is full, then the acknowledgment is delayed until space for storage in the buffer is available. This is how flow control is achieved.<br />
<br />
Typically, the following moving commands are buffered: G0-G3 and G28-G32. The [[Teacup Firmware]] buffers also some setting commands: G20, G21, G90 and G91. All other G, M or T commands are not buffered. <br />
<br />
When an unbuffered command is received it is stored, but it is not acknowledged to the host until the buffer is exhausted and then the command has been executed. Thus the host will pause at one of these commands until it has been done. Short pauses between these commands and any that might follow them do not affect the performance of the machine.<br />
<br />
== G-commands ==<br />
<br />
==== G0 & G1: Move ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | makerbot={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
* G0 : Rapid linear Move<br />
* G1 : Linear Move<br />
<br />
; Usage<br />
: G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn<br />
: G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn<br />
; Parameters<br />
: ''Not all parameters need to be used, but at least '''one''' has to be used''<br />
: '''Xnnn''' The position to move to on the X axis<br />
: '''Ynnn''' The position to move to on the Y axis<br />
: '''Znnn''' The position to move to on the Z axis<br />
: '''Ennn''' The amount to extrude between the starting point and ending point<br />
: '''Fnnn''' The feedrate per minute of the move between the starting point and ending point (if supplied)<br />
: '''Snnn''' Flag to check if an endstop was hit ''('''S1''' to check, '''S0''' to ignore, '''S2''' see note, default is '''S0''')''<sup>1</sup><br />
; Examples<br />
: G0 X12 ''(move to 12mm on the X axis)''<br />
: G0 F1500 ''(Set the feedrate to 1500mm/minute)''<br />
: G1 X90.6 Y13.8 E22.4 ''(Move to 90.6mm on the X axis and 13.8mm on the Y axis while extruding 22.4mm of material)''<br />
<br />
The RepRap firmware spec treats G0 and G1 as the same command, since it's just as efficient as not doing so.<sup>2</sup><br />
<br />
Most RepRap firmwares do subtle things with feedrates.<br />
<br />
<pre><br />
1. G1 F1500<br />
2. G1 X50 Y25.3 E22.4<br />
</pre><br />
<br />
In the above example, we set the feedrate to 1500mm/minute on line 1, then move to 50mm on the X axis and 25.3mm on the Y axis while extruding 22.4mm of filament between the two points.<br />
<br />
<pre><br />
1. G1 F1500<br />
2. G1 X50 Y25.3 E22.4 F3000<br />
</pre><br />
<br />
However, in the above example, we set a feedrate of 1500 mm/minute on line 1, then do the move described above accelerating to a feedrate of 3000 mm/minute as it does so. The extrusion will accelerate along with the X and Y movement, so everything stays synchronized.<br />
<br />
The RepRap spec treats the feedrate as simply another variable (like X, Y, Z, and E) to be linearly interpolated. This gives complete control over the acceleration and deceleration of the printer head in such a way that ensures that everything moves smoothly together, and the right volume of material is extruded at all points.<sup>3</sup><br />
<br />
To reverse the extruder by a given amount (for example to reduce its internal pressure while it does an in-air movement so that it doesn't dribble) simply use G0 or G1 to send an E value that is less than the currently extruded length.<br />
<br />
=====Notes=====<br />
<sup>1</sup>Some firmwares allow for the RepRap to enable or disable the "sensing" of endstops during a move. Please check with whatever firmware you are using to see if they support the S parameter in this way, as damage may occur if you assume incorrectly. In the dc42 fork of RepRapFirmware, using the S1 or S2 parameter on a delta printer causes the XYZ parameters to refer to the individual tower motor positions instead of the head position, and to enable endstop detection as well if the parameter is S1.<br />
<br />
<sup>2</sup>In the RS274NGC Spec, G0 is ''Rapid Move'', which was used to move between the current point in space and the new point as quickly and efficiently as possible, and G1 is ''Controlled Move'', which was used to move between the current point in space and the new point as precise as possible.<br />
<br />
<sup>3</sup>Some firmwares may not support setting the feedrate inline with a move.<br />
<br />
<sup>4</sup>zpl and dc42 forks of RepRapFirmware implement an additional 'R1' parameter to tell the machine to go back to the coordinates a print was originally paused at.<br />
<br />
Some older machines, CNC or otherwise, used to move faster if they did not move in a straight line. This is also true for some non-Cartesian printers, like delta or polar printers, which move easier and faster in a curve.<br />
<br />
==== G2 & G3: Controlled Arc Move ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}}<sup>1</sup> | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{yes}} | grbl={{yes}} }}<br />
<br />
; Usage<br />
: G2 Xnnn Ynnn Innn Jnnn Ennn Fnnn ''(Clockwise Arc)''<br />
: G3 Xnnn Ynnn Innn Jnnn Ennn Fnnn ''(Counter-Clockwise Arc)''<br />
; Parameters<br />
: '''Xnnn''' The position to move to on the X axis<br />
: '''Ynnn''' The position to move to on the Y axis<br />
: '''Innn''' The point in X space from the current X position to maintain a constant distance from<br />
: '''Jnnn''' The point in Y space from the current Y position to maintain a constant distance from<br />
: '''Ennn''' The amount to extrude between the starting point and ending point<br />
: '''Fnnn''' The feedrate per minute of the move between the starting point and ending point (if supplied)<br />
; Examples<br />
: G2 X90.6 Y13.8 I5 J10 E22.4 ''(Move in a Clockwise arc from the current point to point (X=90.6,Y=13.8), with a center point at (X=current_X+5, Y=current_Y+10), extruding 22.4mm of material between starting and stopping)''<br />
: G3 X90.6 Y13.8 I5 J10 E22.4 ''(Move in a Counter-Clockwise arc from the current point to point (X=90.6,Y=13.8), with a center point at (X=current_X+5, Y=current_Y+10), extruding 22.4mm of material between starting and stopping)''<br />
<br />
===== Notes =====<br />
<sup>1</sup>In Marlin Firmware not implemented for '''DELTA''' and '''SCARA''' printers.<br />
<br />
==== G4: Dwell ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | makerbot={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' Time to wait, in milliseconds<br />
: '''Snnn''' Time to wait, in seconds (Only on Marlin and Smoothie)<br />
; Example<br />
: G4 P200<br />
<br />
In this case sit still doing nothing for 200 milliseconds. During delays the state of the machine (for example the temperatures of its extruders) will still be preserved and controlled.<br />
<br />
On Marlin and Smoothie, the "S" parameter will wait for seconds, while the "P" parameter will wait for milliseconds. "G4 S2" and "G4 P2000" are equivalent.<br />
<br />
==== G10: Tool Offset ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: G10 P3 X17.8 Y-19.3 Z0.0 R140 S205<br />
<br />
This sets the offset for tool (or in older implementations extrude head) 3 (from the P3) to the X and Y values specified. You can put a non-zero Z value in as well, but this is usually a bad idea unless the tools are loaded and unloaded by some sort of tool changer. When all the tools are in the machine at once they should all be set to the same Z height.<br />
<br />
Remember that any parameter that you don't specify will automatically be set to the last value for that parameter. That usually means that you want explicitly to set Z0.0. <br />
<br />
The R value is the standby temperature in <sup>o</sup>C that will be used for the tool, and the S value is its operating temperature. If you don't want the tool to be at a different temperature when not in use, set both values the same. See the T code (select tool) below. In tools with multiple heaters the temperatures for them all are specified thus: R100.0:90.0:20.0 S185.0:200.0:150.0 .<br />
<br />
The [http://www.nist.gov/customcf/get_pdf.cfm?pub_id=823374 NIST G-code standard] mentions an additional L parameter, which is ignored.<br />
<br />
This command is [[Talk:G-code#M104 .26 M109 Deprecation, G10 Introduction | subject to discussion]].<br />
<br />
Note that Marlin and Smoothie use G10/G11 for executing a retraction/unretraction move. The RepRapPro version of Marlin supports G10 for tool offset.<br />
<br />
Duet-zpl allows tool heaters to be switched off if the absolute negative temperature (-273.15) is passed as active and standby temperature. In this case the current active and standby temperatures are not affected.<br />
<br />
<pre><br />
G10 P1 R-273.15 S-273.15<br />
</pre><br />
<br />
==== G10: Retract ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}}: 0.92 | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' retract length (S1 = long retract, S0 = short retract = default) (Repetier only)<br />
; Example<br />
: G10<br />
<br />
Retracts filament according to settings of M207 (Marlin) or accoridng to the S value (Repetier).<br />
<br />
==== G11: Unretract ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}}: 0.92 | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' retract length (S1 = long retract, S0 = short retract = default) (Repetier only)<br />
; Example<br />
: G11<br />
<br />
Unretracts/recovers filament according to settings of M208 (Marlin) or accoridng to the S value (Repetier).<br />
<br />
==== G17..19: Plane Selection (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} | machinekit={{yes}} }}<br />
These codes set the current plane as follows:<br />
* G17 : XY (default) <br />
* G18 : ZX<br />
* G19 : YZ<br />
<br />
==== G20: Set Units to Inches ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{no}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} | grbl={{yes}} }}<br />
<br />
Example: G20<br />
<br />
Units from now on are in inches.<br />
<br />
==== G21: Set Units to Millimeters ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{no}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
Example: G21<br />
<br />
Units from now on are in millimeters. (This is the RepRap default.)<br />
<br />
==== G22 & G23: Firmware controlled Retract/Precharge ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
; Usage<br />
: G22 ; Retract<br />
: G23 ; Unretract/Precharge<br />
<br />
Relying on machine's firmware to execute extrusion retract/precharge move, instead of having slicer generating to E axis G1 movement. The retract/precharge length, velocity is handled by the machine firmware.<br />
<br />
==== G28: Move to Origin (Home) ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | makerbot={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
; Parameters<br />
: ''This command can be used without any additional parameters.''<br />
: '''X''' Flag to go back to the X axis origin<br />
: '''Y''' Flag to go back to the Y axis origin<br />
: '''Z''' Flag to go back to the Z axis origin<br />
; Examples<br />
: G28 ''(Go to origin on all axes)''<br />
: G28 X Z ''(Go to origin only on the X and Z axis)''<br />
<br />
When the RepRap firmware receives this command, it moves all (or the supplied) axis's back to the zero endstops as quickly as it can, then backs off by a millimeter and slowly moves back to the zero endstop activation points to increase position accuracy. This process is also known as "''Homing''".<br />
<br />
If you add coordinates, these coordinates are ignored. For example, <code>G28&nbsp;Z0.00</code> results in the same behaviour as <code>G28&nbsp;Z</code>.<br />
<br />
When Duet-dc42 firmware is used to control a delta printer, any G28 command will home all three towers, regardless of any XYZ letters.<br />
<br />
==== G29: Detailed Z-Probe ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{no}}, see G32 | bfb={{no}} | machinekit={{yes}} | redeem={{yes}} }}<br />
<br />
Example: G29 <br />
<br />
Probes the bed at 3 or more points. The printer must be homed with G28 before G29.<br />
<br />
==== G29.1: Set Z probe head offset ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: G29.1 X30 Y20 Z0.5 <br />
<br />
Set the offset of the Z probe head. The offset will be subtracted from all probe moves.<br />
<br />
==== G29.2: Set Z probe head offset calculated from toolhead position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: G29.2 Z0.0 <br />
<br />
Set the offset of the Z probe head. The offset will be subtracted from all probe moves. The calculated value is derived from the distance of the toolhead from the current axis zero point.<br />
<br />
The user would typically place the toolhead at the zero point of the axis and issue the G29.2 command.<br />
<br />
==== G30: Single Z-Probe ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} | redeem={{yes}} }}<br />
<br />
In its simplest form probes bed at current XY location. <br />
<br />
Some implementations allow more general behaviour: if a Pn field is specified the probed X, Y, and Z values are saved as point n on the bed for calculating the offset plane. Generally n is 0, 1, or 2. If X, or Y, or Z values are specified (e.g. G30 P1 X20 Y50 Z0.3) then those values are used instead of the machine's current coordinates. A silly Z value (less than -9999.0) causes the machine to probe at the current point to get Z, rather than using the given value. If an S field is specified (e.g. G30 P1 Z0.3 S) the bed plane is computed for compensation and stored. The combination of these options allows for the machine to be moved to points using G1 commands, and then probe the bed, or for the user to position the nozzle interactively and use those coordinates. The user can also record those values and place them in a setup GCode file for automatic execution.<br />
<br />
The dc42 variant of RepRapFirmware uses the value of the S parameter to specify what computation to perform. If the value is -1 then the Z offsets of all the points probed are printed, but no calibration is done. If the value is zero or not present, then this specified that the number of factors to be calibrated is the same as the number of points probed. Otherwise, the value indicates the number of factors to be calibrated, which must be no greater than the number of points probed. Currently (as of version 1.04d), the number of factors may be 3, 4 or 5 when doing auto bed compensation on a Cartesian or CoreXY printer, and 3, 4, 6 or 7 when doing auto calibration of a Delta printer.<br />
<br />
RepRapFirmware-dc42 from version 1.09e also supports an optional H parameter. This is a height correction to be added to the trigger height set by the G31 Z parameter. It allows for the Z probe having a trigger height that varies with XY position.<br />
<br />
==== G31: Report Current Probe status ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
When used on its own this reports whether the Z probe is triggered, or gives the Z probe value in some units if the probe generates height values. If combined with a Z and P field (example: G31 P312 Z0.7) this will set the Z height to 0.7mm when the Z-probe value reaches 312 when a G28 Z0 (zero Z axis) command is sent. The machine will then move a further -0.7mm in Z to place itself at Z = 0. This allows non-contact measuring probes to approach but not touch the bed, and for the gap left to be allowed for. If the probe is a touch probe and generates a simple 0/1 off/on signal, then G31 Z0.7 will tell the RepRap machine that it is at a height of 0.7mm when the probe is triggered.<br />
<br />
In Duet-dc42 firmware, separate G31 parameters may be defined for probe types 0, 1/2, and 3 (probe types 1 and 2 share the same set of parameters). To specify which probe you are setting parameters for, send a M558 command to select the probe type before sending the G31 command.<br />
<br />
Duet-dc42 firmware supports additional parameters S (bed temperature in degC at which the specified Z parameter is correct, default is current bed temperature) and C (temperature coefficient of Z parameter in mm/degC, default zero). This is useful for ultrasonic and other probes that are affected by temperature.<br />
<br />
Duet-dc42 firmware versions 1.00b onwards also allow the X and Y offsets of the Z probe relative to the print head (i.e. the position when the empty tool is selected) to be specified, by adding parameters X and Y. This allows you to calculate your M557 probe coordinates based on the geometry of the bed, without having to correct them for Z probe X and Y offset. It also provides more accurate bed compensation.<br />
<br />
==== G32: Probe Z and calculate Z plane ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}}: See G29 | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Probes the bed at 3 or more pre-defined points (see [[G-code#M557:_Set_Z_probe_point|M557]]) and updates transformation matrix for bed leveling compensation. Later versions of RepRapFirmware execute macro file bed.g if present instead of using the [[G-code#M557:_Set_Z_probe_point|M557]] coordinates.<br />
<br />
==== G31: Dock Z Probe sled ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== G32: Undock Z Probe sled ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== G38.x Straight Probe (CNC specific) ====<br />
===== G38.2 probe toward workpiece, stop on contact, signal error if failure =====<br />
{{firmware Support | grbl={{yes}} }}<br />
===== G38.3 probe toward workpiece, stop on contact =====<br />
{{firmware Support | grbl={{yes}} }}<br />
===== G38.4 probe away from workpiece, stop on loss of contact, signal error if failure =====<br />
{{firmware Support | grbl={{yes}} }}<br />
===== G38.5 probe away from workpiece, stop on loss of contact =====<br />
{{firmware Support | grbl={{yes}} }}<br />
<br />
==== G40: Compensation Off (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} | machinekit={{yes}} }}<br />
<br />
G40 turn cutter compensation off. If tool compensation was on the next move must be a linear move and longer than the tool diameter. It is OK to turn compensation off when it is already off.<br />
<br />
==== G54..59: Coordinate System Select (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} | machinekit={{yes}} }}<br />
<br />
See [http://linuxcnc.org/docs/html/gcode/gcode.html#sec:G54-G59_3 linuxcnc.org] for more help<br />
<br />
==== G80: Cancel Canned Cycle (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} }}<br />
<br />
It cancel canned cycle modal motion. <br />
G80 is part of modal group 1, so programming any other G code from modal group 1 will also cancel the canned cycle.<br />
<br />
==== G90: Set to Absolute Positioning ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
Example: G90<br />
<br />
All coordinates from now on are absolute relative to the origin of the machine. (This is the RepRap default.)<br />
<br />
==== G91: Set to Relative Positioning ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
Example: G91<br />
<br />
All coordinates from now on are relative to the last position.<br />
<br />
===== G91.x: Reset Coordinate System Offsets (CNC specific) =====<br />
{{firmware Support | grbl={{yes}} }}<br />
<br />
* G91.1 - reset axis offsets to zero and set parameters 5211 - 5219 to zero. (X Y Z A B C U V W)<br />
* G91.2 - reset axis offsets to zero.<br />
<br />
==== G92: Set Position ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | makerbot={{yes}} | grbl={{yes}} | redeem={{yes}} }}<br />
<br />
; Parameters<br />
: ''This command can be used without any additional parameters.''<br />
: '''Xnnn''' new X axis position<br />
: '''Ynnn''' new Y axis position<br />
: '''Znnn''' new Z axis position<br />
: '''Ennn''' new extruder position<br />
; Example<br />
: G92 X10 E90<br />
<br />
Allows programming of absolute zero point, by reseting the current position to the values specified. This would set the machine's X coordinate to 10, and the extrude coordinate to 90. No physical motion will occur.<br />
<br />
A G92 without coordinates will reset all axes to zero.<br />
<br />
==== G93: Feed Rate Mode (Inverse Time Mode) (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} }}<br />
G93 is Inverse Time Mode. In inverse time feed rate mode, an F word means the move should be completed in (one divided by the F number) minutes. <br />
For example, if the F number is 2.0, the move should be completed in half a minute.<br />
<br />
When the inverse time feed rate mode is active, an F word must appear on every line which has a G1, G2, or G3 motion, and an F word on a line that does not have G1, G2, or G3 is ignored. Being in inverse time feed rate mode does not affect G0 (rapid move) motions.<br />
<br />
==== G94: Feed Rate Mode (Units per Minute) (CNC specific) ====<br />
{{firmware Support | grbl={{yes}} }}<br />
G94 is Units per Minute Mode. In units per minute feed mode, an F word is interpreted to mean the controlled point should move at a certain number of inches per minute, millimeters per minute, or degrees per minute, depending upon what length units are being used and which axis or axes are moving.<br />
<br />
==== G100: Calibrate floor or rod radius ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.92 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''X''' Flag to set floor for X axis<br />
: '''Y''' Flag to set floor for Y axis<br />
: '''Z''' Flag to set floor for Z axis<br />
: '''Rnnn''' Radius to add<br />
; Examles<br />
: G100 X Y Z ''(set floor for argument passed in. Number ignored and may be absent.)''<br />
: G100 R5 ''(Add 5 to radius. Adjust to be above floor if necessary)''<br />
: G100 R0 ''(Set radius based on current z measurement. Moves all axes to zero)''<br />
<br />
==== G130: Set digital potentiometer value ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: G130 X10 Y18 Z15 A20 B12<br />
<br />
Set the digital potentiometer value for the given axes. This is used to configure the current applied to each stepper axis. The value is specified as a value from 0-127; the mapping from current to potentimeter value is machine specific.<br />
<br />
==== G131: Remove offset ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.91 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== G132: Calibrate endstop offsets ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.91 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== G133: Measure steps to top ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.91 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== G161: Home axes to minimum ====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
; Parameters<br />
: '''X''' Flag to home the X axis to its minimum position<br />
: '''Y''' Flag to home the Y axis to its minimum position<br />
: '''Z''' Flag to home the Z axis to its minimum position<br />
: '''Fnnn''' Desired feedrate for this command<br />
; Example<br />
: G161 X Y Z F1800<br />
<br />
Instruct the machine to home the specified axes to their minimum position. Similar to G28, which decides on its own in which direction to search endstops.<br />
<br />
==== G162: Home axes to maximum ====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
; Parameters<br />
: '''X''' Flag to home the X axis to its maximum position<br />
: '''Y''' Flag to home the Y axis to its maximum position<br />
: '''Z''' Flag to home the Z axis to its maximum position<br />
: '''Fnnn''' Desired feedrate for this command<br />
; Example<br />
: G162 X Y Z F1800<br />
<br />
Instruct the machine to home the specified axes to their maximum position.<br />
<br />
== M-commands ==<br />
<br />
==== M0: Stop or Unconditional stop ====<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} | grbl={{yes}} }}<br />
<br />
; Parameters<br />
: ''This command can be used without any additional parameters.''<br />
: '''Pnnn''' Time to wait, in milliseconds<br />
: '''Snnn''' Time to wait, in seconds (Only on Marlin)<br />
; Example<br />
: M0<br />
<br />
The RepRap machine finishes any moves left in its buffer, then shuts down. All motors and heaters are turned off. It can be started again by pressing the reset button on the master microcontroller. See also M1, M112.<br />
<br />
The Marlin Firmware does wait for user to press a button on the LCD, or a specific time.<br />
"M0 P2000" waits 2000 milliseconds<br />
"M0 S2" waits 2 seconds<br />
<br />
==== M1: Sleep or Conditional stop ====<br />
{{firmware Support | fived={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
; Example<br />
: M1<br />
<br />
The RepRap machine finishes any moves left in its buffer, then shuts down. All motors and heaters are turned off. It can still be sent G and M codes, the first of which will wake it up again. See also M0, M112.<br />
<br />
The Marlin Firmware does the same as M0.<br />
<br />
==== M2: Program End ====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M2<br />
<br />
Teacup firmware does the same as M84.<br />
<br />
==== M3: Spindle On, Clockwise (CNC specific)====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M3 S4000<br />
<br />
The spindle is turned on with a speed of 4000 RPM.<br />
<br />
Teacup firmware turn extruder on (same as M101).<br />
<br />
==== M4: Spindle On, Counter-Clockwise (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M4 S4000<br />
<br />
The spindle is turned on with a speed of 4000 RPM.<br />
<br />
==== M5: Spindle Off (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M5<br />
<br />
The spindle is turned off.<br />
<br />
Teacup firmware turn extruder off (same as M103).<br />
<br />
==== M6: Tool change ====<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M6<br />
<br />
==== M7: Mist Coolant On (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M106}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M7<br />
<br />
Mist coolant is turned on (if available)<br />
<br />
Teacup firmware turn on the fan, and set fan speed (same as M106).<br />
<br />
==== M8: Flood Coolant On (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M106}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M8<br />
<br />
Flood coolant is turned on (if available)<br />
<br />
==== M9: Coolant Off (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M106}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M9<br />
<br />
All coolant systems are turned off.<br />
<br />
==== M10: Vacuum On (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M106}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M10<br />
<br />
Dust collection vacuum system turned on.<br />
<br />
==== M11: Vacuum Off (CNC specific) ====<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M106}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M11<br />
<br />
Dust collection vacuum system turned off.<br />
<br />
==== M17: Enable/Power all stepper motors====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes|1=(automatic)}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M17<br />
<br />
==== M18: Disable all stepper motors====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes|use M2}} | sprinter={{no}} | marlin={{yes|call M84}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M18<br />
<br />
Disables stepper motors and allows axis to move 'freely.'<br />
<br />
RepRapFirmware allows stepper motors to be disabled selectively. For example, M18 X E0:2 will disable the X, extruder 0 and extruder 2 motors.<br />
<br />
==== M20: List SD card ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M20<br />
<br />
All files in the root folder of the SD card are listed to the serial port. One name per line, like:<br />
<br />
ok<br />
SQUARE.G<br />
SQCOM.G<br />
ZCARRI~1.GCO<br />
ZCARRI~2.GCO<br />
ZADJUS~1.GCO<br />
CARRIA~1.GCO<br />
<br />
Note that some firmwares list file names in upper case, but - when sent to the M23 command (below) they must be in lower case. Teacup has no such trouble and accepts both.<br />
<br />
RepRapFirmware-dc42 returns long filenames in the case in which they are stored. If the S2 parameter is present, then the file list is returned in JSON format as a single array called "files" with each name that corresponds to a subdirectory preceded by an asterisk, and the directory is returned in variable "dir". The optional P parameter specifies the directory to list, defaulting to the /gcodes directory in RepRapFirmware - for other firmware, this would be whatever directory printable gcode files are normally stored in.<br />
<br />
==== M21: Initialize SD card ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M21<br />
<br />
The SD card is initialized. If an SD card is loaded when the machine is switched on, this will happen by default. SD card must be initialized for the other SD functions to work.<br />
<br />
==== M22: Release SD card ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M22<br />
<br />
SD card is released, so further (accidental) attempts to read from it are guaranteed to fail. Helpful, but not mandatory before removing the card physically.<br />
<br />
==== M23: Select SD file ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M23 filename.gco<br />
<br />
The file specified as filename.gco (8.3 naming convention is supported) is selected ready for printing.<br />
<br />
Duet-dc42 firmware supports long filenames as well as 8.3 format.<br />
<br />
==== M24: Start/resume SD print ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M24<br />
<br />
The machine prints from the file selected with the M23 command. If the print was previously paused with M25, printing is resumed from that point. To restart a file from the beginning, use M23 to reset it, then M24.<br />
<br />
When this command is used to resume a print that was paused, the dc42 and zpl forks of RepRapFirmware run macro file resume.g if it exists prior to resuming the print.<br />
<br />
==== M25: Pause SD print ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M25<br />
<br />
The machine pauses printing at the current position within the file. To resume printing, use M24.<br />
<br />
Prior to pausing, the dc42 and zpl forks of RepRapFirmware run macro file pause.g if it exists. This allows the head to be moved away from the print, filament to be retracted, etc.<br />
<br />
==== M26: Set SD position ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie=aborts | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M26<br />
<br />
Set SD position in bytes (M26 S12345).<br />
<br />
==== M27: Report SD print status ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M27<br />
<br />
Report SD print status.<br />
<br />
==== M28: Begin write to SD card ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M28 filename.gco<br />
<br />
File specified by filename.gco is created (or overwritten if it exists) on the SD card and all subsequent commands sent to the machine are written to that file.<br />
<br />
==== M29: Stop writing to SD card ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M29 filename.gco<br />
<br />
File opened by M28 command is closed, and all subsequent commands sent to the machine are executed as normal.<br />
<br />
==== M30: Delete a file on the SD card ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} || marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} | grbl={{yes}} }}<br />
<br />
Example: M30 filename.gco <br/><br />
filename.gco is deleted.<br />
<br />
===== M30 in grbl =====<br />
M30 exchange pallet shuttles and end the program. Pressing cycle start will start the program at the beginning of the file.<br />
<br />
==== M31: Output time since last M109 or SD card start to serial ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M31<br />
<br />
The response looks like:<br />
<br />
echo:54 min, 38 sec<br />
<br />
==== M32: Select file and start SD print ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
(Can be used when printing from SD card)<br />
<br />
Example: M32 filename.gco<br />
<br />
tba available in marlin(14/6/2014)<br />
<br />
==== M33: Get the long name for an SD card file or folder ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Get the long name for a file or folder on the SD card from a dos path. Introduced in Marlin firmware 1.1.0 September 2015.<br />
<br />
==== M34: Set SD file sorting options ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Enable and disable SD card file-sorting, and/or set the folder sorting order. Proposed by Marlin firmware, May 2015.<br />
<br />
==== M36: Return file information ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M36 filename.gco<br />
<br />
Returns information for the specified SD card file in JSON format. A sample response is:<br />
<br />
{"err":0,"size":457574,"height":4.00,"layerHeight":0.25,"filament":[6556.3],"generatedBy":"Slic3r 1.1.7 on 2014-11-09 at 17:11:32"}<br />
<br />
The "err" field is zero if successful, nonzero if the file was not found or an error occurred while processing it. The "size" field should always be present if the operation was successful. The presence or absence of other fields depends on whether the corresponding values could be found by reading the file. The "filament" field is an array of the filament lengths required from each spool. The size is in bytes, all other values are in mm. The fields may appear in any order, and additional fields may be present.<br />
<br />
If the file name parameter is not supplied and a file on the SD card is currently being printed, then information for that file is returned including additional field "fileName". This feature is used by the web interface and by PanelDue, so that if a connection is made when a file is already being printed, the name and other information about that file can be shown.<br />
<br />
==== M37: Simulation mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Used to switch between printing mode and simulation mode. Simulation mode allows the electronics to compute an accurate printing time, taking into account the maximum speeds, accelerations etc. that are configured.<br />
<br />
M37 S1 enters simulation mode. All G and M codes will not be acted on, but the time they take to execute will be calculated.<br />
<br />
M37 S0 leaves simulation mode.<br />
<br />
M37 with no S parameter prints the time taken by the simulation, from the time it was first entered using M37 S1, up to the current point (if simulation mode is still active) or the point that the simulation was ended (if simulation mode is no longer active).<br />
<br />
==== M40: Eject ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
If your RepRap machine can eject the parts it has built off the bed, this command executes the eject cycle. This usually involves cooling the bed and then performing a sequence of movements that remove the printed parts from it. The X, Y and Z position of the machine at the end of this cycle are undefined (though they can be found out using the M114 command, q.v.).<br />
<br />
See also M240 and M241 below.<br />
<br />
==== M41: Loop ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M41<br />
<br />
If the RepRap machine was building a file from its own memory such as a local SD card (as opposed to a file being transmitted to it from a host computer) this goes back to the beginning of the file and runs it again. So, for example, if your RepRap is capable of ejecting parts from its build bed then you can set it printing in a loop and it will run and run. Use with caution - the only things that will stop it are:<br />
<br />
# When you press the reset button,<br />
# When the build material runs out (if your RepRap is set up to detect this), and<br />
# When there's an error (such as a heater failure).<br />
<br />
==== M42: Switch I/O pin ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M42 P7 S255<br />
<br />
M42 switches a general purpose I/O pin. Use M42 Px Sy to set pin x to value y, when omitting Px the LEDPIN will be used.<br />
<br />
In Teacup, general purpose devices are handled like a heater, see [[#M104: Set Extruder Temperature | M104]].<br />
<br />
In RepRapFirmware-dc42, only 1 and 0 are supported for the S field. On Duet hardware, the supported pin numbers and their names on the expansion connector are:<br />
<br />
16 TXD1,<br />
17 RXD1,<br />
18 TXD0,<br />
19 RXD0,<br />
20 TWD1,<br />
21 TWCK1,<br />
23 RTS1,<br />
36 PC4_PWML1,<br />
52 AD14,<br />
66 AD13,<br />
67 PB16.<br />
<br />
On RADDS hardware running RepRapFirmware-dc42, the supported Arduino Due pin numbers and their names are:<br />
<br />
5 TIOA6,<br />
6 PWML7,<br />
39 PWMH2,<br />
58 AD3,<br />
59 AD2,<br />
66 DAC0,<br />
67 DAC1,<br />
68 CANRX0,<br />
69 CANTX0,<br />
70 SDA1,<br />
71 SCL1,<br />
72 RX LED,<br />
73 TX LED.<br />
<br />
==== M43: Stand by on material exhausted ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M43<br />
<br />
If your RepRap can detect when its material runs out, this decides the behaviour when that happens. The X and Y axes are zeroed (but not Z), and then the machine shuts all motors and heaters off except the heated bed, the temperature of which is maintained. The machine will still respond to G and M code commands in this state.<br />
<br />
==== M48: Measure Z-Probe repeatability ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' number of points <br />
: '''Xnnn''' position on the X axis <br />
: '''Ynnn''' position on the Y axis <br />
: '''Vnnn''' verbosity<br />
: '''E''' engage<br />
: '''Lnnn''' legs of travel<br />
<br />
As with G29, the E flag causes the probe to stow after each probe.<br />
<br />
==== M70: Display message ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}}: See M117 | repetier={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M70 P200 Message <br />
<br />
Instruct the machine to display a message on it's interface LCD. P is the time to display message for.<br />
<br />
==== M72: Play a tone or song ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}}: See M300 | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M72 P2 <br />
<br />
Instruct the machine to play a preset song. Acceptable song IDs are machine specific. P is the ID of the song to play.<br />
<br />
==== M73: Set build percentage ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M73 P50 <br />
<br />
Instruct the machine that the build has progressed to the specified percentage. The machine is expected to display this on it's interface board. If the percentage is exactly 0, then a Build Start Notification is sent. If the percentage is exactly 100, then a Build End notification is sent.<br />
<br />
==== M80: ATX Power On ====<br />
<br />
{{firmware Support | fived={{no}} | teacup=automatic | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M80<br />
<br />
Turns on the ATX power supply from standby mode to fully operational mode. No-op on electronics without standby mode.<br />
<br />
'''Note''': some firmwares, like [[Teacup Firmware | Teacup]], handle power on/off automatically, so this is redundant there. Also, see [http://forums.reprap.org/read.php?219,132664 RAMPS wiring for ATX on/off]<br />
<br />
==== M81: ATX Power Off ====<br />
<br />
{{firmware Support | fived={{no}} | teacup=automatic | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M81<br />
<br />
Turns off the ATX power supply. Counterpart to M80.<br />
<br />
==== M82: Set extruder to absolute mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M82<br />
<br />
makes the extruder interpret extrusion as absolute positions.<br />
<br />
This is the default in repetier.<br />
<br />
==== M83: Set extruder to relative mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M83<br />
<br />
makes the extruder interpret extrusion values as relative positions.<br />
<br />
==== M84: Stop idle hold ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M84<br />
<br />
Stop the idle hold on all axis and extruder. In some cases the idle hold causes annoying noises, which can be stopped by disabling the hold. Be aware that by disabling idle hold during printing, you will get quality issues. This is recommended only in between or after printjobs.<br />
<br />
On Marlin, Repetier and Duet-zpl, M84 can also be used to configure or disable the idle timeout. For example, "M84 S10" will idle the stepper motors after 10 seconds of inactivity. "M84 S0" will disable idle timeout; steppers will remain powered up regardless of activity.<br />
<br />
==== M85: Set inactivity shutdown timer ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M85 S30<br />
<br />
Set inactivity shutdown timer with parameter S<seconds>. "M85 S0" will disable the inactivity shutdown time (default)<br />
<br />
==== M92: Set axis_steps_per_unit ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example (Sprinter and Marlin): M92 X<newsteps><br />
<br />
Allows programming of steps per unit (usually mm) of axis. Resets to firmware default on reset, unless saved to EEPROM if available (M500 in Marlin) or in configuration file (config.g in RepRapFirmware). Very useful for calibration.<br />
<br />
==== M93: Send axis_steps_per_unit ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin ={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== M98: Call Macro/Subprogram ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M98 Pmymacro.g<br />
<br />
Runs the macro in the file mymacro.g. In conventional G Codes for CNC machines the P parameter normally refers to a line number in the program itself (P2000 would run the Macro starting at line O2000, say). For RepRap, which almost always has some sort of mass storage device inbuilt, it simply refers to the name of a GCode file that is executed by the G98 call. That GCode file does not need to end with an M99 (return) as the end-of-file automatically causes a return. Macro calls cannot usually be nested or be recursive; i.e. you can't call a macro from a macro (though some implementations may allow this).<br />
<br />
RepRapFirmware-dc42 and RepRapFirmware-zpl support nested macros and allow the filename to include a path. The default folder is /sys.<br />
<br />
==== M99: Return from Macro/Subprogram ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M99<br />
<br />
Returns from an M98 call.<br />
<br />
==== M98: Get axis_hysteresis_mm ==== <br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
'''Deprecated - clashes with the G Code standard M98 above''' <br />
<br />
Example: M98 <br />
<br />
Report the current hysteresis values in mm for all of the axis.<br />
<br />
Proposed for Marlin<br />
<br />
==== M99: Set axis_hysteresis_mm ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
'''Deprecated - clashes with the G Code standard M99 above'''<br />
<br />
Example: M99 X<mm> Y<mm> Z<mm> E<mm> <br />
<br />
Allows programming of axis hysteresis. Mechanical pulleys, gears and threads can have hysteresis when they change direction. That is, a certain number of steps occur before movement occurs. You can measure how many mm are lost to hysteresis and set their values with this command. Every time an axis changes direction, these extra mm will be added to compensate for the hysteresis.<br />
<br />
Proposed for Marlin<br />
<br />
==== M101: Turn extruder 1 on (Forward), Undo Retraction ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
in Teacup firmware: <br />
If a DC extruder is present, turn that on. Else, undo filament retraction, which means, make the extruder ready for extrusion. Complement to M103.<br />
<br />
in BFB/RapMan firmware:<br />
Turn extruder on (forward/filament in). <br />
<br />
in other firmwares:<br />
Deprecated. Regarding filament retraction, see M227, M228, M229.<br />
<br />
==== M102: Turn extruder 1 on (Reverse) ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
In BFB/RapMan firmware:<br />
Turn extruder on Reverse (Still to add) <br />
<br />
In other firmwares:<br />
Deprecated.<br />
<br />
==== M103: Turn all extruders off, Extruder Retraction ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
In Teacup firmware: <br />
If a DC extruder is present, turn that off. Else, retract the filament in the hope to prevent nozzle drooling. Complement to M101.<br />
<br />
In BFB/RapMan firmware: <br />
Turn extruder off. <br />
<br />
In other firmwares: <br />
Deprecated. Regarding extruder retraction, see M227, M228, M229.<br />
<br />
==== M104: Set Extruder Temperature ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} | makerbot={{yes}} | redeem={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' Target temperature<br />
; Example<br />
: M104 S190<br />
<br />
Set the temperature of the current extruder to 190<sup>o</sup>C and return control to the host immediately (''i.e.'' before that temperature has been reached by the extruder). Duet-dc42 and other firmware also supports the optional T parameter (as generated by slic3r) to specify which tool the command applies to. See also M109.<br />
<br />
This is deprecated because temperatures should be set using the G10 and T commands (q.v.).<br />
<br />
Deprecation is [[Talk:G-code#M104 .26 M109 Deprecation, G10 Introduction | subject to discussion]]. --[[User:Traumflug|Traumflug]] 11:33, 19 July 2012 (UTC)<br />
<br />
===== M104 in Teacup Firmware =====<br />
<br />
In Teacup Firmware, M104 can be additionally used to handle all devices using a temperature sensor. It supports the additional P parameter, which is a zero-based index into the list of sensors in config.h. For devices without a temp sensor, see [[#M106: Fan On | M106]].<br />
<br />
Example: M104 P1 S100<br />
<br />
Set the temperature of the device attached to the second temperature sensor to 100&nbsp;°C.<br />
<br />
==== M105: Get Extruder Temperature ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} | redeem={{yes}} }}<br />
<br />
Example: M105<br />
<br />
Request the temperature of the current extruder and the build base in degrees Celsius. The temperatures are returned to the host computer. For example, the line sent to the host in response to this command looks like:<br />
ok T:201 B:117<br />
<br />
Expansion/generalization of M105 to be considered using S1 parameter as noted in [[Pronterface I/O Monitor]]<br />
<br />
In Repetier you can add X0 to get raw values as well:<br />
<pre><br />
M105 X0<br />
==> 11:05:48.910 : T:23.61 /0 @:0 T0:23.61 /0 @0:0 RAW0:3922 T1:23.89 /0 @1:0 RAW1:3920<br />
</pre><br />
<br />
===== Duet-dc42 extension =====<br />
<br />
Duet-dc42 firmware returns a JSON-formatted response if parameter S2 or S3 is included. This is used by the touch-screen control panel. Additionally, parameter Rnn may be provided, where nn is the sequence number of the most recent G-code response that the client has already received.<br />
<br />
The response comprises a single JSON object, with no nesting of objects or arrays, followed by newline. It is similar to the object returned by the web interface status request, but some fields are omitted. Here is a sample response when S2 is used:<br />
<br />
{"status":"I","heaters":[25.0,29.0,28.3],"active":[-273.1,0.0,0.0],"standby":[-273.1,0.0,0.0],"hstat":[0,2,1],"pos":[-11.00,0.00,0.00],"extr":[0.0,0.0],"sfactor":100.00,<br />
"efactor":[100.00,100.00],"tool":1,"probe":"535","fanRPM":0,"homed":[0,0,0],"fraction_printed":0.572}<br />
<br />
The meaning of these fields is:<br />
<br />
status: I=idle, P=printing from SD card, S=stopped (i.e. needs a reset), C=running config file, A=paused, D=pausing, R=resuming, B=busy (running a macro)<br />
heaters: current heater temperatures, numbered as per the machine (typically, heater 0 is the bed)<br />
active: active temperatures of the heaters<br />
standby: standby temperatures of the heaters<br />
hstat: status of the heaters, 0=off, 1=standby, 2=active, 3=fault<br />
pos: the X, Y and Z positions of the print head<br />
extr: the positions of the extruders<br />
sfactor: the current speed factor (see M220 command)<br />
efactor: the current extrusion factors (see M221 command)<br />
tool: the selected tool number. Zero typically means no tool selected.<br />
probe: the Z-probe reading<br />
fanRPM: the cooling fan RPM<br />
homed: the homed status of the X, Y and Z axes (or towers on a delta). 0=axis has not been homed so position is not reliable, 1=axis has been homed so position is reliable.<br />
fraction_printed: the fraction of the file currently being printed that has been read and at least partially processed.<br />
message: the message to be displayed on the screen (only present if there is a message to display)<br />
timesLeft: an array of the estimated remaining print times (in seconds) calculated by different methods. These are currently based on the proportion of the file read, the proportion of the total filament consumed, and the proportion of the total layers already printed. Only present if a print from SD card is in progress.<br />
seq: the sequence number of the most recent G-code response or error message. Only present if the R parameter was provided and the current sequence number is greater.<br />
resp: the most recent G-code response or error message. Only present if the R parameter was provided and the current sequence number is greater.<br />
<br />
The response when S3 is used comprises these fields plus some additional ones that do not generally change and therefore do not need to be fetched as often. The extra fields include:<br />
<br />
myName: the name of the printer<br />
geometry: one of "cartesian", "delta", "corexy, "corexz" etc.<br />
<br />
The fields may be in any order in the response. Other implementations may omit fields and/or add additional fields.<br />
<br />
==== M106: Fan On ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' speed<br />
; Example<br />
: M106 S127<br />
<br />
Turn on the cooling fan at half speed.<br />
<br />
Mandatory parameter 'S' declares the PWM value (0-255). M106 S0 turns the fan off. In some implementations the pwm is specified by a real fraction: M106 S0.7.<br />
<br />
===== M106 in Duet Firmware =====<br />
<br />
Duet-dc42 firmware also supports an optional I parameter. If this parameter is present and greater than zero, the cooling fan output is inverted. This makes the cooling fan output suitable for feeding the PWM input of a 4-wire fan via a diode. If the parameter is present and zero or negative, the output is not inverted. If the parameter is not present, the inverted/non-inverted state remains unchanged. The default at power up is not inverted.<br />
<br />
If the 'R' parameter is passed when using Duet-zpl firmware (0.96g+), the last-known fan value will be set. If the 'S' parameter is passed along with 'R', the firmware will not reset the last-known fan value. This may be useful for tool change macro files.<br />
<br />
===== M106 in Teacup Firmware =====<br />
<br />
Additionally to the above, Teacup Firmware uses M106 to control general devices. It supports the additional P parameter, which is an zero-based index into the list of heaters/devices in config.h.<br />
<br />
Example: M106 P2 S255<br />
<br />
Turn on device #3 at full speed/wattage.<br />
<br />
'''Note''': When turning on a temperature sensor equipped heater with M106 and M104 at the same time, temperature control will override the value given in M106 quickly.<br />
<br />
==== M107: Fan Off ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} }}<br />
<br />
Deprecated in Teacup firmware. Use M106 S0 instead.<br />
<br />
==== M108: Set Extruder Speed ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
Sets speed of extruder motor.<br />
(Deprecated in FiveD firmware, see M113)<br />
<br />
==== M109: Set Extruder Temperature and Wait ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no|not needed}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} | makerbot={{yes}} | redeem={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' minimum target temperature, waits until heating<br />
: '''Rnnn''' maximum target temperature, waits until cooling (Sprinter)<br />
: '''Rnnn''' accurate target temperature, waits until heating and cooling (Marlin)<br />
; Example<br />
: M109 S215<br />
<br />
===== M109 in Teacup =====<br />
<br />
Not needed. To mimic Marlin behaviour, use [[#M104: Set Extruder Temperature | M104]] followed by [[#M116: Wait | M116]].<br />
<br />
===== M109 in Marlin, Sprinter (ATmega port), Duet =====<br />
<br />
Set extruder heater temperature in degrees celsius and wait for this temperature to be achieved.<br />
<br />
Example: M109 S185<br />
<br />
Duet-dc42 firmware also supports the optional T parameter (as generated by slic3r) to specify which tool the command refers to (see below).<br />
<br />
===== M109 in Sprinter (4pi port) =====<br />
<br />
Parameters: '''S''' (optional), set target temperature value. If not specified, waits for the temperature set by [[#M104: Set Extruder Temperature | M104]]. '''R''' (optional), sets target temperature range maximum value.<br />
<br />
Example: M109 S185 R240 //sets extruder temperature to 185 and waits for the temperature to be between 185 - 240.<br />
<br />
If you have multiple extruders, use '''T''' or '''P''' parameter to specify which extruder you want to set/wait.<br />
<br />
Another way to do this is to use [[#G10: Tool Offset | G10]].<br />
<br />
===== M109 in MakerBot =====<br />
<br />
Example: M109 S70 T0<br />
<br />
Sets the target temperature for the current build platform. S is the temperature to set the platform to, in degrees Celsius. T is the platform to heat.<br />
<br />
==== M110: Set Current Line Number ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no|not needed}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M110 N123<br />
<br />
Set the current line number to 123. Thus the expected next line after this command will be 124.<br />
<br style="clear: both" /><br />
<br />
==== M111: Set Debug Level ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{experimental|Debug}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M111 S6<br />
<br />
Set the level of debugging information transmitted back to the host to level 6. The level is the OR of three bits:<br />
<br />
<Pre><br />
#define DEBUG_ECHO (1<<0)<br />
#define DEBUG_INFO (1<<1)<br />
#define DEBUG_ERRORS (1<<2)<br />
#define DEBUG_DRYRUN (1<<3) // repetier-firmware<br />
#define DEBUG_COMMUNICATION (1<<4) // repetier-firmware<br />
</pre><br />
<br />
Thus 6 means send information and errors, but don't echo commands. (This is the RepRap default.)<br />
<br />
For firmware that supports ethernet and web interfaces M111 S9 will turn web debug information on without changing any other debug settings, and M111 S8 will turn it off. Web debugging usually means that HTTP requests will be echoed to the USB interface, as will the responses.<br />
<br />
==== M112: Emergency Stop ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M112<br />
<br />
Any moves in progress are immediately terminated, then RepRap shuts down. All motors and heaters are turned off. It can be started again by pressing the reset button on the master microcontroller. See also M0 and M1.<br />
<br />
==== M113: Set Extruder PWM ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M113<br />
<br />
Set the PWM for the currently-selected extruder. On its own this command <br />
sets RepRap to use the on-board potentiometer on the extruder controller board to set the PWM for the currently-selected extruder's stepper power. With an S field:<br />
<br />
M113 S0.7<br />
<br />
it causes the PWM to be set to the S value (70% in this instance). M113 S0 turns the extruder off, until an M113 command other than M113 S0 is sent.<br />
<br />
==== M114: Get Current Position ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M114<br />
<br />
This causes the RepRap machine to report its current X, Y, Z and E coordinates to the host.<br />
<br />
For example, the machine returns a string such as:<br />
<br />
<tt>ok C: X:0.00 Y:0.00 Z:0.00 E:0.00</tt><br />
<br />
In Marlin first 3 numbers is the position for the planner. The other positions are the positions from the stepper function. This helps for debugging a previous stepper function bug. <br />
<br />
<tt>X:0.00 Y:0.00 RZ:0.00 LZ:0.00 Count X:0.00 Y:0.00 RZ:41.02 LZ:41.02</tt><br />
<br />
==== M115: Get Firmware Version and Capabilities ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M115<br />
<br />
Request the Firmware Version and Capabilities of the current microcontroller <br />
The details are returned to the host computer as key:value pairs separated by spaces and terminated with a linefeed.<br />
<br />
sample data from firmware:<br />
ok PROTOCOL_VERSION:0.1 FIRMWARE_NAME:FiveD FIRMWARE_URL:http%3A//reprap.org MACHINE_TYPE:Mendel EXTRUDER_COUNT:1<br />
<br />
This M115 code is inconsistently implemented, and should not be relied upon to exist, or output correctly in all cases. An initial implementation was committed to svn for the FiveD Reprap firmware on 11 Oct 2010. Work to more formally define protocol versions is currently (October 2010) being discussed. See [[M115_Keywords]] for one draft set of keywords and their meanings. See the M408 command for a more comprehensive report on machine capabilities supported by RepRapFirmware.<br />
<br />
RepRapFirmware-dc42 also uses M115 to tell the firmware about the hardware on which it is running. If the P parameter is present then the integer argument specifies the hardware being used. The following are currently supported:<br />
<br />
:M115 P0 Automatic board type selection if supported, or default if not<br />
:M115 P1 Duet 0.6<br />
:M115 P2 Duet 0.7<br />
:M115 P3 Duet 0.85<br />
<br />
==== M116: Wait ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M116<br />
<br />
Wait for ''all'' temperatures and other slowly-changing variables to arrive at their set values. See also M109.<br />
<br />
Duet-dc42 firmware version 0.78c and later supports an optional P parameter, used to specify a tool number. If this parameter is present, then the system only waits for temperatures associated with that tool to arrive at their set values. This is useful during tool changes, to wait for the new tool to heat up without necessarily waiting for the old one to cool down fully.<br />
<br />
Users of Duet-zpl may specify a list of the heaters to be waited for by specifying an 'H' parameter. Duet-zpl v1.08d+ further supports an additional 'C' parameter to wait for the chamber temperature to be reached.<br />
<br />
==== M117: Get Zero Position ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M117<br />
<br />
This causes the RepRap machine to report the X, Y, Z and E coordinates ''in steps not mm'' to the host that it found when it last hit the zero stops for those axes. That is to say, when you zero X, the <i>x</i> coordinate of the machine when it hits the X endstop is recorded. This value should be 0, of course. But if the machine has drifted (for example by dropping steps) then it won't be. This command allows you to measure and to diagnose such problems. (E is included for completeness. It doesn't normally have an endstop.)<br />
<br />
==== M117: Display Message ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }} <br />
<br />
Example: M117 Hello World<br />
<br />
This causes the given message to be shown in the status line on an attached LCD. The above command will display Hello World.<br />
<br />
==== M118: Negotiate Features ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M118 P42<br />
<br />
This M-code is for future proofing. NO firmware or hostware supports this at the moment. It is used in conjunction with M115's FEATURES keyword.<br />
<br />
See [[Protocol_Feature_Negotiation]] for more info.<br />
<br />
==== M119: Get Endstop Status ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M119<br />
<br />
Returns the current state of the configured X, Y, Z endstops. Takes into account any 'inverted endstop' settings, so one can confirm that the machine is interpreting the endstops correctly.<br />
<br />
==== M120: Push ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Push the state of the RepRap machine onto a stack. Exactly what variables get pushed depends on the implementation (as does the depth of the stack - a typical depth might be 5). A sensible minimum, however, might be <br />
<br />
# Current feedrate, and<br />
# Whether moves (and separately extrusion) are relative or absolute<br />
<br />
==== M121: Pop ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Recover the last state pushed onto the stack.<br />
<br />
==== M120: Enable endstop detection ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== M121: Disable endstop detection ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== M122: Diagnose ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Sending an M122 causes the RepRap to transmit diagnostic information, for eaxmple via a USB serial link.<br />
<br />
==== M123: Tachometer value ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Sending an M123 causes the RepRap to transmit filament tachometer values from all extruders. <br />
<br />
==== M124: Immediate motor stop ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Immediately stops all motors.<br />
<br />
==== M126: Open Valve ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M126 P500<br />
<br />
Open the extruder's valve (if it has one) and wait 500 milliseconds for it to do so.<br />
<br />
===== M126 in MakerBot =====<br />
<br />
Example: M126 T0<br />
<br />
Enables an extra output attached to a specific toolhead (e.g. fan)<br />
<br />
==== M127: Close Valve ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M127 P400<br />
<br />
Close the extruder's valve (if it has one) and wait 400 milliseconds for it to do so.<br />
<br />
===== M127 in MakerBot =====<br />
<br />
Example: M127 T0<br />
<br />
Disables an extra output attached to a specific toolhead (e.g. fan)<br />
<br />
==== M128: Extruder Pressure PWM ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M128 S255<br />
<br />
PWM value to control internal extruder pressure. S255 is full pressure.<br />
<br />
==== M129: Extruder pressure off ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M129 P100<br />
<br />
In addition to setting Extruder pressure to 0, you can turn the pressure off entirely. P400 will wait 100ms to do so.<br />
<br />
==== M130: Set PID P value ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}}: See M301 | repetier={{no}} | smoothie={{no}}: See M301 | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' heater number<br />
: '''Snnn''' proportional (Kp)<br />
; Example<br />
: M130 P0 S8.0 ; Sets heater 0 P factor to 8.0<br />
<br />
Teacup can control multiple heaters with independent PID controls. For the default shown at https://github.com/Traumflug/Teacup_Firmware/blob/master/config.default.h, heater 0 is the extruder (P0), and heater 1 is the bed (P1).<br />
<br />
Teacup's PID proportional units are in pwm/255 counts per quarter C, so to convert from counts/C, you would divide by 4. Conversely, to convert from count/qC to count/C, multiply by 4. In the above example, S=8 represents a Kp=8*4=32 counts/C.<br />
<br />
==== M131: Set PID I value ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}}: See M301 | repetier={{no}} | smoothie={{no}}: See M301 | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' heater number<br />
: '''Snnn''' integral (Ki)<br />
; Example<br />
: M131 P1 S0.5 ; Sets heater 1 I factor to 0.5<br />
<br />
Teacup's PID integral units are in pwm/255 counts per (quarter C*quarter second), so to convert from counts/qCqs, you would divide by 16. Conversely, to convert from count/qCqs to count/Cs, multiply by 16. In the above example, S=0.5 represents a Ki=0.5*16=8 counts/Cs.<br />
<br />
==== M132: Set PID D value ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}}: See M301 | repetier={{no}} | smoothie={{no}}: See M301 | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' heater number<br />
: '''Snnn''' derivative (Kd)<br />
; Example<br />
: M132 P0 S24 ; Sets heater 0 D factor to 24.0<br />
<br />
Teacup's PID derivative units are in pwm/255 counts per (quarter degree per 2 seconds), so to convert from counts/C, you would divide by 4. Conversely, to convert from count/qC to count/C, multiply by 8. In the above example, S=24 represents a Kd=24*8=194 counts/(C/s).<br />
<br />
===== M132 in MakerBot =====<br />
<br />
Example: M132 X Y Z A B<br />
<br />
Loads the axis offset of the current home position from the EEPROM and waits for the buffer to empty.<br />
<br />
==== M133: Set PID I limit value ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' heater number<br />
: '''Snnn''' integral limit (Ki)<br />
; Example<br />
: M133 P1 S264 ; Sets heater 1 I limit value to 264<br />
<br />
Teacup's PID integral limit units are in quarter-C*quarter-seconds, so to convert from C-s, you would multiply by 16. Conversely, to convert from qC*qs to C*s, divide by 16. In the above example, S=264 represents an integral limit of 16.5 C*s.<br />
<br />
===== M133 in MakerBot =====<br />
<br />
Example: M133 T0 P500<br />
<br />
Instruct the machine to wait for the toolhead to reach its target temperature. T is the extruder to wait for. P if present, sets the time limit.<br />
<br />
==== M134: Write PID values to EEPROM ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}}: See M504 | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M134<br />
<br />
===== M134 in MakerBot =====<br />
<br />
Example: M134 T0 P500<br />
<br />
Instruct the machine to wait for the platform to reach its target temperature. T is the platform to wait for. P if present, sets the time limit.<br />
<br />
==== M135: Set PID sample interval ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | makerbot={{yes}} }}<br />
<br />
Example: M135 S300<br />
<br />
Set the PID to measure temperatures and calculate the power to send to the heaters every 300ms.<br />
<br />
===== M135 in MakerBot =====<br />
<br />
Example: M135 T0<br />
<br />
Instructs the machine to change its toolhead. Also updates the State Machine's current tool_index. T is the toolhead for the machine to switch to and the new tool_index for the state machine to use.<br />
<br />
==== M136: Print PID settings to host ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{experimental|Debug}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M136 P1 # print heater 0 PID parameters to host<br />
<br />
==== M140: Set Bed Temperature (Fast) ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' Target temperature<br />
; Example<br />
: M140 S55<br />
<br />
Set the temperature of the build bed to 55<sup>o</sup>C and return control to the host immediately (''i.e.'' before that temperature has been reached by the bed). There is an optional R field that sets the bed standby temperature: M140 S65 R40.<br />
<br />
Duet-zpl allows the bed heater to be switched off if the absolute negative temperature (-273.15) is passed as active temperature. In this case the current active temperature is not affected:<br />
<br />
<pre><br />
M140 S-273.15<br />
</pre><br />
<br />
Duet-zpl 1.09g+ also provides an 'H' parameter to set the hot bed heater number. If no heated bed is present, -1 may be specified to disable it.<br />
<br />
==== M141: Set Chamber Temperature (Fast) ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{yes|1=uses M104}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|zpl, dc42}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: M141 S30<br />
<br />
Set the temperature of the chamber to 30<sup>o</sup>C and return control to the host immediately (''i.e.'' before that temperature has been reached by the chamber).<br />
<br />
Duet-zpl 1.08d+ and Duet-dc42 1.09d+ implement M141 and accept an additional 'H' parameter to set the chamber heater number.<br />
<br />
==== M142: Holding Pressure ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M142 S1<br />
<br />
Set the holding pressure of the bed to 1 bar.<br />
<br />
The holding pressure is in bar. For hardware which only has on/off holding, when the holding pressure is zero, turn off holding, when the holding pressure is greater than zero, turn on holding.<br />
<br />
==== M143: Maximum hot-end temperature ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M143 S275<br />
<br />
Set the maximum temperature of the hot-end to 275C<br />
<br />
When temperature of the hot-end exceeds this value, take countermeasures, for instance an emergency stop. This is to prevent hot-end damage.<br />
<br />
==== M144: Stand By Your Bed ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M144<br />
<br />
Switch the bed to its standby temperature. M140 turns it back to its active temperature; no need for any arguments for that use of M140.<br />
<br />
==== M146: Set Chamber Humidity ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Rnnn''' Relative humidity in percent<br />
; Example<br />
: M146 R60<br />
<br />
Set the relative humidity of the chamber to 60% and return control to the host immediately (''i.e.'' before that humidity has been reached by the chamber).<br />
<br />
==== M149: Set temperature units ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''C''' Flag to treat temperature as degrees Celsius<br />
: '''K''' Flag to treat temperature as Kelvin<br />
; Example<br />
: M149 K<br />
<br />
It affects the S or R values in the codes M104, M109, M140, M141, M143, M190 and G10. The default is M149 C.<br />
<br />
==== M150: Set display color ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Rnnn''' red<br />
: '''Unnn''' green<br />
: '''Bnnn''' blue<br />
; Example<br />
: M150 R255 U128 B192<br />
<br />
Set BlinkM Color via I2C. Range for values: 0-255<br />
<br />
==== M160: Number of mixed materials ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M160 S4<br />
<br />
This command has been superseded by the tool definition command M563 (see below).<br />
<br />
Set the number of materials, N, that the current extruder can handle to the number specified. The default is 1.<br />
<br />
When N >= 2, then the E field that controls extrusion requires N values separated by colons ":" after it like this: <br />
<br />
<pre><br />
M160 S4<br />
G1 X90.6 Y13.8 E2.24:2.24:2.24:15.89<br />
G1 X70.6 E0:0:0:42.4<br />
G1 E42.4:0:0:0<br />
</pre><br />
<br />
The second line moves straight to the point (90.6, 13.8) extruding a total of 22.4mm of filament. The mix ratio for the move is 0.1:0.1:0.1:0.7.<br />
<br />
The third line moves back 20mm in X extruding 42.4mm of filament. <br />
<br />
The fourth line has no physical effect.<br />
<br />
==== M163: Set weight of mixed material ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.92 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' extruder number<br />
: '''Pnnn''' weight<br />
<br />
Set weight for this mixing extruder drive.<br />
<br />
==== M164: Store weights ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.92 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' virtual extruder number<br />
: '''Pnnn''' store to eeprom (P0 = no, P1 = yes)<br />
<br />
Store weights as virtual extruder S.<br />
<br />
==== M190: Wait for bed temperature to reach target temp ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}}: See M116 | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' minimum target temperature, waits until heating<br />
: '''Rnnn''' accurate target temperature, waits until heating and cooling (Marlin)<br />
; Example<br />
: M190 S60<br />
<br />
This will wait until the bed temperature reaches 60 degrees, printing out the temperature of the hot end and the bed every second.<br />
<br style="clear: both" /><br />
<br />
==== M191: Wait for chamber temperature to reach target temp ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: M191 P60 <br />
<br />
Set the temperature of the build chamber to 60 °C and wait for the temperature to be reached.<br />
<br />
==== M200: Set filament diameter ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Without parameters loads default grid, and with specified extension attempts to load the specified grid. If not available will not modify the current grid.<br />
If Z was saved with the grid file, it will load the saved Z with the grid.<br />
<br />
M200 Dm.mmm sets the filament diameter to m.mmm millimeters. It is used with 'volumetric calibration' and G-code generated for an ideal 1.128mm diameter filament, which has a volume of 1mm^3 per millimeter. The intention is to be able to generate filament-independent g-code. (See [[Triffid_Hunter's_Calibration_Guide#Optional:_Switch_to_volumetric_E_units]] and http://wooden-mendel.blogspot.com/2011/09/volumetric-stage-two.html for more information.)<br />
<br />
M200 D0 or M200 D1.128 ; reset E multiplier to 1, since sqrt(1/pi)*2=1.128<br />
<br />
See also [[Gcode#M119:_Get_Endstop_Status]]<br />
<br />
Question: what does a firmware do with filament diameter? Has this an effect on how much an E command moves the extruder motor? --[[User:Traumflug|Traumflug]] 11:34, 14 October 2012 (UTC) Yes, Marlin uses this to set a 'volumetric_multiplier' by which the E-steps of a move are scaled in the planner. [[User:DaveX|DaveX]] ([[User talk:DaveX|talk]]) 16:44, 12 April 2014 (PDT)<br />
Smoothie implements the same thing as Marlin --[[User:Arthurwolf|Arthurwolf]] ([[User talk:Arthurwolf|talk]]) 05:23, 10 November 2014 (PST)<br />
<br />
==== M201: Set max printing acceleration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M201 X1000 Y1000 Z100 E2000<br />
<br />
Sets the acceleration that axes can do in units/second^2 for print moves. For consistency with the rest of G Code movement this should be in units/(minute^2), but that gives really silly numbers and one can get lost in all the zeros. So for this we use seconds.<br />
<br />
==== M202: Set max travel acceleration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!<br />
<br />
==== M203: Set maximum feedrate ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M203 X6000 Y6000 Z300 E10000<br />
<br />
Sets the maximum feedrates that your machine can do in mm/min (Marlin uses mm/sec).<br />
<br />
===== M203 Repetier =====<br />
<br />
Set temperture monitor to Sx.<br />
<br />
==== M204: Set default acceleration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate<br />
<br />
<br />
'''Marlin notes:''' After Mar11-2015, the M204 options have changed in Marlin:<br />
<br />
P = Printing moves<br />
<br />
R = Retract only (no X, Y, Z) moves<br />
<br />
T = Travel (non printing) moves<br />
<br />
<br />
The command "M204 P800 T3000 R9000" set the acceleration for printing movements to 800mm/s^2, for travels to 3000mm/s^2 and for retracts to 9000mm/s^2.<br />
<br />
===== M204 Repetier =====<br />
<br />
M204 X[Kp] Y[Ki] Z[Kd] - <br />
<br />
Set PID parameter. Values are 100*real value.<br />
<br />
==== M205: Advanced settings ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk<br />
<br />
===== M205 Repetier =====<br />
<br />
Output EEPROM settings.<br />
<br />
==== M206: ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
===== M206 Marlin, Sprinter, Smoothie - Set home offset =====<br />
Example: M206 X10.0 Y10.0 Z-0.4<br />
<br />
The values specified are added to the endstop position when the axes are referenced. The same can be achieved with a G92 right after homing (G28, G161). <br />
<br />
With Marlin firmware, this value can be saved to EEPROM using the M500 command.<br />
<br />
A similar command is G10, aligning these two is [[Talk:G-code#M104 .26 M109 Deprecation, G10 Introduction | subject to discussion]].<br />
<br />
With Marlin 1.0.0 RC2 a negative value for z lifts(!) your printhead.<br />
<br />
===== M206 Repetier - Set eeprom value =====<br />
<br />
M206 T[type] P[pos] [Sint(long] [Xfloat] Set eeprom value<br />
<br />
Example: M206 T3 P39 X19.9<br />
<br />
Set Jerk to 19.9<br />
<br />
==== M207: Calibrate z axis by detecting z max length ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M207<br />
<br />
After placing the tip of the nozzle in the position you expect to be considered Z=0, issue this command to calibrate the Z axis. It will perform a z axis homing routine and calculate the distance traveled in this process. The result is stored in EEPROM as z_max_length. For using this calibration method the machine must be using a Z MAX endstop.<br />
<br />
This procedure is usually more reliable than mechanical adjustments of a Z MIN endstop.<br />
<br />
==== M207: Set retract length ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}}}}<br />
<br />
; Parameters<br />
: '''Snnn''' positive length to retract, in mm<br />
: '''Fnnn''' feedrate, in mm/min<br />
: '''Znnn''' additional zlift/hop<br />
; Example<br />
: M207 S4.0 F2400 Z0.075<br />
<br />
Sets retract length, stays in mm regardless of M200 setting<br />
<br />
==== M208: Set axis max travel ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}}}}<br />
<br />
Example: M208 X250 Y210 Z180<br />
<br />
The values specified set the software limits for axis travel in the positive direction.<br />
<br />
RepRapPro's version of Marlin uses M208 this way. Send M503 to see the current values. The value can be saved to EEPROM using the M500 command.<br />
<br />
With Duet-dc42 firmware, on a Cartesian printer you can also use this command to specify software limits for axis travel in the negative direction, by adding parameter S1. The axis limits you set are also the positions assumed when an endstop is triggered.<br />
<br />
==== M208: Set unretract length ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' positive length surplus to the M207 Snnn, in mm<br />
: '''Fnnn''' feedrate, in mm/sec<br />
<br />
Sets recover=unretract length.<br />
<br />
==== M209: Enable automatic retract ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M209 S1<br />
<br />
This boolean value S 1=true or 0=false enables automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.<br />
<br />
==== M210: Set homing feedrates ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M210 X1000 Y1500<br />
<br />
Set the feedrates used for homing to the values specified in mm per minute.<br />
<br />
==== M211: Disable/Enable software endstops ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
The boolean value S 1=enable or 0=disable controls state of software endstop.<br />
<br />
The boolean value X, Y or Z 1=max endstop or 0=min endstop selects which endstop is controlled.<br />
<br />
Example: M211 X1 Y1 Z1 S0<br />
<br />
Disables X,Y,Z max endstops<br />
<br />
Example: M211 X0 S1<br />
<br />
Enables X min endstop<br />
<br />
Example: M211<br />
<br />
Prints current state of software endstops.<br />
<br />
==== M212: Set Bed Level Sensor Offset ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}}* | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
This G-Code command is known to be available in the newer versions of PrintrBot's branch of Marlin. It may not be available in other firmware.<br />
<br />
Example: M212 Z-0.2<br />
<br />
Set the Z home to 0.2 mm lower than where the sensor says Z home is. This is extremely useful when working with printers with hard-to-move sensors, like the PrintrBot Metal Plus.<br />
<br />
PrintrBot suggests that the user make minor (0.1-0.2) adjustments between attempts and immediately executes M500 & M501 after setting this.<br />
<br />
==== M218: Set Hotend Offset ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Sets hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>.<br />
<br />
Example: M218 T1 X50 Y0.5<br />
<br />
==== M220: Set speed factor override percentage ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M220 S80<br />
<br />
S<factor in percent>- set speed factor override percentage<br />
<br />
==== M221: Set extrude factor override percentage ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M221 S70<br />
<br />
S<factor in percent>- set extrude factor override percentage<br />
<br />
==== M220: Turn off AUX V1.0.5 ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M221: Turn on AUX V1.0.5 ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M222: Set speed of fast XY moves ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M223: Set speed of fast Z moves ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M224: Enable extruder during fast moves ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M225: Disable on extruder during fast moves ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{yes}} | machinekit={{no}} }}<br />
<br />
==== M226: Gcode Initiated Pause ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{yes}} | machinekit={{yes}} }}<br />
<br />
Example: M226<br />
<br />
Initiates a pause in the same way as if the pause button is pressed. That is, program execution is stopped and the printer waits for user interaction. This matches the behaviour of M1 in the [http://www.nist.gov/manuscript-publication-search.cfm?pub_id=823374 NIST RS274NGC G-code standard] and M0 in Marlin firmware.<br />
<br />
==== M226: Wait for pin state ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' pin number <br />
: '''Snnn''' pin state<br />
; Example<br />
: M226 P2 S1<br />
<br />
Wait for a pin to be in some state.<br />
<br />
==== M227: Enable Automatic Reverse and Prime ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M227 P1600 S1600<br />
<br />
P and S are steps.<br />
<br />
"Reverse and Prime" means, the extruder filament is retracted some distance when not in use and pushed forward the same amount before going into use again. This shall help to prevent drooling of the extruder nozzle. Teacup firmware implements this with M101/M103.<br />
<br />
==== M228: Disable Automatic Reverse and Prime ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M228<br />
<br />
See also M227.<br />
<br />
==== M229: Enable Automatic Reverse and Prime ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M229 P1.0 S1.0<br />
<br />
P and S are extruder screw rotations. See also M227.<br />
<br />
==== M230: Disable / Enable Wait for Temperature Change ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M230 S1<br />
<br />
S1 Disable wait for temperature change<br />
S0 Enable wait for temperature change<br />
<br />
==== M231: Set OPS parameter ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
M231 S[OPS_MODE] X[Min_Distance] Y[Retract] Z[Backslash] F[ReatrctMove]<br />
<br />
==== M232: Read and reset max. advance values ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== M240: Trigger camera ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M240<br />
<br />
Triggers a camera to take a photograph. (Add to your per-layer GCode.)<br />
<br />
==== M240: Start conveyor belt motor / Echo off ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{experimental|Debug: Echo off}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M240<br />
<br />
The conveyor belt allows to start mass production of a part with a reprap. <br />
<br />
Echoing may be controlled in some firmwares with M111<br />
<br style="clear: both" /><br />
<br />
==== M241: Stop conveyor belt motor / echo on ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{experimental|Debug: Echo on}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M241<br />
<br />
Echoing may be controlled in some firmwares with M111<br />
<br style="clear: both" /><br />
<br />
==== M245: Start cooler ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M245<br />
<br />
used to cool parts/heated-bed down after printing for easy remove of the parts after print<br />
<br />
==== M246: Stop cooler ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M246<br />
<br />
==== M250: Set LCD contrast ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M250 C20<br />
<br />
Sets LCD contrast C<contrast value> (value 0..63), if available.<br />
<br />
==== M251: Measure Z steps from homing stop (Delta printers) ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
M251 S0 - Reset, S1 - Print, S2 - Store to Z length (also EEPROM if enabled)<br />
<br />
(This is a Repetier-Firmware only feature)<br />
<br />
==== M280: Set servo position ==== <br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
(Marlin, Repetier [[Gcode#M340:_Control_the_servos|M340]])<br />
<br />
Set servo position absolute. P: servo index, S: angle or microseconds (Marlin)<br />
<br />
==== M300: Play beep sound ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' frequency in Hz<br />
: '''Pnnn''' duration in milliseconds<br />
; Example<br />
: M300 S300 P1000<br />
<br />
Play beep sound, use to notify important events like the end of printing. [http://www.3dprinting-r2c2.com/?q=content/seasons-greetings See working example on] [[R2C2_RepRap_Electronics|R2C2 electronics]]. Also supported by duet-dc42 firmware via the sounder on the add-on touch screen control panel.<br />
<br />
==== M301: Set PID parameters ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}}: See M13[0-3]) | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware= {{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Hnnn''' heater number (Smoothie uses 'S')<br />
: '''Pnnn''' proportional (Kp)<br />
: '''Innn''' integral (Ki)<br />
: '''Dnnn''' derivative (Kd)<br />
; Examples<br />
: M301 H1 P1 I2 D3 ; Marlin<br />
: M301 H1 P1 I2 D3 T0.2 B20 W127 S0.8 ; RepRapFirmware (v1.09 onwards), Duet-dc42<br />
: M301 S0 P30 I10 D10 ; Smoothie<br />
<br />
Sets Proportional (P), Integral (I) and Derivative (D) values for hot end. See also [[PID Tuning]].<br />
<br />
=====Marlin=====<br />
<br />
Hot end only; see M304 for bed PID. H is the heater number, default 1 (i.e. first extruder heater).<br />
<br />
=====Duet-dc42 and RepRapFirmware (v1.09 onwards)=====<br />
H: Is the heater number, and is compulsory. H0 is the bed, H1 is the first hot end, H2 the second etc.<br /><br />
P: Interprets a negative P term as indicating that bang-bag control should be used instead of PID (not recommended for the hot end, but OK for the bed heater).<br /><br />
I: Integral value<br /><br />
D: Derivative value<br /><br />
T: Is the approximate additional PWM (on a scale of 0 to 255) needed to maintain temperature, per degree C above room temperature. Used to preset the I-accumulator when switching from heater fully on/off to PID.<br /><br />
S: PWM scaling factor, to allow for variation in heater power and supply voltage. Is designed to allow a correction to be made for a change in heater power and/or power supply voltage without having to change all the other parameters. For example, an S factor of 0.8 means that the final output of the PID controller should be scaled to 0.8 times the standard value, which would compensate for a heater that is 25% more powerful than the standard one or a supply voltage that is 12.5% higher than standard.<br /><br />
W: Wind-up. Sets the maximum value of I-term, must be high enough to reach 245C for ABS printing.<br /><br />
B: PID Band. Errors larger than this cause heater to be on or off.<br /><br />
<br />
An example using all of these would be:<br />
: M301 H1 P20 I0.5 D100 T0.4 S1 W180 B30<br />
<br />
=====Smoothie=====<br />
<br />
S0 is 0 for the hotend, and 1 for the bed, other numbers may apply to your configuration, depending on the order in which you declare temperature control modules.<br />
<br />
=====Other implementations=====<br />
<br />
W: Wind-up. Sets the maximum value of I-term, so it does not overwhelm other PID values, and the heater stays on. (Check firmware support - Sprinter, Marlin?) Example: <br />
:M301 W125<br />
<br />
=====Teacup=====<br />
<br />
See M130, M131, M132, M133 for [[Teacup]]'s codes for setting the PID parameters.<br />
<br />
==== M302: Allow cold extrudes ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}}: 0.92 | smoothie={{no}} | reprapfirmware= {{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
This tells the printer to allow movement of the extruder motor, when the hotend is not at printing temperature<br />
<br />
Example: M302<br />
<br />
When using RepRapFirmware, running M302 will only report the current cold extrusion state. To allow or deny cold extrudes/retracts, run either "M302 P1" or "M302 P0".<br />
<br />
==== M303: Run PID tuning ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
[[PID Tuning]] refers to a control algorithm used in some repraps to tune heating behavior for hot ends and heated beds. This command generates Proportional (Kp), Integral (Ki), and Derivative (Kd) values for the hotend or bed (E-1). Send the appropriate code and wait for the output to update the firmware.<br />
<br />
Hot end usage:<br />
M303 S<temperature> C<cycles><br />
Bed usage (repetier, not sure whether cycles work here):<br />
M303 P1 S<temperature><br />
Bed usage (others):<br />
M303 E-1 C<cycles> S<temperature><br />
Example:<br />
M303 C8 S175<br />
Smoothie's syntax, where E0 is the first temperature control module (usually the hot end) and E1 is the second temperature control module (usually the bed):<br />
M303 E0 S190<br />
<br />
==== M304: Set PID parameters - Bed ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}}: See M301 | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Pnnn''' proportional (Kp)<br />
: '''Innn''' integral (Ki)<br />
: '''Dnnn''' derivative (Kd)<br />
; Examples<br />
: M304 P1 I2 D3 ; set kP=3, kI=2, kD=3<br />
: M301 P1 I2 D3 T0.7 H0 B20 W127 ; Duet-dc42 firmware<br />
: M304 ; Report parameters<br />
<br />
Sets Proportional, Integral and Derivative values for bed. Duet-dc42 firmware interprets a negative P term as indicating that bang-bag control should be used instead of PID. In Duet-dc42 firmware, this command is identical to M301 except that the H parameter (heater number) defaults to zero.<br />
<br />
See also [[PID Tuning]].<br />
<br />
===== M304 in RepRapPro version of Marlin: Set thermistor values =====<br />
<br />
In the RepRapPro version of Marlin ( https://github.com/reprappro/Marlin ) M304 is used to set thermistor values (as M305 is in later firmwares). RRP Marlin calculates temperatures on the fly, rather than using a temperature table. M304 Sets the parameters for temperature measurement.<br />
<br />
Example: M304 H1 B4200 R4800 T100000<br />
<br />
This tells the firmware that for heater 1 (H parameter: 0 = heated bed, H = first extruder), the thermistor beta (B parameter) is 4200, the thermistor series resistance (R parameter) is 4.8Kohms, the thermistor 25C resistance (T parameter) is 100Kohms. All parameters other than H are optional. If only the H parameter is given, the currently-used values are displayed. They are also displayed within the response to M503.<br />
<br />
==== M305: Set thermistor and ADC parameters ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Sets the parameters for temperature measurement. Supported by RepRapFirmware from 0.78c, and Duet-dc42 firmware.<br />
<br />
Example: M305 P1 T100000 R1000 B4200<br />
<br />
This tells the firmware that for heater 1 (P parameter: 0 = heated bed, 1 = first extruder) the thermistor 25C resistance (T parameter) is 100Kohms, the thermistor series resistance (R parameter) is 1Kohms, the thermistor beta (B parameter) is 4200. All parameters other than P are optional. If only the P parameter is given, the existing values are displayed.<br />
<br />
Additionally, Duet-dc42 firmware supports an ADC correction functionality and a thermistor selection facility.<br />
<br />
Example: M305 P1 T100000 R1000 B4200 H14 L-11 X2<br />
<br />
Here the ADC high end correction (H parameter) is 14, the ADC low end correction (L parameter) is -11, and thermistor input #2 is used to measure the temperature of heater #1.<br />
<br />
==== M306: set home offset calculated from toolhead position ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | smoothie={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M306 Z0 <br />
<br />
The values specified are added to the calculated end stop position when the axes are referenced. The calculated value is derived from the distance of the toolhead from the current axis zero point.<br />
<br />
The user would typically place the toolhead at the zero point of the axis and issue the M306 command.<br />
<br />
This value can be saved to EEPROM using the M500 command (as M206 value).<br />
<br />
Implemented in Smoothieware<br />
<br />
==== M320: Activate autolevel(Repetier) ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
(Repetier only)<br />
<br />
==== M321: Deactivate autolevel(Repetier) ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
(Repetier only)<br />
<br />
==== M322: Reset autolevel matrix ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M322 S1<br />
<br />
Parameter S1 is mandatory<br />
<br />
(Repetier only)<br />
<br />
==== M340: Control the servos ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
(Repetier only ,Marlin see [[Gcode#M280:_Set_servo_position|M280]])<br />
<br />
M340 P<servoId> S<pulseInUS> / ServoID = 0..3 pulseInUs = 500..2500<br />
<br />
Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.<br />
<br />
==== M350: Set microstepping mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Sets microstepping mode.<br />
<br />
Warning: Steps per unit remains unchanged.<br />
<br />
; Usage<br />
: M350 Snn Xnn Ynn Znn Enn Bnn<br />
; Parameters<br />
: ''Not all parameters need to be used, but at least '''one''' should be used''<br />
: '''Snn''' Set stepping mode for all drivers<br />
: '''Xnn''' Set stepping mode for the X axis<br />
: '''Ynn''' Set stepping mode for the Y axis<br />
: '''Znn''' Set stepping mode for the Z axis<br />
: '''Enn''' Set stepping mode for Extruder 0<br />
: '''Bnn''' Set stepping mode for Extruder 1<br />
; Modes (nn)<br />
: 1 = full step<br />
: 2 = half step<br />
: 4 = quarter step<br />
: 8 = 1/8 step<br />
: 16 = 1/16 step<br />
; Examples<br />
: M350 S16 ''(reset all drivers to the default 1/16 micro-stepping)''<br />
: M350 Z1 ''(set the Z-axis' driver to use full steps)''<br />
: M350 E4 B4 ''(set both extruders to use quarter steps)''<br />
<br />
==== M351: Toggle MS1 MS2 pins directly ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M351<br />
<br />
==== M355: Turn case lights on/off ====<br />
<br />
{{firmware Support | fived={{no}} | teacup=use M106 | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.92.2 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Examples<br />
: M355 S1 ''; Enable lights''<br />
: M355 S0 ''; Disable lights''<br />
: M355 ''; Report status''<br />
<br />
Every call or change over LCD menu sends a state change for connected hosting software like<br />
<pre><br />
Case lights on<br />
Case lights off<br />
No case lights<br />
</pre><br />
<br />
==== M360: Report firmware configuration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{yes}}: 0.92.2 | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Target<br />
This command helps hosting software to detect configuration details, which the user would need to enter otherwise.<br />
It should reduce configuration time considerably if supported. <br />
<br />
; Example<br />
: M360<br />
<br />
;Response:<br />
<pre><br />
Config:Baudrate:250000<br />
Config:InputBuffer:127<br />
Config:NumExtruder:2<br />
Config:MixingExtruder:0<br />
Config:HeatedBed:0<br />
Config:SDCard:1<br />
Config:Fan:1<br />
Config:LCD:1<br />
Config:SoftwarePowerSwitch:1<br />
Config:XHomeDir:-1<br />
Config:YHomeDir:-1<br />
Config:ZHomeDir:-1<br />
Config:SupportG10G11:1<br />
Config:SupportLocalFilamentchange:1<br />
Config:CaseLights:0<br />
Config:ZProbe:1<br />
Config:Autolevel:0<br />
Config:EEPROM:1<br />
Config:PrintlineCache:24<br />
Config:JerkXY:30.00<br />
Config:JerkZ:0.30<br />
Config:RetractionLength:3.00<br />
Config:RetractionLongLength:13.00<br />
Config:RetractionSpeed:40.00<br />
Config:RetractionZLift:0.00<br />
Config:RetractionUndoExtraLength:0.00<br />
Config:RetractionUndoExtraLongLength:0.00<br />
Config:RetractionUndoSpeed:0.00<br />
Config:XMin:0.00<br />
Config:YMin:0.00<br />
Config:ZMin:0.00<br />
Config:XMax:250.00<br />
Config:YMax:150.00<br />
Config:ZMax:90.00<br />
Config:XSize:250.00<br />
Config:YSize:150.00<br />
Config:ZSize:90.00<br />
Config:XPrintAccel:250.00<br />
Config:YPrintAccel:250.00<br />
Config:ZPrintAccel:100.00<br />
Config:XTravelAccel:250.00<br />
Config:YTravelAccel:250.00<br />
Config:ZTravelAccel:100.00<br />
Config:PrinterType:Cartesian<br />
Config:MaxBedTemp:120<br />
Config:Extr.1:Jerk:50.00<br />
Config:Extr.1:MaxSpeed:100.00<br />
Config:Extr.1:Acceleration:10000.00<br />
Config:Extr.1:Diameter:0.00<br />
Config:Extr.1:MaxTemp:220<br />
Config:Extr.2:Jerk:50.00<br />
Config:Extr.2:MaxSpeed:100.00<br />
Config:Extr.2:Acceleration:10000.00<br />
Config:Extr.2:Diameter:0.00<br />
Config:Extr.2:MaxTemp:220<br />
</pre><br />
<br />
==== SCARA calibration codes (Morgan) ====<br />
<br />
In order to ease calibration of Reprap Morgan, the following M-codes are used to set the machine up<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{partial}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
==== M360: Move to Theta 0 degree position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
The arms move into a position where the Theta steering arm is parallel to the top platform edge. The user then calibrates the position by moving the arms with the jog buttons in software like pronterface until it is perfectly parallel. Using M114 will then display the calibration offset that can then be programmed into the unit using M206 (Home offset) X represents Theta.<br />
<br />
Smoothieware: M360 P0 will take the current position as parallel to the platform edge, and store the offset in the homing trim offset (M666) No further user interaction is needed.<br />
<br />
==== M361: Move to Theta 90 degree position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Theta move to 90 degrees with platform edge. User calibrates by using jog arms to place exactly 90 degrees. Steps per degree can then be read out by using M114, and programmed using M92. X represents Theta. Program Y (Psi) to the same value initially. Remember to repeat M360 after adjusting steps per degree.<br />
<br />
Smoothieware: M360 P0 will accept the current position as 90deg to platform edge. New steps per angle is calculated and entered into memory (M92) No further user interaction is required, except to redo M360.<br />
<br />
==== M362: Move to Psi 0 degree position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Arms move to Psi 0 degree. Check only after other Theta calibrations<br />
<br />
==== M363: Move to Psi 90 degree position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Arms move to Psi 90 degree. Check only after other Theta calibrations<br />
<br />
==== M364: Move to Psi + Theta 90 degree position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Move arms to form a 90 degree angle between the inner and outer Psi arms. Calibrate by moving until angle is exactly 90 degree. Read out with M114, and calibrate value into Home offset M206. Psi is represented by Y.<br />
<br />
Smoothieware: M364 P0 will accept the current position as 90deg between arms. The offset is stored as a trim offset (M666) and no further user interaction is required except to save all changes via M500<br />
<br />
==== M365: SCARA scaling factor ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{experimental}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Adjust X Y and Z scaling by entering the factor. 100% scaling (default) is represented by 1<br />
<br />
==== M366: SCARA convert trim ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Executing this command translates the calculated trim values of the SCARA calibration to real home offsets. This prevents the home and trim movement after calibration.<br />
<br />
==== M370: Morgan manual bed level - clear map ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Clear the map and prepare for calibration<br />
; Usage<br />
: M370<br />
: M370 X<divisions> Y<divisions><br />
<br />
Without parameters is defaults to X5 Y5 (25 calibration points) <br />
When specifying parameters, uneven numbers are recommended.<br />
<br />
==== M371: Move to next calibration position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Move to the next position for calibration. User moves the bed towards the hotend until it just touches<br />
<br />
==== M372: Record calibration value, and move to next position ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
The position of the bed is recorded and the machine moves to the next position. Repeat until all positions programmed<br />
<br />
==== M373: End bed level calibration mode ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
End calibration mode and enable z correction matrix. Does not save current matrix<br />
<br />
==== M374: Save calibration grid ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Saves the calibration grid. (Smoothieware)<br />
; Usage<br />
: M374<br />
: M374 <file extension> Z <br />
<br />
Without parameters safes the grid into the default grid file that gets loaded at boot<br />
Parameter specifies the extension of the grid file - useful for special grid files such as for a special print surface like a removable print plate.<br />
Addition of Z will additionally save the M206 Z homing offset into the grid file<br />
<br />
==== M375: Display matrix / Load Matrix ====<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Display the bed level calibration matrix (Marlin)<br />
Load Grid matrix file (Smoothieware)<br />
; Usage<br />
: M375<br />
: M375 <file extension><br />
<br />
Without parameters loads default grid, and with specified extension attempts to load the specified grid. If not available will not modify the current grid.<br />
If Z was saved with the grid file, it will load the saved Z with the grid.<br />
<br />
==== M380: Activate solenoid ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M380<br />
<br />
Activates solenoid on active extruder.<br />
<br />
==== M381: Disable all solenoids ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M381<br />
<br />
==== M400: Wait for current moves to finish ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Finishes all current moves and and thus clears the buffer. That's identical to <code>G4 P0</code>.<br />
<br />
Example: M400<br />
<br />
==== M401: Lower z-probe ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M401<br />
<br />
Lower z-probe if present.<br />
<br />
==== M402: Raise z-probe ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M402<br />
<br />
Raise z-probe if present.<br />
<br />
==== M404: Filament width and nozzle diameter ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M404 N1.75<br />
<br />
N<dia in mm> <br />
Enter the nominal filament width (3mm, 1.75mm) or will display nominal filament width without parameters.<br />
<br />
While Marlin only accepts the N parameter, Duet-zpl further allows to specify the nozzle diameter (in mm) via the D-parameter. It is used to properly detect the first layer height when a new print is being started.<br />
<br />
Example: M404 N3.0 D1.0<br />
<br />
==== M405: Filament Sensor on ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M405<br />
<br />
Turn on Filament Sensor extrusion control. Optional D<delay in cm> to set delay in centimeters between sensor and extruder.<br />
<br />
==== M406: Filament Sensor off ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M406<br />
<br />
Turn off Filament Sensor extrusion control.<br />
<br />
==== M407: Display filament diameter ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | reprapfirmware={{partial}} }}<br />
<br />
Example: M407<br />
<br />
Displays measured filament diameter. In RepRapFirmware M407 does the same as M404.<br />
<br />
==== M408: Report JSON-style response ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Report a JSON-style response by specifying the desired type using the 'S' parameter. For some purposes it is necessary to pass the sequence number, which is why Duet-zpl and Duet-dc42 accept an additional 'P' parameter to specify it.<br />
<br />
Example: M408 S0<br />
<br />
The following response types are supported:<br />
<br />
* Type 0 is the M105 S2 response, which is like the new-style status response (for the old web interface) but some fields are omitted.<br />
* Type 1 is the M105 S3 response, which is like the M105 S2 response except that static values are also included.<br />
<br />
* Type 2 is the new-style standard JSON response, which is also reported to the new web interface (see Duet Web Control)<br />
* Type 3 is an extended version of type 2 which includes some additional parameters that aren't expected to change very frequently<br />
* Type 4 is an extended version of type 2 which may be used to poll for current printer stats<br />
<br />
* Type 5 reports the current machine configuration<br />
<br />
For a more detailed comparison of type 2 - 5, see [[Proposed_RepRap_Duet_Status_Responses]]<br />
<br />
Currently M408 is only supported by Duet-dc42 and Duet-zpl.<br />
<br />
==== M420: Set RGB Colors as PWM and is also Enable/Disable Mesh Bed Leveling ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Usage: M420 R<Red PWM (0-255)> E<Green PWM (0-255)> B<Blue PWM (0-255)><br />
<br />
Example: M420 R255 E255 B255<br />
<br />
Set the color of your RGB LEDs that are connected to PWM-enabled pins. Note, the Green color is controlled by the E value instead of the G value due to the G code being a primary code that cannot be overridden.<br />
<br />
In marlin, is also: M420 - Enable/Disable Mesh Leveling (with current values) S1=enable S0=disable<br />
<br />
==== M421: Set a Mesh Bed Leveling Z coordinate ====<br />
<br />
M421 - Set a single Z coordinate in the Mesh Leveling grid. X<index> Y<index> Z<offset in mm><br />
<br />
==== M500: Store parameters in EEPROM ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | reprapfirmware={{partial|dc42, zpl}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M500<br />
<br />
Save current parameters to EEPROM. dc42 and zpl forks of RepRapFirmware allow "S1" to be passed, which forces parameters to be automatically saved to EEPROM when they are changed.<br />
<br />
In [[Redeem]] any parameters set through G/M-codes which is different than what is read from the config files, are stored back to the local config. For instance setting stepper current and microstepping through M906 and M907 followed by M500 will update /etc/redeem/local.cfg.<br />
<br />
==== M501: Read parameters from EEPROM ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | reprapfirmware={{partial|dc42, zpl}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M501<br />
<br />
Set the active parameters to those stored in the EEPROM. This is useful to revert parameters after experimenting with them.<br />
<br />
==== M502: Revert to the default "factory settings." ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | repetier={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M502<br />
<br />
This command resets all tunable parameters to their default values, as set in the firmware. This doesn't reset any parameters stored in the EEPROM, so it must be followed with M501 if you want to do that.<br />
<br />
==== M503: Print settings ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{yes}} | marlin={{yes}} | reprapfirmware={{partial|dc42, zpl}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M503<br />
<br />
This command asks the firmware to reply with the current print settings stored in EEPROM. The reply output includes the G-Code commands to produce each setting. For example, the Steps Per Unit values are displayed as an M92 command.<br />
<br />
==== M540: Enable/Disable "Stop SD Print on Endstop Hit" ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
; Parameters<br />
: '''Snnn''' state, S1=enable, S0=disable <br />
; Example<br />
: M540 S1<br />
<br />
==== M540: Set MAC address ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED<br />
<br />
Sets the [http://en.wikipedia.org/wiki/MAC_address MAC address] of the RepRap. This should be done before any other network commands. The MAC address is six one-byte hexadecimal numbers separated by colons. The 0x prefix is optional in later firmware revisions.<br />
<br />
==== M550: Set Name ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M550 PGodzilla<br />
<br />
Sets the name of the RepRap to (in this case) Godzilla. The name can be any string of printable characters except ';', which still means start comment.<br />
<br />
==== M551: Set Password ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M551 Pmy-very-secret-word<br />
<br />
On machines that need a password to activate them, set that password. The code 'P' is not part of the password. Note that as this is sent in clear it does not (nor is it intended to) offer a very high level of security. But on machines that are (say) on a network, it prevents idle messing about by the unauthorised. The password can contain any printable characters except ';', which still means start comment.<br />
<br />
==== M552: Set IP address ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M552 P192.168.1.14<br />
<br />
Sets the IP address of the RepRap machine to (in this case) 192.168.1.14. A restart may be required before the new IP address is used. If no P field is specified, this echoes the existing IP address configured. If S0 is added thus: M552 S0 P192.168.1.14 networking is disabled.<br />
<br />
==== M553: Set Netmask ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M553 P255.255.255.0<br />
<br />
Sets the network mask of the RepRap machine to (in this case) 255.255.255.0. A restart may be required before the new network mask is used. If no P field is specified, this echoes the existing network mask configured.<br />
<br />
==== M554: Set Gateway ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M554 P192.168.1.1<br />
<br />
Sets the Gateway IP address of the RepRap machine to (in this case) 192.168.1.1. A restart may be required before the new gateway IP address is used. If no P field is specified, this echoes the existing Gateway IP address configured.<br />
<br />
==== M555: Set compatibility ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M555 P1<br />
<br />
For firmware that can do it, sets the firmware to a mode where its input and (especially) output behaves exactly like other established firmware. The value of the P argument is:<br />
<br />
{| class="wikitable"<br />
|P value || Firmware <br />
|-<br />
|0 || Native (i.e. whatever the firmware actually is)<br />
|-<br />
| 1 || [[RepRap_Firmware]]<br />
|-<br />
| 2 || [[Marlin]]<br />
|-<br />
| 3 || [[Teacup]]<br />
|-<br />
| 4 || [[Sprinter]]<br />
|-<br />
| 5 || [[Repetier]]<br />
|}<br />
<br />
==== M556: Axis compensation ====<br />
[[File:CalibrationAngle.png|thumb|Imaging denoting how to determine the S parameter for Gcode M556]]<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M556 S100 X0.7 Y-0.2 Z0.6<br />
<br />
Though with care and adjustment a RepRap can be set up with its axes at right-angles to each other within the accuracy of the machine, who wants to bother with care and adjustment when the problem<br />
can be solved by software? This tells software the tangents of the angles between the axes of the machine obtained by printing then measuring a test part. The S parameter (100 here) is the length of a triangle along each axis in mm. The X, Y and Z figures are the number of millimeters of the short side of the triangle that represents how out of true a pair of axes is. The X figure is the error between X and Y, the Y figure is the error between Y and Z, and the Z figure is the error between X and Z. Positive values indicate that the angle between the axis pair is obtuse, negative acute.<br />
<br />
==== M557: Set Z probe point ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M557 P1 X30 Y40.5<br />
<br />
Set the points at which the bed will be probed to compensate for its plane being slightly out of horizontal. The P value is the index of the point (indices start at 0) and the X and Y values are the position to move extruder 0 to to probe the bed. An implementation should allow a minimum of three points (P0, P1 and P2). This just records the point coordinates; it does not actually do the probing. See [[G-code#G32:_Probe_Z_and_calculate_Z_plane|G32]].<br />
<br />
==== M558: Set Z probe type ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M558 P0 X1 Y0 Z1<br />
<br />
A Z probe may be a switch, an IR proximity sensor, or some other device. This selects which to use. P0 indicates that no Z probe is present. P1 gives an unmodulated IR probe, or any other probe type that emulates an unmodulated IR probe (probe output is an analog signal that rises with decreasing nozzle height above the bed). If there is a control signal to the probe, it is driven high when the probe type is P1. P2 specifies a modulated IR probe, where the modulation is commanded directly by the main board firmware using the control signal to the probe. P3 selects an alternative Z probe by driving the control signal to the probe low. P4 selects a switch (on the Duet, this must be connected to the E0 endstop pins).<br />
<br />
The X, Y and Z parameters specify whether each axis uses the Z probe for homing or not. If the parameter is nonzero, the Z probe is used for homing that axis. if the parameter is zero, the endstop switch for that axis is used for homing instead. See also G31 and G32.<br />
<br />
Duet-dc42 and zpl-dc42 firmware support an additional R parameter, which specifies the modulation channel. Channel 0 (the default) uses the standard Z probe modulation pin on the Duet 0.6. Channel 1 selects the alternative Z probe modulation pin on the Duet 0.7. Note that on RADDS electronics, the R parameter is accepted but ignored: the selected channel is reported, but the same RADDS pin is always used.<br />
<br />
Duet-dc42 firmware versions 1.00e onwards supports additional parameter H. This specifies the dive height (default 3mm) from which probing is done in response to a G30 command when the P parameter is present, or a G32 command.<br />
<br />
==== M559: Upload configuration file ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M559<br />
<br />
If the RepRap supports it, this uploads a file that is run on re-boot to configure the machine. This file usually is a special G Code file. After sending M559, the file should be sent, ending with an M29 (q.v.).<br />
<br />
==== M560: Upload web page file ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M560<br />
<br />
For RepRaps that have web support and that can be driven by a web browser, this uploads the file that is the control page for the RepRap. After sending M560 the file (usually an HTML file) should be sent, terminated by the string <pre><!-- **EoF** --></pre>. Clearly that string cannot exist in the body of the file, but can be put on the end to facilitate this process. This should not be too serious a restriction...<br />
<br />
<br />
==== M561: Set Identity Transform ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M561<br />
<br />
This cancels any bed-plane fitting as the result of probing (or anything else) and returns the machine to moving in the user's coordinate system.<br />
<br />
==== M562: Reset temperature fault ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M562 P2<br />
<br />
Reset a temperature fault on heater/sensor 2. If the RepRap has switched off and locked a heater because it has detected a fault, this will reset the fault condition and allow you to use the heater again. Obviously to be used with caution. If the fault persists it will lock out again after you have issued this command. P0 is the bed; P1 the first extruder, and so on.<br />
<br />
==== M563: Define or remove a tool ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M563 P3 D0:5:6 H1:3<br />
<br />
Tools are usually (though not necessarily) extruders. The P field specifies the tool number. Tool numbers can have any positive integer value and 0. The D field specifies the drive(s) used by the tool - in this case drives 0, 5 and 6. Drive 0 is the first drive in the machine after the movement drives (usually X, Y and Z). If there is no D field the tool has no drives. The H field specifies the tool's heaters - in this case heaters 1 and 3. Heater 0 is usually the hot bed (if any) so the first extruder heater is usually 1. If there is no H field the tool has no heaters.<br />
<br />
Tools are driven using multiple values in the E field of G1 commands, each controlling the corresponding drive in the D field above, as follows:<br />
<br />
<pre><br />
G1 X90.6 Y13.8 E2.24:2.24:15.89<br />
G1 X70.6 E0:0:42.4<br />
</pre><br />
<br />
The first line moves straight to the point (90.6, 13.8) extruding a total of 2.24mm of filament from both drives 0 and 5 and 15.98mm of filament from drive 6. <br />
<br />
The second line moves back 20mm in X extruding 42.4mm of filament from drive 6.<br />
<br />
Normally an M563 command is immediately followed by a G10 command to set the tool's offsets and temperatures.<br />
<br />
It is permissible for different tools to share some (or all) of their drives and heaters. So, for example, you can define two tools with identical hardware, but that just operate at different temperatures.<br />
<br />
If you use the M563 command with a P value for a tool that has already been defined, that tool is redefined using the new values you provide.<br />
<br />
Duet-dc42 firmware supports an additional form of the M563 command. The command:<br />
<br />
<pre><br />
M563 S1<br />
</pre><br />
<br />
means add 1 (the value of the S parameter) to all tool numbers found in the remainder of the current input stream (e.g. the current file if the command is read from a file on the SD card), or until a new M563 command of this form is executed. The purpose of this is to provide compatibility between the Duet firmware, in which tool numbers typically start at 1, and programs such as slic3r that assume tools are numbered from zero.<br />
<br />
Duet-zpl firmware allows the deletion of existing tools if M563 is called in this way:<br />
<br />
<pre><br />
M563 P1 D-1 H-1<br />
</pre><br />
<br />
==== M564: Limit axes ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M564 S0<br />
<br />
Allow moves outside the print volume, or not. If the S parameter is 0, then you can send G codes to drive the RepRap outside its normal working volume, and it will attempt to do so. User beware... If you set the S parameter to 1 then the RepRap will not think outside the box. The default behaviour is S = 1.<br />
<br />
==== M565: Set Z probe offset ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware= {{no}}: See G31 | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M565 X3 Y4.5 Z-2.37<br />
<br />
Set the offset from the extruder tip to the probe position. The X, Y and Z values are the delta between the extruder and the actual trigger position of the probe. If the probe trigger point is below the extruder (typical) the Z offset will be negative. This just records the point offset; it does not actually do the probing. See G32.<br />
<br />
==== M566: Set allowable instantaneous speed change ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M566 X20 Y20 Z2 E10<br />
<br />
Work around an algorithm limitation of some firmwares, which can't calculate step timings for a standing start. Teacup Firmware and Smoothieware don't have this limitation, so M566 is obsolete there.<br />
<br />
M566 sets the speeds in mm/minute that axes can do from a standing start. If an accelerating algorithm starts a move with a zero velocity on other firmwares and then accelerates from that, it can give problems when the zero initial velocity is used to calculate a timestep between stepper pulses at the beginning: the timestep ends up being infinite... So these systems have initial small velocities to start at. This sets them.<br />
<br />
The dc42 variant of RepRapFirmware doesn't have the limitation, but instead it uses this parameter to determine the maximum allowable speed change of each motor when cornering.<br />
<br />
==== M567: Set tool mix ratios ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M567 P2 E0.1:0.2:0.1:0.6<br />
<br />
The example sets the mix ratio for tool 2 (the P value). When mixing is then turned on (see M568), only single E values need to be sent on a G1 command (any extra E values will be ignored, but are not illegal):<br />
<br />
G1 X20 E1.3<br />
<br />
This will move to X=20 extruding a total length of filament of 1.3mm. The first drive of tool 2 will extrude 0.1*1.3mm, the second 0.2*1.3mm and so on. The ratios don't have to add up to 1.0 - the calculation done is as just described. But it is best if they do.<br />
<br />
See also M568.<br />
<br />
==== M568: Turn off/on tool mix ratios ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M568 P2 S0<br />
<br />
Turn on/off automatic mix ratios for tool 2. If the S parameter is 0 mixing is turned off; if it is non-zero it is turned on.<br />
<br />
After turning off command G1 instructions must send as many E values as the tool has drives:<br />
<br />
G1 X20 E0.2:0.4:0.166:0.3<br />
<br />
The off state is the default.<br />
<br />
==== M569: Set axis direction and enable values ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M569 P0 S1<br />
<br />
Set the control value for the drive specified by P that sends it forwards to the given value in the S field. After sending the example, sending a 1 to X (drive 0) will make it go forwards, sending a 0 will make it go backwards. Obviously to be used with extreme caution...<br />
<br />
Example: M569 P0 X0<br />
<br />
Assigns driver 0 to control the X0 motor. In place of X0 you can use Y0 Z0 E0 E1 E2 etc. to assign the driver to the corresponding motor. Supported in RepRapFirmware-dc42 versions 1.09i and later. Currently, only one driver can be allocated to each axis or extruder.<br />
<br />
Example: M569 P2 R0<br />
<br />
In the dcnewman fork of RepRapFirmware and versions 1.09i and later of the dc42 fork, sets the enable value -- logic level -- for the drive specified by P to the given value in the R field. Allowed R values are 0 or 1. With the above example, drive 2 is enabled by sending an enable value of 0. Sending an enable value of 1 will disable the drive.<br />
<br />
You can use any combination of S XYZE and R parameters in a single M569 command. Values not provided are left unchanged.<br />
<br />
==== M570: Set heater timeout ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M570 S120<br />
<br />
After a heater has been switched on, wait 120 seconds for it to get close to the set temperature. If it takes longer than this, flag a heater fault.<br />
<br />
==== M571: Set output on extrude ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M571 S0.5<br />
<br />
This turns an output on whenever extrusion is being done, and turns it off when the extrusion is finished. The output could control a fan or a stirrer or anything else that needs to work just when extrusion is happening. The S parameter sets the value of the PWM to the output. 0.0 is off; 1.0 is fully on.<br />
<br />
==== M572: Set or report extruder elasticity compensation ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M572 P3 S0.06<br />
<br />
This sets the pre-compensation time in seconds (S parameter) for Bowden extruder elasticity for the specified drive (P parameter). Supported by RepRapFirmware-dc42. Normally, compensation should be applied to extruder drives only (drives 3 and higher).<br />
<br />
Pre-compensation causes the extruder drive position to be increased by an additional amount proportional to the rate of extrusion. At the end of a move when the extrusion rate is decreasing, this may result in the extruder drive moving backwards (i.e. retracting). Therefore, if you enable this feature, you may need to reduce the amount of retraction you use in your slicing program to avoid over-retraction.<br />
<br />
==== M573: Report heater PWM ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M573 P1<br />
<br />
This gives a running average (usually taken over about five seconds) of the PWM to the heater specified by the P field. If you know the voltage of the supply and the resistance of the heater this allows you to work out the power going to the heater.<br />
<br />
==== M574: Set endstop configuration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M574 X1 Y2 Z0 S1<br />
<br />
This defines the type of endstop switch or opto sensor that the printer has for each axis: 0 = none, 1 = low end, 2 = high end. The optional S parameter defines whether the endstop input is active high (S1, the default) or low (S0). Intended for use with boards that provide a single endstop input for each axis that may be used for either a high or a low end endstop, such as the Duet. Supported by Duet-dc42 firmware. On delta printers, the XYZ parameters refer to the towers and the endstops should normally all be high end.<br />
<br />
==== M575: Set serial comms parameters ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M575 P1 B57600 S1<br />
<br />
This sets the communications parameters of the serial comms channel specified by the P parameter. P0 specifies the main serial interface (typically a USB port, or serial-over-USB), while P1 specifies an auxiliary serial port (for example, the port used to connect a PanelDue). The B parameter is the required baud rate (this parameter is typically ignored if the port is a true USB port). The S parameter is a bitmap of features. The lowest bit, if set, specifies that only commands that include a valid checksum should be accepted from this comms channel.<br />
<br />
==== M576: Set axis/extruder drive mapping ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|not yet}} | bfb={{no}} | machinekit={{no}} | makerbot={{no}} }}<br />
<br />
Example: M576 X0 Y1 Z2:3 A4 E5:6:7<br />
<br />
This maps each letter to the specified drive number(s). In this example the Z axis configuration consists of two motors that need to be controlled simultaneously. An extra axis 'A' is also defined for custom purposes (rotary nozzle, cutter tool etc.) while the remaining axes are mapped to extruder drives.<br />
<br />
See also M569, which also provides for setting the drive mapping.<br />
<br />
==== M577: Wait until endstop is triggered ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|Duet-zpl}} | bfb={{no}} | machinekit={{no}} | makerbot={{no}} }}<br />
<br />
Example: M577 E0 S1<br />
<br />
Wait for an endstop switch to be pressed. The example above will wait until the first extruder endstop is triggered.<br />
<br />
The following trigger types may be used using the 'S' parameter:<br />
<br />
0: Endstop not hit<br />
1: Low endstop hit<br />
2: High endstop hit<br />
3: Near endstop (only Z probe)<br />
<br />
==== M578: Fire inkjet bits ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} | makerbot={{no}} }}<br />
<br />
Example: M578 P3 S5<br />
<br />
This fires inkjet head 3 (the P field) using the bit pattern specified by the S field. The example shown would fire bits 101. If the P parameter is ommitted inkjet 0 is assumed.<br />
<br />
This is a version of the M700 command used by the [[Inkshield]], but unfortunately M700 is already taken so cannot be used for that in the standard.<br />
<br />
==== M579: Scale Cartesian axes ====<br />
<br />
Example: M579 X1.0 Y0.997 Z1.001<br />
<br />
On a Cartesian RepRap you can get prints exactly the right size by tweaking the axis steps/mm using the M92 G Code above. But this does not work so easily for Delta and other RepRaps for which there is cross-talk between the axes. This command allows you to adjust the X, Y, and Z axis scales directly. So, if you print a part for which the Y length should be 100mm and measure it and find that it is 100.3mm long then you set Y0.997 (= 100/100.3).<br />
<br />
==== M580: Select Roland ====<br />
<br />
Example: M580 R1 PVS4;!VZ2;!MC1;<br />
<br />
This is not really anything to do with RepRap, but it is convenient. The [http://www.rolanddg.com/product/3d/3d/mdx-20_15/mdx-20_15.html little Roland mills] are very widely available in hackerspaces and maker groups, but annoyingly they don't speak G Codes. As all RepRap firmware includes a G-Code interpreter, it is often easy to add functions to convert G Codes to [http://altlab.org/d/content/m/pangelo/ideas/rml_command_guide_en_v100.pdf Roland RML language]. M580 selects a Roland device for output if the R field is 1, and returns to native mode if the R field is 0. The optional P string is sent to the Roland if R is 1. It is permissible to call this repeatedly with R set to 1 and different strings in the P field to communicate directly with a Roland.<br />
<br />
<br />
==== M600: Set line cross section ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | bfb={{no}} | machinekit={{yes}} }}<br />
<br />
Example: M600 P0.061 <br />
<br />
Sets the cross section for a line to extrude in velocity extrusion mode. When the extruder is enabled and movement is executed the amount of extruded filament will be calculated to match the specified line cross section.<br />
<br />
==== M600: Filament change pause ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | reprapfirmware={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M600<br />
<br />
Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal].<br />
<br />
==== M605: Set dual x-carriage movement mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M605 S1<br />
<br />
Sets the dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ].<br />
<br />
M605 S0: Full control mode. The slicer has full control over x-carriage movement<br />
M605 S1: Auto-park mode. The inactive head will auto park/unpark without slicer involvement<br />
M605 S2 [Xnnn] [Rmmm]: Duplication mode. The second extruder will duplicate the first with nnn millimeters x-offset and an optional differential hotend temperature of mmm degrees. E.g., with "M605 S2 X100 R2" the second extruder will duplicate the first with a spacing of 100mm in the x direction and 2 degrees hotter.<br />
<br />
==== M665: Set delta configuration ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M665 L250 R160 S200 (Marlin), M665 L250 R160 B80 H240 X0 Y0 Z0 (RepRapFirmware-dc42)<br />
<br />
Set the delta calibration variables. L = diagonal rod length, R = delta radius. For Marlin: S = segments per second. For RepRapFirmware-dc42: B = safe printing radius, H = nozzle height above bed when homed after allowing for the endstop corrections; X, Y, Z = X, Y and Z tower angular offsets from the ideal (i.e.equilateral triangle) positions, in degrees, measured anti-clockwise looking down on the printer.<br />
<br />
: I don't think it's a good idea to have two different implementations for the same G-code, and I also question the practical value of specifying the print bed radius when defining a delta configuration, since many delta printers use a square or rectangular print bed. So perhaps we should stick to the Marlin-defined command as the definition for this command, and use a different command or set of commands to define print bed shape and size. --[[User:AndrewBCN|AndrewBCN]] ([[User talk:AndrewBCN|talk]]) 23:10, 31 January 2015 (PST)<br />
<br />
: The implementations are not different, they have the same L and R parameters, but each has additional parameters that are not relevant to the other implementation. I'm not against defining a new Gcode to define bed size and shape; however, you can already define the limits of a rectangular print area using M208. Even when a delta printer has a square bed, the printable area is not square. It is usually taken to be circular, although it is in reality more complicated. My purpose in adding the B parameter was to make it easy to define a radius outside which movement will not normally be attempted. I have changed "bed radius" to "safe printing radius" in the text to help clarify this. --[[User:dc42|dc42]]<br />
<br />
==== M666: Set delta endstop adjustment ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example M666 X-0.1 Y+0.2 Z0<br />
<br />
Sets delta endstops adjustments.<br />
<br />
==== M667: Select CoreXY mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | reprapfirmware={{partial|dc42}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
M667 S0 selects Cartesian mode (unless the printer is configured as a delta using the M665 command). Forward motion of the X motor moves the head in the +X direction. Similarly for the Y motor and Y axis, and the Z motor and Z axis. This is the default state of the firmware on power up.<br />
<br />
M667 S1 selects CoreXY mode. Forward movement of the X motor moves the head in the +X and +Y directions. Forward movement of the Y motor moves the head in the -X and +Y directions.<br />
<br />
M667 S2 selects CoreXZ mode. Forward movement of the X motor moves the head in the +X and +Z directions. Forward movement of the Z motor moves the head in the -X and +Z directions.<br />
<br />
M667 S3 selects CoreYZ mode. Forward movement of the Y motor moves the head in the +Y and +Z directions. Forward movement of the Z motor moves the head in the -Y and +Z directions.<br />
<br />
Additional parameters X, Y and Z may be given to specify factors to scale the motor movements by for the corresponding axes. For example, to specify a CoreXZ machine in which the Z axis moves 1/3 of the distance of the X axis for the same motor movement, use M667 S2 Z3. The default scaling factor after power up is 1.0 for all axes.<br />
<br />
To change the motor directions, see the M569 command.<br />
<br />
==== M700: Level plate ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{partial|bq}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
<sup>1</sup> only in bq-Marlin Firmware<br />
<br />
Example: M700<br />
<br />
Script to adjust the plate level.<br />
<br />
==== M701: Load filament ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{partial|bq}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
<sup>1</sup> only in bq-Marlin Firmware<br />
<br />
Example: M701<br />
<br />
==== M702: Unload filament====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{partial|bq}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
<sup>1</sup> only in bq-Marlin Firmware<br />
<br />
Example: M702<br />
<br />
==== M851: Set Z-Probe Offset ====<br />
<br />
{{firmware Support | marlin={{yes}} }}<br />
<br />
Sets the Z-Probe Offset saved in the EEPROM and this setting also works like M206 as well and this has priority over the z probe offset you set in marlin configuration.h setting<br />
<br />
Example: M851 Z-4<br />
<br />
The example above will set the z-probe offset EEPROM setting to -4mm below the nozzle and enables the nozzle travel 4mm lower than the probe triggered position. It is however, a good idea to keep the setting inside your configuration.h as well for your own future reference.<br />
<br />
This command appears on pronterface after marlin dev 1.1.0, it is unknown that this command can be used on marlin 1.0.0<br />
<br />
==== M906: Set motor currents ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie=M907? | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} | redeem={{yes}} }}<br />
<br />
Example: M906 X300 Y500 Z200 E350<br />
<br />
Sets the currents to send to the stepper motors for each axis. The values are in milliamps.<br />
<br />
The dc42 fork of RepRapFirmware supports an additional I parameter. This is the percentage of normal that the motor currents should be reduced to when the printer becomes idle but the motors have not been switched off.<br />
<br />
==== M907: Set digital trimpot motor ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | smoothie={{yes}} | repetier={{no}} | bfb={{no}} | machinekit={{no}} | redeem={{yes}} }}<br />
<br />
Set digital trimpot motor current using axis codes (X, Y, Z, E, B, S).<br />
In [https://bitbucket.org/intelligentagent/redeem/src/6153607ded91c100fb4e41e936e6d045e19eda29/redeem/gcodes/M907.py?at=slave_stepper Redeem], it sets the current in A (where M906 does in mA).<br />
<br />
==== M908: Control digital trimpot directly ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}}: 0.92 | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
M908 P<pin> S<current><br />
<br />
==== M909: Set microstepping ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | redeem={{yes}} }}<br />
<br />
Example: M909 X3 Y5 Z2 E3<br />
<br />
Set the microstepping value for each of the steppers. <br />
In [[Redeem]] this is implemented as 2^value, so <br><br />
M909 X2 sets microstepping on X-axis to 2^2 = 4, <BR><br />
M909 Y3 sets microstepping on Y-axis to 2^3 = 8 etc.<br />
<br />
==== M910: Set decay mode ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | redeem={{yes}} }}<br />
<br />
Example: M910 X3 Y5 Z2 E3<br />
<br />
Set the decay mode for each stepper controller<br />
The decay mode controls how the current is reduced and recycled by the H-bridge in the stepper motor controller. <br />
It varies how the implementations are done in silicone between controllers. Typically you have an on phase where the current flows in the <br />
target current, then an off phase where the current is reversed and then a slow decay phase where the current is recycled.<br />
<br />
==== M928: Start SD logging ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M928 filename.g<br />
<br />
Ended by M29.<br />
<br />
==== M998: Request resend of line ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{no}} | repetier={{no}} | smoothie={{no}} | bfb={{no}} | machinekit={{no}} | reprapfirmware={{yes}} }}<br />
<br />
Example: M998 P34<br />
<br />
Request a resend of line 34. In some implementations the input-handling code overwrites the incoming G Code with this when it detects, for example, a checksum error.<br />
Then it leaves it up to the GCode interpreter actually to request the resend.<br />
<br />
==== M999: Restart after being stopped by error ====<br />
<br />
{{firmware Support | fived={{no}} | teacup={{no}} | sprinter={{no}} | marlin={{yes}} | repetier={{no}} | smoothie={{yes}} | reprapfirmware={{yes}} | bfb={{no}} | machinekit={{no}} }}<br />
<br />
Example: M999<br />
<br />
The dc42 fork of RepRapFirmware not only resets the board but also puts the board into firmware upload mode if parameter PERASE is present.<br />
<br />
== Other commands ==<br />
<br />
==== G: List all G-codes ====<br />
<br />
{{firmware Support | reprapfirmware={{no}} }}<br />
<br />
Example: G<br />
<br />
This lists all implemeted G-codes in the firmware with description and sends it back to the host.<br><br />
(Note: this has been implemented in [[Redeem]], and so is only a proposition)<br />
<br />
==== M: List all M-codes ====<br />
<br />
{{firmware Support | }}<br />
<br />
Example: M<br />
<br />
This lists all implemeted M-codes in the firmware with description and sends it back to the host.<br><br />
(Note: this has been implemented in [[Redeem]], and so is only a proposition)<br />
<br />
==== T: Select Tool ====<br />
<br />
{{firmware Support | fived={{yes}} | teacup={{yes}} | sprinter={{no}} | marlin={{yes}} | repetier={{yes}} | smoothie={{yes}} | reprapfirmware={{yes}} }}<br />
<br />
Example: T1<br />
<br />
Select tool (or in older implementations extruder) number 1 to build with. <br />
<br />
The sequence followed is:<br />
<br />
# Set the current tool to its standby temperatures specified by G10 (see above),<br />
# Set the new tool to its operating temperatures specified by G10 and wait for '''all''' temperatures to stabilise,<br />
# Apply any X, Y, Z offset for the new tool specified by G10,<br />
# Use the new tool.<br />
<br />
Selecting a non-existent tool (100, say) just does Step 1. above. That is to say it leaves all tools in their standby state. You can, of course, use the G10 command beforehand to set that standby temperature to anything you like.<br />
<br />
Note that you may wish to move to a parking position ''before'' executing a T command in order to allow the new extruder to reach temperature while not in contact with the print. It is acceptable for the firmware to apply a small offset [by convention (-1mm x tool-number) in Y] to the current position when the above sequence is entered to allow temperature changes to take effect just away from the parking position. Any such offset must, of course, be undone when the procedure finishes.<br />
<br />
If the Z value changes in the offsets and the tool moves up, then the Z move is made before the X and Y moves. If Z moves down, X and Y are done first.<br />
<br />
Some implementations (e.g. RepRapFirmware) allow you to specify tool-change G Code macros. There are normally three specified (any of which can contain no commands if desired) that execute in this order:<br />
<br />
# Actions to do with the old tool before it is released - macro name: '''tfreeN.g''' where N is the tool number;<br />
# (Old tool is released);<br />
# Actions to do with the new tool before it is selected - macro name: '''tpreN.g''' where N is the tool number; <br />
# (New tool is selected); and<br />
# Actions to do with the new tool after it is selected - macro name: '''tpostN.g''' where N is the tool number.<br />
<br />
With such implementations there is no wait for temperature stabilisation. That can be achieved by an M116 in any of the macros, of course. <br />
<br />
After a reset tools will not start heating until they are selected. You can either put them all at their standby temperature by selecting them in turn, or leave them off so they only come on if/when you first use them. The M0, M1 and M112 commands turn them all off. You can, of course, turn them all off with the M1 command, then turn some back on again. Don't forget also to turn on the heated bed (if any) if you use that trick.<br />
<br />
Tool numbering may start at 0 or 1, depending on the implementation. Some implementations (those that use the M563 command to define tools) allow the user to specify tool numbers, so with them you can have tools 17, 99 and 203 if you want. Negative numbers are not allowed.<br />
<br />
== Proposed EEPROM configuration codes ==<br />
<br />
BRIEFLY: each RepRap has a number of physical parameters that should be persistent, but easily configurable, such as extrusion steps/mm, various max values, etc. Those parameters are currently hardcoded in the firmware, so that a user has to modify, recompile and re-flash the firmware for any adjustments. These configs can be stored in MCU's EEPROM and modified via some M-codes. Please see the detailed proposal at [[M-codes for EEPROM config]]. (''This is proposed by --[[User:AlexRa|AlexRa]] on 11-March-2011. There is currently no working implementation of the proposed commands'').<br />
<br />
[[Marlin]] uses codes M500-M503 to manipulate EEPROM values.<br />
<br />
[[Sprinter]] has implemented the following commands to manipulate EEPROM [https://github.com/kliment/Sprinter/commit/4b1b0f1d96d2be2ed3941095f40a5c2d2bbb943d Commit message].<br />
<br />
[[Teacup]] uses codes M130-M136 to set, read, and save some parameters.<br />
<br />
== Replies from the RepRap machine to the host computer ==<br />
<br />
All communication is in printable ASCII characters. Messages sent back<br />
to the host computer are terminated by a newline and look like this:<br />
<br />
'''xx [line number to resend] [T:93.2 B:22.9] [C: X:9.2 Y:125.4 Z:3.7 E:1902.5] [Some debugging or other information may be here]'''<br />
<br />
'''xx''' can be one of:<br />
<br />
'''ok'''<br />
<br />
'''rs'''<br />
<br />
'''<nowiki>!!</nowiki>'''<br />
<br />
'''ok''' means that no error has been detected.<br />
<br />
'''rs''' means resend, and is followed by the line number to resend.<br />
<br />
'''<nowiki>!!</nowiki>''' means that a hardware fault has been detected. The RepRap machine will<br />
shut down immediately after it has sent this message.<br />
<br />
The '''T:''' and '''B:''' values are the temperature of the currently-selected extruder <br />
and the bed respectively, and are only sent in response to M105. If such temperatures don't exist (for example for an extruder that works at room temperature and doesn't have a sensor) then a value below absolute zero (-273<sup>o</sup>C) is returned.<br />
<br />
'''C:''' means that coordinates follow. Those are the '''X: Y:''' etc values. These are only <br />
sent in response to M114 and M117.<br />
<br />
The RepRap machine may also send lines that look like this:<br />
<br />
'''// This is some debugging or other information on a line on its own. It may be sent at any time. '''<br />
<br />
Such lines will always be preceded by '''//'''.<br />
<br />
On the latest version of Pronterface and soon Octoprint a special comment of the form:<br />
<br />
'''// action:command'''<br />
<br />
is allowed to be sent from the firmware, the command can currently be pause, resume or disconnect which will execute those commands on the host.<br />
As this is also a comment other hosts will just ignore these commands.<br />
<br />
The most common response is simply:<br />
<br />
'''ok''' <br />
<br />
When the machine boots up it sends the string<br />
<br />
'''start'''<br />
<br />
once to the host before sending anything else. This should not be replaced or augmented<br />
by version numbers and the like. M115 (see above) requests those.<br />
<br />
All this means that every line sent by RepRap to the host computer except the start line has a two-character prefix (one of '''ok''', '''rs''', '''<nowiki>!!</nowiki>''' or '''//'''). The machine should never send a line without such a prefix.<br />
<br />
<br />
'''Exceptions''': <br />
<br />
1. Marlin 1.0.0 Gen6 Firmware does not follow the two character rule. 'rs' is actually 'Resend' and '!!' is 'Error'.<br />
Example Lines:<br />
* Error: Line Number is not current line + 1. Last Line: 7<br />
* Resend: 8<br />
* Writing to File: print.gco<br />
* Done saving file.<br />
* File opened:print.gco Size:22992<br />
* File selected<br />
<br />
When in the code base did this change take place and what other firmwares are affected?<br />
<br />
2. The dc42 fork of RepRapFirmware responds to some commands with a reply string in JSON format, terminated by a newline. This allows later firmware revisions to include additional information without confusing clients (e.g. PanelDue) that do not expect it, and to make responses self-describing so that the client will not be confused if responses are delayed or lost. The commands affected are:<br />
* M105 S2<br />
* M105 S3<br />
* M20 S2<br />
* M36<br />
* M408<br />
<br />
== Proposal for sending multiple lines of G-code ==<br />
<br />
So far, this is a proposal, open for discussion.<br />
<br />
==== Problem to solve ====<br />
<br />
When using Marlin firmware or emulating Marlin, each line of G-code sent from the host to the controller is answered with an '''ok''' before the next line can be sent without locking communications up. This slows down communication and limits the number of commands that can be sent per second to the printer controller, as the USB stack on the host and the serial interface driver on the Arduino add their own latencies (up to 10&nbsp;milliseconds). This is not a problem for other controller electronics using native USB such as the Duet, because the standard serial-over-USB drivers provide flow control, so the host software can be configured so as not to wait for the '''ok'''.<br />
<br />
For more details on this proposal, some suggested solutions and comments, please see [[GCODE_buffer_multiline_proposal]]<br />
<br />
== Alternatives to G-code ==<br />
: ''Main article: [[Firmware/Alternative#alternatives to G-code]]''<br />
<br />
Several people have suggested using STEP-NC or some other control language;<br />
or perhaps designing a completely new control language.<br />
<br />
[[Category:G-code| ]]<br />
[[Category:Firmware]]<br />
[[Category:Software]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=153549Icepick Delta2015-08-26T04:18:01Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = experimental<br />
|image = Icepick_Delta_beta.jpg<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = {{tag | Delta}}<br />
|cadModel = [https://github.com/TTN-/IcePick-Delta Github]<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball (who has left development).<br />
<br />
Firmware can be found on [https://github.com/TTN-/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts are open-source.<br />
<br />
[more will be added to this page .. eventually .. maybe]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=CNC_Gcode_controller&diff=149029CNC Gcode controller2015-05-24T04:21:15Z<p>Funny bananas: fixed typo</p>
<hr />
<div>If you use a reprap Controller (like Marlin ..) for a CNC machine then this is your Program ;-)<br />
<br />
Features:<br />
* Communication with the Controller over com port<br />
* Basic movements with preview<br />
* Loading cnc files<br />
* Preview of cnc file<br />
* '''Autoleveling''' (at this point only for Marlin firmware because of hit endstop message)<br />
* '''Optimise''' G0 movements<br />
* Most commonly used Gcodes are translated for a '''Reprap Controller''' (Tested with Marlin)<br />
* '''Backlash''' correction<br />
<br />
[https://github.com/pknoe3lh/cncgcodecontroller/releases Download here]<br />
<br />
<br />
<br />
{| width="90%" align="center"<br />
| align="center" | [[File:CNCController2.png | 500px]]<br />
|-<br />
| align="center" | [[File:CNCController3.png | 500px]]<br />
|-<br />
| align="center" | [[File:CNCController.png | 500px]]<br />
|}<br />
<br />
<br />
<br />
[[Category:software]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=CNC_Gcode_controller&diff=149028CNC Gcode controller2015-05-24T04:20:37Z<p>Funny bananas: fixed typo</p>
<hr />
<div>If you use a reprap Controller (like Marlin ..) for a CNC machine then this is your Program ;-)<br />
<br />
Features:<br />
* Communication with the Controller over comport<br />
* Basic movements with preview<br />
* Loading cnc files<br />
* Perview of cnc file<br />
* '''Autoleveling''' (at this point only for Marlin firmware because of hit endstop message)<br />
* '''Optimise''' G0 movements<br />
* Most commonly used Gcodes are translated for a '''Reprap Controller''' (Tested with Marlin)<br />
* '''Backlash''' correction<br />
<br />
[https://github.com/pknoe3lh/cncgcodecontroller/releases Download here]<br />
<br />
<br />
<br />
{| width="90%" align="center"<br />
| align="center" | [[File:CNCController2.png | 500px]]<br />
|-<br />
| align="center" | [[File:CNCController3.png | 500px]]<br />
|-<br />
| align="center" | [[File:CNCController.png | 500px]]<br />
|}<br />
<br />
<br />
<br />
[[Category:software]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=GUS_Simpson_electronics_and_calibration&diff=147736GUS Simpson electronics and calibration2015-04-20T11:14:11Z<p>Funny bananas: fixed incorrect grammar in sentences</p>
<hr />
<div><center><br />
<br />
[[GUS Simpson|Introduction]] |<br />
[[GUS Simpson bill of materials|Bill of materials]] |<br />
[[GUS Simpson assembly|Assembly]] |<br />
[[GUS Simpson electronics and calibration|Electronics and calibration]]<br />
<br />
</center><br />
<br />
=== Introduction ===<br />
<br />
GUS Simpson has no firmware yet. In order to get it working a [https://github.com/NicholasSeward/ConceptFORGE/blob/master/GUS%20Simpson/GCODE%20PREPROCESSOR/simpson%20segmentize.py gcode preprocessor] is used, while GUS being configured as a dummy cartesian printer. Be aware that sending a cartesian gcode on the GUS may harm the device, and never would give any results. While you can use pretty much any firmware capable of running cartesian printer, a [Repetier] is suggested.<br />
<br />
=== Configuring the firmware ===<br />
<br />
Start by configuring the firmware. Most firmwares comes with default settings for X, Y and Z axis. You will need to configure the firmware so the X, Y and Z motors have the same settings. Do not configure steps/mm just yet, give it placeholder value, you will need to change it later. <br />
Here is an example [Repetier] [http://forum.conceptforge.org/viewtopic.php?f=6&t=97 configuration].<br />
<br />
=== Calibrating steps/mm ===<br />
<br />
It is very important you do this right. You will need a calipers capable of measuring at least 300mm. <br />
<br />
# While having placeholder values for steps/mm, detach the arm you about to calibrate from the hub.<br />
# Home all the axis.<br />
# Make sure eccentrics are fixed solid.<br />
# Home all the axis again.<br />
# Measure bolt to bolt distance on the ends of the arm with the calipers and write it down.<br />
# Close the arms as much as possible and write down software coordinates of the arms. Make sure there were no skipped steps.<br />
# Measure bolt to bolt distance again, write down the value.<br />
# Calculate new steps/mm value: A * S/(Max- Min), where A is the old steps/mm value, S is software coordinate and Max and Min are bolt to bolt distances.<br />
# Place new values in the firmware.<br />
# Repeat, until you have the same value after calculation.<br />
<br />
=== Calibrating segmentize ===<br />
<br />
When you have steps/mm figured out you should add some points to segmentize. Open the script in text editor and find the POINTS array.<br />
You should fill it with at least 6 points where the extruder barely touches the bed. You should be able to slide a piece of paper between the nozzle and the bed with no dragging.<br />
Once done the segmentize should be ready for printing.<br />
<br />
[[Category:GUS Simpson]]<br />
[[Category:Calibration]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=GUS_Simpson_electronics_and_calibration&diff=147735GUS Simpson electronics and calibration2015-04-20T11:11:27Z<p>Funny bananas: fixed typos</p>
<hr />
<div><center><br />
<br />
[[GUS Simpson|Introduction]] |<br />
[[GUS Simpson bill of materials|Bill of materials]] |<br />
[[GUS Simpson assembly|Assembly]] |<br />
[[GUS Simpson electronics and calibration|Electronics and calibration]]<br />
<br />
</center><br />
<br />
=== Introduction ===<br />
<br />
GUS Simpson has no firmware yet. In order to get it working a [https://github.com/NicholasSeward/ConceptFORGE/blob/master/GUS%20Simpson/GCODE%20PREPROCESSOR/simpson%20segmentize.py gcode preprocessor] is used, while GUS being configured as a dummy cartesian printer. Be aware that sending a cartesian gcode on the GUS may harm the device, and never would give any results. While you can use pretty much any firmware capable of running cartesian printer, a [Repetier] is suggested.<br />
<br />
=== Configuring the firmware ===<br />
<br />
Start by configuring the firmware. Most firmwares comes with default settings for X, Y and Z axis. You need to configure the firmware so the X, Y and Z motors would have the same settings. Do not configure steps/mm just yet, give it placeholder value, you would have to change it later. <br />
Here is an example [Repetier] [http://forum.conceptforge.org/viewtopic.php?f=6&t=97 configuration].<br />
<br />
=== Calibrating steps/mm ===<br />
<br />
It is very important you do this right. You would need a caliper capable of measuring at least 300mm. <br />
<br />
# While having placeholder values for steps/mm detach the arm you about to calibrate from the hub.<br />
# Home all the axis.<br />
# Make sure eccentrics are fixed solidly.<br />
# Home all the axis again.<br />
# Measure bolt to bolt distance on the ends of the arm with the caliper and write it down.<br />
# Close the arms as much as possible and write down software coordinates of the arms. Make sure there was no skipped steps.<br />
# Measure bolt to bolt distance again, write down the value.<br />
# Calculate new steps/mm value: A * S/(Max- Min), where A is the old steps/mm value, S is software coordinate and Max and Min are bolt to bolt distances.<br />
# Place new values in the firmware.<br />
# Repeat, until you have the same value after calculation.<br />
<br />
=== Calibrating segmentize ===<br />
<br />
When you have steps/mm figured out you should add some points to segmentize. Open the script in text editor and find the POINTS array.<br />
You should fill it with at least 6 points where the extruder barely touches the bed. You should be able to slide a piece of paper between the nozzle and the bed with no dragging.<br />
Once done the segmentize should be ready for printing.<br />
<br />
[[Category:GUS Simpson]]<br />
[[Category:Calibration]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=PC_Power_Supply&diff=144177PC Power Supply2015-02-07T00:17:57Z<p>Funny bananas: /* Base Load */</p>
<hr />
<div>{{Languages|PC Power Supply}}<br />
<br />
[[Power supplies]] (PSUs) built for commodity PCs, typically ATX PSUs, are pretty convenient for supplying RepRap printers and their controllers. They're affordable, made for supplying electronics and can often be salvaged from old PCs. Here we describe on how simple it's to use them, or what to do if it's not entirely trivial.<br />
<br />
<br />
== Safety ==<br />
<br />
Generally, power supplies built into PCs are reasonably safe, even when used outside a PC. They have good overload and overheat protection built in. No high voltage parts touchable unless you open the housing. Still, following a few simple rules is a good idea:<br />
<br />
* Don't risk spilling fluids into it. A PSU is not the right place to place your coffee cup onto.<br />
* Don't risk metal parts, like screw drivers, falling into it through the venting holes, either.<br />
* Don't open the housing unless absolutely neccessary.<br />
* If you think you have to open the housing, think twice. In almost all cases it's ''not'' needed. If you still think you need to do so, disconnect the mains cable and wait at least 10&nbsp;minutes. There are high voltage capacitors inside which discharge slowly.<br />
* Fully close the housing before connecting mains again.<br />
<br />
== Electronics prepared for PC Power Supplies ==<br />
<br />
[[File:Gen7_ATX20_in_ATX24.jpeg | 300px | right]]<br />
Some RepRap electronics are already prepared to be used with PC power supplies units (PSUs). There you can plug connectors already fitted to the PSU's cables directly into the RepRap board, no modification or opening of the unit required.<br />
<br />
The picture shows a PC PSU with 20&nbsp;pin ATX connector into an electronics with ATX24 header as an example. Any combination of ATX20 and ATX24 headers and connectors work.<br />
{{Clear}}<br />
<br />
==== Base Load ====<br />
<br />
[[File:12V halogen as 5V base load.jpeg | 300px | right]]<br />
Some ATX PSUs (not all) require a minimum load on the 5&nbsp;V rail to work properly. Whether your ATX PSU requires a base load or not has to be tried. A symptom of this problem is that the PSU will simply refuse to turn on, it immediately shuts down after being turned on or emits a clearly audible high pitch whine, all unless there is a minimum load on the +5&nbsp;V rail. Connecting a 4.7&nbsp;ohms 10&nbsp;W resistor, an old CD drive or a 12&nbsp;V light bulb (into the 5&nbsp;V rail, see picture) are well proven methods to generate this "dummy" load. In one case, the load had to be applied to the 5v standby wire (purple) to ground rather than directly to the 5v rail to ground before the power supply would function properly.<br />
<br />
See also [[#Technical Details]].<br />
{{Clear}}<br />
<br />
==== List of PC-PSU enabled electronics ====<br />
<br />
* [[Generation 7 Electronics]]<br />
* [[Generation 3 Electronics]]<br />
{{Clear}}<br />
<br />
== Required Minimum Specifications ==<br />
<br />
This one is a bit tricky, as some PSUs with identical specifications work better than others. Some voltage regulators inside the PSU apparently have no trouble delivering 120 watts to a temperature controlled heated bed, others need to be oversized. With temperature control, the bed is turned on and off at a very quick rate, also known as pulse width modulation (PWM).<br />
<br />
* 12V @ 5A for 5 steppers<br />
* 12V @ 2A for a 22W hotend heater (e.g.: [[J_Head_Nozzle#Heater_Resistor]]) (or more for a [[J_Head_Nozzle#Ceramic_Heater_Cartridge|Ceramic_Heater_Cartridge]])<br />
* 12V @ 10A for a 120W [[heated bed]] or [[PCB_Heatbed]]<br />
* 5V @ < 1A for [[List_of_electronics|electronics]], however some electronics generate their own logic power from their 12V inputs.<br />
* 5V @ 0 to 2A for [[Balancing_ATX_Supplies]] or providing a [[#Base_Load]]. See [[#Troubleshooting]] if needed.<br />
<br />
In the RepRap forum you can find a number of [http://forums.reprap.org/read.php?13,121279 power supply experience reports]. The 5V rail is always oversized (which doesn't matter), attention should be on the 12V rail's capabilities.<br />
<br />
== Modifying a PC Power Supply for general (RepRap) Usage ==<br />
<br />
This is required for cases where your electronics is not prepared to use unmodified ATX PSUs. It can be as simple as snipping off connectors.<br />
<br />
==== Turning the supply on ====<br />
<br />
After plugging in an ATX PSU into mains electricity and turning on a possible mains switch, there's still no voltage on most of the rails: the PSU is in standby mode, where only the +5&nbsp;V&nbsp;Standby rail on the 20/24 pole connector is on.<br />
<br />
To bring the PSU out of standby mode and get voltages on all rails as well as a rotating cooling fan (this is called ''softstart'', btw), you have to bridge PS&nbsp;ON (green wire) to ground (one of the black wires). A bent paperclip is sufficient for testing purposes, but you'll have to add a proper switch for normal use.<br />
<br />
RepRap controllers prepared for ATX PSUs have the required circuitry to softstart the ATX PSU and do not require any additional switches.<br />
<br />
==== Wiring the supply ====<br />
<br />
[[image:PCPowerSupply-power-supply.JPG|thumb]]<br />
<br />
There are three types of PC power supply you will commonly encounter. Notes for using each are provided here.<br />
<br />
You generally only need to connect a wire from black (ground) and yellow (+12&nbsp;V) to the RepRap. To supply higher current, it is a good idea to connect several of the black wires together to provide ground and several of the yellow wires together.<br />
{{Clear}}<br />
<br />
==== Color coding ====<br />
<br />
[[image:PCPowerSupply-atx-pinouts.gif|thumb]]<br />
<br />
The color coding is universal amongst all of the power supplies:<br />
<br />
* Black: Ground<br />
* Red: +5V<br />
* Yellow: 12V<br />
* Orange: +3.3V<br />
* White: -5V (not present on some new supplies)<br />
* Blue: -12V<br />
* Gray: power on indicator<br />
* Purple: +5V standby power output (not needed for RepRap)<br />
* Green: PS_ON power on input.<br />
{{Clear}}<br />
<br />
== Technical Details ==<br />
<br />
==== Minimum Load ====<br />
<br />
'''Minimum load''' is one of the possible reasons for the '''[[#Base Load | base load]]''' requirement. It depends on whether or not your PSU has an underload protection circuit and how this circuit is configured. If even tiny loads on the 12&nbsp;V rail without a proper load on the +5&nbsp;V rail cause the PSU to shutdown, some base load (approx. 1&nbsp;A) is required.<br />
<br />
It also brings in an inconvenience: some electrical energy just gets wasted as heat.<br />
<br />
==== Balanced Load ====<br />
<br />
Requirement for a '''balanced load''' is another possible reason for a '''[[#Base Load | base load]]''' requirement. Similarly to the minimum load requirement above, some older ATX PSUs require a load on their +5&nbsp;V and/or +3.3&nbsp;V rails to balance the load on the +12&nbsp;V rail and function properly. A common symptom of this problem is that the unbalanced coils of the +5&nbsp;V and +3.3&nbsp;V rails will emit a clearly audible high pitch whine as soon as the +12&nbsp;V rails is loaded, and the voltage on the +12&nbsp;V rail will suffer from poor regulation. Possible balancing loads are the same as the ones to provide a minimum load (see above), but may fail to completely eliminate the high pitch whine, and in some cases it is better to just try another more modern ATX PSU. ATX PSUs which are specified as "Haswell ready" should never have this problem.<br />
<br />
<br />
== AT Power Supply ==<br />
<br />
[[image:PCPowerSupply-at-power-connector.jpg|thumb]]<br />
<br />
These are the older of the power supplies. They have two 6-pin keyed single-inline connectors that plug into the motherboard right next to each other.<br />
<br />
No special requirements are needed to make these work. These are the easiest to use.<br />
<br />
Very old AT supplies (and other switching supplies of the early 90s) may mandatory need an external load (see above) - without an external load they'll kill themselves after some 10s. Short background: Without a load the swing didn't start and that killed internal components shortly.<br />
<br />
<br clear="all"/><br />
<br />
== "Classic" ATX Power Supply ==<br />
<br />
[[image:PCPowerSupply-atx-power-connector.jpg|thumb]]<br />
<br />
These power supplies can be identified by having a 20 pin dual-inline keyed molex connector that plugs into the motherboard.<br />
<br />
To make these supplies work, you need to wire the green wire of the motherboard connector to one of the black wires so that it will turn on when you supply power. Alternatively, connect a switch between the green wire and a black wire, and this will be your main RepRap power switch.<br />
<br />
The 3.3V sense wire needs to be connected to +3.3V. This is a brown or orange wire in pin 11 of the connector. It should be connected to 3.3V (orange).<br />
<br />
<br clear="all"/><br />
<br />
=== Pinouts ===<br />
<br />
<br />
<br />
Most connectors have pin numbers on the top, but if not, when viewed from above with the key pointing downwards, pin 1 is in the top left. The number proceeds left to right across the top (pins 1 to 10) and then left to right across the bottom (pins 11 to 20).<br />
<br />
01 +3.3V (orange)<br />
02 +3.3V (orange)<br />
03 Ground (black)<br />
04 +5Vdc (red)<br />
05 Ground (black)<br />
06 +5Vdc (red)<br />
07 Ground (black)<br />
08 PWR-OK (gray)<br />
09 +5V VSB standby Voltage (purple). 10mA max.<br />
10 +12V (yellow)<br />
11 +3.3V (orange, brown is 3.3Vdc sense)<br />
12 -12V (blue)<br />
13 Ground (black)<br />
14 PS-ON (green). Active low control input. Connect to ground to turn supply on. <br />
15 Ground (black)<br />
16 Ground (black)<br />
17 Ground (black)<br />
18 -5V (white)<br />
19 +5V (red)<br />
20 +5V (red)<br />
<br />
[[image:PCPowerSupply-atx-highpower-connector.jpg|thumb]]<br />
<br />
<br />
ATX supplies usually also come with a high current 12V output that terminates with a 2x2 keyed connector for the CPU. You may want to use this output instead.<br />
<br />
''note:'' The CPU power connector is usually connected to the power supply's second rail while the main(motherboard) connector usually has rail 1 power.<br />
<br />
<br clear="all"/><br />
<br />
== ATX 2 Power Supply ==<br />
<br />
[[image:PCPowerSupply-atx24pin-power-connector.jpg|thumb]]<br />
<br />
These power supplies can be identified by having a 24 pin dual-inline keyed connector that plugs into the motherboard. Note that the numbering on the connector may vary; on some, they are numbered straight 1-24, on others the original 20 are numbered, then the additional 4 are numbered separately. The instructions below assume the 1-24 numbering.<br />
<br />
As with the ATX power supplies, the sense wire needs to be connected. This is the green one, pin 16, and it has to be connected to one of the black ones (ground), usually pin 15.<br />
<br />
There may also be additional sense wires that need to be connected to the corresponding voltage. These are usually thinner wires, and should be connected to a wire of the same colour that they are connected to in the connector assembly. A common one is pin 13 (orange or brown) to 3.3V (orange).<br />
<br />
<br clear="all"/><br />
<br />
=== Pinouts ===<br />
<br />
01 +3.3V (orange)<br />
02 +3.3V (orange)<br />
03 Ground (black)<br />
04 +5Vdc (red)<br />
05 Ground (black)<br />
06 +5Vdc (red)<br />
07 Ground (black)<br />
08 PWR-OK (gray)<br />
09 +5V VSB standby Voltage (purple)<br />
10 +12V (yellow)<br />
11 +12V (yellow)<br />
12 +3.3V (orange, brown is 3.3Vdc sense)<br />
13 +3.3V<br />
14 -12V (blue)<br />
15 Ground (black)<br />
16 PS-ON (green)<br />
17 Ground (black)<br />
18 Ground (black)<br />
19 Ground (black)<br />
20 -5V (white)<br />
21 +5V (red)<br />
22 +5V (red)<br />
23 +5V (red)<br />
24 Ground (black)<br />
<br />
== Troubleshooting ==<br />
<br />
Some power supplies need a load in order to turn on. So without the reprap connected, it may not appear to start up. If you want to test prior to connecting, you may need to put some kind of load on the output first (eg a light bulb or resistor). In fact you may need a larger load on the 5V line than is recommended below. See [[Balancing_ATX_Supplies]].<br />
<br />
=== Voltage Sensing ===<br />
<br />
The +3.3 VDC remote sensing wire (brown or orange) is connected directly to the orange +3.3 VDC at pin 11 of the power connector (pin 13 if a 2x12). The sense wire will usually be of a lighter gauge (22 AWG) than the power wires (16 or 18 AWG) and its purpose is to monitor the voltage at the connector in order to provide feedback for voltage compensation by the supply. The voltage at the connector needs to be monitored because of the high currents that are used for the 3.3V rail by the motherboard.<br />
<br />
If your PSU has two wires attached to the same pin on the motherboard power connector, orange +3.3 VDC and a brown sense wire on Pin 11 for example, then these two wires should be joined when you make your conversion. Some power supplies may also have sense wires running to the +5 VDC and +12 VDC connector pins. If there are multiple sense wires, then they will usually be of the same color as the primary supply wire, but of a lighter wire gauge. These sense wires will also terminate in a different location on the PSU printed circuit board than the heavier supply lines. As with the +3.3 sense wire, these additional wires should also be connected to the corresponding supply lines.<br />
<br />
-- Main.SimonMcAuliffe - 01 Jul 2006<br />
<br />
Updating this information to 2014: new ATX PSUs usually have a single sense wire for the 3.3V rail, and it is used only to adjust the 3.3V rail voltage i.e. it is entirely irrelevant for RepRap use. Also modern ATX motherboards use much smaller currents from the 3.3V rail than older motherboards (from the e.g. Pentium IV era).<br />
<br />
== Converting an ATX PSU to a RepRap power supply ==<br />
<br />
First, please note that there is absolutely nothing to convert or modify if you are using one of the "ATX PSU Ready" controller electronics, such as the [[Generation 7 Electronics]]. But you can still take a look at the [[Choosing_a_Power_Supply_for_your_RepRap#What_to_look_for_in_an_ATX_PSU_for_your_RepRap_project|What to look for in an ATX PSU for your RepRap project]] recommendations if you are going to buy a new ATX PSU for your RepRap project.<br />
<br />
If you have another type of electronics (e.g. the Arduino Mega 2560 + Ramps 1.4 combo), please take a look at the page [[Choosing_a_Power_Supply_for_your_RepRap]] in this Wiki and scroll down to the section '''''Ten Quick Steps to Modifying an Inexpensive ATX PSU for RepRap Use - with pictures!'''''<br />
<br />
Some outdated instructions for doing a vaguely similar conversion can be found here:<br />
<br />
[http://wiki.ehow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply]<br />
<br />
==The Duct Tape Method==<br />
As discussed [http://forums.reprap.org/read.php?13,49598,49653#msg-49653 here.]<br />
<br />
To prevent the inevitable trip over loose wires, it's a good idea to make your wiring more permanent once you have confirmed the power supply (PSU) to work. This is one way of doing so.<br />
<br />
[[Image:duck_tape_psu.jpg|100px|thumb|When in doubt, use [[duct tape]].]]<br />
*Design features.<br />
**Duct tape to avoid any potential hooking of wires, and to secure the switch. Don't tape the air intakes shut, as air flow is needed.<br />
**A big kill switch for easy access.<br />
**The fan on this 250w PSU is very quiet, so a LED was added to show power on.<br />
**Unused wires are spared and kept in a box on the side, if they are to be used later. If you know you don't want them, you can cut them off to make it even neater, just remember to insulate the ends to avoid short circuits.<br />
**Easy connection to the reprap by the original molex connector.<br />
**A cable tie holds the molex connector to avoid ripping wires when unplugging.<br />
<br />
[[Image:duck_tape_psu_wiring.jpg|100px|thumb|Dual switch wiring schematic]]<br />
*Wiring<br />
**PS_ON to GND turns the PSU on; PS_ON ungrounded turns it off.<br />
**The cut to the 12v line will turn the power off a few insignificant milliseconds faster as some charge is held in the capacitors of the PSU. But if you don't have a dual / ground switch you really want to use, you can just as well leave the 12v line be.<br />
**If you have a female molex connector around, you can use the molex connector on the PSU directly for easy connection on and off.<br />
**Remember to test the construction and outputs with a voltmeter ''before'' you connect it to your RepRap!<br />
<br />
*Other ideas<br />
**Add a trip safe wire connector to the RepRap, so if you do trip you won't destroy the electronics.<br />
**Make several switches and connectors so you can connect more machines to one PSU.<br />
**More duct tape.<br />
<br />
[[Category:Tutorials]]<br />
[[Category:Power Supply]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Choosing_a_Power_Supply_for_your_RepRap&diff=144176Choosing a Power Supply for your RepRap2015-02-07T00:12:56Z<p>Funny bananas: /* Ten Quick Steps to Modifying an Inexpensive ATX PSU for RepRap Use - with pictures! */ added info on dummy load on 5v rail</p>
<hr />
<div>The [[power supply]] (PSU or Power Supply Unit) is a most essential component of any RepRap, yet the information over which PSU to choose/buy for RepRap use is very much scattered around the web, in YouTube videos, and in various forums, blogs and wikis. Also there is little information concerning safety issues and these should be the absolute priority when dealing with PSUs.<br />
<br />
The purpose of this page is to help the RepRap builder choose a proper PSU for her/his project, possibly modify it slightly to function with her/his choice of RepRap electronics, and deal with any safety concerns that may arise related to the PSU.<br />
<br />
In a hurry and don't want to read through all that crap (you should, though!)? Jump to Section 6 below!<br />
<br />
<br />
== Switch-mode power supplies, a short introduction ==<br />
<br />
Nowadays (2014) practically all power supplies within the power range required by RepRap printers (250~350W) are switch-mode power supplies (as opposed to linear power supplies, which are considered technologically outdated). Switch-mode power supplies have relatively complex circuits that convert mains AC electricity to the DC voltages required by RepRap steppers and electronic circuits. The design and manufacturing of switch-mode power supplies is way beyond the reach of any hobbyist, leaving a single alternative for RepRap builders: to buy a commercial switch-mode PSU.<br />
<br />
== LED strip PSUs or ATX PSUs ? ==<br />
<br />
Economies of scale play an important part in determining the price and availability of a switch-mode power supply. Consequently, industrial-grade switch-mode power supplies (e.g. those used in CNC machines) manufactured in small series and to high standards of reliability, are extremely expensive and have limited availability, ruling out their use for DIY RepRaps. So when looking to buy a PSU for her/his RepRap, the RepRap builder has in reality just two choices: either what can be called the LED strip PSU, or [https://en.wikipedia.org/wiki/Power_supply_unit_(computer)#ATX_standard a modern ATX PSU]. Both are switch-mode power supplies easily bought in retail commerce, but they differ essentially in the purpose for which they are designed, manufactured and sold.<br />
<br />
=== LED strip PSUs ===<br />
<br />
LED strip PSUs are switch-mode PSUs designed to supply a fixed DC 12V or 24V rail with relatively high current capabilities (anywhere from 15A to 30A or more) to a strip of dozens or hundreds of LEDs, each consuming a small percentage of the total current. In the last couple of years, due to the development of LED lighting, they have become relatively inexpensive and are now widely available. They are even currently included in many commercial RepRap kits. However, one must keep in mind their original design requirements: powering LEDS is not a particularly difficult task, as these are relatively forgiving electronic devices. Also, since LED strip PSU manufacturers are not forced to comply with any specific requirements or standards apart from the basic ones that will get them through the usual test laboratories certifications, there is a big variation in quality and price, and it is practically impossible for the hobbyist to choose one LED strip PSU over another on any rational basis.<br />
<br />
=== ATX PSUs ===<br />
<br />
ATX PSUs on the other hand have been around for decades, have been produced consistently in hundreds of millions of units over many years, and have evolved over time, adapting to the ever-changing PC market. There is an "official" ATX PSU design guide / specification that is revised every few years and that is available as [http://cache-www.intel.com/cd/00/00/52/37/523796_523796.pdf a PDF document for free download]. ATX PSU manufacturers can claim that their products conform to these specifications (or not) as this is seen as an attractive feature for consumers. The latest ATX specification revisions include not only precise technical specifications, but also a number of safety requirements as well as some ergonomic requirements.<br />
ATX PSUs get regularly opened and dissected in specialized hobbyist websites (JonnyGuru, TechPowerUp, HardwareSecrets, etc), and some brands have established themselves as having reliable products with a good price/performance ratio. So all in all, there is a lot more information available to the hobbyist to make a rational choice when choosing an ATX PSU.<br />
<br />
=== Comparison table ===<br />
<br />
The following table compares LED strip PSUs vs ATX PSUs for RepRap use:<br />
{| class="wikitable" border="1"<br />
|-<br />
! scope="col" | <br />
! scope="col" | LED Strip PSUs<br />
! scope="col" | ATX PSUs<br />
<br />
|-<br />
| Availability || widely available || very widely available <br />
|-<br />
| Price || $20-$120 || $20-$200 or more <br />
|-<br />
| Power || 200W-400W || 200W-600W or more<br />
|-<br />
| [[Wikipedia:Power factor correction|PFC]] (see below) || No (not required) || Passive or Active PFC (or no PFC at all) available <br />
|-<br />
| Thermally regulated fan || No (not required) || Yes (12 or 14cm diameter)<br />
|-<br />
| Guaranteed minimum efficiency || No (not required) || Yes<br />
|-<br />
| Cables included || No || Yes<br />
|-<br />
| Low ripple/noise DC output || No (not required) || Yes<br />
|-<br />
| Excellent load/line regulation || No (not required) || Yes<br />
|-<br />
| Requires modifications for RepRap use<br />
|| No. But requires extra cabling,<br />
<br />
a power switch and a power plug<br />
<br />
receptacle.<br />
|| Depends, but in general, a few simple modifications (and this voids the warranty).<br />
However, by using a pair of specially prepared inexpensive cables, one can use<br />
<br />
any ATX PSU without any modifications and without voiding the warranty. See below.<br />
|-<br />
| Protections || Few(?) || Many<br />
|-<br />
| Remote softstart and standby || No || Yes<br />
|-<br />
| On/Off switch || No (usually) || Yes (usually)<br />
|-<br />
| 24V versions available || Yes || No<br />
|-<br />
| Established brands || No || Yes<br />
|-<br />
<br />
|}<br />
<br />
=== PFC ===<br />
<br />
PFC, which stands for [[Wikipedia:Power factor correction|Power Factor Correction]], is a highly desirable feature for any switch-mode PSU, and a good indication of the quality and engineering that has gone into the design of a PSU. When it comes to ATX PSUs, nowadays (2014) only the very cheaply manufactured models (which BTW are not suitable for RepRap use) do not have some form of PFC. Active PFC is preferable to passive PFC, although it does increase the complexity and price of a PSU. Explaining what PFC is and what it does in details is beyond the scope of this wiki, but you can read this article for more information: [http://www.silentpcreview.com/article28-page5.html Power Supply Fundamentals on silentpcreview.com], scroll down to the PFC section.<br />
<br />
== PSU power requirements for RepRap use ==<br />
<br />
RepRap electronics (e.g. the ubiquitous Arduino Mega 2560 + [[RAMPS_1.4]] combo) usually require +12V to function and the same voltage is used for the heated bed (if present), extruder heater(s) and steppers. Each electrical or electronic part draws a certain current and by totaling these currents and using the formula Power (Watts) = Voltage (V) x Current (A), we get the power requirements for our PSU, whether we are using an LED strip PSU or an ATX PSU (for the 12V rail, see below). Following good engineering practices means we'll also add a safety margin and slightly overspecify our PSU power requirements.<br />
<br />
Another way to calculate our total current and hence total power requirements for the PSU is to check the fuse or fuses that protect our RepRap. For example, on a [[RAMPS_1.4]] board there are two PTC resettable fuses: one is a 5A fuse for the electronics, extruder(s) and steppers, the other one is an 11A fuse exclusively for the heatbed. So the maximum current draw from our Arduino Mega 2560 + [[RAMPS_1.4]] combo would be 16A. We'll add a 25% safety margin and that gets us to 20A, or 12V x 20A = 240W. So, we should look for a PSU that can deliver a minimum of 20A @ 12V = 240W. However note that you should not necessarily select a PSU that just meets these power ratings, as it would operate near its maximum capacity. Anything that exceeds these power requirements will work but if you can afford it, buy a PSU that exceeds the minimum power requirements by 30% or more.<br />
<br />
== What to look for in an ATX PSU for your RepRap project ==<br />
<br />
There are scores of ATX PSUs that will fit within any power range, from various brands and in various lines. To help with your choice of ATX PSU for your RepRap project, here is a short list of desirable features:<br />
<br />
* Exceeds the previously calculated (see above) minimum power requirements by 30% or more '''on its 12V rail(s)'''.<br />
* Has PFC. Preferably '''active PFC'''.<br />
* Has a temperature controlled fan, 12cm (good) or 14cm (better).<br />
* Has a guaranteed efficiency rating. Nowadays (2014) manufacturers have standardized over some efficiency labels such as Bronze, Silver, Gold and Platinum. Bronze is more than good enough for RepRap use.<br />
* Has a Power On/Off switch.<br />
* "Haswell compatibility" (explained below).<br />
* Comes from a generally recognized manufacturer and has received positive reviews from hobbyist websites (such as those mentioned above).<br />
<br />
Once you have decided on a realistic budget, it should be easy to find and purchase online an adequate ATX PSU for your RepRap project with all the desirable features listed above. One tip: don't even waste time considering ATX PSUs at the "bottom of the heap" i.e. those $20 noname ATX PSUs you can find on eBay, or some old second hand ATX PSU. For a few extra dollars or euros you can certainly find much better quality stuff, new in the box, and that's what you'll want to use in your RepRap project.<br />
<br />
=== Haswell compatible PSUs ===<br />
<br />
At the end of 2014 most if not all ATX PSUs being sold in retail are probably labelled "Haswell compatible" or "Haswell ready". What this means in practical terms is that these power supplies will not shutdown, fail to start or lose regulation with very small power loads. The advantage for RepRap builders is that "Haswell compatible" ATX PSUs will also generally work without issues with the unbalanced (12V vs 5V/3.3V) loads presented by RepRaps (see [[Balancing ATX Supplies]]).<br />
<br />
== Ten Quick Steps to Modifying an Inexpensive ATX PSU for RepRap Use - with pictures! ==<br />
<br />
First, please note that there is absolutely nothing to convert or modify if you are using one of the "ATX PSU Ready" controller electronics, such as the [[Generation 7 Electronics]]. You can use an ATX PSU "as is", saving both time and money.<br />
<br />
That said, let's get hands on with an ATX PSU for our RepRap! In this case I took pictures of the modifications I made to an inexpensive ATX PSU I bought here in Spain in September 2014 for my P3Steel (a Prusa i3 variant) project, which uses the ubiquitous Arduino Mega 2560 + RAMPS 1.4 combination as its electronics. The total time required to modify an ATX PSU will of course vary but I would estimate it at around one evening, working at a leisurely pace. The following are generic instructions that apply in principle to any modern ATX PSU, you don't necessarily have to buy the same model as shown below.<br />
<br />
Note that by clicking on any of the thumbnail pictures below you have access to the full-size version (in case you want to check any detail).<br />
<br />
=== Unboxing ===<br />
<br />
Here is the ATX PSU, still in its fancy box:<br />
<br />
[[File:ATX_PSU_in_the_box_1.jpg|304px|An ATX PSU for my RepRap project, in its box, still with the shrink wrap.]] [[File:ATX_PSU_box_back_1.jpg|300px|The back of the box lists the technical specifications and features for this ATX PSU.]]<br />
<br />
The back of the box lists the technical specifications and features for this ATX PSU. Note that despite the wonderful claims on the fancy box, this particular ATX PSU model only has passive PFC (doh!) and no guaranteed efficiency rating (bummer!), but it has a 140mm thermally regulated fan (good!) and it's painted black (just kidding!).<br />
<br />
Let's take it out of the box and check what's included:<br />
<br />
[[File:ATX_PSU_open_box_1.jpg|200px|Box contents: the PSU in bubble wrap, power cable, small plastic bag with four screws and... no manual!]] [[File:ATX_PSU_out_of_box_1.jpg|288px|Just the ATX PSU. Cables could be longer but have an adequate length for RepRap use.]]<br />
[[File:ATX_PSU_cables_1.jpg|310px|Cables are not sleeved.]]<br />
<br />
Well, we have the ATX PSU properly packaged in bubble wrap, a power cable (EU type, and really short as I found out later), a small plastic bag with four screws and... no manual or warranty certificate! The cables could be a little bit longer but they have an adequate length for RepRap use. They are not sleeved, but we'll work around that later. Also note there is a plastic protection for the cables exit from inside the PSU. And finally: 200~240V AC only (which is fine for Spain and most of the EU).<br />
<br />
[[File:ATX_PSU_gauge_1.jpg|350px|18AWG wire.]] [[File:ATX_PSU_gauge_2.jpg|350px|20AWG wire.]]<br />
<br />
Yet another thing we can check during the unboxing is the [https://en.wikipedia.org/wiki/Wire_gauge wire gauge] used for the cabling of our ATX PSU. Usually we'll find 22AWG to 16AWG cables in ATX PSUs (the smaller gauge the better), this one uses 18AWG and 20AWG (we are going to use 2x20AWG for our 12V@5A rail and 2x18AWG for our 12V@11A rail). <br />
<br />
[[File:ATX_PSU_label_1.jpg|354px|The label on one of its sides indicates the maximum power available for each rail.]]<br />
[[File:ATX_PSU_switch_1.jpg|300px|The back of the ATX PSU with a proper On/Off switch and power cord receptacle.]]<br />
<br />
The label on one of its sides indicates the maximum power available for each rail. For RepRap use, the relevant figure we have to look for is the rating for the 12V rail, in this case, 27A or 324W: we are good! Also note the back of the ATX PSU has a proper On/Off switch and power cord receptacle. Again, good.<br />
<br />
=== Tools and materials required ===<br />
<br />
Make sure you have all of these at hand before you get started!<br />
<br />
* Multimeter.<br />
* Small cutting pliers and long-nose pliers.<br />
* Screwdrivers.<br />
* Soldering iron and some solder.<br />
* 47 Ohm resistor (1/8W or 1/4W or 1/2W etc; any size will do).<br />
* Terminal block strip (12 position, or 2 x 6 position).<br />
<br />
[[File:ATX_PSU_tools_1.jpg|400px|Pliers and screwdrivers generally needed to modify ax ATX PSU.]]<br />
[[File:ATX_PSU_block_1.jpg|400px|12 position terminal block strip and correct size screwdriver.]]<br />
<br />
[[File:ATX_PSU_meter_1.jpg|280px|Autorange digital multimeter with 20A DC measuring capability.]]<br />
<br />
=== Preliminary Test ===<br />
<br />
It's always a good idea to make a simple, quick preliminary test of our just unboxed ATX PSU i.e. turn it on and check that it does indeed work and that we get the correct voltages on all its outputs. Let's do this in a few simple steps:<br />
<br />
* Examine the 24-pin motherboard power connector and find the green wire. This is the PS_ON wire and we have to bring it to a low logic level to softstart our ATX PSU. To do so, '''we use a 47 Ohm resistor''' inserted between the PS_ON (green) wire and any of the GND (black) wires. DO NOT use a paper clip! Inserting a paper clip between the wrong terminals could short the PSU and damage it, and you could severely hurt yourself in the process! Also at this point, '''double-check''' that you have correctly inserted the resistor between the green wire and one of the black wires.<br />
<br />
* Make sure the On/Off switch is in the Off position and connect the mains AC power cable. Nothing should happen at this point.<br />
<br />
* Connect a multimeter reading DC Volts between the yellow (+12V) and black (GND) wires in one of the Molex connectors. It should show 0V at this point.<br />
<br />
* Now switch on the ATX PSU and check the multimeter: it should show approximately 12V +/- 5%. Also the PSU fan should be spinning. Now we know that the +12V rail is working.<br />
<br />
The picture below is from the same test on an older ATX PSU (this test was done on our sample new ATX PSU with similar results, I just forgot to take some pictures then).<br />
<br />
[[File:ATX_PSU_test_1.jpg|600px|No load test of an ATX PSU.]]<br />
<br />
If you want, also check the +5V (red wire on the same Molex connector) rail. Although the +5V rail is not really required for a RepRap, it's always a good thing to have available in case we need it.<br />
<br />
=== Opening the ATX PSU ===<br />
<br />
'''Warning 1:''' from this point on we are voiding the warranty of this ATX PSU. If you absolutely don't want to void the warranty of your ATX PSU, check the alternative "No Modifications" method detailed below to connect it to your RepRap electronics.<br />
<br />
'''Warning 2:''' YOU MUST ABSOLUTELY MAKE SURE THAT THE ATX PSU IS PHYSICALLY DISCONNECTED FROM THE MAINS AC POWER BEFORE OPENING IT AND DURING THE ENTIRE TIME IT IS OPEN. '''FAILURE TO DO SO EXPOSES YOU TO SEVERE ELECTRICAL SHOCK!''' Also, please wait 10 minutes after disconnecting the ATX PSU from mains AC power for the PSU's capacitors to discharge. This isn't strictly necessary nowadays since all modern ATX PSUs should have a circuit that self-discharges the bulk capacitors, but it doesn't hurt to be extra-careful.<br />
<br />
In general, ATX PSUs are held together by just four small screws. Note that in the picture below, one of the screws is covered by a QC adhesive label, which we are just going to scratch away:<br />
<br />
[[File:ATX_PSU_screws_1.jpg|600px|The four screws holding together the ATX PSU case.]]<br />
<br />
We now have removed the four screws, but the case still won't come apart!<br />
<br />
[[File:ATX_PSU_screws_removed_1.jpg|300px|We now have removed the four screws, but the case still won't come apart!]]<br />
<br />
The two case halves are held together by pressure. Gently pry the case open with a flat screwdriver:<br />
<br />
[[File:ATX_PSU_pry_open_1.jpg|400px|Gently push apart the two case halves with a flat screwdriver.]]<br />
<br />
When the two case halves finally separate, be careful not to pull too strongly on the short fan cable!<br />
<br />
=== Visual inspection of the PSU innards ===<br />
<br />
We have opened the ATX PSU and voided its warranty, so it doesn't hurt to take a look inside, right? First things first, note the exposed solder joints at the back of the power switch and power cord receptacle. This is why the PSU must absolutely be disconnected from mains power before you open it!<br />
<br />
[[File:ATX_PSU_innards_1.jpg|600px|The innards of our ATX PSU.]]<br />
<br />
At this stage you should disconnect the connectors for the fan and passive PFC coil (not present if your PSU has active PFC). Use long-nose pliers for this, and be careful not to accidentally bump into other components on the PCB.<br />
<br />
[[File:ATX_PSU_innards_2.jpg|600px|Another view of the innards of our ATX PSU, with the PFC coil connector and the fan connector disconnected.]]<br />
<br />
Let's take a closer look at the wires we are going to cut and those we aren't going to touch:<br />
<br />
[[File:ATX_PSU_innards_3.jpg|600px|Some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
Purple: +5V_Standby, keep.<br />
<br />
''Grey: Power_Good, cut.''<br />
<br />
Green: PS_ON (wrongly labeled RC here), keep.<br />
<br />
And here we see something unusual: there are two sense lines, one is labeled +S (orange) and the other is labeled -S (brown). On most ATX PSUs there is only one 3.3V_Sense line, and it usually is brown. '''See the discussion below about the 3.3V_Sense line''', but for this particular power supply, I decided to cut the -S (brown) and keep a short (50~70mm) length for the +S (orange). Please adapt these instructions to your specific ATX PSU.<br />
<br />
[[File:ATX_PSU_innards_4.jpg|600px|More of the same: some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
''Blue: -12V, cut.''<br />
<br />
Yellow: +12V, keep all of them!<br />
<br />
Black: GND, keep all of them.<br />
<br />
Red: +5V, cut some, keep some! Haha! How many and which ones? Well, I kept all the +5V wires that went to the Molex connectors, and then a couple more, and cut the rest.<br />
<br />
Orange: 3.3V, cut them all but one (used to connect to the +3.3V_Sense).<br />
<br />
Now take a little break and come back with the cutting pliers ready for the next step!<br />
<br />
=== Cutting unnecessary cables ===<br />
<br />
We can now cut all the cables we deemed unnecessary in the previous step. Be careful with any surrounding components and cut the cables flush at the PCB level:<br />
<br />
[[File:ATX_PSU_cutting_1.jpg|600px|Cables should be cut right at the PCB level.]]<br />
<br />
We also cut away the 12V connector to the motherboard. We are going to use these two pairs of 12V (yellow) and GND (black) 20AWG cables to make our 12V@5A rail for our RAMPS 1.4.<br />
<br />
[[File:ATX_PSU_cutting_2.jpg|600px|We also cut away the motherboard 12V CPU connector.]]<br />
<br />
Cable massacre: we cut away all the cables to the main motherboard connector.<br />
<br />
[[File:ATX_PSU_cutting_4.jpg|600px|And we continue cutting, this time the cables to the main 24-pin motherboard connector.]]<br />
<br />
Obviously we don't throw away the cables we have just cut. Among other things they can be used to wire the heatbed for your RepRap.<br />
<br />
[[File:ATX_PSU_cutting_3.jpg|600px|We keep the cables we cut for later use in our RepRap.]]<br />
<br />
=== (optional) Solder the 3.3V_Sense wire ===<br />
<br />
ATX PSUs usually have a sense wire for the 3.3V rail; it is used to measure the voltage drop in the wires due to the high currents of the 3.3V rail, and a circuit in the PSU compensates for this voltage drop by continually adjusting the voltage of the 3.3V rail. Because modern ATX motherboards use much smaller currents from the 3.3V rail than older motherboards (from the e.g. Pentium 4 era), the 3.3V sense wire and its associated circuit are not considered very important nowadays. And for RepRap use, since we don't need 3.3V for anything, it is really irrelevant.<br />
<br />
So in theory, we could just cut the 3.3V_Sense wire flush with the PSU PCB and forget about it. However to be 100% sure would require a circuit analysis and that would mean spending a lot more time than soldering two wires together: the 3.3V_Sense wire with one of the 3.3V wires. As you can see below after soldering the two wires together they should be insulated with a bit of electrical tape or heatshrink tubing. And now we can forget about it completely!<br />
<br />
[[File:ATX_PSU_cutting_sense_1.jpg|360px|The 3.3V_Sense lead and a 3.3V lead which we are going to solder together.]] [[File:ATX_PSU_cutting_sense_2.jpg|500px|The 3.3V_Sense lead and a 3.3V lead soldered together and insulated with heatshrink tubing.]]<br />
<br />
=== Last visual inspection and closing the ATX PSU ===<br />
<br />
At this stage we have cut all the unnecessary wires and soldered (or not) the 3.3V_Sense wire (usually brown, here it was orange)) with one of the 3.3V wires (always orange), and insulated our solder joint.<br />
<br />
Let's go through a short checklist so we can close the PSU once and for all and never have to deal with its internals again:<br />
<br />
* All the components on the PCB are intact (we didn't damage anything).<br />
* The 3.3V_Sense wire is properly soldered to a 3.3V wire and the solder joint is properly insulated, and we have tucked it away from the fan.<br />
* None of the wires we have cut away is shorting against any component on the PCB.<br />
* We only have the following wires coming out of the PSU: purple (+5SB), red (+5V), yellow (+12V), green (PS_ON), black (GND).<br />
* We have reconnected the fan connector back to its original socket.<br />
* We have reconnected the PFC coil connector (if we have a passive PFC PSU) back to its original socket.<br />
<br />
OK, we can now close the case of our ATX PSU. Remember that the pressure joints should be fit together just as they were originally:<br />
<br />
And we screw back the four screws that hold the two case halves together:<br />
<br />
Done!<br />
<br />
=== (optional) Braid cables ===<br />
<br />
Braiding cables is incredibly easy, requires just a few minutes of manual work, and avoids having tangles of loose wires running between the ATX PSU and the electronics of your RepRap. I recommend it, but of course this step is entirely optional. Here are a couple of pictures of the braided cables for this ATX PSU:<br />
<br />
[[File:ATX_PSU_braids_1.jpg|340px|Braided cables.]] [[File:ATX_PSU_braids_3.jpg|376px|Braided cables.]] [[File:ATX_PSU_braids_2.jpg|276px|Braided cables.]] <br />
<br />
In the rightmost picture above you can see the various styles of braids I used: 2 strands (just twist two cables together), 3 strands (e.g. the purple, green and black braid), 4 strands (for the 12V @ 5A yellow-black braid) and 2 x 3 strands (for the 12V @ 11A yellow-black braid).<br />
<br />
=== Add terminal block strip(s) and final test ===<br />
<br />
Now we just screw all our wires in the 12-position (or 2 x 6-position) terminal block strip(s) and repeat the same test as above, this time connecting the 47 Ohm resistor between the two positions in our terminal block strip that correspond to PS_ON (green) and GND (black). Sometimes adding a dummy load on the 5v rail is required to maintain a steady power output. Around 10 watts is suitable (e.g car taillight, 4.7ohm resistor). In my case I had to put the load onto the 5v standby (purple) wire to ground, instead of the usual red wire to ground with the dummy load.<br />
<br />
<br />
<br />
[[File:ATX_PSU_ready_1.jpg|600px|The ATX PSU, ready to be connected to our RepRap electronics.]]<br />
<br />
== Using an ATX PSU for your RepRap project without modifying it (and without voiding its warranty) ==<br />
<br />
It is entirely possible to use any modern ATX PSU to power any RepRap without modifying the PSU in the least (in other words, without voiding its warranty). However, this requires the purchase of a pair of cables which may not be available locally (I had to order mine from China, and they took the usual 30 days to arrive), so take this into account when sourcing the parts for your 3D printer.<br />
<br />
Basically we'll need a 24 pin female to male ATX power supply 30cm extension cable (approx. cost: $3), and either a couple of female Molex connectors or (as shown below), an ATX power supply CPU 4 pin female to 8 pin male adapter cable (approx. cost: $1.50). And of course an ATX PSU that meets our requirements and our budget!<br />
<br />
[[File:ATX_extension_adapter_cables_1a.jpg|600px|A pair of cables needed to adapt an ATX PSU for Reprap use.]]<br />
<br />
The ATX PSU is obviously quite easy to source just about anywhere in the world.<br />
<br />
For this example we are going to use a '''be quiet!''' ATX PSU with active PFC, the least expensive PSU from their value line: the 300W System Power 7. There is no unboxing because '''be quiet!''' doesn't even ship these PSUs in a box, this one just came with some bubble wrap:<br />
<br />
[[File:ATX_PSU_bequiet_1.jpg|600px|A be quiet! ATX PSU from their value line.]]<br />
<br />
Do not mistake this for a low-quality ATX PSU, you really get what you pay for with a be quiet! PSU. Let's check its power ratings:<br />
<br />
[[File:ATX_PSU_bequiet_2.jpg|600px|Power ratings of the be quiet! ATX PSU.]]<br />
<br />
As we can see, it has two 12V rails, and the combined power we can draw from them is 288W. OK, we only need 240W and that already includes a safety margin, so we are good to use it for our RAMPS 1.4 electronics of our RepRap!<br />
<br />
And here are our cables ready to be used with our RepRap printer:<br />
<br />
[[File:ATX_extension_adapter_cables_ready_1a.jpg|600px|The pair of cables needed to adapt an ATX PSU for Reprap use, ready for use!]]<br />
<br />
Wow, that was fast! The truth is, it only took me about 30 minutes to get the cables ready, and I wasn't working particularly fast.<br />
<br />
Let's take a look at the cables separately:<br />
<br />
[[File:ATX_4to8pin_adapter_cable_1a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable. We only use the female connector.]]<br />
<br />
For the ATX power supply CPU 4 pin female to 8 pin male adapter cable, we only use the female connector. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends. These are the +12V and GND cables that we are going to connect to our RAMPS board to power the heatbed.<br />
<br />
[[File:ATX_4to8pin_adapter_cable_2a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable, prepared for use. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends.]]<br />
<br />
OK, now let's take a look at the 24 pin female to male ATX power supply 30cm extension cable, because it's a little bit more complicated.<br />
<br />
First, I yanked out all the cables from the male connector, which we are not going use. Now, obviously for the female connector we have to be selective about what cables we are going to use and which ones we can yank out. Since the lines in this extension cable are not color coded (damn!), we have to be extra-careful here. Simplest way is to plug the female connector into our ATX PSU's male connector:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_2a.jpg|600px|The female connector of our 24-pin ATX extension cable plugged into the ATX PSU's male connector, after I yanked out all the lines that are not going to be used.]]<br />
<br />
And the other end of the extension cable now looks like this:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_3a.jpg|600px|Our 24-pin ATX extension cable prepared for use, the remaining lines carry the signals/voltages required to properly connect the ATX PSU to our RAMPS board.]]<br />
<br />
From left to right:<br />
* + 12V to our RAMPS steppers/electronics.<br />
* GND to our RAMPS steppers/electronics.<br />
The terminal strip has, from left to right:<br />
* +5V Standby (+5SB) for future use.<br />
* +5V to power servos, USB LED lights or any other accessory.<br />
* PS_ON so that we can remotely control our ATX PSU from the RAMPS.<br />
* GND.<br />
<br />
Since the wires are not color coded I used some colored shrink tube to help identify the cables.<br />
<br />
[[Category:Power Supply| ]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Choosing_a_Power_Supply_for_your_RepRap&diff=144057Choosing a Power Supply for your RepRap2015-02-06T06:14:25Z<p>Funny bananas: /* (optional) Solder the 3.3V_Sense wire */</p>
<hr />
<div>The [[power supply]] (PSU or Power Supply Unit) is a most essential component of any RepRap, yet the information over which PSU to choose/buy for RepRap use is very much scattered around the web, in YouTube videos, and in various forums, blogs and wikis. Also there is little information concerning safety issues and these should be the absolute priority when dealing with PSUs.<br />
<br />
The purpose of this page is to help the RepRap builder choose a proper PSU for her/his project, possibly modify it slightly to function with her/his choice of RepRap electronics, and deal with any safety concerns that may arise related to the PSU.<br />
<br />
In a hurry and don't want to read through all that crap (you should, though!)? Jump to Section 6 below!<br />
<br />
<br />
== Switch-mode power supplies, a short introduction ==<br />
<br />
Nowadays (2014) practically all power supplies within the power range required by RepRap printers (250~350W) are switch-mode power supplies (as opposed to linear power supplies, which are considered technologically outdated). Switch-mode power supplies have relatively complex circuits that convert mains AC electricity to the DC voltages required by RepRap steppers and electronic circuits. The design and manufacturing of switch-mode power supplies is way beyond the reach of any hobbyist, leaving a single alternative for RepRap builders: to buy a commercial switch-mode PSU.<br />
<br />
== LED strip PSUs or ATX PSUs ? ==<br />
<br />
Economies of scale play an important part in determining the price and availability of a switch-mode power supply. Consequently, industrial-grade switch-mode power supplies (e.g. those used in CNC machines) manufactured in small series and to high standards of reliability, are extremely expensive and have limited availability, ruling out their use for DIY RepRaps. So when looking to buy a PSU for her/his RepRap, the RepRap builder has in reality just two choices: either what can be called the LED strip PSU, or [https://en.wikipedia.org/wiki/Power_supply_unit_(computer)#ATX_standard a modern ATX PSU]. Both are switch-mode power supplies easily bought in retail commerce, but they differ essentially in the purpose for which they are designed, manufactured and sold.<br />
<br />
=== LED strip PSUs ===<br />
<br />
LED strip PSUs are switch-mode PSUs designed to supply a fixed DC 12V or 24V rail with relatively high current capabilities (anywhere from 15A to 30A or more) to a strip of dozens or hundreds of LEDs, each consuming a small percentage of the total current. In the last couple of years, due to the development of LED lighting, they have become relatively inexpensive and are now widely available. They are even currently included in many commercial RepRap kits. However, one must keep in mind their original design requirements: powering LEDS is not a particularly difficult task, as these are relatively forgiving electronic devices. Also, since LED strip PSU manufacturers are not forced to comply with any specific requirements or standards apart from the basic ones that will get them through the usual test laboratories certifications, there is a big variation in quality and price, and it is practically impossible for the hobbyist to choose one LED strip PSU over another on any rational basis.<br />
<br />
=== ATX PSUs ===<br />
<br />
ATX PSUs on the other hand have been around for decades, have been produced consistently in hundreds of millions of units over many years, and have evolved over time, adapting to the ever-changing PC market. There is an "official" ATX PSU design guide / specification that is revised every few years and that is available as [http://cache-www.intel.com/cd/00/00/52/37/523796_523796.pdf a PDF document for free download]. ATX PSU manufacturers can claim that their products conform to these specifications (or not) as this is seen as an attractive feature for consumers. The latest ATX specification revisions include not only precise technical specifications, but also a number of safety requirements as well as some ergonomic requirements.<br />
ATX PSUs get regularly opened and dissected in specialized hobbyist websites (JonnyGuru, TechPowerUp, HardwareSecrets, etc), and some brands have established themselves as having reliable products with a good price/performance ratio. So all in all, there is a lot more information available to the hobbyist to make a rational choice when choosing an ATX PSU.<br />
<br />
=== Comparison table ===<br />
<br />
The following table compares LED strip PSUs vs ATX PSUs for RepRap use:<br />
{| class="wikitable" border="1"<br />
|-<br />
! scope="col" | <br />
! scope="col" | LED Strip PSUs<br />
! scope="col" | ATX PSUs<br />
<br />
|-<br />
| Availability || widely available || very widely available <br />
|-<br />
| Price || $20-$120 || $20-$200 or more <br />
|-<br />
| Power || 200W-400W || 200W-600W or more<br />
|-<br />
| [[Wikipedia:Power factor correction|PFC]] (see below) || No (not required) || Passive or Active PFC (or no PFC at all) available <br />
|-<br />
| Thermally regulated fan || No (not required) || Yes (12 or 14cm diameter)<br />
|-<br />
| Guaranteed minimum efficiency || No (not required) || Yes<br />
|-<br />
| Cables included || No || Yes<br />
|-<br />
| Low ripple/noise DC output || No (not required) || Yes<br />
|-<br />
| Excellent load/line regulation || No (not required) || Yes<br />
|-<br />
| Requires modifications for RepRap use<br />
|| No. But requires extra cabling,<br />
<br />
a power switch and a power plug<br />
<br />
receptacle.<br />
|| Depends, but in general, a few simple modifications (and this voids the warranty).<br />
However, by using a pair of specially prepared inexpensive cables, one can use<br />
<br />
any ATX PSU without any modifications and without voiding the warranty. See below.<br />
|-<br />
| Protections || Few(?) || Many<br />
|-<br />
| Remote softstart and standby || No || Yes<br />
|-<br />
| On/Off switch || No (usually) || Yes (usually)<br />
|-<br />
| 24V versions available || Yes || No<br />
|-<br />
| Established brands || No || Yes<br />
|-<br />
<br />
|}<br />
<br />
=== PFC ===<br />
<br />
PFC, which stands for [[Wikipedia:Power factor correction|Power Factor Correction]], is a highly desirable feature for any switch-mode PSU, and a good indication of the quality and engineering that has gone into the design of a PSU. When it comes to ATX PSUs, nowadays (2014) only the very cheaply manufactured models (which BTW are not suitable for RepRap use) do not have some form of PFC. Active PFC is preferable to passive PFC, although it does increase the complexity and price of a PSU. Explaining what PFC is and what it does in details is beyond the scope of this wiki, but you can read this article for more information: [http://www.silentpcreview.com/article28-page5.html Power Supply Fundamentals on silentpcreview.com], scroll down to the PFC section.<br />
<br />
== PSU power requirements for RepRap use ==<br />
<br />
RepRap electronics (e.g. the ubiquitous Arduino Mega 2560 + [[RAMPS_1.4]] combo) usually require +12V to function and the same voltage is used for the heated bed (if present), extruder heater(s) and steppers. Each electrical or electronic part draws a certain current and by totaling these currents and using the formula Power (Watts) = Voltage (V) x Current (A), we get the power requirements for our PSU, whether we are using an LED strip PSU or an ATX PSU (for the 12V rail, see below). Following good engineering practices means we'll also add a safety margin and slightly overspecify our PSU power requirements.<br />
<br />
Another way to calculate our total current and hence total power requirements for the PSU is to check the fuse or fuses that protect our RepRap. For example, on a [[RAMPS_1.4]] board there are two PTC resettable fuses: one is a 5A fuse for the electronics, extruder(s) and steppers, the other one is an 11A fuse exclusively for the heatbed. So the maximum current draw from our Arduino Mega 2560 + [[RAMPS_1.4]] combo would be 16A. We'll add a 25% safety margin and that gets us to 20A, or 12V x 20A = 240W. So, we should look for a PSU that can deliver a minimum of 20A @ 12V = 240W. However note that you should not necessarily select a PSU that just meets these power ratings, as it would operate near its maximum capacity. Anything that exceeds these power requirements will work but if you can afford it, buy a PSU that exceeds the minimum power requirements by 30% or more.<br />
<br />
== What to look for in an ATX PSU for your RepRap project ==<br />
<br />
There are scores of ATX PSUs that will fit within any power range, from various brands and in various lines. To help with your choice of ATX PSU for your RepRap project, here is a short list of desirable features:<br />
<br />
* Exceeds the previously calculated (see above) minimum power requirements by 30% or more '''on its 12V rail(s)'''.<br />
* Has PFC. Preferably '''active PFC'''.<br />
* Has a temperature controlled fan, 12cm (good) or 14cm (better).<br />
* Has a guaranteed efficiency rating. Nowadays (2014) manufacturers have standardized over some efficiency labels such as Bronze, Silver, Gold and Platinum. Bronze is more than good enough for RepRap use.<br />
* Has a Power On/Off switch.<br />
* "Haswell compatibility" (explained below).<br />
* Comes from a generally recognized manufacturer and has received positive reviews from hobbyist websites (such as those mentioned above).<br />
<br />
Once you have decided on a realistic budget, it should be easy to find and purchase online an adequate ATX PSU for your RepRap project with all the desirable features listed above. One tip: don't even waste time considering ATX PSUs at the "bottom of the heap" i.e. those $20 noname ATX PSUs you can find on eBay, or some old second hand ATX PSU. For a few extra dollars or euros you can certainly find much better quality stuff, new in the box, and that's what you'll want to use in your RepRap project.<br />
<br />
=== Haswell compatible PSUs ===<br />
<br />
At the end of 2014 most if not all ATX PSUs being sold in retail are probably labelled "Haswell compatible" or "Haswell ready". What this means in practical terms is that these power supplies will not shutdown, fail to start or lose regulation with very small power loads. The advantage for RepRap builders is that "Haswell compatible" ATX PSUs will also generally work without issues with the unbalanced (12V vs 5V/3.3V) loads presented by RepRaps (see [[Balancing ATX Supplies]]).<br />
<br />
== Ten Quick Steps to Modifying an Inexpensive ATX PSU for RepRap Use - with pictures! ==<br />
<br />
First, please note that there is absolutely nothing to convert or modify if you are using one of the "ATX PSU Ready" controller electronics, such as the [[Generation 7 Electronics]]. You can use an ATX PSU "as is", saving both time and money.<br />
<br />
That said, let's get hands on with an ATX PSU for our RepRap! In this case I took pictures of the modifications I made to an inexpensive ATX PSU I bought here in Spain in September 2014 for my P3Steel (a Prusa i3 variant) project, which uses the ubiquitous Arduino Mega 2560 + RAMPS 1.4 combination as its electronics. The total time required to modify an ATX PSU will of course vary but I would estimate it at around one evening, working at a leisurely pace. The following are generic instructions that apply in principle to any modern ATX PSU, you don't necessarily have to buy the same model as shown below.<br />
<br />
Note that by clicking on any of the thumbnail pictures below you have access to the full-size version (in case you want to check any detail).<br />
<br />
=== Unboxing ===<br />
<br />
Here is the ATX PSU, still in its fancy box:<br />
<br />
[[File:ATX_PSU_in_the_box_1.jpg|304px|An ATX PSU for my RepRap project, in its box, still with the shrink wrap.]] [[File:ATX_PSU_box_back_1.jpg|300px|The back of the box lists the technical specifications and features for this ATX PSU.]]<br />
<br />
The back of the box lists the technical specifications and features for this ATX PSU. Note that despite the wonderful claims on the fancy box, this particular ATX PSU model only has passive PFC (doh!) and no guaranteed efficiency rating (bummer!), but it has a 140mm thermally regulated fan (good!) and it's painted black (just kidding!).<br />
<br />
Let's take it out of the box and check what's included:<br />
<br />
[[File:ATX_PSU_open_box_1.jpg|200px|Box contents: the PSU in bubble wrap, power cable, small plastic bag with four screws and... no manual!]] [[File:ATX_PSU_out_of_box_1.jpg|288px|Just the ATX PSU. Cables could be longer but have an adequate length for RepRap use.]]<br />
[[File:ATX_PSU_cables_1.jpg|310px|Cables are not sleeved.]]<br />
<br />
Well, we have the ATX PSU properly packaged in bubble wrap, a power cable (EU type, and really short as I found out later), a small plastic bag with four screws and... no manual or warranty certificate! The cables could be a little bit longer but they have an adequate length for RepRap use. They are not sleeved, but we'll work around that later. Also note there is a plastic protection for the cables exit from inside the PSU. And finally: 200~240V AC only (which is fine for Spain and most of the EU).<br />
<br />
[[File:ATX_PSU_gauge_1.jpg|350px|18AWG wire.]] [[File:ATX_PSU_gauge_2.jpg|350px|20AWG wire.]]<br />
<br />
Yet another thing we can check during the unboxing is the [https://en.wikipedia.org/wiki/Wire_gauge wire gauge] used for the cabling of our ATX PSU. Usually we'll find 22AWG to 16AWG cables in ATX PSUs (the smaller gauge the better), this one uses 18AWG and 20AWG (we are going to use 2x20AWG for our 12V@5A rail and 2x18AWG for our 12V@11A rail). <br />
<br />
[[File:ATX_PSU_label_1.jpg|354px|The label on one of its sides indicates the maximum power available for each rail.]]<br />
[[File:ATX_PSU_switch_1.jpg|300px|The back of the ATX PSU with a proper On/Off switch and power cord receptacle.]]<br />
<br />
The label on one of its sides indicates the maximum power available for each rail. For RepRap use, the relevant figure we have to look for is the rating for the 12V rail, in this case, 27A or 324W: we are good! Also note the back of the ATX PSU has a proper On/Off switch and power cord receptacle. Again, good.<br />
<br />
=== Tools and materials required ===<br />
<br />
Make sure you have all of these at hand before you get started!<br />
<br />
* Multimeter.<br />
* Small cutting pliers and long-nose pliers.<br />
* Screwdrivers.<br />
* Soldering iron and some solder.<br />
* 47 Ohm resistor (1/8W or 1/4W or 1/2W etc; any size will do).<br />
* Terminal block strip (12 position, or 2 x 6 position).<br />
<br />
[[File:ATX_PSU_tools_1.jpg|400px|Pliers and screwdrivers generally needed to modify ax ATX PSU.]]<br />
[[File:ATX_PSU_block_1.jpg|400px|12 position terminal block strip and correct size screwdriver.]]<br />
<br />
[[File:ATX_PSU_meter_1.jpg|280px|Autorange digital multimeter with 20A DC measuring capability.]]<br />
<br />
=== Preliminary Test ===<br />
<br />
It's always a good idea to make a simple, quick preliminary test of our just unboxed ATX PSU i.e. turn it on and check that it does indeed work and that we get the correct voltages on all its outputs. Let's do this in a few simple steps:<br />
<br />
* Examine the 24-pin motherboard power connector and find the green wire. This is the PS_ON wire and we have to bring it to a low logic level to softstart our ATX PSU. To do so, '''we use a 47 Ohm resistor''' inserted between the PS_ON (green) wire and any of the GND (black) wires. DO NOT use a paper clip! Inserting a paper clip between the wrong terminals could short the PSU and damage it, and you could severely hurt yourself in the process! Also at this point, '''double-check''' that you have correctly inserted the resistor between the green wire and one of the black wires.<br />
<br />
* Make sure the On/Off switch is in the Off position and connect the mains AC power cable. Nothing should happen at this point.<br />
<br />
* Connect a multimeter reading DC Volts between the yellow (+12V) and black (GND) wires in one of the Molex connectors. It should show 0V at this point.<br />
<br />
* Now switch on the ATX PSU and check the multimeter: it should show approximately 12V +/- 5%. Also the PSU fan should be spinning. Now we know that the +12V rail is working.<br />
<br />
The picture below is from the same test on an older ATX PSU (this test was done on our sample new ATX PSU with similar results, I just forgot to take some pictures then).<br />
<br />
[[File:ATX_PSU_test_1.jpg|600px|No load test of an ATX PSU.]]<br />
<br />
If you want, also check the +5V (red wire on the same Molex connector) rail. Although the +5V rail is not really required for a RepRap, it's always a good thing to have available in case we need it.<br />
<br />
=== Opening the ATX PSU ===<br />
<br />
'''Warning 1:''' from this point on we are voiding the warranty of this ATX PSU. If you absolutely don't want to void the warranty of your ATX PSU, check the alternative "No Modifications" method detailed below to connect it to your RepRap electronics.<br />
<br />
'''Warning 2:''' YOU MUST ABSOLUTELY MAKE SURE THAT THE ATX PSU IS PHYSICALLY DISCONNECTED FROM THE MAINS AC POWER BEFORE OPENING IT AND DURING THE ENTIRE TIME IT IS OPEN. '''FAILURE TO DO SO EXPOSES YOU TO SEVERE ELECTRICAL SHOCK!''' Also, please wait 10 minutes after disconnecting the ATX PSU from mains AC power for the PSU's capacitors to discharge. This isn't strictly necessary nowadays since all modern ATX PSUs should have a circuit that self-discharges the bulk capacitors, but it doesn't hurt to be extra-careful.<br />
<br />
In general, ATX PSUs are held together by just four small screws. Note that in the picture below, one of the screws is covered by a QC adhesive label, which we are just going to scratch away:<br />
<br />
[[File:ATX_PSU_screws_1.jpg|600px|The four screws holding together the ATX PSU case.]]<br />
<br />
We now have removed the four screws, but the case still won't come apart!<br />
<br />
[[File:ATX_PSU_screws_removed_1.jpg|300px|We now have removed the four screws, but the case still won't come apart!]]<br />
<br />
The two case halves are held together by pressure. Gently pry the case open with a flat screwdriver:<br />
<br />
[[File:ATX_PSU_pry_open_1.jpg|400px|Gently push apart the two case halves with a flat screwdriver.]]<br />
<br />
When the two case halves finally separate, be careful not to pull too strongly on the short fan cable!<br />
<br />
=== Visual inspection of the PSU innards ===<br />
<br />
We have opened the ATX PSU and voided its warranty, so it doesn't hurt to take a look inside, right? First things first, note the exposed solder joints at the back of the power switch and power cord receptacle. This is why the PSU must absolutely be disconnected from mains power before you open it!<br />
<br />
[[File:ATX_PSU_innards_1.jpg|600px|The innards of our ATX PSU.]]<br />
<br />
At this stage you should disconnect the connectors for the fan and passive PFC coil (not present if your PSU has active PFC). Use long-nose pliers for this, and be careful not to accidentally bump into other components on the PCB.<br />
<br />
[[File:ATX_PSU_innards_2.jpg|600px|Another view of the innards of our ATX PSU, with the PFC coil connector and the fan connector disconnected.]]<br />
<br />
Let's take a closer look at the wires we are going to cut and those we aren't going to touch:<br />
<br />
[[File:ATX_PSU_innards_3.jpg|600px|Some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
Purple: +5V_Standby, keep.<br />
<br />
''Grey: Power_Good, cut.''<br />
<br />
Green: PS_ON (wrongly labeled RC here), keep.<br />
<br />
And here we see something unusual: there are two sense lines, one is labeled +S (orange) and the other is labeled -S (brown). On most ATX PSUs there is only one 3.3V_Sense line, and it usually is brown. '''See the discussion below about the 3.3V_Sense line''', but for this particular power supply, I decided to cut the -S (brown) and keep a short (50~70mm) length for the +S (orange). Please adapt these instructions to your specific ATX PSU.<br />
<br />
[[File:ATX_PSU_innards_4.jpg|600px|More of the same: some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
''Blue: -12V, cut.''<br />
<br />
Yellow: +12V, keep all of them!<br />
<br />
Black: GND, keep all of them.<br />
<br />
Red: +5V, cut some, keep some! Haha! How many and which ones? Well, I kept all the +5V wires that went to the Molex connectors, and then a couple more, and cut the rest.<br />
<br />
Orange: 3.3V, cut them all but one (used to connect to the +3.3V_Sense).<br />
<br />
Now take a little break and come back with the cutting pliers ready for the next step!<br />
<br />
=== Cutting unnecessary cables ===<br />
<br />
We can now cut all the cables we deemed unnecessary in the previous step. Be careful with any surrounding components and cut the cables flush at the PCB level:<br />
<br />
[[File:ATX_PSU_cutting_1.jpg|600px|Cables should be cut right at the PCB level.]]<br />
<br />
We also cut away the 12V connector to the motherboard. We are going to use these two pairs of 12V (yellow) and GND (black) 20AWG cables to make our 12V@5A rail for our RAMPS 1.4.<br />
<br />
[[File:ATX_PSU_cutting_2.jpg|600px|We also cut away the motherboard 12V CPU connector.]]<br />
<br />
Cable massacre: we cut away all the cables to the main motherboard connector.<br />
<br />
[[File:ATX_PSU_cutting_4.jpg|600px|And we continue cutting, this time the cables to the main 24-pin motherboard connector.]]<br />
<br />
Obviously we don't throw away the cables we have just cut. Among other things they can be used to wire the heatbed for your RepRap.<br />
<br />
[[File:ATX_PSU_cutting_3.jpg|600px|We keep the cables we cut for later use in our RepRap.]]<br />
<br />
=== (optional) Solder the 3.3V_Sense wire ===<br />
<br />
ATX PSUs usually have a sense wire for the 3.3V rail; it is used to measure the voltage drop in the wires due to the high currents of the 3.3V rail, and a circuit in the PSU compensates for this voltage drop by continually adjusting the voltage of the 3.3V rail. Because modern ATX motherboards use much smaller currents from the 3.3V rail than older motherboards (from the e.g. Pentium 4 era), the 3.3V sense wire and its associated circuit are not considered very important nowadays. And for RepRap use, since we don't need 3.3V for anything, it is really irrelevant.<br />
<br />
So in theory, we could just cut the 3.3V_Sense wire flush with the PSU PCB and forget about it. However to be 100% sure would require a circuit analysis and that would mean spending a lot more time than soldering two wires together: the 3.3V_Sense wire with one of the 3.3V wires. As you can see below after soldering the two wires together they should be insulated with a bit of electrical tape or heatshrink tubing. And now we can forget about it completely!<br />
<br />
[[File:ATX_PSU_cutting_sense_1.jpg|360px|The 3.3V_Sense lead and a 3.3V lead which we are going to solder together.]] [[File:ATX_PSU_cutting_sense_2.jpg|500px|The 3.3V_Sense lead and a 3.3V lead soldered together and insulated with heatshrink tubing.]]<br />
<br />
=== Last visual inspection and closing the ATX PSU ===<br />
<br />
At this stage we have cut all the unnecessary wires and soldered (or not) the 3.3V_Sense wire (usually brown, here it was orange)) with one of the 3.3V wires (always orange), and insulated our solder joint.<br />
<br />
Let's go through a short checklist so we can close the PSU once and for all and never have to deal with its internals again:<br />
<br />
* All the components on the PCB are intact (we didn't damage anything).<br />
* The 3.3V_Sense wire is properly soldered to a 3.3V wire and the solder joint is properly insulated, and we have tucked it away from the fan.<br />
* None of the wires we have cut away is shorting against any component on the PCB.<br />
* We only have the following wires coming out of the PSU: purple (+5SB), red (+5V), yellow (+12V), green (PS_ON), black (GND).<br />
* We have reconnected the fan connector back to its original socket.<br />
* We have reconnected the PFC coil connector (if we have a passive PFC PSU) back to its original socket.<br />
<br />
OK, we can now close the case of our ATX PSU. Remember that the pressure joints should be fit together just as they were originally:<br />
<br />
And we screw back the four screws that hold the two case halves together:<br />
<br />
Done!<br />
<br />
=== (optional) Braid cables ===<br />
<br />
Braiding cables is incredibly easy, requires just a few minutes of manual work, and avoids having tangles of loose wires running between the ATX PSU and the electronics of your RepRap. I recommend it, but of course this step is entirely optional. Here are a couple of pictures of the braided cables for this ATX PSU:<br />
<br />
[[File:ATX_PSU_braids_1.jpg|340px|Braided cables.]] [[File:ATX_PSU_braids_3.jpg|376px|Braided cables.]] [[File:ATX_PSU_braids_2.jpg|276px|Braided cables.]] <br />
<br />
In the rightmost picture above you can see the various styles of braids I used: 2 strands (just twist two cables together), 3 strands (e.g. the purple, green and black braid), 4 strands (for the 12V @ 5A yellow-black braid) and 2 x 3 strands (for the 12V @ 11A yellow-black braid).<br />
<br />
=== Add terminal block strip(s) and final test ===<br />
<br />
Now we just screw all our wires in the 12-position (or 2 x 6-position) terminal block strip(s) and repeat the same test as above, this time connecting the 47 Ohm resistor between the two positions in our terminal block strip that correspond to PS_ON (green) and GND (black).<br />
<br />
<br />
<br />
[[File:ATX_PSU_ready_1.jpg|600px|The ATX PSU, ready to be connected to our RepRap electronics.]]<br />
<br />
== Using an ATX PSU for your RepRap project without modifying it (and without voiding its warranty) ==<br />
<br />
It is entirely possible to use any modern ATX PSU to power any RepRap without modifying the PSU in the least (in other words, without voiding its warranty). However, this requires the purchase of a pair of cables which may not be available locally (I had to order mine from China, and they took the usual 30 days to arrive), so take this into account when sourcing the parts for your 3D printer.<br />
<br />
Basically we'll need a 24 pin female to male ATX power supply 30cm extension cable (approx. cost: $3), and either a couple of female Molex connectors or (as shown below), an ATX power supply CPU 4 pin female to 8 pin male adapter cable (approx. cost: $1.50). And of course an ATX PSU that meets our requirements and our budget!<br />
<br />
[[File:ATX_extension_adapter_cables_1a.jpg|600px|A pair of cables needed to adapt an ATX PSU for Reprap use.]]<br />
<br />
The ATX PSU is obviously quite easy to source just about anywhere in the world.<br />
<br />
For this example we are going to use a '''be quiet!''' ATX PSU with active PFC, the least expensive PSU from their value line: the 300W System Power 7. There is no unboxing because '''be quiet!''' doesn't even ship these PSUs in a box, this one just came with some bubble wrap:<br />
<br />
[[File:ATX_PSU_bequiet_1.jpg|600px|A be quiet! ATX PSU from their value line.]]<br />
<br />
Do not mistake this for a low-quality ATX PSU, you really get what you pay for with a be quiet! PSU. Let's check its power ratings:<br />
<br />
[[File:ATX_PSU_bequiet_2.jpg|600px|Power ratings of the be quiet! ATX PSU.]]<br />
<br />
As we can see, it has two 12V rails, and the combined power we can draw from them is 288W. OK, we only need 240W and that already includes a safety margin, so we are good to use it for our RAMPS 1.4 electronics of our RepRap!<br />
<br />
And here are our cables ready to be used with our RepRap printer:<br />
<br />
[[File:ATX_extension_adapter_cables_ready_1a.jpg|600px|The pair of cables needed to adapt an ATX PSU for Reprap use, ready for use!]]<br />
<br />
Wow, that was fast! The truth is, it only took me about 30 minutes to get the cables ready, and I wasn't working particularly fast.<br />
<br />
Let's take a look at the cables separately:<br />
<br />
[[File:ATX_4to8pin_adapter_cable_1a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable. We only use the female connector.]]<br />
<br />
For the ATX power supply CPU 4 pin female to 8 pin male adapter cable, we only use the female connector. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends. These are the +12V and GND cables that we are going to connect to our RAMPS board to power the heatbed.<br />
<br />
[[File:ATX_4to8pin_adapter_cable_2a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable, prepared for use. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends.]]<br />
<br />
OK, now let's take a look at the 24 pin female to male ATX power supply 30cm extension cable, because it's a little bit more complicated.<br />
<br />
First, I yanked out all the cables from the male connector, which we are not going use. Now, obviously for the female connector we have to be selective about what cables we are going to use and which ones we can yank out. Since the lines in this extension cable are not color coded (damn!), we have to be extra-careful here. Simplest way is to plug the female connector into our ATX PSU's male connector:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_2a.jpg|600px|The female connector of our 24-pin ATX extension cable plugged into the ATX PSU's male connector, after I yanked out all the lines that are not going to be used.]]<br />
<br />
And the other end of the extension cable now looks like this:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_3a.jpg|600px|Our 24-pin ATX extension cable prepared for use, the remaining lines carry the signals/voltages required to properly connect the ATX PSU to our RAMPS board.]]<br />
<br />
From left to right:<br />
* + 12V to our RAMPS steppers/electronics.<br />
* GND to our RAMPS steppers/electronics.<br />
The terminal strip has, from left to right:<br />
* +5V Standby (+5SB) for future use.<br />
* +5V to power servos, USB LED lights or any other accessory.<br />
* PS_ON so that we can remotely control our ATX PSU from the RAMPS.<br />
* GND.<br />
<br />
Since the wires are not color coded I used some colored shrink tube to help identify the cables.<br />
<br />
[[Category:Power Supply| ]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=143446Icepick Delta2015-01-29T03:10:17Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = experimental<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/TTN-/IcePick-Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball (who has left development).<br />
<br />
Firmware can be found on [https://github.com/TTN-/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts are open-source.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=143445Icepick Delta2015-01-29T03:09:29Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = experimental<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/TTN-/IcePick-Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball (who has left development).<br />
<br />
Firmware can be found on [https://github.com/TTN-/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=143444Icepick Delta2015-01-29T03:07:50Z<p>Funny bananas: Updated CAD models url</p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = experimental<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/TTN-/IcePick-Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=RepRap_Morgan_extended_BOM&diff=143439RepRap Morgan extended BOM2015-01-29T01:51:00Z<p>Funny bananas: /* News */ change 'oder' to 'or'</p>
<hr />
<div>This article is the extended version of a material list for the [[RepRap Morgan]]. By [[User:RobertKuhlmann|Robert Kuhlmann]].<br />
<br />
Thanks to Quentin Harley for his permission and for his outstanding RepRap Morgan-project.<br />
<br />
= Introduction =<br />
I've decided to start this page not only to show my Morgan-project, but to enable a seperate development branch of Quentin Harleys outstanding work and to post my ideas without intervening with Quentin's work.<br />
I would be honored, of course, if some of the ideas that may evolve over here, finally make it into Quentin's project.<br />
<br />
On the other hand I'll try to keep this project up to date with Quentin's progresses and ideas to make this a very progressive and attractive Morgan-project.<br />
<br />
This side is still under construction, but I've decided to give it to the public now, because some files and ideas may already be of interest for the community.<br />
<br />
You may use all the files and ideas for free and with no restrictions, except of claiming they were your own work.<br />
If you want to derive your own Morgan-project from here, feel free to do so, but please let this project go its own path. You can, of course, discuss any aspect on the discussion page here and I'd be very happy and thankful for comments, critics and recommendations.<br />
<br />
The parts published here are used in my own RepRap Morgan project. My [[User:RobertKuhlmann/RepRap Morgan|virtual Morgan]] has a real brother in a similar state. The virtual Morgan is used as proof for the measurements of the parts in this BOM. While building the virtual Morgan, many corrections on the parts have been done already. If you find mismatches or faults, please let me know, so I can update this BOM and keep it in the best possible state.<br />
<br />
= News =<br />
This section will give some brief information about the last changes.<br />
<br />
*Update 08/20/2013:<br />
:News-section established.<br />
:Regarding to an idea in Quentin Harleys forum ([http://reprap.harleystudio.co.za/?forum=morgan-builders-forum Morgan Builders Forum]) I designed a new version of the bed-z-mount-bracket to fit with the "Threadless Ball Screw"-project from Mark Sollack ([http://www.thingiverse.com/thing:112718 Thingiverse Thing 112718]). It raises the vitamin count for the Morgan a bit, but you don't need any threaded rod or trapezoid rod, no anti backlash spring and no z-axis-nuts any more, just 3 small bearings (size 624 or 623), some nuts and screws and one printed part.<br />
:I love that thing, because its as charming as the Morgan itself.<br />
<br />
*Update 09/06/2013:<br />
:After Quentin checked the assembly instructions, he noticed some minor flaws, that are corrected now.<br />
:In Detail:<br />
:- The Theta arm b has no 608-bearing hole anymore and therefore the assembly needs one 608-bearing less.<br />
:- There were two extra M8 nuts in the assembly of the PSI arm, that are removed now.<br />
:- As a follow up I had to modify the V3-toolhead.<br />
:The respective files and drawings are all up to date now. Thanks to Quentin for the tips.<br />
<br />
= Printed parts =<br />
You find the original SCAD-file from Quentin Harley, that does all his original parts, over here:<br />
[https://github.com/qharley/Morgan/blob/master/source/Reprap_Morgan-v1.00.scad Original Morgan SCAD-file]<br />
<br />
I've redrawn all printed parts to ease modifications for me, because I'm working with Autodesc Inventor.<br />
<br />
<gallery><br />
File:01-pvc pipe support a.png|01-pvc_pipe_support_a [http://reprap.org/mediawiki/images/8/8b/01-pvc_pipe_support_a.pdf pdf] [http://reprap.org/mediawiki/images/d/d5/01-pvc_pipe_support_a.ipt ipt] [http://reprap.org/mediawiki/images/4/4c/01-pvc_pipe_support_a.stl stl] Qty: 2<br />
File:02-pvc_pipe_support_b.png|02-pvc_pipe_support_b [http://reprap.org/mediawiki/images/1/13/02-pvc_pipe_support_b.pdf pdf] [http://reprap.org/mediawiki/images/d/d2/02-pvc_pipe_support_b.ipt ipt] [http://reprap.org/mediawiki/images/1/11/02-pvc_pipe_support_b.stl stl] Qty: 2<br />
File:03-z_mount_bottom_8mm.png|03-z_mount_bottom_8mm [http://reprap.org/mediawiki/images/9/98/03-z_mount_bottom_8mm.pdf pdf] [http://reprap.org/mediawiki/images/a/a3/03-z_mount_bottom_8mm.ipt ipt] [http://reprap.org/mediawiki/images/a/ac/03-z_mount_bottom_8mm.stl stl] Qty: 1<br />
File:04-z_mount_top_8mm.png|04-z_mount_top_8mm [http://reprap.org/mediawiki/images/f/f8/04-z_mount_top_8mm.pdf pdf] [http://reprap.org/mediawiki/images/5/56/04-z_mount_top_8mm.ipt ipt] [http://reprap.org/mediawiki/images/2/27/04-z_mount_top_8mm.stl stl] Qty: 1<br />
File:05-motormount short.png|05-motormount short [http://reprap.org/mediawiki/images/7/7b/05-motormount_short.pdf pdf] [http://reprap.org/mediawiki/images/7/7a/05-motormount_short.ipt ipt] [http://reprap.org/mediawiki/images/3/31/05-motormount_short.stl stl] Qty: 1<br />
File:06-motormount tall.png|06-motormount tall [http://reprap.org/mediawiki/images/4/4a/06-motormount_tall.pdf pdf] [http://reprap.org/mediawiki/images/2/21/06-motormount_tall.ipt ipt] [http://reprap.org/mediawiki/images/d/d6/06-motormount_tall.stl stl] Qty: 1<br />
File:07-drivewheel rod.png|07-drivewheel rod [http://reprap.org/mediawiki/images/b/b0/07-drivewheel_rod.pdf pdf] [http://reprap.org/mediawiki/images/2/23/07-drivewheel_rod.ipt ipt] [http://reprap.org/mediawiki/images/e/eb/07-drivewheel_rod.stl stl] Qty: 1<br />
File:08-drivewheel_tube.png|08-drivewheel_tube [http://reprap.org/mediawiki/images/9/9d/08-drivewheel_tube.pdf pdf] [http://reprap.org/mediawiki/images/7/72/08-drivewheel_tube.ipt ipt] [http://reprap.org/mediawiki/images/4/47/08-drivewheel_tube.stl stl] Qty: 1<br />
File:09-22mm 6805 bearing adaptor.png|09-22mm 6805 bearing adaptor [http://reprap.org/mediawiki/images/f/fa/09-22mm_6805_bearing_adaptor.pdf pdf] [http://reprap.org/mediawiki/images/0/0c/09-22mm_6805_bearing_adaptor.ipt ipt] [http://reprap.org/mediawiki/images/a/a2/09-22mm_6805_bearing_adaptor.stl stl] Qty: 1<br />
File:10-bed arm left 8mm.png|10-bed arm left 8mm [http://reprap.org/mediawiki/images/c/c5/10-bed_arm_left_8mm.pdf pdf] [http://reprap.org/mediawiki/images/8/8d/10-bed_arm_left_8mm.ipt ipt] [http://reprap.org/mediawiki/images/6/60/10-bed_arm_left_8mm.stl stl] Qty: 1<br />
File:11-bed arm right 8mm.png|11-bed arm right 8mm [http://reprap.org/mediawiki/images/8/82/11-bed_arm_right_8mm.pdf pdf] [http://reprap.org/mediawiki/images/c/c4/11-bed_arm_right_8mm.ipt ipt] [http://reprap.org/mediawiki/images/d/d4/11-bed_arm_right_8mm.stl stl] Qty: 1<br />
File:12-bed z mount bracket.png|12-bed z mount bracket [http://reprap.org/mediawiki/images/7/73/12-bed_z_mount_bracket.pdf pdf] [http://reprap.org/mediawiki/images/c/c1/12-bed_z_mount_bracket.ipt ipt] [http://reprap.org/mediawiki/images/3/32/12-bed_z_mount_bracket.stl stl] Qty: 1<br />
File:12-bed z mount bracket for threadless ball screw 8mm.png|alternative z-bracket for [http://www.thingiverse.com/thing:112718 this] ball screw [http://reprap.org/mediawiki/images/1/15/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm.pdf pdf] [http://reprap.org/mediawiki/images/4/4f/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm.ipt ipt] [http://reprap.org/mediawiki/images/1/1e/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm.stl stl] Qty: 1<br />
File:12-bed z mount bracket for threadless ball screw 8mm ver2.png|alternative z-bracket for [http://www.thingiverse.com/thing:112718 this] ball screw version 2 (needs extra support mat.) [http://reprap.org/mediawiki/images/d/dc/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm_ver2.pdf pdf] [http://reprap.org/mediawiki/images/8/8c/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm_ver2.ipt ipt] [http://reprap.org/mediawiki/images/1/15/12-bed_z_mount_bracket_for_threadless_ball_screw_8mm_ver2.stl stl] Qty: 1<br />
File:13-bed rear mountclips.png|13-bed rear mountclips [http://reprap.org/mediawiki/images/6/63/13-bed_rear_mountclips.pdf pdf] [http://reprap.org/mediawiki/images/6/6a/13-bed_rear_mountclips.ipt ipt] [http://reprap.org/mediawiki/images/3/36/13-bed_rear_mountclips.stl stl] Qty: 2<br />
File:14-bed front mountclips.png|14-bed front mountclips [http://reprap.org/mediawiki/images/b/be/14-bed_front_mountclips.pdf pdf] [http://reprap.org/mediawiki/images/c/c9/14-bed_front_mountclips.ipt ipt] [http://reprap.org/mediawiki/images/1/12/14-bed_front_mountclips.stl stl] Qty: 2<br />
File:15-hall endstop holder.png|15-hall endstop holder [http://reprap.org/mediawiki/images/e/e2/15-hall_endstop_holder.pdf pdf] [http://reprap.org/mediawiki/images/0/01/15-hall_endstop_holder.ipt ipt] [http://reprap.org/mediawiki/images/8/84/15-hall_endstop_holder.stl stl] Qty: 3<br />
File:16-leadscrew shaft motor mount.png|16-leadscrew shaft motor mount [http://reprap.org/mediawiki/images/a/a2/16-leadscrew_shaft_motor_mount.pdf pdf] [http://reprap.org/mediawiki/images/5/5a/16-leadscrew_shaft_motor_mount.ipt ipt] [http://reprap.org/mediawiki/images/c/c0/16-leadscrew_shaft_motor_mount.stl stl] Qty: 1<br />
File:17-Morgan arm PSI a.png|17-Morgan arm PSI a [http://reprap.org/mediawiki/images/6/6c/17-Morgan_arm_PSI_a.pdf pdf] [http://reprap.org/mediawiki/images/e/ee/17-Morgan_arm_PSI_a.ipt ipt] [http://reprap.org/mediawiki/images/3/3b/17-Morgan_arm_PSI_a.stl stl] Qty: 1<br />
File:18-Morgan arm PSI b.png|18-Morgan arm PSI b [http://reprap.org/mediawiki/images/1/13/18-Morgan_arm_PSI_b.pdf pdf] [http://reprap.org/mediawiki/images/c/c8/18-Morgan_arm_PSI_b.ipt ipt] [http://reprap.org/mediawiki/images/3/31/18-Morgan_arm_PSI_b.stl stl] Qty: 1<br />
File:19-Morgan arm Theta a.png|19-Morgan arm Theta a [http://reprap.org/mediawiki/images/5/5c/19-Morgan_arm_Theta_a.pdf pdf] [http://reprap.org/mediawiki/images/4/4f/19-Morgan_arm_Theta_a.ipt ipt] [http://reprap.org/mediawiki/images/c/c2/19-Morgan_arm_Theta_a.stl stl] Qty: 1<br />
File:20-Morgan arm Theta b.png|20-Morgan arm Theta b [http://reprap.org/mediawiki/images/c/c1/20-Morgan_arm_Theta_b.pdf pdf] [http://reprap.org/mediawiki/images/8/86/20-Morgan_arm_Theta_b.ipt ipt] [http://reprap.org/mediawiki/images/8/84/20-Morgan_arm_Theta_b.stl stl] Qty: 1<br />
File:21-Morgan toolhead.png|21-Morgan toolhead [http://reprap.org/mediawiki/images/a/a9/21-Morgan_toolhead.pdf pdf] [http://reprap.org/mediawiki/images/a/aa/21-Morgan_toolhead.ipt ipt] [http://reprap.org/mediawiki/images/b/b2/21-Morgan_toolhead.stl stl] Qty: 1<br />
File:21-Morgan_toolhead_V3.png|21-Morgan_toolhead_V3 [http://reprap.org/mediawiki/images/f/f8/21-Morgan_toolhead_V3.pdf pdf] [http://reprap.org/mediawiki/images/8/8f/21-Morgan_toolhead_V3.ipt ipt] [http://reprap.org/mediawiki/images/6/6f/21-Morgan_toolhead_V3.stl stl] Qty: 1<br />
File:22-Leadscrew-nut Alpen8mmSDS.png|22-Leadscrew-nut Alpen8mmSDS [http://reprap.org/mediawiki/images/c/c6/22-Leadscrew-nut_Alpen8mmSDS.pdf pdf] [http://reprap.org/mediawiki/images/7/71/22-Leadscrew-nut_Alpen8mmSDS.ipt ipt] [http://reprap.org/mediawiki/images/f/f0/22-Leadscrew-nut_Alpen8mmSDS.stl stl] Qty: 2<br />
File:23-extruder bowden adaptor.png|23-extruder bowden adaptor [http://reprap.org/mediawiki/images/5/58/23-extruder_bowden_adaptor.pdf pdf] [http://reprap.org/mediawiki/images/f/fd/23-extruder_bowden_adaptor.ipt ipt] [http://reprap.org/mediawiki/images/e/e2/23-extruder_bowden_adaptor.stl stl] Qty: 1<br />
File:24-Morgan Spool holder.png|24-Morgan Spool holder [http://reprap.org/mediawiki/images/d/d6/24-Morgan_Spool_holder.pdf pdf] [http://reprap.org/mediawiki/images/c/cf/24-Morgan_Spool_holder.ipt ipt] [http://reprap.org/mediawiki/images/7/7a/24-Morgan_Spool_holder.stl stl] Qty: 1<br />
File:Cap 2.png|Cap 2 [http://reprap.org/mediawiki/images/9/9a/Cap_2.pdf pdf] [http://reprap.org/mediawiki/images/d/d0/Cap_2.ipt ipt] [http://reprap.org/mediawiki/images/c/ca/Cap_2.stl stl] Qty: 2<br />
File:Eckstruder Big Gear Herringbone.png|Eckstruder Big Gear Herringbone [http://reprap.org/mediawiki/images/e/e5/Eckstruder_Big_Gear_Herringbone.pdf pdf] [http://reprap.org/mediawiki/images/1/13/Eckstruder_Big_Gear_Herringbone.ipt ipt] [http://reprap.org/mediawiki/images/6/6c/Eckstruder_Big_Gear_Herringbone.stl stl] Qty: 1<br />
File:Eckstruder Block for Prusa.png|Extruder block for Prusa [http://reprap.org/mediawiki/images/f/f4/Eckstruder_Block_for_Prusa.pdf pdf] [http://reprap.org/mediawiki/images/6/64/Eckstruder_Block_for_Prusa.ipt ipt] [http://reprap.org/mediawiki/images/1/11/Eckstruder_Block_for_Prusa.stl stl] Qty: 1<br />
File:Eckstruder Idler Block for Prusa.png|Extruder idler block for Prusa [http://reprap.org/mediawiki/images/7/78/Eckstruder_Idler_Block_for_Prusa.pdf pdf] [http://reprap.org/mediawiki/images/3/32/Eckstruder_Idler_Block_for_Prusa.ipt ipt] [http://reprap.org/mediawiki/images/8/8c/Eckstruder_Idler_Block_for_Prusa.stl stl] Qty: 1<br />
File:TighteningCone 2.png|Tightening cone 2 [http://reprap.org/mediawiki/images/b/b8/TighteningCone_2.pdf pdf] [http://reprap.org/mediawiki/images/4/44/TighteningCone_2.ipt ipt] [http://reprap.org/mediawiki/images/1/12/TighteningCone_2.stl stl] Qty: 1<br />
</gallery><br />
ZIP-Archives with all files can be downloaded here:<br />
[http://reprap.org/mediawiki/images/e/ea/RepRap_Morgan_Drawings.zip All drawings]<br />
[http://reprap.org/mediawiki/images/b/bf/RepRap_Morgan_Inventor_Files.zip All Inventor files]<br />
[http://reprap.org/mediawiki/images/c/c1/RepRap_Morgan_STL-files.zip All STL-files]<br />
<br />
== New versions ==<br />
Here are some suggestions for modifications on the original parts.<br />
<br />
== New Drivewheels ==<br />
Beside a different look, the new design is intended to<br />
* ease montage of the belt. It is sticked into one of the wheel's arms and can be fixed with a cable tie through a hole in the arm.<br />
* offer more possible positions for the end-stop magnets. Instead of separate holes, there's a circular notch, so you can place the magnets in almost any position around the wheel.<br />
* allow better guidance of the belt, for which the entrance to the holes for the belt have rounded edges. This allows a montage of the belt without buckling.<br />
<br />
The two models are derived from a common parent-component, adding the different hole-types for their specific role (as PSI/rod- or Theta/tube-wheel).<br />
<gallery><br />
File:Drivewheel base.png|Drivewheel base/parent [http://reprap.org/mediawiki/images/7/70/Drivewheel_base.ipt ipt]<br />
File:Drivewheel Rod.png|Drivewheel rod [http://reprap.org/mediawiki/images/4/42/Drivewheel_Rod.stl stl] [http://reprap.org/mediawiki/images/e/ea/Drivewheel_Rod.ipt ipt]<br />
File:Drivewheel Tube.png|Drivewheel tube [http://reprap.org/mediawiki/images/c/c2/Drivewheel_Tube.stl stl] [http://reprap.org/mediawiki/images/5/55/Drivewheel_Tube.ipt ipt]<br />
</gallery><br />
<br />
= Hardware =<br />
<gallery><br />
File:Bottom platform.png|Bottom platform [http://reprap.org/mediawiki/images/3/36/Bottom_platform.pdf pdf] [http://reprap.org/mediawiki/images/f/fd/Bottom_platform.ipt ipt]<br />
File:Top platform.png|Top platform [http://reprap.org/mediawiki/images/9/98/Top_platform.pdf pdf] [http://reprap.org/mediawiki/images/c/c8/Top_platform.ipt ipt]<br />
File:Pvc-pipe a.png|PVC-Pipe 446,92 mm [http://reprap.org/mediawiki/images/1/1a/Pvc-pipe_a.pdf pdf] [http://reprap.org/mediawiki/images/4/4b/Pvc-pipe_a.ipt ipt]<br />
File:Pvc-pipe b.png|PVC-Pipe 437,57 mm [http://reprap.org/mediawiki/images/e/ee/Pvc-pipe_b.pdf pdf] [http://reprap.org/mediawiki/images/2/25/Pvc-pipe_b.ipt ipt]<br />
File:Smooth rod 429mm.png|Smooth rod 429mm [http://reprap.org/mediawiki/images/9/9f/Smooth_rod_429mm.pdf pdf] [http://reprap.org/mediawiki/images/7/7d/Smooth_rod_429mm.ipt ipt] Qty: 2<br />
File:22mm steel pipe 460mm.png|22mm steel pipe 460mm for Theta arm [http://reprap.org/mediawiki/images/8/83/22mm_Stahlrohr.pdf pdf] [http://reprap.org/mediawiki/images/a/a4/22mm_Stahlrohr.ipt ipt]<br />
File:15mm steel pipe 440mm.png|15mm steel pipe 440mmfor PSI arm [http://reprap.org/mediawiki/images/b/bf/15mm_Stahlrohr_440mm.pdf pdf] [http://reprap.org/mediawiki/images/1/16/15mm_Stahlrohr_440mm.ipt ipt]<br />
File:15mm steel pipe 200mm.png|15mm steel pipe 193mm for bed-arm [http://reprap.org/mediawiki/images/f/f7/15mm_steel_pipe_200mm.pdf pdf] [http://reprap.org/mediawiki/images/b/b7/15mm_steel_pipe_200mm.ipt ipt] Qty: 2<br />
File:RepRap Morgan Hardware Liste.png|Hardware list [http://reprap.org/mediawiki/images/7/7c/RepRap_Morgan_Hardware.pdf pdf]<br />
File:Pcb heated bed.png|PCB heated bed [http://reprap.org/mediawiki/images/0/09/Pcb_heated_bed_files.zip zip]<br />
File:Build base.png|Build base plate [http://reprap.org/mediawiki/images/9/9e/Build_base.pdf pdf][http://reprap.org/mediawiki/images/8/83/Build_base.ipt ipt]<br />
File:Building platform.png|Building platform [http://reprap.org/mediawiki/images/9/90/Building_platform.pdf pdf] [http://reprap.org/mediawiki/images/e/e3/Building_platform.ipt ipt]<br />
</gallery><br />
<br />
I'm using steel- instead of brass- or copper-pipes for the vertical PSI- and Theta-axis, because I can get them in a very slim variant, making them more lightweight, while being more stable and even less expensive, compared to their copper pendants.<br />
<br />
<todo><br />
2mm self tapping coach screws, 40mm<br />
<br />
hard spring (idler compression) 7mm <br />
<br />
cabinet coach screws, 5mm<br />
</todo><br />
== PCB heated bed ==<br />
I've uploaded my own design of a heated bed here. The archive contains the assembly group and the discrete parts. You need to create an idw-file from "pcb heated bed copper.ipt" to get the layout.<br />
<br />
<br />
Tips for that:<br />
<br />
You should set the line-thickness of the drawing to 0.01mm, color white. If you want a lower resistance with the same layout, just set the line-color back to black.<br />
<br />
The hole-marks of the PCB fit with the OpenHW-plate as well as with my own here in the BOM.<br />
<br />
<br />
The building platform can be fine adjusted with three screws. The usage of more screws for adjustment is optional (not recommended though).<br />
<br />
You should isolate the heated bed by covering it with e.g. Polyurethane lacquer. You can then glue it with a thermo conductive adhesive under the top-Platform. Of course this is just a suggestion, if you want to use an aluminum-platform, like I do. Other configurations e.g. with glass need different solutions for platform adjustment and heated bed montage.<br />
<br />
= Assembly instructions =<br />
<br />
In this section you'll find detailed instructions on how to assemble the parts to a functioning RepRap Morgan 3D-printer.<br />
<br />
== Morgan Arm Drive PSI ==<br />
<br />
The 15mm pipe strengthens the threaded rod over its length, so it doesn't bend while printing. The rod alone wouldn't be strong enough. To form the ends of the pipe to hold M8 nuts, just press an M8 nut into the end of the pipe, using an M8 bolt and a small hammer. Use a different M8 nut for the final montage, because the M8 nut may have been damaged by forming the pipe. The result should look like shown in chapter "Hardware".<br />
<imagemap><br />
File:Morgan arm drive PSI assembly.png|RepRap Morgan arm drive PSI assembly|300px|center<br />
default [http://reprap.org/mediawiki/images/f/f4/RepRap_Morgan_Arm_Drive_PSI_assemby_instruction_and_BOM.pdf]<br />
desc bottom-left<br />
</imagemap><br />
Just download the PDF-file by clicking the image. The PDF-file also contains the BOM for the arm drive.<br />
<br />
== Morgan Arm PSI ==<br />
<br />
The PSI arm is assembled easily. You only have to be careful while pressing the M8 nuts and bearings into the plastic. If it's too tight you should file down the fittings a bit instead of using brute force.<br />
Be shure the M8 washers are small enough, so they don't touch the outer part of the bearings. They will block them otherwise.<br />
The 28mm washers may be a bit smaller than 28mm. You'll find 24mm washers more easily in your DIY-market.<br />
<imagemap><br />
File:Morgan arm PSI assembly and BOM.png|RepRap Morgan arm PSI assembly|300px|center<br />
default [http://reprap.org/mediawiki/images/5/51/RepRap_Morgan_Arm_PSI_assembly_instruction_and_BOM.pdf]<br />
desc bottom-left<br />
</imagemap><br />
<br />
<br />
== Morgan Arm Theta ==<br />
<br />
Assembling the Theta arm is very simple. You only need to be careful when pressing the bearings in.<br />
<imagemap><br />
File:Morgan arm Theta assembly and BOM.png|RepRap Morgan arm Theta assembly|300px|center<br />
default [http://reprap.org/mediawiki/images/d/da/RepRap_Morgan_Arm_Theta_assembly_instruction_and_BOM.pdf]<br />
desc bottom-left<br />
</imagemap><br />
<br />
You can use a 6805 (JIS B 1521) bearing instead of the 61805 (DIN 125). Use what you can buy more easy or cheaper.<br />
<br />
<br />
== Platform adjustment ==<br />
<br />
Here some details about how to adjust the platform (there are several solutions for that, this is just one of them).<br />
<imagemap><br />
File:RepRap Morgan Platform Adjustment.png|RepRap Morgan platform adjustment|300px|center<br />
default [http://reprap.org/mediawiki/images/5/54/RepRap_Morgan_Platform_adjustment.pdf]<br />
desc bottom-left<br />
</imagemap><br />
<br />
<br />
== Leadscrew nuts and the anti-backlash spring ==<br />
<br />
The two leadscrew nuts and the spring are configured as shown here in the drawing. The tension of the spring against the to nuts reduces the backlash, when the direction of the z-axis-rotation changes.<br />
The spring should be app. 26mm long and have an inner diameter of app. 8.5mm to 9mm (9.5mm to 10mm outer diameter).<br />
<imagemap><br />
File:Leadscrew nuts and anti-backlash spring montage.png|RepRap Morgan leadscrew nuts and anti-backlash spring|300px|center<br />
default [http://reprap.org/mediawiki/images/f/f1/RepRap_Morgan_leadscrew_nuts_and_anti-backlashspring_montage.pdf]<br />
desc bottom-left<br />
</imagemap><br />
<br />
[[Category:RepRap Morgan]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Bottlebot&diff=143374Bottlebot2015-01-27T18:47:45Z<p>Funny bananas: fixed typo, changed thy to they</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = Bottlebot<br />
|status = Experimental<br />
<!--Image--><br />
|image = Bottlebot_cover_img.png<br />
<!--General--><br />
|description = This is a prototype system for simply an effectively processing individual HDPE plastic bottles into filament for FDM 3D printers.<br />
|license = GPL<br />
|author = Andreas<br />
|reprap = Sui Generis<br />
|categories = {{tag|Recycling}}<br />
}}<br />
<br />
=Background and Concept=<br />
Recycling plastics into the raw materials for 3D printing is an idea that has been around for several years. A number of people have worked on the problem with varied degrees of success.<br />
<br />
#The [http://web4deb.blogspot.com/2010/12/plastic-extruder-continued.html web4deb extruder] reliably extrudes HDPE filament to be used as a growth medium in hydroponics applications. It is a granule-base extruder with an auger mass-transport system that can readily turn virgin HDPE granules or carefully cut-up HDPE bottles into extrudate. <br />
#The [http://recyclebot.tumblr.com/archive RecycleBot project] implemented the web4deb extruder and began to explore methods of processing plastics to a form suitable for the auger mass-transport system. The project's [http://reprap.org/wiki/Recyclebot reprap wiki] has more condensed information. <br />
#A group of students at Delft University researched methods of extruding filament from recycled plastic and put together a [http://reprapdelft.files.wordpress.com/2010/04/reprap-granule-extruder-tudelft1.pdf report] documenting their attempts and prototypes. They used blenders and paper shredders to process bottles into an acceptable granular form for their extruder. <br />
All of these projects have demonstrated that it's possible to extrude recycled plastic. But that's a solved problem. Extruding filament is not challenging part of task. Processing the source of recycled plastic material is. I think the value of these projects is that they have demonstrated that blenders, paper shredders, and studious hours with a pair of scissors are not feasible methods of materials processing. This materials processing wall is what's been holding back progress on this problem. <br />
<br />
I am developing a system to solve this problem as my engineering senior design project at Swarthmore college. I am approaching the materials processing problem by first narrowing the scope of the problem to recyclable items that have a high material yield. I am targeting plastic bottles over plastic bags and other plastic because they have a large mass of material per individual item and are easily found all over the planet. <br />
<br />
Second, I am not pursuing the shredding and grinding methods that have been demonstrated as insufficient for this application. Industrial plastics recycling technology relies on industrial-scale shredders, [http://www.jordanreductionsolutions.com/plastic-shredder.html like this one], to process recyclables into a suitable feedstock for further refining processes. However, this is not a process that scales down very well (at least cost-effectively). I am instead attempting to "unwind" [[HDPE]] bottles into a long, rectangular cross-section filament that is fed into a middleman extruder to produce 3mm or 1.75mm filament for use in established open source [[fused filament fabrication]] (FDM) 3D printers. <br />
<br />
Though admittedly less versatile in material inputs when compared to industrial recycling operations, I think that this approach may be effective on a maker-scale (a scale for which it often doesn't make sense to compare to industrial-scale operations). I am initially pursuing HDPE as my material of interest because it has been [http://hydraraptor.blogspot.com/2007/10/sticking-point.html demonstrated here] [http://blog.reprap.org/2009/11/revisiting-hdpe.html and here] as a viable FDM printing material and is plentiful. I will investigate further common thermoplastics after roughing out the system with HDPE feed. <br />
<br />
=Status=<br />
This project was completed by Andreas Bastian in May of 2012. Documentation is being recompiled for this wiki and will be available soon. Meanwhile, please see [http://andreasbastian.com/bottlebot_overview.pdf this overview of the project] or [http://andreasbastian.com/bottlebot_report.pdf the project final report] for more information. Updates on the project from the Spring of 2012 can found [http://andreasbastian.tumblr.com here]. Questions can be directed to andy (at) andreasbastian (dot) com.</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Choosing_a_Power_Supply_for_your_RepRap&diff=142273Choosing a Power Supply for your RepRap2015-01-20T09:02:34Z<p>Funny bananas: /* PFC */</p>
<hr />
<div>The [[power supply]] (PSU or Power Supply Unit) is a most essential component of any RepRap, yet the information over which PSU to choose/buy for RepRap use is very much scattered around the web, in YouTube videos, and in various forums, blogs and wikis. Also there is little information concerning safety issues and these should be the absolute priority when dealing with PSUs.<br />
<br />
The purpose of this page is to help the RepRap builder choose a proper PSU for her/his project, possibly modify it slightly to function with her/his choice of RepRap electronics, and deal with any safety concerns that may arise related to the PSU.<br />
<br />
In a hurry and don't want to read through all that crap (you should, though!)? Jump to Section 6 below!<br />
<br />
<br />
== Switch-mode power supplies, a short introduction ==<br />
<br />
Nowadays (2014) practically all power supplies within the power range required by RepRap printers (250~350W) are switch-mode power supplies (as opposed to linear power supplies, which are considered technologically outdated). Switch-mode power supplies have relatively complex circuits that convert mains AC electricity to the DC voltages required by RepRap steppers and electronic circuits. The design and manufacturing of switch-mode power supplies is way beyond the reach of any hobbyist, leaving a single alternative for RepRap builders: to buy a commercial switch-mode PSU.<br />
<br />
== LED strip PSUs or ATX PSUs ? ==<br />
<br />
Economies of scale play an important part in determining the price and availability of a switch-mode power supply. Consequently, industrial-grade switch-mode power supplies (e.g. those used in CNC machines) manufactured in small series and to high standards of reliability, are extremely expensive and have limited availability, ruling out their use for DIY RepRaps. So when looking to buy a PSU for her/his RepRap, the RepRap builder has in reality just two choices: either what can be called the LED strip PSU, or [https://en.wikipedia.org/wiki/Power_supply_unit_(computer)#ATX_standard a modern ATX PSU]. Both are switch-mode power supplies easily bought in retail commerce, but they differ essentially in the purpose for which they are designed, manufactured and sold.<br />
<br />
=== LED strip PSUs ===<br />
<br />
LED strip PSUs are switch-mode PSUs designed to supply a fixed DC 12V or 24V rail with relatively high current capabilities (anywhere from 15A to 30A or more) to a strip of dozens or hundreds of LEDs, each consuming a small percentage of the total current. In the last couple of years, due to the development of LED lighting, they have become relatively inexpensive and are now widely available. They are even currently included in many commercial RepRap kits. However, one must keep in mind their original design requirements: powering LEDS is not a particularly difficult task, as these are relatively forgiving electronic devices. Also, since LED strip PSU manufacturers are not forced to comply with any specific requirements or standards apart from the basic ones that will get them through the usual test laboratories certifications, there is a big variation in quality and price, and it is practically impossible for the hobbyist to choose one LED strip PSU over another on any rational basis.<br />
<br />
=== ATX PSUs ===<br />
<br />
ATX PSUs on the other hand have been around for decades, have been produced consistently in hundreds of millions of units over many years, and have evolved over time, adapting to the ever-changing PC market. There is an "official" ATX PSU design guide / specification that is revised every few years and that is available as [http://cache-www.intel.com/cd/00/00/52/37/523796_523796.pdf a PDF document for free download]. ATX PSU manufacturers can claim that their products conform to these specifications (or not) as this is seen as an attractive feature for consumers. The latest ATX specification revisions include not only precise technical specifications, but also a number of safety requirements as well as some ergonomic requirements.<br />
ATX PSUs get regularly opened and dissected in specialized hobbyist websites (JonnyGuru, TechPowerUp, HardwareSecrets, etc), and some brands have established themselves as having reliable products with a good price/performance ratio. So all in all, there is a lot more information available to the hobbyist to make a rational choice when choosing an ATX PSU.<br />
<br />
=== Comparison table ===<br />
<br />
The following table compares LED strip PSUs vs ATX PSUs for RepRap use:<br />
{| class="wikitable" border="1"<br />
|-<br />
! scope="col" | <br />
! scope="col" | LED Strip PSUs<br />
! scope="col" | ATX PSUs<br />
<br />
|-<br />
| Availability || widely available || very widely available <br />
|-<br />
| Price || $20-$120 || $20-$200 or more <br />
|-<br />
| Power || 200W-400W || 200W-600W or more<br />
|-<br />
| [[Wikipedia:Power factor correction|PFC]] (see below) || No (not required) || Passive or Active PFC (or no PFC at all) available <br />
|-<br />
| Thermally regulated fan || No (not required) || Yes (12 or 14cm diameter)<br />
|-<br />
| Guaranteed minimum efficiency || No (not required) || Yes<br />
|-<br />
| Cables included || No || Yes<br />
|-<br />
| Low ripple/noise DC output || No (not required) || Yes<br />
|-<br />
| Excellent load/line regulation || No (not required) || Yes<br />
|-<br />
| Requires modifications for RepRap use<br />
|| No. But requires extra cabling,<br />
<br />
a power switch and a power plug<br />
<br />
receptacle.<br />
|| Depends, but in general, a few simple modifications (and this voids the warranty).<br />
However, by using a pair of specially prepared inexpensive cables, one can use<br />
<br />
any ATX PSU without any modifications and without voiding the warranty. See below.<br />
|-<br />
| Protections || Few(?) || Many<br />
|-<br />
| Remote softstart and standby || No || Yes<br />
|-<br />
| On/Off switch || No (usually) || Yes (usually)<br />
|-<br />
| 24V versions available || Yes || No<br />
|-<br />
| Established brands || No || Yes<br />
|-<br />
<br />
|}<br />
<br />
=== PFC ===<br />
<br />
PFC, which stands for [[Wikipedia:Power factor correction|Power Factor Correction]], is a highly desirable feature for any switch-mode PSU, and a good indication of the quality and engineering that has gone into the design of a PSU. When it comes to ATX PSUs, nowadays (2014) only the very cheaply manufactured models (which BTW are not suitable for RepRap use) do not have some form of PFC. Active PFC is preferable to passive PFC, although it does increase the complexity and price of a PSU. Explaining what PFC is and what it does in details is beyond the scope of this wiki, but you can read this article for more information: [http://www.silentpcreview.com/article28-page5.html Power Supply Fundamentals on silentpcreview.com], scroll down to the PFC section.<br />
<br />
== PSU power requirements for RepRap use ==<br />
<br />
RepRap electronics (e.g. the ubiquitous Arduino Mega 2560 + [[RAMPS_1.4]] combo) usually require +12V to function and the same voltage is used for the heated bed (if present), extruder heater(s) and steppers. Each electrical or electronic part draws a certain current and by totaling these currents and using the formula Power (Watts) = Voltage (V) x Current (A), we get the power requirements for our PSU, whether we are using an LED strip PSU or an ATX PSU (for the 12V rail, see below). Following good engineering practices means we'll also add a safety margin and slightly overspecify our PSU power requirements.<br />
<br />
Another way to calculate our total current and hence total power requirements for the PSU is to check the fuse or fuses that protect our RepRap. For example, on a [[RAMPS_1.4]] board there are two PTC resettable fuses: one is a 5A fuse for the electronics, extruder(s) and steppers, the other one is an 11A fuse exclusively for the heatbed. So the maximum current draw from our Arduino Mega 2560 + [[RAMPS_1.4]] combo would be 16A. We'll add a 25% safety margin and that gets us to 20A, or 12V x 20A = 240W. So, we should look for a PSU that can deliver a minimum of 20A @ 12V = 240W. However note that you should not necessarily select a PSU that just meets these power ratings, as it would operate near its maximum capacity. Anything that exceeds these power requirements will work but if you can afford it, buy a PSU that exceeds the minimum power requirements by 30% or more.<br />
<br />
== What to look for in an ATX PSU for your RepRap project ==<br />
<br />
There are scores of ATX PSUs that will fit within any power range, from various brands and in various lines. To help with your choice of ATX PSU for your RepRap project, here is a short list of desirable features:<br />
<br />
* Exceeds the previously calculated (see above) minimum power requirements by 30% or more '''on its 12V rail(s)'''.<br />
* Has PFC. Preferably '''active PFC'''.<br />
* Has a temperature controlled fan, 12cm (good) or 14cm (better).<br />
* Has a guaranteed efficiency rating. Nowadays (2014) manufacturers have standardized over some efficiency labels such as Bronze, Silver, Gold and Platinum. Bronze is more than good enough for RepRap use.<br />
* Has a Power On/Off switch.<br />
* "Haswell compatibility" (explained below).<br />
* Comes from a generally recognized manufacturer and has received positive reviews from hobbyist websites (such as those mentioned above).<br />
<br />
Once you have decided on a realistic budget, it should be easy to find and purchase online an adequate ATX PSU for your RepRap project with all the desirable features listed above. One tip: don't even waste time considering ATX PSUs at the "bottom of the heap" i.e. those $20 noname ATX PSUs you can find on eBay, or some old second hand ATX PSU. For a few extra dollars or euros you can certainly find much better quality stuff, new in the box, and that's what you'll want to use in your RepRap project.<br />
<br />
=== Haswell compatible PSUs ===<br />
<br />
At the end of 2014 most if not all ATX PSUs being sold in retail are probably labelled "Haswell compatible" or "Haswell ready". What this means in practical terms is that these power supplies will not shutdown, fail to start or lose regulation with very small power loads. The advantage for RepRap builders is that "Haswell compatible" ATX PSUs will also generally work without issues with the unbalanced (12V vs 5V/3.3V) loads presented by RepRaps (see [[Balancing ATX Supplies]]).<br />
<br />
== Ten Quick Steps to Modifying an Inexpensive ATX PSU for RepRap Use - with pictures! ==<br />
<br />
First, please note that there is absolutely nothing to convert or modify if you are using one of the "ATX PSU Ready" controller electronics, such as the [[Generation 7 Electronics]]. You can use an ATX PSU "as is", saving both time and money.<br />
<br />
That said, let's get hands on with an ATX PSU for our RepRap! In this case I took pictures of the modifications I made to an inexpensive ATX PSU I bought here in Spain in September 2014 for my P3Steel (a Prusa i3 variant) project, which uses the ubiquitous Arduino Mega 2560 + RAMPS 1.4 combination as its electronics. The total time required to modify an ATX PSU will of course vary but I would estimate it at around one evening, working at a leisurely pace. The following are generic instructions that apply in principle to any modern ATX PSU, you don't necessarily have to buy the same model as shown below.<br />
<br />
Note that by clicking on any of the thumbnail pictures below you have access to the full-size version (in case you want to check any detail).<br />
<br />
=== Unboxing ===<br />
<br />
Here is the ATX PSU, still in its fancy box:<br />
<br />
[[File:ATX_PSU_in_the_box_1.jpg|304px|An ATX PSU for my RepRap project, in its box, still with the shrink wrap.]] [[File:ATX_PSU_box_back_1.jpg|300px|The back of the box lists the technical specifications and features for this ATX PSU.]]<br />
<br />
The back of the box lists the technical specifications and features for this ATX PSU. Note that despite the wonderful claims on the fancy box, this particular ATX PSU model only has passive PFC (doh!) and no guaranteed efficiency rating (bummer!), but it has a 140mm thermally regulated fan (good!) and it's painted black (just kidding!).<br />
<br />
Let's take it out of the box and check what's included:<br />
<br />
[[File:ATX_PSU_open_box_1.jpg|200px|Box contents: the PSU in bubble wrap, power cable, small plastic bag with four screws and... no manual!]] [[File:ATX_PSU_out_of_box_1.jpg|288px|Just the ATX PSU. Cables could be longer but have an adequate length for RepRap use.]]<br />
[[File:ATX_PSU_cables_1.jpg|310px|Cables are not sleeved.]]<br />
<br />
Well, we have the ATX PSU properly packaged in bubble wrap, a power cable (EU type, and really short as I found out later), a small plastic bag with four screws and... no manual or warranty certificate! The cables could be a little bit longer but they have an adequate length for RepRap use. They are not sleeved, but we'll work around that later. Also note there is a plastic protection for the cables exit from inside the PSU. And finally: 200~240V AC only (which is fine for Spain and most of the EU).<br />
<br />
[[File:ATX_PSU_gauge_1.jpg|350px|18AWG wire.]] [[File:ATX_PSU_gauge_2.jpg|350px|20AWG wire.]]<br />
<br />
Yet another thing we can check during the unboxing is the [https://en.wikipedia.org/wiki/Wire_gauge wire gauge] used for the cabling of our ATX PSU. Usually we'll find 22AWG to 16AWG cables in ATX PSUs (the smaller gauge the better), this one uses 18AWG and 20AWG (we are going to use 2x20AWG for our 12V@5A rail and 2x18AWG for our 12V@11A rail). <br />
<br />
[[File:ATX_PSU_label_1.jpg|354px|The label on one of its sides indicates the maximum power available for each rail.]]<br />
[[File:ATX_PSU_switch_1.jpg|300px|The back of the ATX PSU with a proper On/Off switch and power cord receptacle.]]<br />
<br />
The label on one of its sides indicates the maximum power available for each rail. For RepRap use, the relevant figure we have to look for is the rating for the 12V rail, in this case, 27A or 324W: we are good! Also note the back of the ATX PSU has a proper On/Off switch and power cord receptacle. Again, good.<br />
<br />
=== Tools and materials required ===<br />
<br />
Make sure you have all of these at hand before you get started!<br />
<br />
* Multimeter.<br />
* Small cutting pliers and long-nose pliers.<br />
* Screwdrivers.<br />
* Soldering iron and some solder.<br />
* 47 Ohm resistor (1/8W or 1/4W or 1/2W etc; any size will do).<br />
* Terminal block strip (12 position, or 2 x 6 position).<br />
<br />
[[File:ATX_PSU_tools_1.jpg|400px|Pliers and screwdrivers generally needed to modify ax ATX PSU.]]<br />
[[File:ATX_PSU_block_1.jpg|400px|12 position terminal block strip and correct size screwdriver.]]<br />
<br />
[[File:ATX_PSU_meter_1.jpg|280px|Autorange digital multimeter with 20A DC measuring capability.]]<br />
<br />
=== Preliminary Test ===<br />
<br />
It's always a good idea to make a simple, quick preliminary test of our just unboxed ATX PSU i.e. turn it on and check that it does indeed work and that we get the correct voltages on all its outputs. Let's do this in a few simple steps:<br />
<br />
* Examine the 24-pin motherboard power connector and find the green wire. This is the PS_ON wire and we have to bring it to a low logic level to softstart our ATX PSU. To do so, '''we use a 47 Ohm resistor''' inserted between the PS_ON (green) wire and any of the GND (black) wires. DO NOT use a paper clip! Inserting a paper clip between the wrong terminals could short the PSU and damage it, and you could severely hurt yourself in the process! Also at this point, '''double-check''' that you have correctly inserted the resistor between the green wire and one of the black wires.<br />
<br />
* Make sure the On/Off switch is in the Off position and connect the mains AC power cable. Nothing should happen at this point.<br />
<br />
* Connect a multimeter reading DC Volts between the yellow (+12V) and black (GND) wires in one of the Molex connectors. It should show 0V at this point.<br />
<br />
* Now switch on the ATX PSU and check the multimeter: it should show approximately 12V +/- 5%. Also the PSU fan should be spinning. Now we know that the +12V rail is working.<br />
<br />
The picture below is from the same test on an older ATX PSU (this test was done on our sample new ATX PSU with similar results, I just forgot to take some pictures then).<br />
<br />
[[File:ATX_PSU_test_1.jpg|600px|No load test of an ATX PSU.]]<br />
<br />
If you want, also check the +5V (red wire on the same Molex connector) rail. Although the +5V rail is not really required for a RepRap, it's always a good thing to have available in case we need it.<br />
<br />
=== Opening the ATX PSU ===<br />
<br />
'''Warning 1:''' from this point on we are voiding the warranty of this ATX PSU. If you absolutely don't want to void the warranty of your ATX PSU, check the alternative "No Modifications" method detailed below to connect it to your RepRap electronics.<br />
<br />
'''Warning 2:''' YOU MUST ABSOLUTELY MAKE SURE THAT THE ATX PSU IS PHYSICALLY DISCONNECTED FROM THE MAINS AC POWER BEFORE OPENING IT AND DURING THE ENTIRE TIME IT IS OPEN. '''FAILURE TO DO SO EXPOSES YOU TO SEVERE ELECTRICAL SHOCK!''' Also, please wait 10 minutes after disconnecting the ATX PSU from mains AC power for the PSU's capacitors to discharge. This isn't strictly necessary nowadays since all modern ATX PSUs should have a circuit that self-discharges the bulk capacitors, but it doesn't hurt to be extra-careful.<br />
<br />
In general, ATX PSUs are held together by just four small screws. Note that in the picture below, one of the screws is covered by a QC adhesive label, which we are just going to scratch away:<br />
<br />
[[File:ATX_PSU_screws_1.jpg|600px|The four screws holding together the ATX PSU case.]]<br />
<br />
We now have removed the four screws, but the case still won't come apart!<br />
<br />
[[File:ATX_PSU_screws_removed_1.jpg|300px|We now have removed the four screws, but the case still won't come apart!]]<br />
<br />
The two case halves are held together by pressure. Gently pry the case open with a flat screwdriver:<br />
<br />
[[File:ATX_PSU_pry_open_1.jpg|400px|Gently push apart the two case halves with a flat screwdriver.]]<br />
<br />
When the two case halves finally separate, be careful not to pull too strongly on the short fan cable!<br />
<br />
=== Visual inspection of the PSU innards ===<br />
<br />
We have opened the ATX PSU and voided its warranty, so it doesn't hurt to take a look inside, right? First things first, note the exposed solder joints at the back of the power switch and power cord receptacle. This is why the PSU must absolutely be disconnected from mains power before you open it!<br />
<br />
[[File:ATX_PSU_innards_1.jpg|600px|The innards of our ATX PSU.]]<br />
<br />
At this stage you should disconnect the connectors for the fan and passive PFC coil (not present if your PSU has active PFC). Use long-nose pliers for this, and be careful not to accidentally bump into other components on the PCB.<br />
<br />
[[File:ATX_PSU_innards_2.jpg|600px|Another view of the innards of our ATX PSU, with the PFC coil connector and the fan connector disconnected.]]<br />
<br />
Let's take a closer look at the wires we are going to cut and those we aren't going to touch:<br />
<br />
[[File:ATX_PSU_innards_3.jpg|600px|Some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
Purple: +5V_Standby, keep.<br />
<br />
''Grey: Power_Good, cut.''<br />
<br />
Green: PS_ON (wrongly labeled RC here), keep.<br />
<br />
And here we see something unusual: there are two sense lines, one is labeled +S (orange) and the other is labeled -S (brown). On most ATX PSUs there is only one 3.3V_Sense line, and it usually is brown. '''See the discussion below about the 3.3V_Sense line''', but for this particular power supply, I decided to cut the -S (brown) and keep a short (50~70mm) length for the +S (orange). Please adapt these instructions to your specific ATX PSU.<br />
<br />
[[File:ATX_PSU_innards_4.jpg|600px|More of the same: some of the wires we are going to cut, and some we are not going to touch.]]<br />
<br />
''Blue: -12V, cut.''<br />
<br />
Yellow: +12V, keep all of them!<br />
<br />
Black: GND, keep all of them.<br />
<br />
Red: +5V, cut some, keep some! Haha! How many and which ones? Well, I kept all the +5V wires that went to the Molex connectors, and then a couple more, and cut the rest.<br />
<br />
Orange: 3.3V, cut them all but one (used to connect to the +3.3V_Sense).<br />
<br />
Now take a little break and come back with the cutting pliers ready for the next step!<br />
<br />
=== Cutting unnecessary cables ===<br />
<br />
We can now cut all the cables we deemed unnecessary in the previous step. Be careful with any surrounding components and cut the cables flush at the PCB level:<br />
<br />
[[File:ATX_PSU_cutting_1.jpg|600px|Cables should be cut right at the PCB level.]]<br />
<br />
We also cut away the 12V connector to the motherboard. We are going to use these two pairs of 12V (yellow) and GND (black) 20AWG cables to make our 12V@5A rail for our RAMPS 1.4.<br />
<br />
[[File:ATX_PSU_cutting_2.jpg|600px|We also cut away the motherboard 12V CPU connector.]]<br />
<br />
Cable massacre: we cut away all the cables to the main motherboard connector.<br />
<br />
[[File:ATX_PSU_cutting_4.jpg|600px|And we continue cutting, this time the cables to the main 24-pin motherboard connector.]]<br />
<br />
Obviously we don't throw away the cables we have just cut. Among other things they can be used to wire the heatbed for your RepRap.<br />
<br />
[[File:ATX_PSU_cutting_3.jpg|600px|We keep the cables we cut for later use in our RepRap.]]<br />
<br />
=== (optional) Solder the 3.3V_Sense wire ===<br />
<br />
ATX PSUs usually have a sense wire for the 3.3V rail; it is used to measure the voltage drop in the wires due to the high currents of the 3.3V rail, and a circuit in the PSU compensates for this voltage drop by continually adjusting the voltage of the 3.3V rail. Because modern ATX motherboards use much smaller currents from the 3.3V rail than older motherboards (from the e.g. Pentium IV era), the 3.3V sense wire and its associated circuit are not considered very important nowadays. And for RepRap use, since we don't need 3.3V for anything, it is really irrelevant.<br />
<br />
So in theory, we could just cut the 3.3V_Sense wire flush with the PSU PCB and forget about it. However to be 100% sure would require a circuit analysis and that would mean spending a lot more time than soldering two wires together: the 3.3V_Sense wire with one of the 3.3V wires. As you can see below after soldering the two wires together they should be insulated with a bit of electrical tape or heatshrink tubing. And now we can forget about it completely!<br />
<br />
[[File:ATX_PSU_cutting_sense_1.jpg|360px|The 3.3V_Sense lead and a 3.3V lead which we are going to solder together.]] [[File:ATX_PSU_cutting_sense_2.jpg|500px|The 3.3V_Sense lead and a 3.3V lead soldered together and insulated with heatshrink tubing.]]<br />
<br />
=== Last visual inspection and closing the ATX PSU ===<br />
<br />
At this stage we have cut all the unnecessary wires and soldered (or not) the 3.3V_Sense wire (usually brown, here it was orange)) with one of the 3.3V wires (always orange), and insulated our solder joint.<br />
<br />
Let's go through a short checklist so we can close the PSU once and for all and never have to deal with its internals again:<br />
<br />
* All the components on the PCB are intact (we didn't damage anything).<br />
* The 3.3V_Sense wire is properly soldered to a 3.3V wire and the solder joint is properly insulated, and we have tucked it away from the fan.<br />
* None of the wires we have cut away is shorting against any component on the PCB.<br />
* We only have the following wires coming out of the PSU: purple (+5SB), red (+5V), yellow (+12V), green (PS_ON), black (GND).<br />
* We have reconnected the fan connector back to its original socket.<br />
* We have reconnected the PFC coil connector (if we have a passive PFC PSU) back to its original socket.<br />
<br />
OK, we can now close the case of our ATX PSU. Remember that the pressure joints should be fit together just as they were originally:<br />
<br />
And we screw back the four screws that hold the two case halves together:<br />
<br />
Done!<br />
<br />
=== (optional) Braid cables ===<br />
<br />
Braiding cables is incredibly easy, requires just a few minutes of manual work, and avoids having tangles of loose wires running between the ATX PSU and the electronics of your RepRap. I recommend it, but of course this step is entirely optional. Here are a couple of pictures of the braided cables for this ATX PSU:<br />
<br />
[[File:ATX_PSU_braids_1.jpg|340px|Braided cables.]] [[File:ATX_PSU_braids_3.jpg|376px|Braided cables.]] [[File:ATX_PSU_braids_2.jpg|276px|Braided cables.]] <br />
<br />
In the rightmost picture above you can see the various styles of braids I used: 2 strands (just twist two cables together), 3 strands (e.g. the purple, green and black braid), 4 strands (for the 12V @ 5A yellow-black braid) and 2 x 3 strands (for the 12V @ 11A yellow-black braid).<br />
<br />
=== Add terminal block strip(s) and final test ===<br />
<br />
Now we just screw all our wires in the 12-position (or 2 x 6-position) terminal block strip(s) and repeat the same test as above, this time connecting the 47 Ohm resistor between the two positions in our terminal block strip that correspond to PS_ON (green) and GND (black).<br />
<br />
<br />
<br />
[[File:ATX_PSU_ready_1.jpg|600px|The ATX PSU, ready to be connected to our RepRap electronics.]]<br />
<br />
== Using an ATX PSU for your RepRap project without modifying it (and without voiding its warranty) ==<br />
<br />
It is entirely possible to use any modern ATX PSU to power any RepRap without modifying the PSU in the least (in other words, without voiding its warranty). However, this requires the purchase of a pair of cables which may not be available locally (I had to order mine from China, and they took the usual 30 days to arrive), so take this into account when sourcing the parts for your 3D printer.<br />
<br />
Basically we'll need a 24 pin female to male ATX power supply 30cm extension cable (approx. cost: $3), and either a couple of female Molex connectors or (as shown below), an ATX power supply CPU 4 pin female to 8 pin male adapter cable (approx. cost: $1.50). And of course an ATX PSU that meets our requirements and our budget!<br />
<br />
[[File:ATX_extension_adapter_cables_1a.jpg|600px|A pair of cables needed to adapt an ATX PSU for Reprap use.]]<br />
<br />
The ATX PSU is obviously quite easy to source just about anywhere in the world.<br />
<br />
For this example we are going to use a '''be quiet!''' ATX PSU with active PFC, the least expensive PSU from their value line: the 300W System Power 7. There is no unboxing because '''be quiet!''' doesn't even ship these PSUs in a box, this one just came with some bubble wrap:<br />
<br />
[[File:ATX_PSU_bequiet_1.jpg|600px|A be quiet! ATX PSU from their value line.]]<br />
<br />
Do not mistake this for a low-quality ATX PSU, you really get what you pay for with a be quiet! PSU. Let's check its power ratings:<br />
<br />
[[File:ATX_PSU_bequiet_2.jpg|600px|Power ratings of the be quiet! ATX PSU.]]<br />
<br />
As we can see, it has two 12V rails, and the combined power we can draw from them is 288W. OK, we only need 240W and that already includes a safety margin, so we are good to use it for our RAMPS 1.4 electronics of our RepRap!<br />
<br />
And here are our cables ready to be used with our RepRap printer:<br />
<br />
[[File:ATX_extension_adapter_cables_ready_1a.jpg|600px|The pair of cables needed to adapt an ATX PSU for Reprap use, ready for use!]]<br />
<br />
Wow, that was fast! The truth is, it only took me about 30 minutes to get the cables ready, and I wasn't working particularly fast.<br />
<br />
Let's take a look at the cables separately:<br />
<br />
[[File:ATX_4to8pin_adapter_cable_1a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable. We only use the female connector.]]<br />
<br />
For the ATX power supply CPU 4 pin female to 8 pin male adapter cable, we only use the female connector. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends. These are the +12V and GND cables that we are going to connect to our RAMPS board to power the heatbed.<br />
<br />
[[File:ATX_4to8pin_adapter_cable_2a.jpg|600px|The ATX PSU female 4 pin to male 8 pin adapter cable, prepared for use. I just yanked the cables out of the male connector, bunched respectively the +12V and GND lines together, and soldered the ends.]]<br />
<br />
OK, now let's take a look at the 24 pin female to male ATX power supply 30cm extension cable, because it's a little bit more complicated.<br />
<br />
First, I yanked out all the cables from the male connector, which we are not going use. Now, obviously for the female connector we have to be selective about what cables we are going to use and which ones we can yank out. Since the lines in this extension cable are not color coded (damn!), we have to be extra-careful here. Simplest way is to plug the female connector into our ATX PSU's male connector:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_2a.jpg|600px|The female connector of our 24-pin ATX extension cable plugged into the ATX PSU's male connector, after I yanked out all the lines that are not going to be used.]]<br />
<br />
And the other end of the extension cable now looks like this:<br />
<br />
[[File:ATX_cable_extension_24_fem_to_male_3a.jpg|600px|Our 24-pin ATX extension cable prepared for use, the remaining lines carry the signals/voltages required to properly connect the ATX PSU to our RAMPS board.]]<br />
<br />
From left to right:<br />
* + 12V to our RAMPS steppers/electronics.<br />
* GND to our RAMPS steppers/electronics.<br />
The terminal strip has, from left to right:<br />
* +5V Standby (+5SB) for future use.<br />
* +5V to power servos, USB LED lights or any other accessory.<br />
* PS_ON so that we can remotely control our ATX PSU from the RAMPS.<br />
* GND.<br />
<br />
Since the wires are not color coded I used some colored shrink tube to help identify the cables.<br />
<br />
[[Category:Power Supply| ]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Open_Source_3-D_Printer_Design_Competition&diff=142268Open Source 3-D Printer Design Competition2015-01-20T05:37:26Z<p>Funny bananas: </p>
<hr />
<div>You are invited to participate in a design competition for development of sustainable technologies and their components for printing on open source [[3-D printers]].<br />
<br />
The goal of the contest is to facilitate an open exchange of 3-D sustainable technology designs that can be printed to meet various needs in the context of sustainable and self directed development. 3-D printers such as [[RepRap]] and open sourced innovation hold great promise for development of appropriate technologies to help millions of world's poorest communities reach a better standard of living. Designs will be judged on the technical printing viability, feasibility and functionality of the innovation, as well as sustainability from ecological, economic and social perspectives. <br />
<br />
Anyone can enter the competition but the contestants must post their digital designs on [http://www.thingiverse.com/ Thingiverse] under an open license (e.g. CC-BY-SA). The contest is funded by the Queen's Applied Sustainability Group and the Natural Sciences and Engineering Research Council of Canada (NSERC). <br />
<br />
==Prizes==<br />
*'''1st place $1000 Cash'''<br />
*'''2nd place $250 Cash'''<br />
*'''3 Runners Up'''<br />
* '''All prize winning teams will receive a copy of [http://craphound.com/makers/download/ Makers] by Cory Doctorow'''<br />
<br />
'''<br />
For more on the contest, entry guidelines and the judging criteria click [http://me.queensu.ca/Research/Sustainability/files/3-DPrintingSustainableDesigncontest.pdf here]''' (link is dead:404)<br />
<br />
For more on 3-D printers and open sourced sustainable development see this [http://www.ccsenet.org/journal/index.php/jsd/article/view/6984 Journal of Sustainable Development article]<br />
<br />
[[Category:Community]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=142126Icepick Delta2015-01-19T02:35:16Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = experimental<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/IcePick-Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Taurino&diff=138666Taurino2014-12-18T07:36:04Z<p>Funny bananas: /* Summary */ fixed typo, 'thru' should be 'through'</p>
<hr />
<div>{{Taurino}}<br />
{{Languages|Taurino}}<br />
<br />
{{Development<br />
|image = Taurino_both.jpg<br />
|status = Working<br />
|name = Taurino Power or Taurino Clasisc<br />
|description = Taurino a 100% Arduino Mega 2560 V3 compatible device<br />
|license = [[GPL]]<br />
|author = RepRapDiscount.com<br />
|reprap = Arduino Mega<br />
|cadModel = Altium<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [http://www.taurino.cc www.taurino.cc]<br />
}}<br />
<br />
== Summary ==<br />
<br />
'''Taurino'''<br />
<onlyinclude>is a 100% compatible Arduino Mega 2560 V3 board, it exists in two different versions, Taurino Power and Taurino Classic.<br />
<br />
The Taurino Power is designed to run from 12V up to 35V powered thru the RAMPS shield. The Taurino Classic is designed to run with 12V from RAMPS shield. Both also work as Arduino boards powered through USB.<br />
</onlyinclude><br />
<br />
== Safety Tip ==<br />
<br />
[[Image:Generation3Electronics-achtung.gif|left]]<br />
<br />
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. <br />
<br />
Just in case these fail, test your workshop [http://en.wikipedia.org/wiki/Smoke_detector smoke detector]. <br />
<br />
Got no smoke detector? Get one!<br />
<br />
<br clear="all"/><br />
<br />
== Taurino Power and Taurino Classic USB Driver for Windows ==<br />
* NEW : Easy driver setup for Windows 8/7/Vista/XP 32 and 64 bit<br />
<br />
[[Image:Crystal_Clear_action_run.png|70px]] [[File:RRD_RUMBA_TAURINO_DriverSetup.zip|RUMBA/TAURINO USB DRIVER SETUP]]<br />
<br />
* CLASSIC: (can cause problems with Windows 8 and Vista/7 64bit, use the easy method from above instead)<br />
When you attach your Taurino for the first time to a Windows computer you might need to provide a driver (INF file).<br />
[[File:RRD-Taurio_Power_USB_DRIVER.zip|TAURINO POWER USB DRIVER?]]<br />
<br />
== Taurino Classic == <br />
{{Development<br />
|image = Taurino_Classic.jpg<br />
|status = Working<br />
|name = Taurino Classic<br />
|description = Taurino Classic 100% Arduino Mega 2560 V3 compatible<br />
|license = [[GPL]]<br />
|author = RepRapDiscount.com<br />
|reprap = Arduino Mega<br />
|cadModel = Altium<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [http://www.taurino.cc www.taurino.cc]<br />
}}<br />
<br />
<gallery><br />
Image:Taurino_Classic.jpg|Taurino Classic board<br />
Image:RRD-Taurino_Classic_PCB_Top.jpg|Taurino Classic Top<br />
Image:RRD-Taurino_Classic_PCB_Bottom.jpg|Taurino Classic Bottom<br />
</gallery><br />
=== Features ===<br />
<br />
* compact size: 108mm x 54mm <br />
<br />
* Arduino 2560-R3 compatible<br />
<br />
* can be used with 12V<br />
<br />
=== Bootloaders ===<br />
Original Arudino Mega 2560 V3 bootloaders are used<br />
<br />
Source: [http://arduino.cc/en/Hacking/Bootloader Arduino bootloader]<br />
<br />
<br style="clear:both"/><br />
<br />
== Taurino Power ==<br />
{{Development<br />
|image = Taurino_Power.jpg<br />
|status = Working<br />
|name = Taurino Power<br />
|description = Taurino Power 100% Arduino Mega 2560 V3 compatible and capable of up to 35V<br />
|license = [[GPL]]<br />
|author = RepRapDiscount.com<br />
|reprap = Arduino Mega<br />
|cadModel = Altium<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [http://www.taurino.cc www.taurino.cc]<br />
}}<br />
<gallery><br />
Image:Taurino_Power.jpg|Taurino Power board<br />
Image:RRD-Taurino_Power_SCHEMATICS.png|Taurino Power schematic<br />
</gallery><br />
=== Features ===<br />
<br />
* compact size: 108mm x 54mm <br />
<br />
* Arduino 2560-R3 compatible <br />
<br />
* ATmega16U2 (with enhanced firmware) for high speed USB serial connection (up to 2MBit)<br />
<br />
* UNIVERSAL POWER: <br />
** can be used with 12V-35V (e.g. RAMPS board with 24V can supply voltage (via D1) to TAURINO for standalone operation no damage of ATmega2560 possible due to to high power supply (e.g. from RAMPS or external connector) <br />
** integrated high precision power regulators 5V (ATmega2560/Logic)<br />
<br />
<br />
=== ATmega 2560 STK500v2/Arduino2560 Bootloader ===<br />
HEX: [[File:RRD-Taurino_Power_ATmega2560_ArduinoBoot.hex.zip]]<br />
<br />
FUSES: E: 0xFD / H: 0xD8 / L: 0xFF<br />
* BOD=2.7V<br />
* ISP=ENABLED<br />
* BOOTSZ=4k<br />
* BOOTRST=ENABLED<br />
* EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
Source: [http://arduino.cc/en/Hacking/Bootloader Arduino bootloader]<br />
<br />
<br />
=== 16U2 LUFA/Arduino based USB2Serial Firmware ===<br />
HEX: [[File:RRD-Taurino_Power_ATmega16U2_USB2Serial.hex.zip]]<br />
<br />
FUSES: E: 0xF6 / H: 0xD9 / L: 0xFF<br />
* BOD=2.7V<br />
* ISP=ENABLED<br />
* EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
Source: [[File:RRD-TAURINO_SRC_16U2_FIRMWARE.zip]] (Atmel Studio 6 project)<br />
<br />
=== Open Source Files ===<br />
You can find the open source files here: http://forum.reprapdiscount.com/forums/oss/<br />
<br />
== Where to get it? ==<br />
<br />
If you don't have the mood to build it yourself you can just buy direct from our [http://www.reprapdiscount.com ReprapDiscount Online Shop]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=137836Icepick Delta2014-12-11T19:48:03Z<p>Funny bananas: Updated CAD models url</p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = concept<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/IcePick-Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=137767Icepick Delta2014-12-11T04:31:09Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = concept<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/Succesor/tree/master/Icepick%20Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page .. eventually]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=137766Icepick Delta2014-12-11T04:30:40Z<p>Funny bananas: added picture</p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = concept<br />
|image = [[File:Icepick_Delta_beta.jpg|200px]]<br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/Succesor/tree/master/Icepick%20Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=File:Icepick_Delta_beta.jpg&diff=137764File:Icepick Delta beta.jpg2014-12-11T04:25:28Z<p>Funny bananas: Current beta of the Icepick delta.</p>
<hr />
<div>Current beta of the Icepick delta.</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=137761Icepick Delta2014-12-11T03:52:53Z<p>Funny bananas: Added firmware url</p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = concept<br />
|image = <br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/Succesor/tree/master/Icepick%20Delta Github]<br />
<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
Firmware can be found on [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github here.]<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Icepick_Delta&diff=137760Icepick Delta2014-12-11T03:49:50Z<p>Funny bananas: Added firmware url</p>
<hr />
<div>{{Development<br />
|name = Icepick Delta<br />
|status = concept<br />
|image = <br />
|description = <br />
|license = [[GPL]]<br />
|author = TTN & Matt Kimball<br />
|reprap = delta<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Laura3/Succesor/tree/master/Icepick%20Delta Github]<br />
|firmware = [https://github.com/Laura3/Marlin/tree/Marlin_v1 Github]<br />
|url = [http://hackaday.io/project/1565 Hackaday page]<br />
}}<br />
<br />
The Icepick Delta is a pick-n-place based 3D printer designed to provide high accuracy, fast print speed and a rock-bottom Bill-of-Materials (BOM).<br />
<br />
It is a work in progress by Jotham (TTN) and Matt Kimball.<br />
<br />
All code, designs, and concepts involved are open-source and reusable for any purpose. A credit is requested by not required.<br />
<br />
[more will be added to this page]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=RAMPS-FD&diff=137307RAMPS-FD2014-12-03T20:02:04Z<p>Funny bananas: /* Why should i use Ramps-FD instead of Ramps1.4 */</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = RAMPS-FD<br />
|status = working<br />
<!--Image--><br />
|image = RAMPS-FD_v1A.JPG<br />
<!--General--><br />
|description = RAMPS for Arduino Due<br />
|license = GPL<br />
|author = bobc<br />
|reprap = Ramps<br />
|categories = {{tag|RAMPS}}, {{tag|surface-mount electronics}}<br />
|cadModel = KiCAD<br />
|url = [https://github.com/bobc/bobc_hardware/tree/master/RAMPS-FD github]<br />
}}<br />
= RAMPS For Arduino Due =<br />
<br />
RAMPS-FD v1.A is now in beta!<br />
<br />
<gallery><br />
Image:RAMPS-FD_v1A.JPG<br />
IMage:Ramps-FD_Diagram_-_Rev3.png<br />
</gallery><br />
Arduino Due is the new Arduino board that is using an ARM Cortex M3 CPU.<br />
The Atmel SAM3X8E chip used on the Due operates at 3.3V and is not compatible with 5V. Therefore the RAMPS shield will not work with Due, and worse applying 5V to the Due's inputs will likely damage the chip.<br />
Therefore there are several possibilities:<br />
create a new RAMPS variant which is compatible with the Due. Possibly could also be made backwards compatible with Mega.<br />
create a RAMPS Interface Board (RIB) to sit between Due and RAMPS to perform level-shifting, and any other needed functions.<br />
<br />
==Why should i use Ramps-FD instead of Ramps1.4==<br />
Compare Ramps-FD with Ramps1.4,the Improvements of Ramps-FD are:<br />
*The RAMPS-FD has other hardware protection, through the jumper cap control motor drive IC<br />
*The RAMPS-FD Much more than Ramps1.4 2-way PWM<br />
*The RAMPS-FD has Larger driving power than Ramps1.4<br />
*The RAMPS-FD 'POWER has two choices:12v and 24v<br />
<br />
==why should I select Arduino Due instead of Arduino Mega?==<br />
*Due has lower power consumption, computes faster, and has much more storage than the ATmega2560<br />
*CPU operates at 3.3V<br />
*High-current IO pins are capable of 15 mA source, 9 mA sink<br />
*Low-current IO pins capable of 3 mA source, 6 mA sink<br />
*CPU package has an absolute max of 130mA<br />
*The Due has 1 dedicated SPI port, and 4 multipurpose USART/SPI ports. The SPI port is only routed to the 6 pin header used for ICSP on Mega, but this is not used for ICSP on Due.<br />
*The Due does not have any EEPROM<br />
<br />
==Hardware issues==<br />
*MOSFETs need to be compatible with threshold voltage of 3.3V or better have a gate driver which allows any MOSFET to be used<br />
*Expansion pins need to be level-translated, but this depends on how they are used<br />
**Add ons: SD card, thermocouple drivers, LCD boards<br />
*Is heat dissipation of Due ok with RAMPS shield over it?<br />
*Some opto-endstops need 5V power, and return 5V on signal<br />
*(AUX-3) The SPI pins on the Mega (mapped to pins D50-52) are not SPI pins on Due<br />
<br />
==Hardware features known to be compatible==<br />
*The Allegro stepper drivers will run with VDD = 3.3V and the logic signals compatible with 3.3V. This should apply to all the Pololu style drivers.<br />
*Servos "should" be able to operate with +5V power and a PWM signal of 3.3V<br />
*Thermistors will operate at 3.3V but the Analog Ref is also 3.3V, so no changes should be necessary<br />
*Mechanical endstops should be OK, if they do not use external pullup to 5V<br />
<br />
<br />
<br />
== Sources ==<br />
Source files are hosted at [https://github.com/bobc/bobc_hardware/tree/master/RAMPS-FD github].<br />
<br />
[https://github.com/bobc/bobc_hardware/blob/master/RAMPS-FD/RAMPS-FD-Schematic.pdf Schematic]<br />
<br />
<br />
(The Arduino Due is based on a 84 MHz Atmel 32-bit ARM Cortex-M3 CPU with USB OTG).<br />
<br />
==How to get==</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=RAMPS-FD&diff=137236RAMPS-FD2014-12-02T19:12:49Z<p>Funny bananas: /* why should i selectArduino Due instead of Arduino Mega */</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = RAMPS-FD<br />
|status = working<br />
<!--Image--><br />
|image = RAMPS-FD_v1A.JPG<br />
<!--General--><br />
|description = RAMPS for Arduino Due<br />
|license = GPL<br />
|author = bobc<br />
|reprap = Ramps<br />
|categories = {{tag|RAMPS}}, {{tag|surface-mount electronics}}<br />
|cadModel = KiCAD<br />
|url = [https://github.com/bobc/bobc_hardware/tree/master/RAMPS-FD github]<br />
}}<br />
= RAMPS For Arduino Due =<br />
<br />
RAMPS-FD v1.A is now in beta!<br />
<br />
<gallery><br />
Image:RAMPS-FD_v1A.JPG<br />
IMage:RAMPS-FD_v1_diagram_Oct_20_2014.png<br />
</gallery><br />
Arduino Due is the new Arduino board that is using an ARM Cortex M3 CPU.<br />
The Atmel SAM3X8E chip used on the Due operates at 3.3V and is not compatible with 5V. Therefore the RAMPS shield will not work with Due, and worse applying 5V to the Due's inputs will likely damage the chip.<br />
Therefore there are several possibilities:<br />
create a new RAMPS variant which is compatible with the Due. Possibly could also be made backwards compatible with Mega.<br />
create a RAMPS Interface Board (RIB) to sit between Due and RAMPS to perform level-shifting, and any other needed functions.<br />
<br />
==Why should i use Ramps-FD instead of Ramps1.4==<br />
Campare Ramps-FD with Ramps1.4,the Improvements of Ramps-FD are below<br />
*The RAMPS-FD has other hardware protection, through the jumper cap control motor drive IC<br />
*The RAMPS-FD Much more than Ramps1.4 2-way PWM<br />
*The RAMPS-FD has Larger driving power than Ramps1.4<br />
*The RAMPS-FD 'POWER has two choices:12v and 24v<br />
<br />
==why should I select Arduino Due instead of Arduino Mega?==<br />
*Due has lower power consumption, computes faster, and has much more storage than the ATmega2560<br />
*CPU operates at 3.3V<br />
*High-current IO pins are capable of 15 mA source, 9 mA sink<br />
*Low-current IO pins capable of 3 mA source, 6 mA sink<br />
*CPU package has an absolute max of 130mA<br />
*The Due has 1 dedicated SPI port, and 4 multipurpose USART/SPI ports. The SPI port is only routed to the 6 pin header used for ICSP on Mega, but this is not used for ICSP on Due.<br />
*The Due does not have any EEPROM<br />
<br />
==Hardware issues==<br />
*MOSFETs need to be compatible with threshold voltage of 3.3V or better have a gate driver which allows any MOSFET to be used<br />
*Expansion pins need to be level-translated, but this depends on how they are used<br />
**Add ons: SD card, thermocouple drivers, LCD boards<br />
*Is heat dissipation of Due ok with RAMPS shield over it?<br />
*Some opto-endstops need 5V power, and return 5V on signal<br />
*(AUX-3) The SPI pins on the Mega (mapped to pins D50-52) are not SPI pins on Due<br />
<br />
==Hardware features known to be compatible==<br />
*The Allegro stepper drivers will run with VDD = 3.3V and the logic signals compatible with 3.3V. This should apply to all the Pololu style drivers.<br />
*Servos "should" be able to operate with +5V power and a PWM signal of 3.3V<br />
*Thermistors will operate at 3.3V but the Analog Ref is also 3.3V, so no changes should be necessary<br />
*Mechanical endstops should be OK, if they do not use external pullup to 5V<br />
<br />
<br />
<br />
== Sources ==<br />
Source files are hosted at [https://github.com/bobc/bobc_hardware/tree/master/RAMPS-FD github].<br />
<br />
[https://github.com/bobc/bobc_hardware/blob/master/RAMPS-FD/RAMPS-FD-Schematic.pdf Schematic]<br />
<br />
<br />
(The Arduino Due is based on a 84 MHz Atmel 32-bit ARM Cortex-M3 CPU with USB OTG).<br />
<br />
==How to get==</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta&diff=136133Delta2014-11-25T05:04:16Z<p>Funny bananas: /* Firmware */</p>
<hr />
<div>{{Development<br />
|name = Delta RepRap<br />
|description = Delta type parallel kinematic manipulator setup to be used as repstrap<br />
|license = [[GPL]]<br />
|author = Energetic<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|image = delta.jpg<br />
}}<br />
<br />
Delta is the name of one of many types of [[Wikipedia:Delta_robot|delta robot]] 3D printers. For others, look under [[:Category:Delta]].<br />
<br />
=Introduction=<br />
The Clavel- or Delta-robot is mostly known for its use in pick-and-place work in PCB fabrication and generic packaging applications. It features fast and accurate positioning and is relatively easy to build. We, [[User:Energetic]] and [[User:Reinoud]] teamed up to create a both easy to fabricate and light on the budget RepPrep/RepRap. Our goal is to be well under the current prices for Mendel and/or Darwin RepRap's.<br />
<br />
We decided to design and develop the bot through a series of prototypes, learning and refining on each iteration.<br />
<br />
==Prototype 1==<br />
[[Image:Delta Prototype 1 upside down.jpg|300px| Delta prototype 1 upside down]]<br />
<br />
The initial prototype designed and lasered by [[User:Energetic]]. It was cut out of 1 cm acrylic sheets by a shop. It proofed the concept of the [[magnet joint | magnetic ball]] bearings and the overall structure of the design. Regretfully it was never driven by an [[Arduino]]/[[Sanguino]] other than simple stepping.<br />
<br />
==Prototype 2==<br />
[[Image:delta.jpg|300px| LaserCut Delta by [[User:Energetic]] and [[User:Reinoud]]]]<br />
<br />
Lessons were learned from prototype 1. It proved to be hard to reproduce the machine since non-standard 4mm shaft [[NEMA 17]] motors were used and needed some intricate drilling in the side of the sheets to receive the bolts and nuts. Since acrylic also turned out to be quite expensive, we decided to go for plywood. We replaced the 10 mm acrylic with a set of three sheets of plywood with the respectively thickness of 3, 4, 3 mm so to easily accommodate the 4mm nuts and bolts.<br />
<br />
The structure was also modified to accept larger upper-arm ranges to give it a larger work-space. As 4mm shaft steppers are hard to find, the design was modified to use the standard 5mm shaft of NEMA 17 steppers.<br />
<br />
Although we've learned a lot of this prototype to justify a prototype 3, we'll first try to get it to work first. We might stumble on other unforeseen challenges!<br />
<br />
[http://www.youtube.com/watch?v=FxVFIte7pqI See it in action!]<br />
<br />
===Calibrating===<br />
The bot can detect the arms being in the start position. However, due to various causes the exact start angles of the three arms are not known but a rough estimation. Start angles being wrong result in a severe warped space that is far from flat nor the right size. The prototype therefore needs to be calibrated at least once in its life or when its reassembled. The calibration scheme is fully automatic with a single micro switch.<br />
<br />
===First drawings made===<br />
After a long wait, the bot is starting to make drawings with a pencil. Regretfully the pencil wasn't as stiffly mounted as we would hoped for so the quality of the drawing is not that well due to the hysteresis. No art yet, but some s3g files of the calibration object and a scaled up version of one of the Mendel pieces.<br />
<br />
[[Image:delta-initial-drawings.jpg|300px| First drawings by the Delta bot!]]<br />
<br />
==Prototype 3==<br />
Will most likely '''not''' feature the timing belts and pulleys. They proved to be too hard to get and can hopefully be replaced by either higher resolution microstepping or by a lasercut gear system.<br />
It will most likely also '''not''' feature the current ball-bearings used to hold up the cut-out wheels since the ball-bearing, but also the bolts attaching them also turned out to be hard to get.<br />
<br />
The plan is to make this one either the next prototype, or the final, of the laser-cut Delta Reprap.<br />
<br />
==Prototype 4==<br />
Well.. speculation here... First RepRap-able version?<br />
Perhaps an upside down [http://reprap.org/wiki/GUS_Simpson GUS Simpson]? But then I might as well go make a regular one instead..<br />
<br />
=Firmware=<br />
[[User:Reinoud]] has written a [[ReplicatorG]] compatible firmware that does both the needed coordinate transformation and the real-time control. The goal is to have the complete bot, including the extruder, running on either a single [[Arduino]] or on a single [[Sanguino]] with standard [[Polulu]] stepper controllers and standard [[NEMA 17]] steppers. As for SDD card recording and playback support, a [[Sanguino]] might be required since the imported implementation of the FAT/MSDOS FS alone takes about the half of the [[Arduino]] 32Kb flash program space and currently just doesn't fit with the rest.<br />
<br />
''Is http://deltafimware.googlecode.com/svn/trunk/ the lastest version of that firmware?'' '''NO''' it isn't ... the current firmware is not yet released since it contains some serious flaws that we'd like to fix first. <br />
<br />
That's great, I'll just run off and write my own firmware from scratch >:( just release it as is.<br />
<br />
=Firmware Math=<br />
TBD<br />
<br />
=Mailing list=<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?31 Delta Robots and Stewart platform Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?178,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
* [https://groups.google.com/forum/#!forum/deltabot "Delta robot 3D printers"]<br />
<br />
= Arm proportions =<br />
<br />
Some people seem to think that a good ''(according to what measure?)'' set of arm proportions<br />
(using the notation from the Mzavatsky paper) is:<br />
* given some base size f<br />
* actuator size e should be about 3/5 of f<br />
* upper arm rf should be about equal to actuator size e<br />
* lower arm re should be about re = (rf + (f-e)/2) = (rf + f/5)<br />
* Given the tiny angle dT that the upper arm moves per step, the positioning error in the build volume is about (3/2) dT rf ''(???)''<br />
<br />
''... fill in details[http://forums.reprap.org/read.php?178,26318,32927#msg-32927] ...''<br />
<br />
=Existing Designs=<br />
"Mjcbruin" from the Netherlands designed the this delta bot for $70. It is driven by 3 hobby servos, and is controlled by an Arduino. The code has been published at the letsmakerobots link.<br />
[http://www.youtube.com/watch?v=HEHdD7pd64I&feature=player_embedded Video] [http://letsmakerobots.com/node/10577 Design + code]<br />
<br />
[[User:Reinoud]] has built a similar design with servos.<br />
<br />
* Ugly Stewart Platform ( http://builders.reprap.org/2006/09/ugly-stewart-platform.html ) : crude prototype for hydraulic Stewart platform.<br />
<br />
* first stab at a Stewart platform RepRap: http://blog.reprap.org/2006/02/reprap.html<br />
<br />
* Biollante: a few more stabs towards making a hydraulic Stewart platform RepRap: http://burningsmell.org/biollante/<br />
<br />
* Biollante posts: http://builders.reprap.org/search?q=Biollante<br />
<br />
* Volksrobot: http://sites.google.com/site/volksrobot/<br />
<br />
* http://forums.reprap.org/read.php?178,26318<br />
<br />
* "Baby sized reprap" http://forums.reprap.org/read.php?1,15252<br />
<br />
* [http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ "Delta robot kinematics"] by mzavatsky goes into excruciating detail on the math, has some nice illustrations, and ends with some sample code in C and a Lego implementation.<br />
** http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ - Mathematics discussion and C code example for inverse kinematics<br />
<br />
* P.J. Zsombor-Murray. [http://www.cim.mcgill.ca/~paul/Delta9Af.pdf "An Improved Approach to the Kinematics of Clavel's DELTA Robot"]. 2009. Includes both delta inverse kinematics and closed-form delta direct kinematics.<br />
<br />
* Tripod positioners such as the [[SpoonPod]], the [[Helium Frog Delta Robot]], and [http://builders.reprap.org/search/label/tripod Viktor's tripod repstrap demonstrator] have many similarities to Delta positioners, as does the [[TRap]].<br />
<br />
* Forrest Higgs prints nice herringbone racks and pinions on his RepRap, and speculates that perhaps they will be useful in a Delta or Stewart RepRap.[http://technocraticanarchist.blogspot.com/search?q=delta][http://blog.reprap.org/2010/03/no-peel-no-warp-no-backlash.html]<br />
<br />
* Let's make robots! : Delta bot[http://letsmakerobots.com/node/10577] made from hobby servos<br />
<br />
* [http://www.linuxcnc.org/docview/html//motion_kinematics.html] The EMC documentation claims it can handle hexapods and other non-trivial kinematics ...<br />
<br />
* Yazzo PolyBot - Cranberry Edition by WilliamAAdams [http://blog.thingiverse.com/2011/02/03/delta-bot-equilateral-awesome/ "Delta Bot: Equilateral Awesome"]<br />
<br />
=Files=<br />
<br />
=Tooling=<br />
Lasercutter and standard tools are sufficient to make the current repstrap version.<br />
:What's the minimum required working area (=minimum part size) needed? -- [[User:Nichtich|Nichtich]] 15:29, 4 March 2012 (UTC)<br />
<br />
=Notes=<br />
[[Category:LaserCut]]<br />
[[Category:Delta]]<br />
[[Category:Acrylic]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Rostock&diff=131290Rostock2014-08-13T04:37:26Z<p>Funny bananas: added some SI units in parentheses, not all of us are used to imperial units:) /* Can Rostock print a full 11.31" diameter circle? */</p>
<hr />
<div>{{Development<br />
|name = Rostock<br />
|status = working<br />
|image = Rostock.jpg<br />
|description = Rostock is a delta robot 3D printer prototype.<br />
|license = [[GPL]]<br />
|author = Johann<br />
|reprap = Helium Frog Delta Robot<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]], [[:Category:Tall|Tall]][[Category:Tall]]<br />
|cadModel = [https://github.com/jcrocholl/rostock GitHub]<br />
|url = [http://thingiverse.com/thing:17175 Thingiverse]<br />
}}<br />
<br />
Rostock is a linear [[Wikipedia:Delta_robot|delta robot]] 3D printer prototype, built in 2012 by [[User:Johann|Johann]] in Seattle, USA. <br />
<br />
Several variations have taken root, including: [[Kossel]], [[Rostock mini]], [[Rostock MAX]], [[Rostock-Montpellier]], [http://www.thingiverse.com/thing:34146 Rostock Prisma], [[Delta-Pi]], [[Cerberus]], [[cOssel]], [http://www.thingiverse.com/thing:210028 Cherry Pi] and ProStock. Both the [http://www.appropedia.org/Delta_Build_Overview:MOST MOST delta] and their [http://www.appropedia.org/Open-source_metal_3-D_printer#Printed_Parts Open Source Metal 3D Printer] also uses an inverted form of this design.<br />
<br />
== Design Goals ==<br />
<br />
* Build volume: 200x200x400 mm (8x8x16 inches).<br />
* Footprint: 300x350 mm (12x14 inches).<br />
* Print surface: 200x200 mm heated glass which never moves.<br />
* Mass of end effector with hotend: less than 50 grams.<br />
* Positioning speed: up to 800 mm/s in all 3 directions.<br />
* Positioning accuracy: at least 30 steps/mm in all 3 directions.<br />
* Simplicity: fewer than 200 parts.<br />
* Hardware cost: less than $500 USD.<br />
<br />
== Videos ==<br />
<br />
http://youtube.com/user/jcrocholl/videos?query=rostock<br />
<br />
<videoflash>3UOq-CQsbNo|640|360</videoflash><br />
<br />
<videoflash>nkAwOxA0lq8|640|360</videoflash><br />
<br />
== Bill of Materials ==<br />
<br />
See [[#Links]] for full BOM spreadsheet with vendors.<br />
<br />
*Printed Parts<br />
** Plastic parts: Printed from PLA. <br />
** [http://www.thingiverse.com/thing:17175 Thingiverse: Rostock (delta robot 3D printer)]<br />
*Frame<br />
** Top and bottom frame: Hand-cut plywood 2x(300x350 mm baltic birch). <br />
** Side and Back frame: Hand-cut plywood 2x(762x9 mm baltic birch).<br />
** Fasteners: Stainless steel, mostly M3 (some M4 and M8).<br />
*Linear Motion<br />
** Timing belt: 3x 1524 mm GT2 belt (2 mm pitch, 6 mm width). Closed loops or open end is okay.<br />
** Timing belt pulleys: 3x GT2 plastic pulleys with 40 teeth. Smaller would probably work better. <br />
** Smooth rod: 6x 762x8 mm precision smooth rod. Drill rod is probably okay too, but some report that the bearings wear grooves into the surface as drill rod is not as hard as smooth rod.<br />
** Linear bearings: 6x LM8UU<br />
** Cable ties: secure linear bearings and timing belts to printed parts.<br />
** The length of belts and rods can be changed in the firmware. <br />
** Ball bearings: 3x 608ZZ, 3x F608ZZ. If you can't find F608ZZ, use 608ZZ with printed plastic flange.(Additional bearings needed for Airtripper's bowden extruder). <br />
** If using smaller pulleys, replace 608 (8x22x7 mm) with 688 (8x16x6 mm) or similar. <br />
<br />
*Extruder<br />
** Filament drive: [http://www.thingiverse.com/thing:22426 Airtripper's direct drive bowden extruder]. <br />
<br />
*Hot End<br />
** Hotend: MakerGear hotend for 1.75 mm filament, 0.5 mm nozzle.<br />
<br />
*Electronics<br />
** Stepper motors: 4x NEMA 17 (3 positioning, 1 extruder).<br />
** Endstops: 3x ZM micro switch (pin plunger, no lever). You need only 3 top endstops. The original design also had 3 bottom endstops but they are no longer needed. <br />
** Electronics: RAMPS 1.4 or any other RepRap board.<br />
** Power Supply: 12v 30A<br />
** Firmware: Modified Marlin (see [[#Links]]). This is a pretty hacky proof of concept. Hopefully we will have better firmware soon. <br />
** Software: Same as other RepRap printers, e.g. OpenSCAD, Slic3r (see [https://github.com/jcrocholl/rostock/blob/master/slic3r.ini GitHub] for recommended settings), Printrun.<br />
<br />
== Firmware ==<br />
<br />
The prototype is currently running [https://github.com/jcrocholl/Marlin/commits/Marlin_v1/ modified Marlin firmware]. This is a pretty hacky proof of concept and not a long-term solution. But it successfully receives regular G-code over USB and converts it to Delta geometry in realtime on the Arduino. I used Arduino 0023 to compile and upload this firmware to the RAMPS 1.4 board. When I tried Arduino 1.0 it didn't compile, but someone told me that newer versions of Marlin are supposed to work with Arduino 1.0.1.<br />
<br />
I changed the G1 prepare_move() function in Marlin.pde to do the following:<br />
# Estimate how many linear steps should be done for this line.<br />
# Divide the line into many very small linear segments (less than 1 mm each).<br />
# Calculate delta coordinates and speed for each segment.<br />
# Add each segment to the path planning buffer.<br />
# If the path planning buffer is full, wait until the next segment has been executed. <br />
<br />
Also I improved the G28 (home all axes) command:<br />
# Move all three carriages up until one hits the top endstop microswitch.<br />
# Home in order X column, Y column then Z column.<br />
# Now we know that the end effector is exactly centered at the top.<br />
# The endstops are adjustable with M3 screws on the moving parts.<br />
<br />
== Assembly ==<br />
<br />
=== Motors ===<br />
<br />
[[File:Rostock_Motors.jpg|320px|right|Rostock motors and electronics]]<br />
* Connect the 3 stepper motors to the X, Y, Z driver outputs on the RAMPS board.<br />
* Maybe add short pieces of colored shrink wrap to identify the motor and endstop cables.<br />
** Red = X: front left motor and endstops (electronics side).<br />
** Yellow = Y: front right motor and endstops (plywood frame side).<br />
** Blue = Z: back middle motor and endstops.<br />
* Adjust the motor voltage (small round potentiometers) on the stepper drivers to 9 o'clock (roughly 30%). This will allow the motors to skip steps in case the endstops don't work. When calibration is done, 10 or 11 o'clock is a good setting to prevent skipping but also avoid overheating the motors and drivers.<br />
* Grabercars says: about 1/8 of a turn clockwise off of minimum power on the Pololu is all it takes to get the motors operating correctly and not making any noise.<br />
<br />
=== Endstops ===<br />
<br />
* Connect the 3 top endstop wires to the XMAX, YMAX, ZMAX connectors on the RAMPS board.<br />
* The endstops are configured "normally connected", so the circuit should be interrupted when the endstop is hit. If your endstops are "normally open", change X_ENDSTOPS_INVERTING to true in Configuration.h.<br />
<br />
=== Belts ===<br />
<br />
It can be challenging to get good belt tension. You should be able to pluck nice bass tones on the belts. Here is Johann's tensioning method:<br />
<br />
* Make sure you don't have a flange on the outer idler bearing (the one that is facing you).<br />
* Put timing belt on motor pulley and idler bearings.<br />
* Push idler end up as far as possible with one hand.<br />
* Remove belt from idler bearings.<br />
* Push idler end up 3 mm more and tighten screws on smooth rod.<br />
* Put timing belt on idler again. It will be very tight.<br />
* The idler bearings are tilted 2 degrees upwards, so your belt should not fall off even though the outer bearing has no flange.<br />
* If the belt does fall off, reduce belt tension slightly, or print a new idler end with increased upward tilt.<br />
<br />
== Calibration ==<br />
<br />
This section has been updated for the latest modified Marlin firmware (without bottom endstops).<br />
<br />
* Download https://github.com/jcrocholl/Marlin and make the following adjustments in Marlin.pde and Configuration.h.<br />
** DELTA_DIAGONAL_ROD 250 mm center-to-center distance of the holes in the diagonal push rods.<br />
** DELTA_SMOOTH_ROD_OFFSET 175 mm horizontal offset from middle of printer to smooth rod center.<br />
*** If your print head is too high or low in the middle of the print surface, adjust DELTA_SMOOTH_ROD_OFFSET by half mm and try again.<br />
** DELTA_EFFECTOR_OFFSET 33 mm horizontal offset of the universal joints on the end effector.<br />
** DELTA_CARRIAGE_OFFSET 18 mm horizontal offset of the universal joints on the carriages.<br />
** DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET) effective horizontal distance bridged by diagonal push rods.<br />
** Z_HOME_POS 402 mm distance between nozzle and print surface after homing.<br />
* If you know the pitch and size of your timing belt pulleys, you can use http://calculator.josefprusa.cz/#MotorStuffSPMB to find the correct value for DEFAULT_AXIS_STEPS_PER_UNIT for X, Y, Z.<br />
* Connect the USB cable to your computer and upload the firmware to the Arduino Mega.<br />
* With the USB cable connected to your computer, start pronterface.py.<br />
* Choose the USB interface, select 250000 baud, click the "Connect" button.<br />
* If the connection is established, you should see some output from Marlin in the window on the right.<br />
* Move the vertical carriages by hand away from all the endstops, so that there is some space above the carriages, and below the print head.<br />
* Place an old book or thick corrugated cardboard on your heated bed or glass surface, to protect it in case of print head crash.<br />
* Connect the 12V power supply. Make sure you can turn it off quickly if the motors are moving in the wrong direction.<br />
* Send the G28 command (home all axes) by clicking on the little house button.<br />
* This should move all 3 carriages up until they hit the top endstops.<br />
* If the carriages start moving down instead of up, '''turn off the 12V power supply''' and then reverse the stepper motor connectors on the RAMPS board. Then try again.<br />
[[File:Rostock_Dial_Indicator.jpg|320px|right|Dial indicator]]<br />
* The top endstops are used for micro-calibrating the height of the print bed.<br />
* If you have a dial indicator, you can attach it to the print head with [https://github.com/jcrocholl/rostock/blob/master/penholder.scad this].<br />
* After G28, move down to the print platform and try horizontal moves in X and Y direction.<br />
* The dial indicator will show if horizontal moves are parallel to the print bed or not.<br />
* Or you can attach a pen and draw lines on paper.<br />
* Or if you already have an extruder and a hotend, print the first layer of a large object.<br />
* If the first layer is too thin near one of the motors, turn the endstop screw in that carriage clockwise.<br />
* If the first layer is too thick near one of the motors, turn the endstop screw in that carriage counter-clockwise.<br />
* One full turn of M3 thread equals 0.5 mm.<br />
* After adjusting endstop screws, send G28 (home all axes) and try again.<br />
<br />
== Frequently Asked Questions ==<br />
<br />
==== How do you adjust the height of the print surface? ====<br />
You can adjust the following line in Configuration.h and then recompile and upload the firmware:<br />
<br />
// The home position of the print head.<br />
// For Rostock this means top and center of the cartesian print volume.<br />
#define Z_HOME_POS 402 // Distance between nozzle and print surface after homing.<br />
<br />
For micro-calibration, use the adjustable endstop screws in the vertical carriages, see [[#Calibration]] above.<br />
<br />
==== Should the heat bed be mounted on top of a piece of insulation or cork? ====<br />
Yes, cork would probably help to heat up faster and avoid heating the plywood and electronics underneath.<br />
<br />
==== Is your heat bed mounted element side up? ====<br />
Yes, the etched copper side is in direct contact with the glass. You can see the LEDs and contacts in the front just next to the glass edge. But I have not actually connected my heated bed wires yet, because I print only PLA and it sticks perfectly to blue painters tape, even without heating the platform. I will connect the heated bed wires if I ever have problems with detaching corners, otherwise remove the heated bed completely at some point.<br />
<br />
==== Should the heat bed be mounted so it can be leveled? ====<br />
No, I think the print platform should be attached as tightly as possible to the frame, with full surface contact, possibly with cork insulation between bed heater and plywood. Then you can level the first print layer with the three micro-adjustable endstops, see [[#Calibration]]. Also make sure that the vertical smooth rods are orthogonal to the bottom plywood, otherwise your printed objects will be slightly skewed.<br />
<br />
==== Will it matter if the hot end is not centered in the platform opening? ====<br />
It might work okay but there are some minor issues:<br />
* You may need to design and print a special asymmetric attachment for the bowden tube.<br />
* The nearest inside of the moving platform may get soft because of the heat from the hotend.<br />
* Your prints will not be centered on the print surface (closer to one edge) but this may be adjusted in your Slicer settings.<br />
<br />
==== Why does the printer pause sometimes? ====<br />
Print with pronsole.py instead of pronterface.py if your prints have warts. They may be caused by Pronterface redrawing the G-code view while printing, which creates significant delay between segments. My modified Marlin firmware generates many shorter lines for each G1 command, so the Marlin look-ahead buffer will run empty if you don't send the next G1 command ASAP. This can also be solved by printing directly from SD card.<br />
<br />
==== If Rostock loses power, does the print head fall down? ====<br />
No. The print head weighs less than 50 grams, and the three stepper motors have significant holding torque even when they are turned off (permanent magnets). You can move the print head around with your hand when the motors are turned off, but it's not very easy, and it will stay where you put it.<br />
<br />
==== How do I calibrate axis_steps_per_unit? ====<br />
You don't need to "move and measure" if you know the pitch and number of teeth on your pulleys. Simply enter your pulley size on http://calculator.josefprusa.cz/#MotorStuffSPMB and it will do the math and show you the result. The firmware takes care of all the non-linear math so you don't have to include that in this number. If you do want to "move and measure", use Z movement, because X and Y are non-linear.<br />
<br />
==== What's the resolution in X/Y direction? ====<br />
The steps per mm for X and Y is not constant across the print area. In the middle it is around 30 steps per mm, and near the edge it's more than 300 steps per mm because the push rods will be nearly horizontal.<br />
<br />
==== Is it possible to mount a cooling fan on the print head carriage? ====<br />
It is possible but I was trying to reduce the weight of the moving parts. So I'm using a large oscillating desk fan sitting next to the printer. You can see the fan in this picture: http://thingiverse.com/image:150904<br />
<br />
==== How many bearings are actually used? ====<br />
3x 608ZZ and 3x F608ZZ (F = flanged) for the timing belt idlers at the top. If you can't find flanged bearings, you can try using normal 608ZZ with a printed plastic flange. If you want to use smaller timing belt pulleys on the motors (which might be a good idea) you could also replace 608 (8x22x7 mm) with 688 (8x16x6 mm) or similar. <br />
<br />
Also 1x 608ZZ and 1x MR105ZZ for Airtripper's direct drive bowden extruder.<br />
<br />
==== How do you pronounce "Rostock"? Roe-stock, Raw-stock, Roz-talk? ====<br />
It's open source, you can pronounce it how you want. ;)<br />
<br />
I say Ross-tock but your other pronunciations are fine too.<br />
<br />
==== Would you recommend 0.9 degree per step or 1.8 degree per step motors? ====<br />
Use whatever you have in your workshop. If you are buying new motors, I think 1.8 degree per step (200 full steps per rotation) is more common for RepRap printers these days. Modern electronics (e.g. the RAMPS 1.4 which I currently use) support 16x micro stepping, so there are 3200 micro steps per rotation which is plenty.<br />
<br />
==== Can you publish a schematic diagram of the electronic connections? ====<br />
The wiring is very similar to Prusa Mendel for example. I wired my endstops "normally connected" so the circuit is interrupted when the endstop is hit. But that's easy to change in the firmware configuration.<br />
<br />
==== Can Rostock print a full 11.31" diameter circle? ====<br />
The current prototype can't really print the full 8x8inch (20.32cm) heated bed. It's closer to a 9 inch (22.86cm) circle. But yes you can print a vase with overhang that is wider than the print surface.<br />
<br />
==== Where can I buy a kit with parts to build my own Rostock? ====<br />
Sorry, not yet. This is really still a prototype. I'm pretty sure that the first beta testers are going to find several problems and make improvements. We are working on a new frame called [[Kossel]] to replace the plywood frame with OpenBeam, and so far it's looking pretty good. Stay tuned!<br />
<br />
In Europe you can find a full kit from [http://www.reprap.cc Reprap Austria]<br />
<br />
==== Do you have any backlash problems with the metal-on-plastic universal joints? ====<br />
In an earlier version some of these screws unscrewed themselves after a while, but I think that is completely solved by the inside counter nuts. My prototype has only printed about 1 kg of PLA, but so far there is no sign of wear and very little backlash.<br />
<br />
==== Why do you have longer than "standard" LM8UU bearings on some of the rods? ====<br />
The longer LM8LUU was just an experiment to see if it would keep the carriage more horizontal. It doesn't seem to make a difference, except for added cost and weight, so it's not recommended.<br />
<br />
==== How low do the carriages need to slide on the rods during the printing/operation? ====<br />
The diagonal suspension rods are 250 mm long so the max required carriage travel for printing the first layer is somewhere around 200 mm (they go from vertical to almost horizontal). You need to add the build height to the first layer travel: 200 mm + 200 mm = 400 mm carriage travel required if you want to print objects up to 200 mm tall.<br />
<br />
==== What length are the belt loops? ====<br />
My prototype currently uses 762 mm smooth rods and GT2 timing belt loops with 2 mm pitch and 762 grooves. This gives me 8x8x16 inches (20x20x40 cm) build volume. You can make your Rostock taller or shorter simply by adjusting the length of the smooth rod and timing belts. If you already have shorter belts, you can use them with longer smooth rod too. The extra smooth rod may stick out the top of your printer, but that's okay. A shorter printer may be more rigid / stable and may not need the extra plywood frame on the back and side.<br />
<br />
==== Why did you build three towers instead of four? ====<br />
I decided to start with three towers, to build the simplest design that could possibly work. Four towers might improve precision, but it also needs 33% more parts and it would be over-constrained. This means the mechanics might jam if the four sides are not coordinated exactly right.<br />
<br />
== Future ==<br />
<br />
The following improvements are planned for future versions:<br />
<br />
* Use smaller timing belt pulleys and idler bearings.<br />
* Find cheaper timing belts and pulleys, e.g. T2.5 / HTD-3M / GT3?<br />
* Replace timing belts with Spectra fishing line.<br />
* Write a new clean delta firmware based on [http://dank.bengler.no/-/page/show/5470_grbl Grbl].<br />
* Create a Mini Rostock variation with 120x120x120 mm build volume.<br />
* Replace metal binder clips with printed plastic clips to hold the glass platform.<br />
* Use OpenBeam aluminum extrusion instead of plywood frame: [[Kossel]].<br />
* Use OpenRail (or hybrid roller slide directly on OpenBeam) instead of LM8UU and smooth rods.<br />
* Experiment with dual extruders.<br />
<br />
== Links ==<br />
<br />
* [http://deltabot.tumblr.com Rostock blog on Tumblr]<br />
* [http://youtube.com/user/jcrocholl/videos?query=rostock Videos on YouTube]<br />
* [http://flickr.com/photos/jcrocholl/tags/rostock Pictures on Flickr]<br />
* [http://thingiverse.com/tag:rostock Rostock parts on Thingiverse]<br />
* [https://groups.google.com/forum/#!forum/deltabot Mailing list for questions and answers]<br />
* [https://github.com/jcrocholl/rostock OpenSCAD source files on GitHub] for printed plastic parts.<br />
* [https://github.com/jcrocholl/Marlin Modified Marlin firmware on GitHub] for delta geometry on Arduino.<br />
* [https://docs.google.com/spreadsheet/ccc?key=0AihVdu60WUfgdG9PY3B1Tk1GaVA4TTA1djRDT0xkLXc Bill of materials / BOM / parts list on Google Docs] (work in progress)</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Kossel&diff=130068Kossel2014-07-22T20:00:26Z<p>Funny bananas: /* Design Goals */ added a new line for clarity</p>
<hr />
<div>{{Development<br />
|name = Kossel<br />
|status = experimental<br />
|image = Kossel.jpg<br />
|description = Delta robot 3D printer with extrusion frame.<br />
|license = [[GPL]]<br />
|author = Johann<br />
|reprap = Rostock<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]], [[:Category:Tall|Tall]][[Category:Tall]]<br />
|cadModel = [https://github.com/jcrocholl/kossel GitHub]<br />
|url = [http://deltabot.tumblr.com Blog]<br />
}}<br />
<br />
Kossel is a parametric delta robot 3D printer, built in 2012 by [[User:Johann|Johann]] in Seattle, USA, based on his [[Rostock]] prototype.<br />
<br />
It is named after [http://en.wikipedia.org/wiki/Albrecht_Kossel Albrecht Kossel], German biochemist and pioneer in the study of genetics. He was awarded the Nobel Prize for Physiology or Medicine in 1910 for his work in determining the chemical composition of nucleic acids, the genetic substance of biological cells.<br />
<br />
== History ==<br />
<br />
There are several printers in the Kossel family.<br />
<br />
Legacy Kossel<br />
* Spectra line instead of timing belt.<br />
* 623 bearings running directly on vertical 15 x 15 mm aluminum extrusion like OpenBeam, 6 bearings per carriage.<br />
* PG35L extruder directly on the end effector (moving platform).<br />
* This design is deprecated but the [https://github.com/jcrocholl/kossel/tree/legacy source files] are still available.<br />
<br />
OpenBeam Kossel Pro<br />
* Terence Tam's design for mass manufacturing.<br />
* Successfully funded on [http://www.kickstarter.com/projects/ttstam/openbeam-kossel-pro-a-new-type-of-3d-printer Kickstarter].<br />
* Stamped and injection molded parts instead of 3D printed.<br />
<br />
Mini Kossel<br />
* This is Johann's latest and stable version.<br />
* The rest of this page describes the details of Mini Kossel.<br />
<br />
== Design Goals ==<br />
<br />
* Zero backlash.<br />
* type: Delta printer<br />
* Speed: 320 mm/s in all 3 directions.<br />
* Resolution: 100 steps/mm in all 3 directions.<br />
* Repeatability: better than 0.03 mm (30 micron)<br />
* Build volume: cylindrical, 170mm diameter, 240mm height.<br />
* Footprint: triangle, 300 mm width (240mm OpenBeam + printed corners).<br />
* Frame height: 600 mm.<br />
* Print surface: unheated round glass, doesn't move.<br />
* Mass of end effector with hotend: less than 50 grams.<br />
* Simplicity: fewer than 200 parts.<br />
* Hardware cost: less than $600 USD.<br />
* Fully automatic print surface level calibration (autoleveling).<br />
<br />
<br />
Optionally scale down to a {{tag|Traveling RepRap}} that fits within IATA hand luggage size limit (see [[transportation]]):<br />
* Frame height: 550 mm.<br />
* Footprint: triangle, 270 mm width, 250 mm across (210mm 15 x 15 mm aluminum extrusion like OpenBeam + printed corners).<br />
<br />
== Bill of Materials ==<br />
<br />
=== Printed parts ===<br />
<br />
[[File:Kossel-wgt.jpg|right|This set of parts weighed in at 271g (without power supply brackets).]]<br />
<br />
All files come from Johann's Kossel repo: https://github.com/jcrocholl/kossel<br />
<br />
* 1x [https://github.com/jcrocholl/kossel/blob/master/hotend_fan.stl hotend_fan.stl] which also serves to attach the hotend.<br />
* 1x [https://github.com/jcrocholl/kossel/blob/master/plate_1x.stl plate_1x.stl] which includes the following parts:<br />
** 1x [https://github.com/jcrocholl/kossel/blob/master/effector.stl End effector]<br />
** 1x [https://github.com/jcrocholl/kossel/blob/master/extruder.stl Extruder]<br />
** 1x [https://github.com/jcrocholl/kossel/blob/master/retractable.stl Retractable Z probe]<br />
** 2x [https://github.com/jcrocholl/kossel/blob/master/power_supply.stl Power supply bracket] (optional)<br />
* 3x [https://github.com/jcrocholl/kossel/blob/master/plate_3x.stl plate_3x.stl] which includes the following parts:<br />
** 3x [https://github.com/jcrocholl/kossel/blob/master/frame_motor.stl Bottom vertex]<br />
** 3x [https://github.com/jcrocholl/kossel/blob/master/frame_top.stl Top vertex]<br />
** 3x [https://github.com/jcrocholl/kossel/blob/master/carriage.stl Vertical carriage]<br />
** 6x [https://github.com/jcrocholl/kossel/blob/master/endstop.stl Endstop holder]<br />
** 3x [https://github.com/jcrocholl/kossel/blob/master/glass_tab.stl Print surface holder]<br />
<br />
Recommended print settings:<br />
* Layer height = 0.2 to 0.3 mm (around 60% of your nozzle size)<br />
* Perimeters = 3<br />
* Top/bottom solid layers = 3<br />
* Infill density = 50%<br />
<br />
Note, a PLA End effector may bend or warp if it is not cooled with a fan or insulated. The insulation can be as simple as a loose layer of tin foil to create air pockets between the tin foil and the part. An ABS end effector is less likely to bend. It can also help to insulate parts of the hot end with Kapton tape.<br />
<br />
A kit with the printed parts is available on [http://www.builda3dprinter.eu Builda3Ddprinter.eu]<br />
<br />
A full kit with all printed parts and vitamins is available from [http://www.think3dprint3d.com/3D-Printer-Kits/Kossel-Mini-3dPrinter-Kit think3dprint3d]<br />
<br />
USA made Printed part kits are available at [http://www.ebay.com/sch/m.html?_odkw=&_ipg=25&_osacat=0&_armrs=1&_ssn=crunchtech&_trksid=p2046732.m570.l1313.TR0.TRC0.H0.Xkossel&_nkw=kossel&_sacat=0&_from=R40 CrunchTech's eBay store]<br />
<br />
=== Frame ===<br />
* 3x 600mm vertical [https://www.kickstarter.com/projects/ttstam/openbeam-an-open-source-miniature-construction-sys OpenBeam] from [http://www.builda3dprinter.eu/shop/parts/openbeam-kit-kossel/ builda3dprinter.eu] or [http://shop.chartup.com/index.php?cPath=135_137 OpenBeam.de] or Misumi HFS3-1515<br />
* 9x 240mm horizontal [https://www.kickstarter.com/projects/ttstam/openbeam-an-open-source-miniature-construction-sys OpenBeam] from [http://www.builda3dprinter.eu/shop/parts/openbeam-kit-kossel/ builda3dprinter.eu] or [http://shop.chartup.com/index.php?cPath=135_137 OpenBeam.de] or Misumi HFS3-1515<br />
* 1x 170mm round glass/borosilicate plate [http://trinitylabs.com/products/borosilicate-glass-170mm-round Trinity Labs] or [http://www.tridprinting.com/BorosiicateGlass/ TriDPrinting.com] or [http://store.makea3dfactory.com/borosillicate-glass-170mm-round/ Makea3dfactory.com]or [http://www.builda3dprinter.eu/shop/parts/borosilicate-glass-plate-170mm/ builda3dprinter] or [http://http://www.ultibots.com/borosilicate-print-surface-170mm-round/ Ultibots LLC] or 3dprinteu.eu/shop (cheapest!)<br />
<br />
=== Fasteners ===<br />
* 100x M3x8mm stainless steel screws (frame and most connections)<br />
* 100x M3 stainless steel nuts<br />
* 100x M3 nyloc nuts<br />
* 6x M3x20mm stainless steel screws (arm attachment to vertical carriage)<br />
* 12x M3x25mm stainless steel screws (belt idlers and effector-rod attachments)<br />
* 6x M3x35mm stainless steel screws (tensioners)<br />
* 50x M3x6mm stainless steel screws (rail attachment to extrusions - 8mm is too long!)<br />
* 12x M3x16mm stainless steel screws (push rod attachment)<br />
* 6x M2.5x12mm screws (micro switches)<br />
* 3x M2.5x16mm (automatic bed leveling probe)<br />
<br />
A nuts, bolts and screws kit is available from [http://www.builda3dprinter.eu/product-category/nuts-bolts/ builda3dprinter].<br />
<br />
''note: The 100 counts are exact, not box qty. If you desire spares, order more than 100.''<br />
<br />
=== Linear motion ===<br />
* 3x 400mm hardened steel rail and carriages [http://www.hiwin.com/images/lg/mgn-c_mgn-h.gif HIWIN MGN-12H]<br />
* 3x 1164mm GT2 belt closed loop with 2mm pitch and 6mm width<br />
* 6x F623ZZ flanged bearings 3x10x4mm (or F684ZZ 4x9x4mm for printed parts before June 21st)<br />
* 3x GT2 pulley with 16 teeth and 2mm pitch<br />
* 3x [http://ultimachine.com/content/kysan-1124090-nema-17-stepper-motor Kysan NEMA17 stepper motor],[http://www.tridprinting.com/Electronics/ TriDPrinting.com]or [http://http://www.builda3dprinter.eu/product-category/parts/ builda3dprinter the one stop shop] or [http://www.ultibots.com/kysan-nema-17-stepper-motor/ UltiBots LLC].<br />
<br />
=== Diagonal push rods ===<br />
* 12x [http://www.amazon.com/dp/B000BOLVJY Traxxas 5347 rod ends]<br />
* 12x [http://www.amazon.com/dp/B00A795LNU M4x20mm set screws]<br />
* 6x 180mm Carbon tube ID=4mm<br />
<br />
A pre-assembled rod kit is available from http://www.builda3dprinter.eu/product-category/parts/ Builda3dprinter has pre-cut 3K woven carbon rods].<br />
Fully assembled carbon rod kit is available at 3dprinteu.eu/shop<br />
<br />
=== Bowden ===<br />
* 1x J-Head Hotend 0.5mm for 1.75mm filament<br />
* 1x Clear PFA tubing ID=2mm OD=4mm<br />
* 2x [http://www.amazon.com/dp/B004M8T28M Push fit connector ID=4mm with M5 thread] (or [http://www.amazon.com/dp/B0065RPSAO bigger thread] before June 21st).<br />
Motor<br />
* 1x NEMA-17 motor with an integrated Planetary gearbox with a 5 2/11 :1 ratio.(http://robot-italy.com, [http://www.builda3dprinter.eu/shop/parts/nema-17-stepper-motor/ Nema17 for europe] (http://www.phidgets.com/products.php?product_id=3317 in US).<br />
* 1x Spur Gear, 22 Tooth, 12mm od, 8mm id - #S10T05M022S0508 from [http://sdp-si.com/eStore/Catalog/PartNumber/S10T05M022S0508 SDP-SI]or [http://www.builda3dprinter.eu/shop/parts/spur-gear/ Builda3dprinter.eu] <br />
* 3x M3-0.5x25 Cap Screw<br />
* 3x M3 Washer<br />
Idler<br />
* 1x 625 ball bearing (5x16x5)<br />
* 1x M5-0.8x20 Cap Screw<br />
* 1x M5 Washer<br />
* 1x M5-0.8 Hex Nut (Nylock optional)<br />
* 1x M3-0.5x16 Cap Screw<br />
* 1x M3 Washer<br />
* 1x M3-0.5 Hex Nut, Nylock<br />
<br />
=== Endstops ===<br />
* 3x [http://www.newark.com/omron-electronic-components/ss-5/micro-switch-pin-plunger-spdt-5a/dp/36K7635 Omron SS-5 micro switch] or [http://octopart.com/zm10b10a01-honeywell-52672 Honeywell ZM10B10A01] or [http://www.ultibots.com/endstop-microswitch-pin-plunger/ UltiBots LLC].<br />
<br />
=== Automatic bed leveling probe ===<br />
[[File:Mini_Kossel_probe.jpg|200px|right|Z-probe showing safety pin detail.]]<br />
* 1x Micro switch (same as for endstops above)<br />
* 1x Bondhus 1.5mm allen wrench<br />
* 1x Safety pin with 2.5mm loop<br />
* 2x Ball point pen spring<br />
* 1x Euro-style terminal block connector<br />
* 1x Heat shrink tubing ID=2mm<br />
<br />
=== Electronics ===<br />
* 1x [[Baboi]] or [[Azteeg_X3]] or [[RAMPS_1.4]] or [[Printrboard]] or [[Brainwave]] other electronics.<br />
* 1x [http://www.amazon.com/dp/B0023Y9EQC 12V 5A LCD screen power supply]<br />
<br />
=== Tools ===<br />
<br />
This is not a comprehensive list, but should give you an idea of what tools may be required. Review all build manuals/videos to ensure you have all necessary tools.<br />
<br />
* 1x metric caliper<br />
* 1x M4 Tap Drill bit<br />
* 1x M5 Tap Drill bit<br />
* 1x 1.5 mm allen wrench<br />
* 1x slow-set epoxy<br />
<br />
== Assembly instructions ==<br />
<br />
===Step By Step Instructions===<br />
<br />
Detailed build manual with pictures for every step is available here:<br />
<br />
[http://www.think3dprint3d.com/3D-Printer-Kits/Kossel-Mini-3dPrinter-Kit/#tab-product-tab3 Kossel mini manual]<br />
<br />
<br />
For step by step instructions see the following website http://www.builda3dprinter.eu<br />
<br />
[http://builda3dprinter.eu/ Kossel mini build instruction]<br />
<br />
<br />
Instructions for Kossel Mini kits from Blomker Industries <br />
<br />
[http://blomker.com/Kossel_Mini_Assembly_Guide_V1.0.pdf Blomker Kossel Mini Kit Assembly Guide]<br />
<br />
=== Autolevel probe ===<br />
<br />
X_MAX, Y_MAX, Z_MAX top endstops: NC (Normally Connected). M119 for these should show:<br />
* TRIGGERED when the carriage touches the endstop.<br />
* open during normal operation.<br />
<br />
Z_MIN autolevel probe: NO (Normally Open). M119 for Z_MIN should show:<br />
* TRIGGERED when the autolevel probe is retracted (up).<br />
* open when the autolevel probe is deployed (down).<br />
* TRIGGERED when the autolevel probe touches the print surface.<br />
<br />
Make sure that M119 does NOT show X_MIN or Y_MIN, if it does you must change them to -1 in Marlin/pins.h.<br />
<br />
Although the parts list suggests that a small allen wrench be used, in reality, a short piece of wire might work slightly better since it can rotate more easily.<br />
<br />
=== Viki LCD with Azteeg X3 ===<br />
<br />
References:<br />
* [http://files.panucatt.com/datasheets/x3v1_1_wiring_diagram.pdf Azteeg X3 wiring diagram]<br />
* [http://files.panucatt.com/datasheets/viki_functions.pdf Viki LCD wiring diagram]<br />
* [http://forums.reprap.org/read.php?94,144780,201367 RepRap forum thread with pictures]<br />
<br />
Connect Viki J2 to Azteeg EXP3 port like this:<br />
* +5V to +5V (red)<br />
* GND to GND (black)<br />
* SDA to SDA (blue)<br />
* SCL to SCL (green)<br />
* ENC_A to D22 (white)<br />
* ENC_B to D7 (yellow)<br />
<br />
Connect Viki J3 to Azteeg ICSP port like this:<br />
* CS to CHIP SELECT (D53) (red)<br />
* BTN to D32 on EXP2 (optional) (black)<br />
* DI to MOSI (blue)<br />
* CLK to SCK (green)<br />
* DO to MISO (white)<br />
* CD to CARD DETECT (D49)(yellow)<br />
<br />
CS (D53) and CD (D49) are directly next to the ICSP port, slightly under the expansion shield, but the connectors still work fine if you push them in slightly angled.<br />
<br />
BTN is for the pause/stop/resume LCD button (kill switch). We recommend not connecting it and using a power switch for emergency stop instead. If you do want to use it, it should be connected to the Arduino BTN_ENC pin. Otherwise set BTN_ENC to -1 if not used.<br />
<br />
This uses the [https://github.com/lincomatic/LiquidTWI2 LiquidTWI2 library] v1.2.3 or later. Copy the LiquidTWI2 directory into the Arduino libraries subdirectory (something like /Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidTWI2, just next to the existing LiquidCrystal folder). If you end up with a directory named "LiquidTWI2-master" then remove the "-master" part. We tested this successfully with Johann's latest Marlin version (as of 2014-03-21) and Arduino 1.0.5.<br />
<br />
In Marlin/Configuration.h uncomment or adjust the following lines:<br />
* #define MOTHERBOARD 33 // Azteeg X3<br />
* #define LCD_I2C_VIKI<br />
<br />
In Marlin/pins.h under MOTHERBOARD == 33 adjust the following lines:<br />
* #define SDSS 53<br />
* #define SDCARDDETECT 49<br />
* #define BTN_EN1 22<br />
* #define BTN_EN2 7<br />
* #define BTN_ENC 31<br />
<br />
Disconnect solder jumper JP12 at bottom of Azteeg X3 to disable onboard SD slot and use pins for external SD reader (Viki LCD SD slot).<br />
<br />
== Links ==<br />
<br />
* [http://www.think3dprint3d.com/3D-Printer-Kits/Kossel-Mini-3dPrinter-Kit/#tab-product-tab3 detailed documentation on Kossel mini assembly]<br />
* [http://www.builda3dprinter.eu/ Step by Step manual to build a Kossel mini]<br />
* [http://deltabot.tumblr.com Project blog on Tumblr]<br />
* [http://www.builda3dprinter.eu/shop/ The one stop Shop for your own Kossel Mini]<br />
* [http://minow.blogspot.com/index.html#4918805519571907051 Calibrating a delta printer manually]<br />
* [http://www.youtube.com/watch?v=uDB4hE6nyYI Calibration video using Repetier firmware]<br />
* [http://flickr.com/photos/jcrocholl/tags/kossel Pictures on Flickr]<br />
* [https://groups.google.com/group/deltabot Mailing list for questions and answers]<br />
* [https://github.com/jcrocholl/kossel OpenSCAD source files on GitHub] for printed plastic parts.<br />
* [https://github.com/jcrocholl/Marlin Modified Marlin firmware on GitHub] for delta geometry on Arduino.<br />
* [http://blomker.com/Kossel_Mini_Assembly_Guide_V1.0.pdf Assembly Guide for Blomker Industries Kossel Mini Kit]<br />
* [https://docs.google.com/spreadsheet/ccc?key=0AihVdu60WUfgdGZUOW1BVVdzc2pjdzRSd0ZUMXgtM1E Frame size calculator] spreadsheet.<br />
* [https://groups.google.com/forum/#!forum/deltabot Online forum for delta printers with vast resources.]<br />
* [https://github.com/parate/Mini_Kossel_Heatbed A prototype heatbed design for the Mini Kossel.]<br />
* [http://reprap.org/wiki/%E5%A6%82%E4%BD%95%E7%94%A8800RMB(150usd)%E6%90%AD%E5%BB%BAkossel3d%E6%89%93%E5%8D%B0%E6%9C%BA How th build a Kossel with 800rmb(150usd) in china]《如何用800RMB(150usd)搭建kossel3d打印机》<br />
* [http://www.ultibots.com/mini-kossel-v-slot-3d-printer-beta/ UltiBots Mini Kossel V-Slot Kit]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Pololu_stepper_driver_board&diff=129880Pololu stepper driver board2014-07-20T06:15:16Z<p>Funny bananas: /* Heat Consideration */ fixed typo</p>
<hr />
<div>{{Development<br />
|name = Pololu stepper driver board<br />
|status = working<br />
|description = Stepper driver for RAMPS,<br /> Sanguinololu, Gen7<br />
|license = Commercial<br />
|author = Pololu<br />
|categories = [[:Category:Electronics|Electronics]],<br /><br />
[[:Category:Electronics development|Electronics development]],<br /><br />
[[:Category:Mendel_Development|Mendel Development]]<br />
|reprap = A4988<br />
|cadModel = <br />
|url = http://www.pololu.com/catalog/product/1182<br />
}}<br />
[[Category:Electronics development]]<br />
[[Category:Electronics]]<br />
[[Category:Mendel_Development]]<br />
[[Category:Pololu electronics]]<br />
<br />
:''Please note: Pololu stepper driver boards has 0.05 ohm sense resistors instead of [[StepStick]] 0.2 ohm.''<br />
<br />
== List of Boards ==<br />
'''Pololu driver boards''' (8+8 pins):<br />
* [http://www.pololu.com/catalog/product/1182 Pololu A4988 stepper driver] - [[A4988]]-based; equivalent to [[A4983]]-board but offers overcurrent protection. If the boards get too hot, they will interrupt the current until it cools a bit. If the current is too high for the heat sinking, the motors will pulse as the current is interrupted and restored. See http://forums.reprap.org/read.php?4,116813,116832,quote=1 and its video. Try reducing the current until the pulsing stops.<br />
* [http://www.pololu.com/catalog/product/1201 Pololu A4983 stepper driver] - [[A4983]]-based; (discontinued).<br />
<br />
'''Pololu driver boards with Voltage Regulators''' (longer boards - 8+14 pins):<br />
* [http://www.pololu.com/catalog/product/1183 Pololu A4988 Stepper Motor Driver Carrier with Voltage Regulators] - [[A4988]]-based; equivalent to [[A4983]]-board but offers overcurrent protection.<br />
* [http://www.pololu.com/catalog/product/1202 Pololu A4983 Stepper Motor Driver Carrier with Voltage Regulators] - [[A4983]]-based; (discontinued).<br />
<br />
As user Nophead has pointed out, that Pololu driver is a nice design, but with one big shortcoming: it will run hot, and is difficult to cool because it's so small. So what I've done is to design the electronics in such a way that they both perform their function and act as a physical duct for the flow from a fan to direct their own cooling. A happy side-effect of this is that the resulting PCBs are very simple, and can be made single-sided without any thin tracks. That is is why RepRap itself can make them. We must walk before we can run... <br />
an another way to improve heat dissipation is the use of small heat sink, unfortunately the small adhesive pad are not so adhesive.... so the use of some thermal conductive glue make the thing easier (like this one, in french www.pc-look.com/boutik/63648.html but if you google: Arctic Silver - Arctic Alumina™ Thermal Adhesive you will find it or equivalent)<br />
<br />
=== Alternatives ===<br />
<br />
* [[StepStick]]<br />
* [[G3D driver]]<br />
* SureStepr SD82B - http://www.panucatt.com/product_p/sd82b.htm<br />
* DRV8825 Stepper driver (1.5 A max w/o heatsink! 2.2 with) - http://www.pololu.com/catalog/product/2132<br />
<br />
== Tuning motor current ==<br />
<br />
Per the A4988 datasheet [[http://www.pololu.com/file/download/a4988_DMOS_microstepping_driver_with_translator.pdf?file_id=0J450]], the calculation for the maximum trip current is: <br />
<br />
I_TripMax= Vref/(8*Rs) <br />
<br />
With Pololus, the sensing resistors are Rs=0.05 ohm, so a Vref of 0.4 should produce a maximum current of 0.4/(8*0.05)=1A.<br />
<br />
As another example, aiming for 50% temperature rise on 1A rated steppers by using max 0.7A, so rearrange it as:<br />
<br />
Vref = I_TripMax * 8 * Rs or<br />
<br />
Vref = 0.7 * 8 * 0.05 = 0.280V<br />
<br />
With a measured Vref of 0.273V, I should expect 0.6825A, and I measured the current through one coil as 0.486A in full step mode, which should be 0.7071 of the full trip current, or I_TripMax= 0.486/0.7071= 0.687A, which seems close enough.<br />
<br />
The Vref signal is accessible as the "VREF" pin on the carriers with voltage regulators, as the through-hole via on the carriers without, and also as the wiper on the trim pot itself on both carriers.<br />
<br />
[[File:Pololu_v-ref_checking.jpg|thumb|right|400px|example of a v-ref checking, + probe on the turnpot and - on a ground pin]]<br />
<br />
Note: for [[StepStick]], the Rs=0.2 ohm, so you'd get 4 times the Vref at the same current.<br />
<br />
Note 2: for DRV8825, the current sense resistors are 0.1Ω. The calculation changes to "Current Limit = VREF × 2", or "VREF = Current Limit / 2".<br />
<br />
== The maths in full ==<br />
For repraps, logic supply voltage (VDD) is 5V. For Pololu driver boards, the trimpot is 100kohm, R5 resistor is 20kohm, sense resistors R7 and R8 are 0.05ohm<br><br />
VREF max = (TrimpotMaxR/(TrimpotMaXR+R5)) x VDD = (100,000 / (100,000 + 20,000)) * 5 = 4.16V<br><br />
ITripMAX (effectively max motor current) = VREF / ( 8 x Sense_resistor) = 4.16 / ( 8 * 0.05 ) = 10.4A<br><br />
<br />
To calculate amps from measured VREF: A = VREF / 0.4<br><br />
To calculate VREF required for a target current: VREF = A * 0.4 <br />
<br />
== Heat Consideration ==<br />
The way the IC is designed, it wicks heat much better through the large pad on the underside than it does through the outside of the packaging. This means the heatsink is not actually in the ideal place to wick heat away, and the quality of the solder job underneath is extra important. On some chinese knockoffs (white board and the pot has no built in stop) I notice they overheat and go into thermal shut down before a real pololu board would, even with a heat sink and fan. Heat dissipation could possibly be improved by re-flowing the solder on a hot plate, but I have not tried this as they are my backups.<br />
Pololu also offers a "black Edition" board which has extra copper and multiple layers in the PCB to help wick heat away from the IC and keep it cool. This is said to add on an extra 0.2 amps that can be maintained without heat sinking. Also using the same logic, it is more effective to blow cooling air under the board rather than over it, and brilliant design work on the RAMPS boards allows this quite easily.<br />
<br />
== Upgrades ==<br />
[[File:A4988-replace-this-resistor.jpg|thumb|right|400px|Replace this resistor]]By replacing one resistor on the driver board, the reference voltage becomes much easier to set. The resistor in question is to the right of the vref pot, if the pot is considered the bottom of the board.<br />
<br />
The voltage divider and pot are poorly selected for the currents used. The board uses a 10k pot and 20k resistor to set the vref, so the effective range is 0-1.7 volts, or 0-4.2 amps! The IC is only rated for a maximum of two amps if you have perfect heat dissipation. This makes it much more difficult to set the ref voltage since at 1/4 turn you have maxed out your driver. The resistor is the easiest to change. You simply need to swap it with one rated at 51K ohms. (part number below) With this modification, the max current is 2.05 A with vRef = 0.82V.<br />
<br />
Any resistor in a 0603 SMD package will work. Resistors with a higher resistance will lower the maximum current even further. Some have reported using a 68K-ohm resistor which brings the maximum current down to 1.6 amps. Many of the Pololu clones will shut down before producing this much current, even when cooled with a heatsink and fan, so a slightly higher resistance would work as well.<br />
<br />
51K-ohm DigiKey.com part number: 311-51KGRCT-ND<br />
<br />
Double check the sense resistor values before making this upgrade, if you actually have stepsticks with 0.2ohm resistors, this is not needed.<br />
<br />
== See also ==<br />
* [[StepStick]]<br />
* [[G3D driver]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta&diff=129827Delta2014-07-17T23:20:02Z<p>Funny bananas: fixed typo</p>
<hr />
<div>{{Development<br />
|name = Delta RepRap<br />
|description = Delta type parallel kinematic manipulator setup to be used as repstrap<br />
|license = [[GPL]]<br />
|author = Energetic<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|image = delta.jpg<br />
}}<br />
<br />
Delta is the name of one of many types of [[Wikipedia:Delta_robot|delta robot]] 3D printers. For others, look under [[:Category:Delta]].<br />
<br />
=Introduction=<br />
The Clavel- or Delta-robot is mostly known for its use in pick-and-place work in PCB fabrication and generic packaging applications. It features fast and accurate positioning and is relatively easy to build. We, [[User:Energetic]] and [[User:Reinoud]] teamed up to create a both easy to fabricate and light on the budget RepPrep/RepRap. Our goal is to be well under the current prices for Mendel and/or Darwin RepRap's.<br />
<br />
We decided to design and develop the bot through a series of prototypes, learning and refining on each iteration.<br />
<br />
==Prototype 1==<br />
[[Image:Delta Prototype 1 upside down.jpg|300px| Delta prototype 1 upside down]]<br />
<br />
The initial prototype designed and lasered by [[User:Energetic]]. It was cut out of 1 cm acrylic sheets by a shop. It proofed the concept of the [[magnet joint | magnetic ball]] bearings and the overall structure of the design. Regretfully it was never driven by an [[Arduino]]/[[Sanguino]] other than simple stepping.<br />
<br />
==Prototype 2==<br />
[[Image:delta.jpg|300px| LaserCut Delta by [[User:Energetic]] and [[User:Reinoud]]]]<br />
<br />
Lessons were learned from prototype 1. It proved to be hard to reproduce the machine since non-standard 4mm shaft [[Nema17]] motors were used and needed some intricate drilling in the side of the sheets to receive the bolts and nuts. Since acrylic also turned out to be quite expensive, we decided to go for plywood. We replaced the 10 mm acrylic with a set of three sheets of plywood with the respectively thickness of 3, 4, 3 mm so to easily accommodate the 4mm nuts and bolts.<br />
<br />
The structure was also modified to accept larger upper-arm ranges to give it a larger work-space. As 4mm shaft steppers are hard to find, the design was modified to use the standard 5mm shaft [[Nema17]] steppers.<br />
<br />
Although we've learned a lot of this prototype to justify a prototype 3, we'll first try to get it to work first. We might stumble on other unforeseen challenges!<br />
<br />
[http://www.youtube.com/watch?v=FxVFIte7pqI See it in action!]<br />
<br />
===Calibrating===<br />
The bot can detect the arms being in the start position. However, due to various causes the exact start angles of the three arms are not known but a rough estimation. Start angles being wrong result in a severe warped space that is far from flat nor the right size. The prototype therefore needs to be calibrated at least once in its life or when its reassembled. The calibration scheme is fully automatic with a single micro switch.<br />
<br />
===First drawings made===<br />
After a long wait, the bot is starting to make drawings with a pencil. Regretfully the pencil wasn't as stiffly mounted as we would hoped for so the quality of the drawing is not that well due to the hysteresis. No art yet, but some s3g files of the calibration object and a scaled up version of one of the Mendel pieces.<br />
<br />
[[Image:delta-initial-drawings.jpg|300px| First drawings by the Delta bot!]]<br />
<br />
==Prototype 3==<br />
Will most likely '''not''' feature the timing belts and pulleys. They proved to be too hard to get and can hopefully be replaced by either higher resolution microstepping or by a lasercut gear system.<br />
It will most likely also '''not''' feature the current ball-bearings used to hold up the cut-out wheels since the ball-bearing, but also the bolts attaching them also turned out to be hard to get.<br />
<br />
The plan is to make this one either the next prototype, or the final, of the laser-cut Delta Reprap.<br />
<br />
==Prototype 4==<br />
Well.. speculation here... First RepRap-able version?<br />
Perhaps an upside down [http://reprap.org/wiki/GUS_Simpson GUS Simpson]? But then I might as well go make a regular one instead..<br />
<br />
=Firmware=<br />
[[User:Reinoud]] has written a [[ReplicatorG]] compatible firmware that does both the needed coordinate transformation and the real-time control. The goal is to have the complete bot, including the extruder, running on either a single [[Arduino]] or on a single [[Sanguino]] with standard [[Polulu]] stepper controllers and standard [[Nema17]] steppers. As for SDD card recording and playback support, a [[Sanguino]] might be required since the imported implementation of the FAT/MSDOS FS alone takes about the half of the [[Arduino]] 32Kb flash program space and currently just doesn't fit with the rest.<br />
<br />
''Is http://deltafimware.googlecode.com/svn/trunk/ the lastest version of that firmware?'' '''NO''' it isn't ... the current firmware is not yet released since it contains some serious flaws that we'd like to fix first.<br />
<br />
=Firmware Math=<br />
TBD<br />
<br />
=Mailing list=<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?31 Delta Robots and Stewart platform Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?178,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
* [https://groups.google.com/forum/#!forum/deltabot "Delta robot 3D printers"]<br />
<br />
= Arm proportions =<br />
<br />
Some people seem to think that a good ''(according to what measure?)'' set of arm proportions<br />
(using the notation from the Mzavatsky paper) is:<br />
* given some base size f<br />
* actuator size e should be about 3/5 of f<br />
* upper arm rf should be about equal to actuator size e<br />
* lower arm re should be about re = (rf + (f-e)/2) = (rf + f/5)<br />
* Given the tiny angle dT that the upper arm moves per step, the positioning error in the build volume is about (3/2) dT rf ''(???)''<br />
<br />
''... fill in details[http://forums.reprap.org/read.php?178,26318,32927#msg-32927] ...''<br />
<br />
=Existing Designs=<br />
"Mjcbruin" from the Netherlands designed the this delta bot for $70. It is driven by 3 hobby servos, and is controlled by an Arduino. The code has been published at the letsmakerobots link.<br />
[http://www.youtube.com/watch?v=HEHdD7pd64I&feature=player_embedded Video] [http://letsmakerobots.com/node/10577 Design + code]<br />
<br />
[[User:Reinoud]] has built a similar design with servos.<br />
<br />
* Ugly Stewart Platform ( http://builders.reprap.org/2006/09/ugly-stewart-platform.html ) : crude prototype for hydraulic Stewart platform.<br />
<br />
* first stab at a Stewart platform RepRap: http://blog.reprap.org/2006/02/reprap.html<br />
<br />
* Biollante: a few more stabs towards making a hydraulic Stewart platform RepRap: http://burningsmell.org/biollante/<br />
<br />
* Biollante posts: http://builders.reprap.org/search?q=Biollante<br />
<br />
* Volksrobot: http://sites.google.com/site/volksrobot/<br />
<br />
* http://forums.reprap.org/read.php?178,26318<br />
<br />
* "Baby sized reprap" http://forums.reprap.org/read.php?1,15252<br />
<br />
* [http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ "Delta robot kinematics"] by mzavatsky goes into excruciating detail on the math, has some nice illustrations, and ends with some sample code in C and a Lego implementation.<br />
** http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ - Mathematics discussion and C code example for inverse kinematics<br />
<br />
* Tripod positioners such as the [[SpoonPod]], the [[Helium Frog Delta Robot]], and [http://builders.reprap.org/search/label/tripod Viktor's tripod repstrap demonstrator] have many similarities to Delta positioners, as does the [[TRap]].<br />
<br />
* Forrest Higgs prints nice herringbone racks and pinions on his RepRap, and speculates that perhaps they will be useful in a Delta or Stewart RepRap.[http://technocraticanarchist.blogspot.com/search?q=delta][http://blog.reprap.org/2010/03/no-peel-no-warp-no-backlash.html]<br />
<br />
* Let's make robots! : Delta bot[http://letsmakerobots.com/node/10577] made from hobby servos<br />
<br />
* [http://www.linuxcnc.org/docview/html//motion_kinematics.html] The EMC documentation claims it can handle hexapods and other non-trivial kinematics ...<br />
<br />
* Yazzo PolyBot - Cranberry Edition by WilliamAAdams [http://blog.thingiverse.com/2011/02/03/delta-bot-equilateral-awesome/ "Delta Bot: Equilateral Awesome"]<br />
<br />
=Files=<br />
<br />
=Tooling=<br />
Lasercutter and standard tools are sufficient to make the current repstrap version.<br />
:What's the minimum required working area (=minimum part size) needed? -- [[User:Nichtich|Nichtich]] 15:29, 4 March 2012 (UTC)<br />
<br />
=Notes=<br />
[[Category:LaserCut]]<br />
[[Category:Delta]]<br />
[[Category:Acrylic]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta&diff=129825Delta2014-07-17T20:03:18Z<p>Funny bananas: fixed typo</p>
<hr />
<div>{{Development<br />
|name = Delta RepRap<br />
|description = Delta type parallel kinematic manipulator setup to be used as repstrap<br />
|license = [[GPL]]<br />
|author = Energetic<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|image = delta.jpg<br />
}}<br />
<br />
Delta is the name of one of many types of [[Wikipedia:Delta_robot|delta robot]] 3D printers. For others, look under [[:Category:Delta]].<br />
<br />
=Introduction=<br />
The Clavel- or Delta-robot is mostly known for its use in pick-and-place work in PCB fabrication and generic packaging applications. It features fast and accurate positioning and is relatively easy to build. We, [[User:Energetic]] and [[User:Reinoud]] teamed up to create a both easy to fabricate and light on the budget RepPrep/RepRap. Our goal is to be well under the current prices for Mendel and/or Darwin RepRap's.<br />
<br />
We decided to design and develop the bot through a series of prototypes, learning and refining on each iteration.<br />
<br />
==Prototype 1==<br />
[[Image:Delta Prototype 1 upside down.jpg|300px| Delta prototype 1 upside down]]<br />
<br />
The initial prototype designed and lasered by [[User:Energetic]]. It was cut out of 1 cm acrylic sheets by a shop. It proofed the concept of the [[magnet joint | magnetic ball]] bearings and the overall structure of the design. Regretfully it was never driven by an [[Arduino]]/[[Sanguino]] other than simple stepping.<br />
<br />
==Prototype 2==<br />
[[Image:delta.jpg|300px| LaserCut Delta by [[User:Energetic]] and [[User:Reinoud]]]]<br />
<br />
Lessons were learned from prototype 1. It proved to be hard to reproduce the machine since non-standard 4mm shaft [[Nema17]] motors were used and needed some intricate drilling in the side of the sheets to receive the bolts and nuts. Since acrylic also turned out to be quite expensive, we decided to go for plywood. We replaced the 10 mm acrylic with a set of three sheets of plywood with the respectively thickness of 3, 4, 3 mm so to easily accommodate the 4mm nuts and bolts.<br />
<br />
The structure was also modified to accept larger upper-arm ranges to give it a larger work-space. As 4mm shaft steppers are hard to find, the design was modified to use the standard 5mm shaft [[Nema17]] steppers.<br />
<br />
Although we've learned a lot of this prototype to justify a prototype 3, we'll first try to get it to work first. We might stumble on other unforeseen challenges!<br />
<br />
[http://www.youtube.com/watch?v=FxVFIte7pqI See it in action!]<br />
<br />
===Calibrating===<br />
The bot can detect the arms being in the start position. However, due to various causes the exact start angles of the three arms are not known but a rough estimation. Start angles being wrong result in a severe warped space that is far from flat nor the right size. The prototype therefore needs to be calibrated at least once in its life or when its reassembled. The calibration scheme is fully automatic with a single micro switch.<br />
<br />
===First drawings made===<br />
After a long wait, the bot is starting to make drawings with a pencil. Regretfully the pencil wasn't as stiffly mounted as we would hoped for so the quality of the drawing is not that well due to the hysteresis. No art yet, but some s3g files of the calibration object and a scaled up version of one of the Mendel pieces.<br />
<br />
[[Image:delta-initial-drawings.jpg|300px| First drawings by the Delta bot!]]<br />
<br />
==Prototype 3==<br />
Will most likely '''not''' feature the timing belts and pulleys. They proved to be too hard to get and can hopefully be replaced by either higher resolution microstepping or by a lasercut gear system.<br />
It will most likely also '''not''' feature the current ball-bearings used to hold up the cut-out wheels since the ball-bearing, but also the bolts attaching them also turned out to be hard to get.<br />
<br />
The plan is to make this one either the next prototype, or the final, of the laser-cut Delta Reprap.<br />
<br />
==Prototype 4==<br />
Well.. speculation here... First RepRap-able version?<br />
Perhaps an upside down [http://reprap.org/wiki/GUS_Simpson GUS Simpson]? But then I might as well go make a regular one instead..<br />
<br />
=Firmware=<br />
[[User:Reinoud]] has written a [[ReplicatorG]] compatible firmware that does both the needed coordinate transformation and the real-time control. The goal is to have the complete bot, including the extruder, running on either a single [[Arduino]] or on a single [[Sanguino]] with standard [[Polulu]] stepper controllers and standard [[Nema17]] steppers. As for SDD card recording and playback support, a [[Sanguino]] might be required since the imported implementation of the FAT/MSDOS FS alone takes about the half of the [[Arduino]] 32Kb flash program space and currently just doesn't fit with the rest.<br />
<br />
''Is http://deltafimware.googlecode.com/svn/trunk/ the lastest version of that firmware?'' '''NO''' it isn't ... the current firmware is not yet released since it contains some serious flaws that we'd like to fix first.<br />
<br />
=Firmware Math=<br />
TBD<br />
<br />
=Mailing list=<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?31 Delta Robots and Stewart platform Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?178,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
* [https://groups.google.com/forum/#!forum/deltabot "Delta robot 3D printers"]<br />
<br />
= Arm proportions =<br />
<br />
Some people seem to think that a good ''(according to what measure?)'' set of arm proportions<br />
(using the notation from the Mzavatsky paper) is:<br />
* given some base size f<br />
* actuator size e should be about 3/5 of f<br />
* upper arm rf should be about equal to actuator size e<br />
* lower arm re should be about re = (rf + (f-e)/2) = (rf + f/5)<br />
* Given the tiny angle dT that the upper arm moves per step, the positioning error in the build volume is about (3/2) dT rf ''(???)''<br />
<br />
''... fill in details[http://forums.reprap.org/read.php?178,26318,32927#msg-32927] ...''<br />
<br />
=Existing Designs=<br />
"Mjcbruin" from the Netherlands designed the this delta bot for $70. It is driven by 3 hobby servos, and is controlled by an Arduino. The code has been published at the letsmakerobots link.<br />
[http://www.youtube.com/watch?v=HEHdD7pd64I&feature=player_embedded Video] [http://letsmakerobots.com/node/10577 Design + code]<br />
<br />
[[User:Reinoud]] has built a similar design with servos.<br />
<br />
* Ugly Stewart Platform ( http://builders.reprap.org/2006/09/ugly-stewart-platform.html ) : crude prototype for hydraulic Stewart platform.<br />
<br />
* first stab at a Stewart platform RepRap: http://blog.reprap.org/2006/02/reprap.html<br />
<br />
* Biollante: a few more stabs towards making a hydraulic Stewart platform RepRap: http://burningsmell.org/biollante/<br />
<br />
* Biollante posts: http://builders.reprap.org/search?q=Biollante<br />
<br />
* Volksrobot: http://sites.google.com/site/volksrobot/<br />
<br />
* http://forums.reprap.org/read.php?178,26318<br />
<br />
* "Baby sized reprap" http://forums.reprap.org/read.php?1,15252<br />
<br />
* [http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ "Delta robot kinematics"] by mzavatsky goes into excruciating detail on the math, has some nice illustrations, and ends with some sample code in C and a Lego implementation.<br />
** http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ - Mathematics discussion and C code example for inverse kinematics<br />
<br />
* Tripod positioners such as the [[SpoonPod]], the [[Helium Frog Delta Robot]], and [http://builders.reprap.org/search/label/tripod Viktor's tripod repstrap demonstrator] have many similarities to Delta positioners, as does the [[TRap]].<br />
<br />
* Forrest Higgs prints nice herringbone racks and pinions on his RepRap, and speculates that perhaps they will be useful in a Delta or Stewart RepRap.[http://technocraticanarchist.blogspot.com/search?q=delta][http://blog.reprap.org/2010/03/no-peel-no-warp-no-backlash.html]<br />
<br />
* Let's make robots! : Delta bot[http://letsmakerobots.com/node/10577] made from hobby servos<br />
<br />
* [http://www.linuxcnc.org/docview/html//motion_kinematics.html] The EMC documentation claims it can handle hexapods and other non-trivial kinematics ...<br />
<br />
* Yazzo PolyBot - Cranberry Edition by WilliamAAdams [http://blog.thingiverse.com/2011/02/03/delta-bot-equilateral-awesome/ "Delta Bot: Equilateral Awesome"]<br />
<br />
=Files=<br />
<br />
=Tooling=<br />
Lasercutter and standard tools are sufficient to make the current repstrap version<br />
:What's the minimum required working area (=minimum part size) needed? -- [[User:Nichtich|Nichtich]] 15:29, 4 March 2012 (UTC)<br />
<br />
=Notes=<br />
[[Category:LaserCut]]<br />
[[Category:Delta]]<br />
[[Category:Acrylic]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta&diff=129824Delta2014-07-17T20:02:12Z<p>Funny bananas: /* Introduction */ fixed type</p>
<hr />
<div>{{Development<br />
|name = Delta RepRap<br />
|description = Delta type parallel kinematic manipulator setup to be used as repstrap<br />
|license = [[GPL]]<br />
|author = Energetic<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|image = delta.jpg<br />
}}<br />
<br />
Delta is the name of one of many types of [[Wikipedia:Delta_robot|delta robot]] 3D printers. For others, look under [[:Category:Delta]].<br />
<br />
=Introduction=<br />
The Clavel- or Delta-robot is mostly known for its use in pick-and-place work in PCB fabrication and generic packaging applications. It features fast and accurate positioning and is relatively easy to build. We, [[User:Energetic]] and [[User:Reinoud]] teamed up to create a both easy to fabricate and light on the budget RepPrep/RepRap. Our goal is to be well under the current prices for Mendel and/or Darwin RepRap's.<br />
<br />
We decided to design and develop the bot through a series of prototypes, learning and refining on each iteration.<br />
<br />
==Prototype 1==<br />
[[Image:Delta Prototype 1 upside down.jpg|300px| Delta prototype 1 upside down]]<br />
<br />
The initial prototype designed and lasered by [[User:Energetic]]. It was cut out of 1 cm acrylic sheets by a shop. It proofed the concept of the [[magnet joint | magnetic ball]] bearings and the overall structure of the design. Regretfully it was never driven by an [[Arduino]]/[[Sanguino]] other than simple stepping.<br />
<br />
==Prototype 2==<br />
[[Image:delta.jpg|300px| LaserCut Delta by [[User:Energetic]] and [[User:Reinoud]]]]<br />
<br />
Lessons were learned from prototype 1. It proved to be hard to reproduce the machine since non-standard 4mm shaft [[Nema17]] motors were used and needed some intricate drilling in the side of the sheets to receive the bolts and nuts. Since acrylic also turned out to be quite expensive, we decided to go for plywood. We replaced the 10 mm acrylic with a set of three sheets of plywood with the respectively thickness of 3, 4, 3 mm so to easily accommodate the 4mm nuts and bolts.<br />
<br />
The structure was also modified to accept larger upper-arm ranges to give it a larger work-space. As 4mm shaft steppers are hard to find, the design was modified to use the standard 5mm shaft [[Nema17]] steppers.<br />
<br />
Although we've learned a lot of this prototype to justify a prototype 3, we'll first try to get it to work first. We might stumble on other unforeseen challenges!<br />
<br />
[http://www.youtube.com/watch?v=FxVFIte7pqI See it in action!]<br />
<br />
===Calibrating===<br />
The bot can detect the arms being in the start position. However, due to various causes the exact start angles of the three arms are not known but a rough estimation. Start angles being wrong result in a severe warped space that is far from flat nor the right size. The prototype therefore needs to be calibrated at least once in its life or when its reassembled. The calibration scheme is fully automatic with a single micro switch.<br />
<br />
===First drawings made===<br />
After a long wait, the bot is starting to make drawings with a pencil. Regretfully the pencil wasn't as stiffly mounted as we would hoped for so the quality of the drawing is not that well due to the hysteresis. No art yet, but some s3g files of the calibration object and a scaled up version of one of the Mendel pieces.<br />
<br />
[[Image:delta-initial-drawings.jpg|300px| First drawings by the Delta bot!]]<br />
<br />
==Prototype 3==<br />
Will most likely '''not''' feature the timing belts and pulleys. They proved to be too hard to get and can hopefully be replaced by either higher resolution microstepping or by a lasercut gear system.<br />
It will most likely also '''not''' feature the current ball-bearings used to hold up the cut-out wheels since the ball-bearing, but also the bolts attaching them also turned out to be hard to get.<br />
<br />
The plan is to make this one either the next prototype, or the final, of the laser-cut Delta RepPrep.<br />
<br />
==Prototype 4==<br />
Well.. speculation here... First RepRap-able version?<br />
Perhaps an upside down [http://reprap.org/wiki/GUS_Simpson GUS Simpson]? But then I might as well go make a regular one instead..<br />
<br />
=Firmware=<br />
[[User:Reinoud]] has written a [[ReplicatorG]] compatible firmware that does both the needed coordinate transformation and the real-time control. The goal is to have the complete bot, including the extruder, running on either a single [[Arduino]] or on a single [[Sanguino]] with standard [[Polulu]] stepper controllers and standard [[Nema17]] steppers. As for SDD card recording and playback support, a [[Sanguino]] might be required since the imported implementation of the FAT/MSDOS FS alone takes about the half of the [[Arduino]] 32Kb flash program space and currently just doesn't fit with the rest.<br />
<br />
''Is http://deltafimware.googlecode.com/svn/trunk/ the lastest version of that firmware?'' '''NO''' it isn't ... the current firmware is not yet released since it contains some serious flaws that we'd like to fix first.<br />
<br />
=Firmware Math=<br />
TBD<br />
<br />
=Mailing list=<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?31 Delta Robots and Stewart platform Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?178,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
* [https://groups.google.com/forum/#!forum/deltabot "Delta robot 3D printers"]<br />
<br />
= Arm proportions =<br />
<br />
Some people seem to think that a good ''(according to what measure?)'' set of arm proportions<br />
(using the notation from the Mzavatsky paper) is:<br />
* given some base size f<br />
* actuator size e should be about 3/5 of f<br />
* upper arm rf should be about equal to actuator size e<br />
* lower arm re should be about re = (rf + (f-e)/2) = (rf + f/5)<br />
* Given the tiny angle dT that the upper arm moves per step, the positioning error in the build volume is about (3/2) dT rf ''(???)''<br />
<br />
''... fill in details[http://forums.reprap.org/read.php?178,26318,32927#msg-32927] ...''<br />
<br />
=Existing Designs=<br />
"Mjcbruin" from the Netherlands designed the this delta bot for $70. It is driven by 3 hobby servos, and is controlled by an Arduino. The code has been published at the letsmakerobots link.<br />
[http://www.youtube.com/watch?v=HEHdD7pd64I&feature=player_embedded Video] [http://letsmakerobots.com/node/10577 Design + code]<br />
<br />
[[User:Reinoud]] has built a similar design with servos.<br />
<br />
* Ugly Stewart Platform ( http://builders.reprap.org/2006/09/ugly-stewart-platform.html ) : crude prototype for hydraulic Stewart platform.<br />
<br />
* first stab at a Stewart platform RepRap: http://blog.reprap.org/2006/02/reprap.html<br />
<br />
* Biollante: a few more stabs towards making a hydraulic Stewart platform RepRap: http://burningsmell.org/biollante/<br />
<br />
* Biollante posts: http://builders.reprap.org/search?q=Biollante<br />
<br />
* Volksrobot: http://sites.google.com/site/volksrobot/<br />
<br />
* http://forums.reprap.org/read.php?178,26318<br />
<br />
* "Baby sized reprap" http://forums.reprap.org/read.php?1,15252<br />
<br />
* [http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ "Delta robot kinematics"] by mzavatsky goes into excruciating detail on the math, has some nice illustrations, and ends with some sample code in C and a Lego implementation.<br />
** http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ - Mathematics discussion and C code example for inverse kinematics<br />
<br />
* Tripod positioners such as the [[SpoonPod]], the [[Helium Frog Delta Robot]], and [http://builders.reprap.org/search/label/tripod Viktor's tripod repstrap demonstrator] have many similarities to Delta positioners, as does the [[TRap]].<br />
<br />
* Forrest Higgs prints nice herringbone racks and pinions on his RepRap, and speculates that perhaps they will be useful in a Delta or Stewart RepRap.[http://technocraticanarchist.blogspot.com/search?q=delta][http://blog.reprap.org/2010/03/no-peel-no-warp-no-backlash.html]<br />
<br />
* Let's make robots! : Delta bot[http://letsmakerobots.com/node/10577] made from hobby servos<br />
<br />
* [http://www.linuxcnc.org/docview/html//motion_kinematics.html] The EMC documentation claims it can handle hexapods and other non-trivial kinematics ...<br />
<br />
* Yazzo PolyBot - Cranberry Edition by WilliamAAdams [http://blog.thingiverse.com/2011/02/03/delta-bot-equilateral-awesome/ "Delta Bot: Equilateral Awesome"]<br />
<br />
=Files=<br />
<br />
=Tooling=<br />
Lasercutter and standard tools are sufficient to make the current repstrap version<br />
:What's the minimum required working area (=minimum part size) needed? -- [[User:Nichtich|Nichtich]] 15:29, 4 March 2012 (UTC)<br />
<br />
=Notes=<br />
[[Category:LaserCut]]<br />
[[Category:Delta]]<br />
[[Category:Acrylic]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Wanted_Objects&diff=128566Wanted Objects2014-06-28T17:22:25Z<p>Funny bananas: /* RepRap associated technology */ added a wanted object</p>
<hr />
<div>This page collects suggestions for useful things for a [[RepRap]] machine to make. If you are a designer and wish to help out the project, pick something from this list (or [[WhatWouldYouMake]]), design and test it - then add it to the [[List of available files]] and remove it from here.<br />
<br />
Where you can, try to put things in the right category by precision International Tolerance Grade that the object must be made to, and the materials involved, to help inform developers. <br />
<br />
Things marked with a ^ are particularly desirable.<br />
<br />
==== Mechanical components ====<br />
*Tracks and bogies<br />
*Wheels systems enclosures<br />
*Pulley wheels and blocks<br />
*Chain<br />
*Knobs<br />
*Handwheels<br />
*Knife switch parts<br />
*Van Allen Geiger counter<br />
*^ roller Bearings (very high IT grade but don't know exactly)<br />
*^ Journal bearings (lower grade than roller bearings)<br />
*Skate bearing pillow block<br />
*Drive chain/belt<br />
<br />
====Other====<br />
*Battery boxes for standard battery sizes<br />
*Custom Shot Glasses<br />
*Electrical terminal blocks<br />
*Gaskets<br />
<br />
====RepRap 3D printer====<br />
*RepRapSlurryHead<br />
*Recycler and filament extruder<br />
*RepStrapMini (smaller version, specialized to make only RepRap parts for full-sized machine. Easy to give out. Palm sized? ([[Mini-Mendel]] and [[Bonsai RepStrap]] are big (pun!) steps in this direction)<br />
<br />
==== RepRap associated technology ====<br />
<br />
*CameraScanningHead<br />
*TouchProbeScanningHead ([[Scanning]])<br />
*Generic keypad<br />
*Automated part unloader -- see [[automated build platform]]<br />
*Adapter plates to mount a RepRap in a "cube" for [[CubeSpawn]] http://cubespawn.com/ . [[Eiffel]] and [[doboz]] might be able to fit with some very minor tweaking.<br />
*Printable replacement for Traxxas rod ends.<br />
<br />
==== Fabrication tools ====<br />
<br />
*[[Laser cutter]]<br />
*Large [[CNC router]]<br />
*Micro lathe ([[VDX lathe]]?) -- can we use the [http://openlathe.wikidot.com/ Open Lathe] <br />
*[[Drexler Arm]] multi-material extruder/clasp<br />
*[[Basic sewing machine]]<br />
<br />
=== Home improvement items ===<br />
<br />
*Outlet cover<br />
*Light switch cover<br />
*Electrical outlet box<br />
*Child safety plug for electrical outlet<br />
*Sharp corner cover<br />
*Plastic light switch spacers for outlet boxes<br />
*Threaded wire nuts<br />
*Plastic drywall fasteners<br />
*Plastic C-clamps<br />
*Decorative light bulb covers for electric fans<br />
*Plastic electric cord hole covers for desk/cube work surfaces<br />
*Plastic end caps for clothes hangers<br />
*Electric conduit connectors (elbow and tee)<br />
*Drain pipe connectors and end caps<br />
*Flat plastic fence for a garden<br />
*Screw-on loops for hanging hollow tools that already have threaded ends<br />
*Door stops<br />
<br />
=== Home improvement tools ===<br />
<br />
*Ruler<br />
*T-square<br />
*Architect's 3 sided ruler<br />
*Level (just add water, requires clear plastic)<br />
<br />
=== Architecture, construction and prototyping ===<br />
<br />
*A scaled model of cities, such as London, for design and planning puposes<br />
<br />
=== Toys ===<br />
<br />
*Kazoo<br />
*Harmonica<br />
*Ocarina<br />
*Hollow plastic pins and bowling ball (with screw on caps for filling with water)<br />
*Poker chips<br />
*Dice of different sizes (6 sided, 8 sided, 10, 12, 20, 4, etc)<br />
*Chess set<br />
*Checkers (different faces on each side, so you can tell when it has been 'kinged')<br />
*Generic playing piece pawns to replace the lost pieces in other games (with variations? like Monopoly pieces)<br />
*Stackable playing pieces (like Trouble)<br />
*Juggling balls - hollow, filled, solid<br />
*Juggling clubs - hollow, one-piece<br />
*Golf tee<br />
*Wiffle ball<br />
*Frisbee<br />
*Hula hoops<br />
*Paddle blades<br />
*Pentomino set<br />
*Tabletop items, e.g. free own army units and W<br />
*hammer compatible bases, templates, markers, dice<br />
*Toy tea set<br />
*Toy plates, cups, bowls, etc.<br />
*LEGO compatible spare parts<br />
*Tangram puzzle<br />
*Spiral drawing toy (a.k.a Spirograph) - older, fun toy. Some lo-res [http://www.samstoybox.com/toys/Spirograph.html images].<br />
* a new kind of [[Wikipedia: gömböc]]. (Or is there only the one shape?). The [http://www.gomboc.eu/site.php?inc=0&menuId=20 world's first operational gömböc] was made with additive 3D rapid prototyping technology.<br />
<br />
<br />
===Ornaments===<br />
<br />
*Picture frame<br />
*[[Mighty RepRap Power Ring]], perhaps using [[Casting/Pewter]]<br />
*Klein bottle<br />
<br />
=== Useful items ===<br />
'''Simple household items'''<br />
*Plates<br />
*Cutlery ([[File:Fork.blend]],[[File:Spoon.blend]])<br />
*Protective cases ''(e.g. for phone, glasses)''<br />
*Tupperware and other containers<br />
*Rulers<br />
*Bottles<br />
*Coat hanger<br />
*Rope<br />
*Vase<br />
*Clothes pin (just add spring)<br />
*Old-fashioned clothes pin (no spring necessary)<br />
*Ice tray<br />
*Coasters<br />
*Pretty display pieces for holiday parties<br />
*Measuring cups and spoons<br />
*Fly swatter<br />
*Letter opener<br />
*Pet dish (various sizes - with support for big dogs so they don't have to squat to eat/drink)<br />
*Sprouter<br />
*Salad tongs<br />
*Chopsticks<br />
*Comb<br />
*CD case<br />
*Bookends<br />
*^Screwdriver<br />
*Coffee filter holder (problem with thermoplast?)<br />
* Pillbox -- rounded shapes so that people with arthritis can easily slide pills out of today's slot. Perhaps someday a [http://processors.wiki.ti.com/index.php/Project_Smart_Pill_Box smart pill box].<br />
<br />
'''More complex / functional household items'''<br />
* [[Ski Boot]] (we already have [[Childs Shoes]])<br />
*Coin sorter<br />
*[http://www.popsci.com/popsci/technology/c0b72ee32fb82110vgnvcm1000004eecbccdrcrd.html Slidingly engaging fasteners]<br />
*Fish tank filter body<br />
*Fish tank light hood<br />
*Fish tank rock vacuum<br />
*Drawers (might have to extrude the frame in multiple pieces)<br />
*Sports glasses frames (for when your glasses break, but you have two lenses)<br />
*Coffee machine<br />
*Clothes washing machine: perhaps something like [http://openmaterials.org/2010/03/17/the-open-source-washing-machine-project/ the open source washing machine project]<br />
<br />
'''Handy aids for the handicapped'''<br />
*Easy grip handles for toothbrush, keys, etc.<br />
<br />
=== Educational items ===<br />
'''Mathematical items'''<br />
*Platonic solids<br />
*3D model of a function<br />
*Slide rules (can a RepRap use the gcode generated by [http://www.forth.org/novice.html "slide rule" software] by Hugh Aguilar?)<br />
<br />
'''Biological models'''<br />
*Skull / vertebra / hip joint (human)<br />
*Entire skeleton that can be wired together (human and various animals)<br />
*Inner ear anatomy<br />
*Animal tracks (various example animals)<br />
*Animal jaws (herbivore, carnivore, rodent, etc.)<br />
<br />
'''Chemical models'''<br />
*Simple molecules<br />
*Enzyme (active site and substrate)<br />
*DNA helix<br />
<br />
'''Physics models'''<br />
*Boomerang<br />
*Archimedes screw<br />
*3D model of a 2D dipole scalar field<br />
*Mystery object (sphere with an internal structure to be probed non-destructively by students)<br />
<br />
====Metal====<br />
=====mechanical=====<br />
*^gears and gearboxes of all sorts, large and small.<br />
*^pistons for diesel, steam engine<br />
*^ other expanders for engines<br />
*^ leadscrews<br />
*^ bolts, rivets, fasteners. Not so much to save money but because of the endless variety it would be nice to just print one when you need it rather than stock so many.<br />
*^^ A wide range of almost arbitrarily shaped objects for everything from the chuck on a drill to the focusing assembly on a digital camera or parts for a lathe.<br />
*^ drill bits in cobalt steel or HSS?<br />
<br />
====plastic====<br />
<br />
====ceramic====<br />
<br />
=====mechanical=====<br />
====Multiple materials====<br />
*^ stepper motors<br />
*^ Power motors, AC and DC.<br />
*^ Some types of electrical components like resistors, capacitors (needs high resolution) transformers, connectors, wires.<br />
*^ Printed circuit boards, especially ones with electrical components mentioned above already on them.<br />
*^ Complete tools like an air drill etc. ready to use.<br />
*^ A car or subassembly for a car. Axle etc.<br />
* a tire for a car.<br />
*^^A bicicle. Bicicles are objectively better than cars (socially and ecologically, obviously not in performance), and it would seem to be substancially easier to make.<br />
<br />
====Other materials====<br />
*windows<br />
<br />
== Further reading ==<br />
* [http://forums.reprap.org/index.php?93 RepRap forums: "RepRap Marketplace and Job Shop"]<br />
* [http://forums.reprap.org/list.php?88 RepRap forums: "Let's design something! (I've got an idea ...)"]<br />
* [http://wiki.bitsfrombytes.com/index.php?title=User:MarcusWolschon/Challenges MarcusWolschon: design challenges]<br />
* [[StyleGuide]]<br />
<br />
[[Category:Model manufacturing]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=G3D_driver&diff=128532G3D driver2014-06-28T02:11:05Z<p>Funny bananas: /* FAQ */ slight grammar corrections</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = A4988 G3D Stepper Drivers<br />
|status = working<br />
<!--Image--><br />
|image = G3d_1.jpg<br />
<!--General--><br />
|description = New generation stepper motor driver<br />
|license = [[GPL]]<br />
|author = GADGETS3D<br />
|categories = Electronics<br />
}}This is the new innovative stepper motor driver for your 3D printer or any task involved stepper motors! It is a new generation as replacement for Pololu/StepStick.<br />
<br />
Professional design ensure stable operation of this driver - it contain 2oz copper PCB for better heat dissipation and 0.1ohm sense resistors which let it working up to 2A (heatsink and additional air cooling is needed for operating over 1A).<br />
<br />
Using standard A4988 drivers you face the problem of vibration / shaking stepper motors and frame when stepper motors are moving (most noticeable on Z stage). These drivers solves this problem by using an additional 30k trimpot to correctly select the off-time settings. <br />
<br />
== FAQ ==<br />
<br />
; Is it complicated to use? <br />
<br />
: No, you only need to turn the second trimpot (OSC) fully counterclockwise. Enjoy the smoother and quieter stepper motors operation and no more lost steps because of non-optimal or off-time settings.<br />
<br />
; For what we need second trimpot ?<br />
<br />
: This is just 30k trimpot which turned fully counterclockwise pulling ROSC pin into ground and turning it clockwise let you to choose reference.<br />
<br />
; Quoted from A4988 datasheet:<br />
<br />
: "By pulling the ROSC pin to ground (second trimpot turned fully counter clockwise in our driver), mixed decay is set to be active 100% of the time, for both rising and falling currents, and prevents missed steps. If this is not an issue, it is recommended that automatically-selected mixed decay be used, because it will produce reduced ripple currents. Refer to the Fixed Off-Time section for details."<br />
<br />
: You can check A4988 datasheet for more information.<br />
<br />
== Where to get it? ==<br />
<br />
4pcs or 5pcs G3D Drivers fully soldered and assembled and ready to use:<br />
<br />
[http://www.reprap.cn/-p-76.html HE3D (Reprap.cn)]<br/> <br />
4pcs [http://gadgets3d.com/index.php?route=product/product&product_id=71 GADGETS3D.com]<br/><br />
5pcs [http://gadgets3d.com/index.php?route=product/product&product_id=72 GADGETS3D.com]<br/><br />
[http://www.ebay.com/sch/fabster3d/m.html Fabster3D Ebay]<br/> <br />
[http://myreprap.com/parts_accessories/electronics/stepper_drivers/ Robots3D (Russia)]<br/> <br />
[http://www.makershop.co.nz/electronics/G3D-Driver Makershop.co.nz (New Zealand)]<br/><br />
[http://shop.createc3d.com Createc 3D (Spain - shipment to Europe)]<br/><br />
[http://http://www.geeetech.com/?main_page=index&cPath=84 geeetech.com (China SZ ship to world wide)]<br/><br />
[http://www.iniciativas3d.com/products/155-pololu-a4988.aspx Iniciativas3D (Spain ship to world wide)]<br/><br />
<br />
<br />
You can also build it by yourself design files you can find at bottom of page.<br />
<br />
== VREF Calculation Formula ==<br />
<br />
VREF = I_TripMax * 8 * 0.1<br/><br />
I_TripMax = Peak current through one winding of your motor (A)(other winding will be off)<br/><br />
Note that the current rating shown on your stepper motor is usually for current in both windings.<br/><br />
The peak current through both windings simultaneously will be 70.71% of I_TripMax.<br/><br />
To avoid excessive heating of the stepper motor, particularly if it is bolted to a PLA component, you should set I_tripMax to no more than your steppers Rated current.<br/><br />
This will result in approximately half the temperature rise and 70% of the rated torque.<br />
<br />
Example: 0.4A * 8 * 0.1 = 0.32V<br />
<br />
VREF can be measured with a voltmeter between the metal top of the trimpot and GND.<br />
<br />
== Pictures ==<br />
<br />
[[File:G3d_11.jpg]]<br />
<br />
[[File:G3d_22.jpg]]<br />
<br />
[[File:G3d_33.jpg]]<br />
<br />
== Design Files ==<br />
<br />
'''Note''': The schematic linked below shows Sense resistors as 0.2 ohm.<br><br />
The I trip calculation above and the products being shipped use 0.1 ohm sense resistors.<br><br />
This is a change from the common Pololu design, which uses 0.05 ohm for sense resistors.<br><br />
<br />
[[Media:A4988_G3D_Driver_schematic.jpg|Schematic]]<br />
<br />
[[Media:A4988_G3D_driver_rev0.rar|Gerber files]]<br />
<br />
[[Category:Stepper drivers]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=G3D_driver&diff=128531G3D driver2014-06-28T02:09:28Z<p>Funny bananas: /* FAQ */ fixed typo</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = A4988 G3D Stepper Drivers<br />
|status = working<br />
<!--Image--><br />
|image = G3d_1.jpg<br />
<!--General--><br />
|description = New generation stepper motor driver<br />
|license = [[GPL]]<br />
|author = GADGETS3D<br />
|categories = Electronics<br />
}}This is the new innovative stepper motor driver for your 3D printer or any task involved stepper motors! It is a new generation as replacement for Pololu/StepStick.<br />
<br />
Professional design ensure stable operation of this driver - it contain 2oz copper PCB for better heat dissipation and 0.1ohm sense resistors which let it working up to 2A (heatsink and additional air cooling is needed for operating over 1A).<br />
<br />
Using standard A4988 drivers you face the problem of vibration / shaking stepper motors and frame when stepper motors are moving (most noticeable on Z stage). These drivers solves this problem by using an additional 30k trimpot to correctly select the off-time settings. <br />
<br />
== FAQ ==<br />
<br />
; Is it complicated to use? <br />
<br />
: No, you only need to turn second trimpot (OSC) fully counterclokwise and that's all - you can enjoy smoother and quieter stepper motors operation and no more lost motor steps because of non-optimal off-time settings.<br />
<br />
; For what we need second trimpot ?<br />
<br />
: This is just 30k trimpot which turned fully counterclokwise pulling ROSC pin into ground and turning it clockwise let you to choose reference.<br />
<br />
; Quoted from A4988 datasheet:<br />
<br />
: "By pulling the ROSC pin to ground (second trimpot turned fully counter clockwise in our driver), mixed decay is set to be active 100% of the time, for both rising and falling currents, and prevents missed steps. If this is not an issue, it is recommended that automatically-selected mixed decay be used, because it will produce reduced ripple currents. Refer to the Fixed Off-Time section for details."<br />
<br />
: You can check A4988 datasheet for more informations.<br />
<br />
== Where to get it? ==<br />
<br />
4pcs or 5pcs G3D Drivers fully soldered and assembled and ready to use:<br />
<br />
[http://www.reprap.cn/-p-76.html HE3D (Reprap.cn)]<br/> <br />
4pcs [http://gadgets3d.com/index.php?route=product/product&product_id=71 GADGETS3D.com]<br/><br />
5pcs [http://gadgets3d.com/index.php?route=product/product&product_id=72 GADGETS3D.com]<br/><br />
[http://www.ebay.com/sch/fabster3d/m.html Fabster3D Ebay]<br/> <br />
[http://myreprap.com/parts_accessories/electronics/stepper_drivers/ Robots3D (Russia)]<br/> <br />
[http://www.makershop.co.nz/electronics/G3D-Driver Makershop.co.nz (New Zealand)]<br/><br />
[http://shop.createc3d.com Createc 3D (Spain - shipment to Europe)]<br/><br />
[http://http://www.geeetech.com/?main_page=index&cPath=84 geeetech.com (China SZ ship to world wide)]<br/><br />
[http://www.iniciativas3d.com/products/155-pololu-a4988.aspx Iniciativas3D (Spain ship to world wide)]<br/><br />
<br />
<br />
You can also build it by yourself design files you can find at bottom of page.<br />
<br />
== VREF Calculation Formula ==<br />
<br />
VREF = I_TripMax * 8 * 0.1<br/><br />
I_TripMax = Peak current through one winding of your motor (A)(other winding will be off)<br/><br />
Note that the current rating shown on your stepper motor is usually for current in both windings.<br/><br />
The peak current through both windings simultaneously will be 70.71% of I_TripMax.<br/><br />
To avoid excessive heating of the stepper motor, particularly if it is bolted to a PLA component, you should set I_tripMax to no more than your steppers Rated current.<br/><br />
This will result in approximately half the temperature rise and 70% of the rated torque.<br />
<br />
Example: 0.4A * 8 * 0.1 = 0.32V<br />
<br />
VREF can be measured with a voltmeter between the metal top of the trimpot and GND.<br />
<br />
== Pictures ==<br />
<br />
[[File:G3d_11.jpg]]<br />
<br />
[[File:G3d_22.jpg]]<br />
<br />
[[File:G3d_33.jpg]]<br />
<br />
== Design Files ==<br />
<br />
'''Note''': The schematic linked below shows Sense resistors as 0.2 ohm.<br><br />
The I trip calculation above and the products being shipped use 0.1 ohm sense resistors.<br><br />
This is a change from the common Pololu design, which uses 0.05 ohm for sense resistors.<br><br />
<br />
[[Media:A4988_G3D_Driver_schematic.jpg|Schematic]]<br />
<br />
[[Media:A4988_G3D_driver_rev0.rar|Gerber files]]<br />
<br />
[[Category:Stepper drivers]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Print_Troubleshooting_Pictorial_Guide&diff=127263Print Troubleshooting Pictorial Guide2014-06-02T02:12:53Z<p>Funny bananas: /* Clogged Extruder */ fixed typos. It's an extruder jam not jamb :P</p>
<hr />
<div>[>>still populating data 4/12/2014- You are welcome to help. see [http://forums.reprap.org/read.php?262,178054]<<<br />
<br />
<br />
<br />
This guide assumes a basically properly built and calibrated printer [[Main_Page]]. This guide is not intended as a design guide, but more as an operational troubleshooting guide.<br />
If you have not read through and attempted a complete calibration, see the REPRAP wiki for [[Calibration]] instructions. Some common calibration issues as well as common build related issues however are discussed.<br />
<br />
(Please note: This guide is for identified and resolved issues only. The more common the issue, the better. No questions or open issues belong here, go to the forums for interactive help (look to your left in the links column). Use clear and concise language, only 6 pics or entries per issue.)<br />
<br />
The following categories are used to help identify the print issue by either print defects or by cause (if known). <br />
The print defects will point to identified causes and branch into individual examples and solutions:<br />
<br />
<!-- copy & paste format to each section for your new entry and leave unused field sets blank, someone later may add to the next set: <br />
<br />
{{PicGuide03|title=?|pic01=?|problem01=?|cause01=?|correction01=?|forum01=?|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}} --><br />
<br />
<br />
__TOC__<br />
==CAUSES:==<br />
===Material Feed===<br />
====Excessive====<br />
{{PicGuide03|title=Material Feed, Excessive|pic01=PTPG-MF-E02.jpg|problem01=Wall thicknesses are coming out too thick, objects have outside dimensions consistently slightly too large and holes are slightly too small.|cause01=Slicer software settings for perimeter widths are slightly too high.|correction01=Reduce flow rate setting for perimeters. Skeinforge has these settings available to change.|forum01=[http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge]|pic02=PTPG-MF-E01.gif|problem02=|cause02=|correction02=Nophead has some suggestions in his Hydraraptor blog on 3/13/2011.|forum02=[http://hydraraptor.blogspot.com/2011_03_01_archive.html]|pic03=PTPG-MF-E03.jpg|problem03=|cause03=|correction03=|forum03=[http://www.reprap.org/wiki/Filament]|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Insufficient====<br />
====Intermittent====<br />
===Material Handling or Source===<br />
====Material Contamination====<br />
{{PicGuide03|title=Material Handling, Material Contamination 01|pic01=PTPG-MH-MC01.jpg|problem01=Tiny filament width holes on print sides.|cause01=Steam blow-outs or bubbles from water absorbed from the humidity in the air into the raw filament during storage prior to printing. ABS is more susceptible to this as it has an affinity for water.|correction01=Proper handling of filament to reduce exposure to humidity.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=|problem02=|cause02=|correction02=Heat raw filament prior to use to remove absorbed water. take care not to melt filament as it will not be usable if it looses its round (cross section) shape or sticks together and cannot be separated.|forum02=[http://www.reprap.org/wiki/PLA]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 02|pic01=PTPG-MC02a.jpg|problem01=Extruder jams for no apparent reason. After the extruder hot section has been disassembled and cleaned out, it is rare to find the particle that was blocking the nozzle. Foreign particles may be visible in transparent filaments and may be accompanied by gas bubbles. Test for condition: (may damage nozzle) while extruder hot, insert a drill bit into the nozzle. If ooze occurs then stops again after drill bit is removed, a foreign particle may be in melt chamber.|cause01=Particulate inclusions in raw filament as purchased from source. Found in cheap filament (Chinese mfr) noted in PLA from Esun.|correction01=Use quality filament from known sources.|forum01=<br />
[http://richrap.blogspot.com/2012/06/jammed-frggn-nozzle-30doc-days-1518.html]|pic02=PTPG-MC02b.jpg|problem02=Indications of abrasion may be noticed internally in the thermal isolator of the hot end with the lines of abrasion in the direction of filament feed when disassembled. Print may show indications of intermittent plugging and unplugging of nozzle. Low melting point metal (likely solder) ball noted in ABS (mfr not determined).|cause02=This may indicate sub-orifice size foreign particles passing through extruder.|correction02=Use quality filament from known sources.|forum02=[http://forums.reprap.org/read.php?262,188420]|pic03=PTPG-MC02c.jpg|problem03=|cause03=|correction03=|forum03=[http://forums.reprap.org/read.php?262,188648]|pic04=pic03=PTPG-MC02d.jpg|problem04=|cause04=|correction04=|forum04=|pic05=pic03=PTPG-MC02e.jpg|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 03|pic01=PTPG-MC03a.jpg|problem01=Popping sound from nozzle like air bubbles under pressure or popcorn popping. Causing blowouts and missing plastic in part buildup.|cause01=Filament (ABS in this case) contains air bubbles or voids from manufacturing process or from absorbed moisture turning to steam.|correction01=Examine your filament for indications of this manufacturing defect. Use quality filament from known sources|forum01=[http://forums.reprap.org/read.php?262,195841]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Extruding Temperature===<br />
====Too hot====<br />
====Too cold====<br />
===Clogged Extruder===<br />
{{PicGuide03|title=Clogged Extruder|pic01=PTPG-CE-01.jpg|problem01=Extruder jams at normal temperatures in the hotend's thermal isolator bore.|cause01=Excessive thermal isolator bore diameter allowing too much molten plastic back flow too far up isolator bore causing jam when it solidifies.|correction01=Replace thermal isolator or isolator sleeve leaving .1 to .2mm only above filament diameter clearance for filament thermal expansion. (ex. 3.175mm for 3mm filament, filament is actually 2.9 +/-.1mm)|forum01=[http://hydraraptor.blogspot.com/2009/03/rheology.html]|pic02=PTPG-MC02e2.jpg|problem02=|cause02=Scratched bore of thermal isolator likely due to contamination, the extra surface area and texture of grooves allows molten plastic to adhere to thermal isolator bore causing repeated jams.|correction02=Replace thermal isolator or isolator sleeve.|forum02=[[#Material Handling, Material Contamination 02]]|pic03=PTPG-CE-03.jpg|problem03=|cause03=Thermal isolator damaged bore, swelled bore due to excessive heat and pressure where bore is no longer the same diameter for full length causing jam,|correction03=Replace thermal isolator or sleeve.|forum03=[[#Material Handling, Material Contamination 02]]|pic04=|problem04=Extruder frequently becomes jammed, but works fine briefly after clearing the jam|cause04=Thermal isolator or cold end getting too hot|correction04=Put a small fan on the hot end to cool the top.|forum04=|pic05=PTPG-CE-05.jpg|problem05=Leaving printer extruder heated up for 20 minutes or more without extruding, the extruder jams.|cause05=Insufficient length of thermal isolator or insufficient cooling of thermal isolator or cold end of extruder. Heat travels up the filament and may cause filament distortion above thermal isolator if cooling is insufficient.|correction05=Lengthen thermal isolator or add a fan to thermal isolator or cold end of extruder and filament. Or limit extruder hot time and/or extrude 10mm every 10 minutes.|forum05=[http://creatorson.wordpress.com/2013/03/28/plugged-extruder-2/]|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Bed Adherence===<br />
====Insufficient====<br />
{{PicGuide03|title=Bed Adherence insufficient|pic01=PTPG-BA-I01.jpg|problem01=Prints do not adhere to build platform.|cause01=Print head too high to push plastic against build platform|correction01=Change height settings to no greater than nozzle diameter above bed, calibrate bottom stop, level build platform|forum01=|pic02=PTPG-BA-I02.jpg|problem02=|cause02=Build platform not clean|correction02=Clean using rubbing alcohol, acetone or amonia, or reapply surface tape|forum02=|pic03=|problem03=|cause03=Build platform temp too low (other than masking tape bed)|correction03=Raise build platform temp (max ~65C). PLA sticks to smooth glass above ~53C and above ~65C may add too much heat to the build and lead to slumping.|forum03=|pic04=|problem04=|cause04=Hot end nozzle temp too low for good adhesion.|correction04=Raise hot end nozzle temp (see Trifid_Hunter's guide).|forum04=[http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide]|pic05=|problem05=Tall parts tend to detach before build is complete.|cause05=Too low of contact area for the height or too low adhesion.|correction05=Select to use a raft with a larger footprint to aid adhesion, or use skirt with zero offset to increase base area.|forum05=[http://forums.reprap.org/read.php?1,205398,205417#msg-205417]|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Corner Lift|pic01=PTPG-BA-CL01.jpg|problem01=Outside corners lift from build surface as build progresses.|cause01=Differential cooling of printed object.|correction01=Select to print a perimeter skirt in Skeinforge or brim in slic3r with a substantial height. The tall skirt/brim acts like a shell which holds in the heat and reduces corner lift.|forum01=[http://forums.reprap.org/read.php?1,136147,139393#msg-139393]|pic02=PTPG-BA-CL02.jpg|problem02=|cause02=objects too close to edge of heated build platforms which are exposed to cooler temperatures.|correction02=Select to use a skirt/brim of substantial height.|forum02=[http://forums.reprap.org/read.php?1,138310,139899#msg-139899]|pic03=|problem03=|cause03=|correction03=You can add custom corner parts just offset from your corners (like a partial skirt) by editing your part or add custom parts to your multi part print plate that shield the corners from cooling off too fast.|forum03=[http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html]|pic04=|problem04=|cause04=|correction04=|forum04=[http://technocraticanarchist.blogspot.com/2009/12/printing-big-bits-of-mendel.html]|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Excessive====<br />
{{PicGuide03|title=Bed Adherence Excessive|pic01=PTPG-BA-E01.jpg|problem01=Printed parts adhere to the print bed too aggressively. Shown ABS printed on heated PC (polycarbonate) sheet.|cause01=Bed material selection needs to be compatible with material printed and temperature used.|correction01=PLA on heated glass works well as a build surface, Blue painters tape unheated works well for PLA, ABS on heated bed with Kapton tape works well, ABS on heated bed with PET tape works well. See build forum for examples and suggestions.|forum01=[http://hydraraptor.blogspot.com/2010/07/abs-on-pc.html]|pic02=PTPG-BA-E02.jpg|problem02=Printed parts adhere too aggressively. Shown ABS on heated glass took chip out of glass.|cause02=ABS may adhere too aggressively on uncoated glass.|correction02=Use Glue Stick, Kapton, or PET tape on glass for ABS. See build forum for examples and suggestions. |forum02=[http://forums.reprap.org/read.php?1,163015,163017#msg-163017]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Print Speed===<br />
====Too Fast====<br />
====Too Slow====<br />
===Calibration===<br />
====Circularity====<br />
{{PicGuide03|title=Non-circular Holes|pic01=PTPG-C-NC-01.png|problem01=Holes come out compressed in one direction (X or Y).|cause01=Loose drive train on the deformed axis.|correction01=Inspect the discrepant axis drive train for excessive slack in belt, loose gears on shafts or gear play then tighten as appropriate. |forum01=[http://forums.reprap.org/read.php?262,216117]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====scale====<br />
===Skipping Steps===<br />
====Controller Overpowered====<br />
{{PicGuide03|title=Skipping Steps, Controller Overpowered|pic01=PTPG-SS-OP01a.jpg|pic03=PTPG-SS-OP03.jpg|problem01=printer head fails to keep its position and prints successive layers offset from lower layers. Frequently called skipping steps, joggle or offsetting.|cause01=The problem with the red coin holder was caused by stepper controllers had their potentiometers (pots) adjusted too high (clockwise), causing overheating of stepper controller and causing a short controller reset to cool down (fraction of a second each time). This high setting may also produce hotter stepper motors.|correction01=Reduce pot setting (current) by carefully turning pot counter-clockwise.|forum01=<br />
[http://forums.reprap.org/read.php?262,190725]|pic02=PTPG-SS-OP02.jpg|cause02=Excessively high software setting for acceleration or speed too fast for minimum move length possibly producing a mechanical resonance in the machine which produces enough inertia to overcome the stepper torque.|correction02=Reduce the acceleration setting in software or reduce speed.|cause03=Custom hardware or electronics which have not been integrated already by someone else.|correction03=See REPRAP development wiki and any other information sources and keep reading.|forum03=[http://forums.reprap.org/read.php?262,205774]}}<br />
<br />
====Marlin Configuration.h====<br />
{{PicGuide03|title=Skipping Steps, Marlin Configured Incorrectly|pic01=SkippingStepAcceleration.jpg|problem01=First few layers of an object print malformed and squished|cause01=Printer prints all layers, but there is little to no movement in the Z-axis with stepper noise similar to binding / angry bees on the first several layers. Exploration of the Gcode reveals large acceleration numbers, +1000, for all axis movements.|correction01=Changing the acceleration in the Marlin Configuration.h file on lines 390, 391, 393 and 394 should correct the issue if it is truly an acceleration issue. Working values are in the Alt-Text of the image.}}<br />
<br />
====Controller Underpowered====<br />
{{PicGuide03|title=Skipping Steps, Controller Underpowered|problem01=printer head fails to keep its position and prints successive layers offset from lower layers. |cause01=Stepper controllers with their potentiometers (pots) adjusted too low (counter-clockwise), causing stepper to miss steps. This low setting may be indicated by cold or just about warm stepper motors or pot setting less than about mid-travel. There is a procedure for electrically measuring and calculating an optimum setting, but many choose the simpler tweaking method (until it works). |correction01=Increase pot setting (current) by carefully turning pot clockwise.}}<br />
<br />
====Mechanical====<br />
{{PicGuide03|title=Skipping Steps, Mechanical|problem01=printer head fails to keep its position and prints successive layers offset from lower layers; effects similar to over or underpowered motors (see above)|cause01=Excessive friction in the x, y or z stages or slides. This may create a load too high for the rated torque of the stepper.|correction01=Prior to adding stepper motors to the assembly preferably, or without motors energised move stages by hand to feel for excessive friction and/or look for indications of rubbing or binding. without steppers, the stages should slide with less than 100 grams of force.|cause02=Mechanical slipping in the drive train of the cartesian stages (X, Y or Z) like the toothed belt jumping teeth on its sprocket or the sprocket slipping on stepper shaft.|correction02=Determine if mechanical slipping is occurring by marking each belt, sprocket and stepper shaft and run the printer until it skips and check for misalignment of marks to indicate the source of the mechanical slippage. Correct slippage by tensioning belt or tightening offending sprocket.|cause03=Excentric belt pulley.<br>When the bore of the pulley is not centric, the pulley will periodically increase/decrease the belt tension.|correction03=Reducing belt tension, increasing motor power or reducing printing speed/acc may reduce the problem, but the only real fix is to use a pulley that is centric: too low a belt tension will cause slip (see above), increasing motor power may cause skips itself (see above)}}<br />
<br />
===Part Temperature===<br />
====Too hot====<br />
{{PicGuide03|title=Part Temperature, too hot 01|pic01=PTPG-PT-TH01.jpg|problem01=Prints warp at height|cause01=Part temperature builds up as part is built|correction01=Change settings to turn off or down temp of heated build platform after base layers are complete. Ex: with heat on all through print and off upon print start (starting at full temp but cooling as it goes) (pic01).|forum01=?|pic02=PTPG-PT-TH02.jpg|problem02=|cause02=|correction02=Reduce print speed to allow time to cool down|forum02=[http://forums.reprap.org/read.php?262,175859]|pic03=PTPG-PT-TH03.jpg|problem03=|cause03=|correction03=Introduce wait states/orbit for each layer|forum03=[http://forums.reprap.org/read.php?262,176913]|pic04=|problem04=|cause04=|correction04=Add fan to reduce heat of part.|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Too cold====<br />
{{PicGuide03|title=Part Temperature, Too Cold 01|pic01=PTPG-PT-TC01.jpg|problem01=Part warping and delamination as print progresses.|cause01=Part cools too fast causing contration especially in ABS which has a higher glass transition temp of ~140C.|correction01=Print perimeter surrounding skirt full height of part to keep the heat in.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=PTPG-PT-TC02.jpg|problem02=|cause02=|correction02=Enclose printer or print envelope in a box or bag to retain heat during print. Take care not to overheat printer parts which are not tolerant of heat.|forum02=|pic03=|problem03=|cause03=|correction03=Heat treat part post print (if it survives until then) using heated build platform and a cardboard box.|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
==PRINT DEFECTS:==<br />
===Surface Defects===<br />
====Pitting/Holes====<br />
[[#Material Contamination]]<br />
=====Small Single Filament=====<br />
=====Large Area of Filament=====<br />
====Jagged/Waviness====<br />
{{PicGuide03|title=Jagged Edges|pic01=PTPG-JW-JE01.JPG|problem01=Jagged edges in some locations adjacent to short edgefill segments.|cause01=Harmonic frequencies may be overloading the rigidity of the mechanical system.|correction01=Reduce frequency of moves by some means. Increasing the minimum length setting is a global way to reduce move induced vibration. Also reducing move speed or acceleration may reduce these issues.|forum01=[http://hydraraptor.blogspot.com/2010_12_01_archive.html]|pic02=PTPG-JW-JE01a.JPG|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Solidity of Surface====<br />
{{PicGuide03|title=Top Layers Not Solid|pic01=PTPG-SS-SLNS01.jpg|problem01=Not all areas which are external surfaces have the same fully solid surfaces. Also related is the alternate condition of lumpy walls and ridges on the top surface. See bottom of rectangular well in pic.|cause01=Skeinforge setting "Infill Interior Density over Exterior Density" ratio, which defaults to 0.9 may cause the lack of solidity and compensating with other settings may produce the latter effects.|correction01=In Skeinforge set Infill Interior Density over Exterior Density to 1.0. (This setting has been removed in later versions of Skeinforge.[http://fabmetheus.blogspot.com/2011_01_01_archive.html])|forum01=<br />
[http://hydraraptor.blogspot.com/2010/12/tip-top-top-layer-tip.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Strings====<br />
====Blobs====<br />
====Fineness of Detail====<br />
====Filaments not Touching====<br />
=====Infill Gaps=====<br />
{{PicGuide03|title=Infill gaps to perimeter|pic01=PTPG-FNT-FG01.jpg|problem01=Infill gaps to perimeter occur on one side of the part. |cause01=Excessive force required to pull filament from its bin or reel. |correction01=Rework filament retrieval system to reduce friction or pull load to printer.|forum01=[http://hydraraptor.blogspot.com/2010/07/bit-of-drag.html]|pic02=|problem02=|cause02=If other deformations are occurring in the layer, the infill is usually not the primary concern.|correction02=Solve the deformed contours issues first.|forum02=[[#Circularity]]|pic03=|problem03=|cause03=An axis that has the drive belt not in the centre of mass and play in the bearings may also be a cause. Check that all axiis on the printer don't have any movement directionally.|correction03= Fix any major looseness and play on linear bearings. |forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Infill gaps to perimeter 02|pic01=PTPG-FNT-IG01.jpg|problem01=Gaps occur between infill and perimeters especially on small details.|cause01=Some slicing software is more prone to produce infill gaps to perimeters.|correction01=If you have tried adjusting the settings available in your slicer without success and are tempted to change what should be constant parameters (like nozzle diameter etc...), you may want to try another slicing program to see if the problem is slicer dependant. There are many slicing programs available. |forum01=http://forums.reprap.org/read.php?262,237444|pic02=|problem02=|cause02=|correction02=See the REPRAP wiki list of slicer programs.|forum02=http://www.reprap.org/wiki/RepRap_Options#Slicing_Software|pic03=|problem03=|cause03=|correction03=If feature width is not an integer multiple extruded filament width, the slicer program will do its best to fill solid areas but may miss some corners or edges. Fill settings for Overlap or % infill can be increased to solve some cases.|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Body Defects===<br />
====Hole Size====<br />
{{PicGuide03|title=Holes Undersized|pic01=PTPG-HS-HU01.JPG|problem01=Holes defined in solid model print smaller in diameter than modeled.|cause01=Several factors are likely adding up to the result and include faceting error, segment pausing, arc shrinkage and corner cutting.|correction01=It has been demonstrated that the maximum number of vertices you can have before the hole shrinks is twice the hole size in mm. In other words, a larger # polygon circle defining a hole does not necessarily make for a more precise hole when printed. For 1mm and under it is suggested to use 3 sides (triangle).|forum01=[http://hydraraptor.blogspot.com/2011_02_01_archive.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Bridging Failure====<br />
{{PicGuide03|title=Degenerating Bridging|pic01=PTPG-B-DB01.jpg|problem01=The ability to bridge well is deteriorating over time.|cause01=Nozzle walls can build up deposits which cause additional restriction within the nozzle after months of use. To verify this is the cause, measure the extruded filament diameter and verify that it is smaller than originally measured during calibration. Due to die swell, extruded filament diameter is usually not identical to nozzle hole diameter.|correction01=With the nozzle heated up carefully ream out nozzle orifice with original size drill bit.|forum01=[http://hydraraptor.blogspot.com/2010/11/monthly-maintenance.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Warping====<br />
[[#Part Temperature]]<br />
====Stepping/Offsetting====<br />
[[#Skipping Steps, Controller Overpowered]]<br />
====Interlayer Delamination====<br />
[[#Part Temperature]]<br />
====Failure at Height====<br />
[[#Part Temperature]]<br />
===Overall Disaster===<br />
{{PicGuide03|title=Computer Freeze|pic01=PTPG-OF-CF01.jpg|problem01=While printing from a computer any type of computer freeze up or communication failure may cause 3D printer damage or worse- a fire. Although I have only heard of one 3D printer catching on fire, with the electricity and heat there is a hazardous potential.|cause01=Computer system automatic updates.|correction01=Set automatic updates to off. The above picture had automatic updates turned off, but Microsoft overrode that and installed them anyway.|forum01=[http://hydraraptor.blogspot.com/2010/08/friday-13th.html]|pic02=|problem02=|cause02=Computer lock-up or freeze-up.|correction02=Print from printer's SD card. The 3D printer printing from it's own SD card removes the computer from the critical information path during the print. It can seem to be less convenient until you have to rebuild your printer after a failure. Especially helpful on larger print jobs.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=Machine Heat Effects|pic01=PTPG-OD-MHE01.jpg|problem01=Overheating the machine itself can cause damage to RP (plastic) parts.|cause01=Heat radiation and convection caused x-stage damage over months of heavy use.|correction01=Heat shield and or fan cooling of stage.|forum01=[http://hydraraptor.blogspot.com/2010/07/meltdown.html]|pic02=|problem02=|cause02=|correction02=Another reason to have a full set of plastic parts spares on hand. Print them before you have the next problem.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=|pic01=|problem01=If you are not certain about having correctly calibrated your printer,|cause01=|correction01=verify that it is calibrated first as that is the first step. See [[Calibration]]. Verify you also calibrated your extruder. Then verify your extruder zero height (endstop position) above your print bed is appropriately set.<br />
|forum01=|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
<br />
[[category:Troubleshooting]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Smartrap_mini&diff=126321Smartrap mini2014-05-23T09:04:51Z<p>Funny bananas: Fixed grammar issues and rewrote a few sentences for clarity.</p>
<hr />
<div>{{Languages|Smartrap mini}}<br />
<div style="font-size:120%"><br />
<center><br />
[[Smartrap_mini| Smartrap Mini]]<br />
|<br />
[[Get_Smartrap| How to Get Smartrap]]<br />
|<br />
[[Smartrap_Build_Manual | Smartrap Build Manual]]<br />
|<br />
[[Use_Smartrap | How to Use Smartrap]]<br />
|<br />
[[Smartrap_Improvements | Smartrap Improvements]]<br />
</center><br />
</div><br />
<br />
{{Development<br />
|name = Smartrap mini<br />
|status = working<br />
|image = smartrap_046.jpg<br />
|description = A small but strong RepRap designed to be really easy to build and maintain.<br />
|license = [[GPL]]<br />
|author = Smartfriendz<br />
|reprap = [[Mendel]], [[Wallace]]<br />
|categories = {{tag|RepRap machines}}, {{tag|Cartesian-XZ-head}}<br />
|cadModel = [https://github.com/smartfriendz/smartrap Github], [http://www.thingiverse.com/thing:177256 Thingiverse]<br />
|url = [http://smartfriendz.com Website]<br />
}}<br />
<br />
==Vision: Goal==<br />
<br />
This is a new design of a RepRap 3D printer. It is inspired by the (outdated) Wallace model, which is itself inspired from the [[Printrbot]], designed by Brook Drumm.<br />
I tried to make the design even simpler. This design is made with mostly printed parts, so it's easy to reproduce and is released under the [[GPL]] license, which means it's open for anyone to use, edit, improve and redistribute.<br />
<br />
The goal of the Smartrap is to become THE viral 3d printer. Anyone following the reprap project dreams about a design that is a perfect combination of the most easy to build and replicable machine without the need for external tools. All while being licensed under the GPL license and cheap to build. We can see any one of these features in a reprap model out there, but the combination of all those features combined into one machine is still not available.<br />
I wouldn't dare to say we are at this point with the Smartrap, but it's where we want to go.<br />
We believe there is one place for such a printer in the world. Even if we know it's totally incompatible with the classical business model of a startup company selling models in mass production. There must be one crazy team doing that, and that's maybe us? Let's see how it goes.<br />
<br />
Features (in no order particular order):<br />
<br />
*'''Real Reprap''': most of the structure should be printed, so it can easily print itself for machines. Only the common base should be bought at special shops (motors, [http://reprap.org/wiki/Category:Hot_End hot end], controller, LM8UU linear bearings, [[endstops]]).<br />
*'''Simpler assembly''': There should be no need for special tooling, ultra precision cuts, drills or even adjustments. The ultimate goal would be an assembly with no screws, where (almost) everything snaps together in place.<br />
*'''Open source!''': Since it is GPL, you can build it, sell it, make a business of it etc. Everything is fine as long as you stay under the GPL licence.<br />
*'''Cheap as possible''': Currently working with fishing line, printed linear bearings (not well working for me now), and less costly electronics (no heat bed, four motors, no fan).<br />
*Optionally open to experimentation: I've tried so many configurations. For example, aluminium rails with 608zz, fixed axis with moving hot end, moving axis with fixed hot end, etc. (I should put them all online one day).<br />
<br />
== Features ==<br />
<br />
'''Print size''': From 150 x 150 x 150 to around 250 x 250 x 200. The first prototype is 200 x 200 x 150<br />
<br />
'''PLA only''': It's a political decision; even if ABS gives better results , the fumes and the ecological impact outweigh the pros. PLA can be composted and uses less power. (Open for discussion!)<br />
<br />
'''Layer height''': Not fully tested yet, but looks like 0.2 works well<br />
<br />
'''Printed parts''': 16<br />
<br />
'''Screws''': M6 x2, M3 x16<br />
<br />
'''Non Printed parts''': 6 smooth rods 8mm , 12 LM8UU, 1 M5 , 2 fishing lines 500mm , 4 nema17 motors, 1 hot-end j-head, 1 controller board , 3 mechanical end stops.<br />
<br />
'''Assembly operations''': There aren't many steps, but it's not entirely clear yet. Even though I've already assembled three versions, the process was not as smooth as it should be. The main design is ready, and we will now focus on details to make the assembly easier.<br />
<br />
==Practical Info: Tips and Tricks==<br />
'''Rod Lengths:''' Right now we have 90mm lost on the X axis and 70mm lost on the Y axis. It's too much, but I'm working on it for version 0.5. So if you want 200x200 you need 290mm rods on the X axis and 270mm rods on the Y axis.<br />
<br />
For Z-Rods, the current recommended length is 250mm.<br />
<br />
==Gallery==<br />
<br />
<br />
<br />
<gallery ><br />
Image:img1027.jpg | update January. actual print quality. z is great, stability is ok. we need work on flow with bowden cable.<br />
Image:img1028.jpg | another angle<br />
Image:img1036.jpg | very detailed object with lot of small moves. good for testing fishing lines and stability. apart flow, it's not that bad.<br />
Image:v046-2.jpg | this will be the first version with options. it's definitely better. actually printing and assembling.<br />
Image:v046-3.jpg |same another angle.<br />
Image:045_1.png | Update v0.4.5: new LM8 holders! The integrated ones broke to easily (due to the printing orientation). Now it's a separated part that's easier to print and more stable! <br />
Image:045_2.png | Everything put together<br />
Image:045_3.png | The plate_Base is smaller. Extruder was turned 180 degrees<br />
Image:045_4.png | Shorter plate_x, LM8 holders and new screw on Z axis for bed leveling<br />
Image:690.jpg | New v0.4 updated. LM8 holders were too low and tight. Now it works great out of the box<br />
Image:smartrap04assembled.jpg | A better picture of this version<br />
Image:v04final.png | v0.4! No more plate_X_bottom. Only 8 printed parts now :)<br />
Image:03print4.jpg | New simplified plate_X. In v0.4 it's more integrated and LM8 holder are longer, so it's straighter<br />
Image:03print3.jpg | Under the cover<br />
Image:03print2.jpg | Integrated direct drive.<br />
Image:03print1.jpg | Printing right on first test<br />
Image:readyv03.jpg | Customized (no more plate-X_bottom) v0.3 ready to print!<br />
Image:v03assemblyf.jpg | Everything put together :)<br />
Image:finalblender0.3.png | Final v0.3 blender version, now in github<br />
Image:finalblender0.3back.png | v0.3 final view from back<br />
Image:all2.jpg | The whole kit, before assembly.<br />
Image:v03_parts_assembly_5.jpg | v0.3 assembly tests<br />
Image:v03_parts.jpg | Almost all of the printed parts needed (only the z coupling missing)<br />
Image:v03_1.jpg | v0.3 printing :)<br />
Image:smartrap_mini_proto_05.png | Blender preview of 0.3. Looks better and is simpler<br />
Image:smartrap_mini_proto_02.jpg | From back<br />
Image:smartrap_mini_proto_03.jpg | <br />
Image:smartrap_mini_proto_04.jpg | Close up <br />
Image:smartrap_mini_proto_01.jpg | First picture of the final design v0.1<br />
Image:old1.jpg | Old design<br />
Image:old2.jpg | Old design, testing with original aluminium rail. Very light and cool, but wasn't straight enough.<br />
Image:old3.jpg | Old design<br />
</gallery></div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Smartrap_mini&diff=126320Smartrap mini2014-05-23T08:38:00Z<p>Funny bananas: removed (sigh) to make it sound more positive</p>
<hr />
<div>{{Languages|Smartrap mini}}<br />
<div style="font-size:120%"><br />
<center><br />
[[Smartrap_mini| Smartrap Mini]]<br />
|<br />
[[Get_Smartrap| How to Get Smartrap]]<br />
|<br />
[[Smartrap_Build_Manual | Smartrap Build Manual]]<br />
|<br />
[[Use_Smartrap | How to Use Smartrap]]<br />
|<br />
[[Smartrap_Improvements | Smartrap Improvements]]<br />
</center><br />
</div><br />
<br />
{{Development<br />
|name = Smartrap mini<br />
|status = working<br />
|image = smartrap_046.jpg<br />
|description = A small but strong RepRap designed to be really easy to build and maintain.<br />
|license = [[GPL]]<br />
|author = Smartfriendz<br />
|reprap = [[Mendel]], [[Wallace]]<br />
|categories = {{tag|RepRap machines}}, {{tag|Cartesian-XZ-head}}<br />
|cadModel = [https://github.com/smartfriendz/smartrap Github], [http://www.thingiverse.com/thing:177256 Thingiverse]<br />
|url = [http://smartfriendz.com Website]<br />
}}<br />
<br />
==Vision: The Goal==<br />
<br />
This is a new design of a RepRap 3D printer. It is inspired by the (not updated) wallace model, which is itself inspired from the [[Printrbot]], designed by Brook Drumm, who is one of our best designers in my opinion.<br />
I tried to make the design it even simpler. <br />
This design is made with mostly printed parts, so it's easy to reproduce. It's also full [[GPL]], which means it's open for anyone to use.<br />
<br />
The goal is for the Smartrap is to become THE viral 3d printer! Anyone following the reprap project dream about a design being a perfect combination of the most easy to build, the most replicative machine without external tools ,GPL open source machine and cheap. We ca nsee there is any of those features in every reprap models out there, but the combination of all those features are still not available. <br />
I wouldn't dare to say we are at this point with the Smartrap, but it's where we want to go.<br />
We believe there is ONE place for such a printer in the world. Even if we know it's totaly incompatible with the classical business model of a startup company selling models in mass production. There must be one crazy team doing that , and that's maybe us ? let's see how it goes.<br />
<br />
Features in no order of importance:<br />
<br />
*'''Real Reprap''': most of the structure should be printed, so it can easily print itself for machines. Only the common base should be bought at special shops (motors, [http://reprap.org/wiki/Category:Hot_End hot end], controller, LM8UU linear bearings, [[endstops]]).<br />
*'''Simpler assembly''': There should be no need for special tooling, ultra precision cuts, drills or even adjustments. The ultimate goal would be an assembly with no screws, where (almost) everything snaps together in place.<br />
*'''Open source!''': Since it is GPL, you can build it, sell it, make a business of it etc. Everything is fine as long as you stay under the GPL licence.<br />
*'''Cheap as possible''': Currently working with fishing line, printed bushing(?) (not well working for me now), and less costly electronics (no heat bed, four motors, no fan).<br />
*Optionally open to experimentation: I've tried so much configurations. For example, aluminium rails with 608zz, fixed axis with moving hot end, moving axis with fixed hot end, etc. (I should put them all online one day).<br />
<br />
== Features ==<br />
<br />
'''Print size''': From 150 x 150 x 150 to around 250 x 250 x 200. The first prototype is 200 x 200 x 150<br />
<br />
'''PLA only''': It's a political decision; even if ABS gives better results , the fumes and the ecological impact outweigh the pros. PLA can be composted and uses less power. (Open for discussion!)<br />
<br />
'''Layer height''': Not fully tested yet, but looks like 0.2 works well<br />
<br />
'''Printed parts''': 16<br />
<br />
'''Screws''': M6 x2, M3 x16<br />
<br />
'''Non Printed parts''': 6 smooth rods 8mm , 12 LM8UU, 1 M5 , 2 fishing lines 500mm , 4 nema17 motors, 1 hot-end j-head, 1 controller board , 3 mechanical end stops.<br />
<br />
'''Assembly operations''': There aren't many steps, but it's not entirely clear yet. Even though I've already assembled three versions, the process was not as smooth as it should be. The main design is ready, and we will now focus on details to make the assembly easier.<br />
<br />
==Practical Info: Tips and Tricks==<br />
'''Rod Lengths:''' Right now we have 90mm lost on the X axis and 70mm lost on the Y axis. It's too much, but I'm working on it for version 0.5. So if you want 200x200 you need 290mm rods on the X axis and 270mm rods on the Y axis.<br />
<br />
For Z-Rods, the current recommendation is 250mm.<br />
<br />
==Gallery==<br />
<br />
<br />
<br />
<gallery ><br />
Image:img1027.jpg | update january. actual print quality. z is great, stability is ok. we need work on flow with bowden cable.<br />
Image:img1028.jpg | another angle<br />
Image:img1036.jpg | very detailled objct with lot of small moves. good for testing fishing lines and stability. apart flow, it's not that bad.<br />
Image:v046-2.jpg | this will be the first version with options. it's definitely better. actually printing and assembling.<br />
Image:v046-3.jpg |same another angle.<br />
Image:045_1.png | Update v0.4.5: new LM8 holders! The integrated ones broke to easily (due to the printing orientation). Now it's a separated part that's easier to print and more stable! <br />
Image:045_2.png | Everything put together<br />
Image:045_3.png | The plate_Base is smaller. Extruder was turned 180 degrees<br />
Image:045_4.png | Shorter plate_x, LM8 holders and new screw on Z axis for bed leveling<br />
Image:690.jpg | New v0.4 updated. LM8 holders were too low and tight. Now it works great out of the box<br />
Image:smartrap04assembled.jpg | A better picture of this version<br />
Image:v04final.png | v0.4! No more plate_X_bottom. Only 8 printed parts now :)<br />
Image:03print4.jpg | New simplified plate_X. In v0.4 it's more integrated and LM8 holder are longer, so it's straighter<br />
Image:03print3.jpg | Under the cover<br />
Image:03print2.jpg | Integrated direct drive.<br />
Image:03print1.jpg | Printing right on first test<br />
Image:readyv03.jpg | Customized (no more plate-X_bottom) v0.3 ready to print!<br />
Image:v03assemblyf.jpg | Everything put together :)<br />
Image:finalblender0.3.png | Final v0.3 blender version, now in github<br />
Image:finalblender0.3back.png | v0.3 final view from back<br />
Image:all2.jpg | The whole kit, before assembly.<br />
Image:v03_parts_assembly_5.jpg | v0.3 assembly tests<br />
Image:v03_parts.jpg | Almost all of the printed parts needed (only the z coupling missing)<br />
Image:v03_1.jpg | v0.3 printing :)<br />
Image:smartrap_mini_proto_05.png | Blender preview of 0.3. Looks better and is simpler<br />
Image:smartrap_mini_proto_02.jpg | From back<br />
Image:smartrap_mini_proto_03.jpg | <br />
Image:smartrap_mini_proto_04.jpg | Close up <br />
Image:smartrap_mini_proto_01.jpg | First pic of the final design v0.1<br />
Image:old1.jpg | Old design<br />
Image:old2.jpg | Old design, testing with original aluminium rail. Very light and cool, but wasn't straight enough.<br />
Image:old3.jpg | Old design<br />
</gallery></div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delvien&diff=114613Delvien2014-01-07T03:06:14Z<p>Funny bananas: fixed typos</p>
<hr />
<div>{{Development<br />
|name = DelVien<br />
|reprap=Rostock<br />
|status = experimental<br />
|image= DelVien_simmulation.gif<br />
|description = Fork from Rostock rewritten form scratch <br />
|license = [[GPL]]<br />
|author = pknoe3lh<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]], [[:Category:Tall|Tall]][[Category:Tall]]<br />
|cadModel = [https://github.com/pknoe3lh/Delvien GitHub]<br />
|url = [https://drive.google.com/file/d/0BwT_vqurq8C9cTk5RjJLa0ViNk0/edit?usp=sharing Simulation]<br />
}}<br />
<br />
<br />
A Rostock (delta 3D printer) fork build in Vienna<br />
<br />
A lot of changes have been made and all files were rewritten form scratch!<br />
<br />
The changes in detail:<br />
<br />
* Optimized carriage: Better band holder, better LMXXUU holder<br />
* Added a System to tighter the band very easy<br />
* Add a joint system based on ball bearings [http://www.thingiverse.com/thing:184622]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta-Pi&diff=114484Delta-Pi2014-01-04T09:59:39Z<p>Funny bananas: /* Known Issues */</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = Delta-Pi<br />
|status = Concept<br />
<!--Image--><br />
|image = Overall_Assy1.JPG<br />
<!--General--><br />
|description = Delta-Pi is a Rostock style Delta printer with a new carriage design.<br />
|license = GPL<br />
|author = MikeP-NZ<br />
|reprap = Rostock<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Makershop/DeltaPi GitHub]<br />
|url =<br />
}}<br />
==Introduction==<br />
This is essentially a new design in that it does not reuse any parts from an existing design. It does however take a lot of its heritage and style from Johan's [[Rostock]] design. A huge thanks to all of those whose hard work, knowledge and innovation have brought things this far. Now I hope that I can add my own little increment to the development of the Reprap concept.<br />
Mike Paauwe<br />
<br />
==History==<br />
The first iteration of this machine featured the vertical towers separated by 90° instead of the normal 120°. The reason for this was that it gave a better shaped build area. The build area was more square than hexagonal or triangular. After building the prototype it became obvious that the concept was seriously flawed. In theory the three towers kept the centre platform fully constrained but in practice the platform was relying on the torsional stiffness of the arms whenever one set of arms was near horizontal. The result wasn't really usable over a large portion of the intended build envelope. So the 90° tower angles were dropped and the design reverted to being a more standard Rostock Delta style 3D printer.<br />
<br />
==Design Changes==<br />
[[File:Delta-Pi photo of prototype.JPG|right|400px|thumb|Photo of the prototype after completing its first ever print]]<br />
[[File:Delta-Pi Carriage.jpg|right|400px|thumb|Close-up of prototype carriage showing [[living hinge | live hinge]], spring beam and a couple of the 623ZZ bearings visible]]<br />
[[File:Delta-Pi Extruder Platform.jpg|right|401px|thumb|Hot end platform with a variant of the Kiss hot end and fan cooling]]<br />
[[File:Delta-Pi Carriage View.JPG|right|400px|thumb|Another view of the carriage design.]]<br />
<br />
===Crossed-Roller Carriage Design===<br />
The immediately obvious change is that the design does not use 8mm rod and LM8UU bearings. The Delta-Pi uses a live-loaded crossed-roller carriage design running on the corners of a 3/4"/19mm or a 20mm square tube. The tube is a sanded finish stainless steel that should be easily available anywhere in the world. The carriage design contains 8 pieces of 623ZZ bearing and another 2 pieces are used for the idler pulley making 10 per tower and 30 total for the printer. The carriage design features a live hinge and spring beam that allows the bearing tension to be adjusted.<br />
The inside of the tubes is open so that it can be used to run wires between the top and bottom of the printer.<br />
<br />
===Arm Design===<br />
The arm design has been changed slightly from the Rostock design. The arms use a 6mm carbon fibre tube and the tube is glued inside a clevis. That's not too different but the yokes at each end of the arm assembly are intended to simplify assembly and reduce the number of fasteners required. It also give a larger range of motion than the commonly used ball joints.<br />
<br />
===Belt connection===<br />
The belt can be either S2M or GT2 belt and is 6mm wide. The belt is connected to the carriage by looping a short length back on itself. The belt teeth interlock and a small piece of rod (3mm filament) stops the loop from pulling out.<br />
The belt is tensioned by moving the stepper motor.<br />
<br />
==Design Files==<br />
The design has been created using SolidWorks and the source files have been published on GitHub.<BR /><br />
Assembly documentation, BOMs and drawings are hosted on GitHub.<BR /><br />
[https://github.com/Makershop/DeltaPi github.com/Makershop/DeltaPi]<BR /><br />
The STL files for printed parts are published on Thingiverse:<BR /><br />
[http://www.thingiverse.com/thing:53708 www.thingiverse.com/thing:53708]<br />
<br />
==Firmware==<br />
The prototype was originally run using the Marlin firmware and later switched to the Repetier firmware.<br />
<br />
==Current Project Status==<br />
As of 27 March. The prototype is assembled and printing. The BOM and source files were published to Github today.<BR /><br />
Some new photos posted to Flickr today.<br />
<br />
==Known Issues==<br />
*The [[bowden]] extruder used in this setup can make prints a little stringy if retracts are slow.<br />
*Calibrating the delta geometry can be "tricky".<br />
*The frame is strong enough but no very strong. The final design will probably add 2 or 3 side panels. This will stiffen the frame and reduce the risk of breaking the top and bottom bar clamps if someone is rough with it.<br />
<br />
==External Links==<br />
Photos of the prototype here:[http://www.flickr.com/photos/86621828@N05/sets/72157632623446146/ on flickr.com]<BR /><br />
Video of the prototype here: [https://www.youtube.com/playlist?list=PLGyolvuY29uOzHDMwNHT6_VwP4YApPiwr on YouTube]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta-Pi&diff=114483Delta-Pi2014-01-04T09:58:43Z<p>Funny bananas: /* Known Issues */ rewrote and tidied</p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = Delta-Pi<br />
|status = Concept<br />
<!--Image--><br />
|image = Overall_Assy1.JPG<br />
<!--General--><br />
|description = Delta-Pi is a Rostock style Delta printer with a new carriage design.<br />
|license = GPL<br />
|author = MikeP-NZ<br />
|reprap = Rostock<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|cadModel = [https://github.com/Makershop/DeltaPi GitHub]<br />
|url =<br />
}}<br />
==Introduction==<br />
This is essentially a new design in that it does not reuse any parts from an existing design. It does however take a lot of its heritage and style from Johan's [[Rostock]] design. A huge thanks to all of those whose hard work, knowledge and innovation have brought things this far. Now I hope that I can add my own little increment to the development of the Reprap concept.<br />
Mike Paauwe<br />
<br />
==History==<br />
The first iteration of this machine featured the vertical towers separated by 90° instead of the normal 120°. The reason for this was that it gave a better shaped build area. The build area was more square than hexagonal or triangular. After building the prototype it became obvious that the concept was seriously flawed. In theory the three towers kept the centre platform fully constrained but in practice the platform was relying on the torsional stiffness of the arms whenever one set of arms was near horizontal. The result wasn't really usable over a large portion of the intended build envelope. So the 90° tower angles were dropped and the design reverted to being a more standard Rostock Delta style 3D printer.<br />
<br />
==Design Changes==<br />
[[File:Delta-Pi photo of prototype.JPG|right|400px|thumb|Photo of the prototype after completing its first ever print]]<br />
[[File:Delta-Pi Carriage.jpg|right|400px|thumb|Close-up of prototype carriage showing [[living hinge | live hinge]], spring beam and a couple of the 623ZZ bearings visible]]<br />
[[File:Delta-Pi Extruder Platform.jpg|right|401px|thumb|Hot end platform with a variant of the Kiss hot end and fan cooling]]<br />
[[File:Delta-Pi Carriage View.JPG|right|400px|thumb|Another view of the carriage design.]]<br />
<br />
===Crossed-Roller Carriage Design===<br />
The immediately obvious change is that the design does not use 8mm rod and LM8UU bearings. The Delta-Pi uses a live-loaded crossed-roller carriage design running on the corners of a 3/4"/19mm or a 20mm square tube. The tube is a sanded finish stainless steel that should be easily available anywhere in the world. The carriage design contains 8 pieces of 623ZZ bearing and another 2 pieces are used for the idler pulley making 10 per tower and 30 total for the printer. The carriage design features a live hinge and spring beam that allows the bearing tension to be adjusted.<br />
The inside of the tubes is open so that it can be used to run wires between the top and bottom of the printer.<br />
<br />
===Arm Design===<br />
The arm design has been changed slightly from the Rostock design. The arms use a 6mm carbon fibre tube and the tube is glued inside a clevis. That's not too different but the yokes at each end of the arm assembly are intended to simplify assembly and reduce the number of fasteners required. It also give a larger range of motion than the commonly used ball joints.<br />
<br />
===Belt connection===<br />
The belt can be either S2M or GT2 belt and is 6mm wide. The belt is connected to the carriage by looping a short length back on itself. The belt teeth interlock and a small piece of rod (3mm filament) stops the loop from pulling out.<br />
The belt is tensioned by moving the stepper motor.<br />
<br />
==Design Files==<br />
The design has been created using SolidWorks and the source files have been published on GitHub.<BR /><br />
Assembly documentation, BOMs and drawings are hosted on GitHub.<BR /><br />
[https://github.com/Makershop/DeltaPi github.com/Makershop/DeltaPi]<BR /><br />
The STL files for printed parts are published on Thingiverse:<BR /><br />
[http://www.thingiverse.com/thing:53708 www.thingiverse.com/thing:53708]<br />
<br />
==Firmware==<br />
The prototype was originally run using the Marlin firmware and later switched to the Repetier firmware.<br />
<br />
==Current Project Status==<br />
As of 27 March. The prototype is assembled and printing. The BOM and source files were published to Github today.<BR /><br />
Some new photos posted to Flickr today.<br />
<br />
==Known Issues==<br />
*The [[bowden]] extruder used in this setup can make prints a little stringy if retracts are slow.<br />
*Calibrating the delta geometry can be "tricky".<br />
*The final design will probably add 2 or 3 side panels. This will stiffen the frame and reduce the risk of breaking the top and bottom bar clamps if someone is rough with it.<br />
<br />
==External Links==<br />
Photos of the prototype here:[http://www.flickr.com/photos/86621828@N05/sets/72157632623446146/ on flickr.com]<BR /><br />
Video of the prototype here: [https://www.youtube.com/playlist?list=PLGyolvuY29uOzHDMwNHT6_VwP4YApPiwr on YouTube]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=MetalicaRap&diff=114007MetalicaRap2013-12-30T09:35:04Z<p>Funny bananas: /* Main design spredsheet */</p>
<hr />
<div>[[category: printers capable of printing with metals]]<br />
{{Development<br />
|status = Experimental<br />
|name = MetalicaRap<br />
|description = An Electron Beam 3D Metal and Home Solar cell Printer, including microscope vision system (SEM) & Z axis metal correction in a vacuum.(Design stage).<br />
|license = [[GPL]]<br />
|author = Rapatan<br />
|reprap = Sui Generis<br />
|categories = [[:Category:EBM|EBM]][[Category:EBM]],[[:Category:Powder|Powder]][[Category:Powder]]<br />
|url= please contact us via mail forum below<br />
|image =Assemble MetalicaRap_vers._2.0.jpg<br />
}}<br />
<br />
MetalicaRap is an open 3D metal & home solar cell printer, based on the principles of electron beam welding and vapor deposition. MetalicaRap is currently in the design stage. The goal is to have affordable home-manufacturing of solar cells, key electrical parts and milled-quality metal parts[http://www.aeronautics.nasa.gov/electron_beam.htm#][http://www.youtube.com/watch?v=oRL4cBbKYb8][http://mfile.akamai.com/18565/wmv/etouchsyst2.download.akamai.com/18355/wm.nasa-global/nasaaero/podcast_16.wmv].<br />
<br />
An electron beam based printer was chosen due to the ability to print its self, the power efficiency of an electron gun vs. a powerful laser at fusing metal, and the fact that an electron gun and vacuum chamber are the primary requirements for thin film solar cell printers. It was recognized that the printer did not require a new technological invention, but does require the existing solutions to become publicly accessible through grassroots research and re-engineering.<br />
<br />
One of the goals is a '''solar cell production plant''' design that MetalicaRap will be able to print, that will utilize MetalicaRap's vacuum chamber and beam for the solar cell manufacturing processes[http://en.wikipedia.org/wiki/Copper_indium_gallium_selenide_solar_cells]. For a typical family home electrical system we may bring the solar cell cost down from 10,000 euro to 400 euro by self printing. (Solar cell installation, inverter, and other costs would obviously be on top of this price).<br />
<br />
21% of all solar cells manufactured used the CIGS process (2011) [http://en.wikipedia.org/wiki/Copper_indium_gallium_selenide_solar_cells] [http://www.pv-magazine.com/news/details/beitrag/2011--277-gw-of-pv-installed-full-potential-of-many-markets-unfulfilled_100005589/#axzz2T5Z8npDd], it works at the same vacuum of 10-4 Torr as the metal printer, by creating [http://en.wikipedia.org/wiki/File:CIGSdevice.JPG metal layers] by directly co-evaporating readily available targets [http://www.youtube.com/watch?v=ZN7NZYXGSbk Video] of; copper gallium mix, copper indium mix, selenium sulfur mix[http://www.indium.com/thin-film/], molybdenum backing layer, tin oxide front contact onto a heated substrate with a chemically dipped buffer layer and a front copper alloy electrical collector strip . This CIGS [http://en.wikipedia.org/wiki/Copper_indium_gallium_selenide_solar_cells] thin film manufacturing process will consist of electron beam physical vapor deposition[http://en.wikipedia.org/wiki/Electron_beam_physical_vapor_deposition] (EBPVD summary material [http://www.cleanroom.byu.edu/TFE_materials.phtml])Other precursor choices including CIS may also be possible [http://www.greentechmedia.com/articles/read/is-the-window-closing-for-thin-film-pv] [http://www.nrel.gov/docs/fy09osti/45544.pdf]. <br />
<br />
<br />
__TOC__<br />
<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?215 Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?215,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
=MetalicaRap, Project overview=<br />
<br />
Congratulations Aleksander he has made '''the first home build electron beam welder'''!! See 27min 40Sec long [http://www.youtube.com/watch?v=4OVaqTvh-pw video] [http://tubedevices.com/alek/index_e.htm home page]<br />
<br />
==Introduction==<br />
<br />
We are now 18 months into the development of a printer capable of printing in all common metals, which can largely print itself. <br />
<br />
====Why an Open Design?====<br />
<br />
Currently few commercial companies give away the ability to manufacture their own product to the customer(googles "free search" business model comes closest and also Mendel see below). MetalicaRap does through self printing, which is why this project needs volunteers initially giving their time, effort and charitable contributions via crowd funding. This price reduction method and empowerment model has been shown to work with a plastic printer in 2009 bringing the price down by a factor of 60 (30,000 euro to 500 euro kit price Mendel http://reprap.org/ http://en.wikipedia.org/wiki/Adrian_Bowyer award wining inventor). <br />
<br />
====What are the benefits?====<br />
[[file:Moraiyama_Metal_House_Japan.jpg|thumb|right| Metal Fabricated Home Japan SANAA 2005 ]]<br />
A home solar cell printer will enable a whole set of new possibilities via near free electricity including: Solar Jewelry , Solar Bike, [http://zerohouse.net/wordpress/what-is-zerohouse Zero house] utilizing self printed titanium Vacuum panels [http://www.patentbuddy.com/Patent/5175975], water supply from air condensing, [http://www.aljazeera.com/video/asia/2012/06/20126512515491644.html home tropical greenhouse/Plant factory], along with the well known environmental benefits of solar power for heating and lighting being a factor of 25-45 times cleaner than traditional fuels [http://www.area-alliance.org/documents/carbonfootprint.pdf][http://onlinelibrary.wiley.com/doi/10.1111/j.1530-9290.2011.00423.x/abstract].<br />
<br />
Metal printing has obvious benefits for reducing transport costs. Later MetalicaRap may effect accommodation costs [http://www.viewpictures.co.uk/Details.aspx?ID=147524&TypeID=1 Japanese metal home] moving beyond high status cultural applications [http://en.wikipedia.org/wiki/Walt_Disney_Concert_Hall Walt Disney Concert Hall], through reducing metal refinement and manufacturing costs, by replacing foundry processes by processing its own billet metal in to metal powder through electron beam melting on to a spinning disk within MetalicaRap, an established method[http://www.patentbuddy.com/Patent/4218410][http://www.google.co.uk/patents?hl=en&lr=&vid=USPAT4218410&id=rr4vAAAAEBAJ&oi=fnd&dq=metal+powder+beam&printsec=abstract#v=onepage&q&f=false]. <br />
<br />
Titanium powder may come down to 6 euro per kilogram (2012) as titanium's last refining step is Electron beam melting of "Titanium Sponge" the identical process to MetalicaRap's . <br />
<br />
Titanium's properties include; Highest strength weight ratio of any pure metal, Corrosion resistance similar to platinum, can be nearly as hard as diamonds, this may lead to wearing component life times of over 70 years with a car body lasting 300 years, and with high recyclable factor of materials within MetalicaRap [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/recycling-cost/NS6Chart.html].<br />
<br />
Few large commercial companies will compete with MetalicaRap products as Titanium's durability (100's of years) means that it is not in their interest to, as they may see it as "destroying" their own resale market. Yet through branding and short lived fashionable product design some large companies will try to maintain high product redundancy rates.<br />
<br />
MetalicaRap may be one of the very few environmental solutions that largely overcomes "energy cannibalism" [http://www.mse.mtu.edu/~pearce/Past.html#Energy_Cannibalism Energy Cannibalism Explanation]<br />
<br />
====Why should i help?====<br />
<br />
There is no technological block to the success of this project, but it requires the engineering solutions to happen within an open hardware cultural context to succeed, a group of technical specialists volunteering there time and effort, along with crowd funding. We have had involvement 6 part time specialists based in Copenhagen, Geneva (x-Cern), California (x-stanford), and Toronto volunteering part time in areas including electron gun design, currently we have 2 specialists consulting for us. The more people involved on a non-specialist task level will bring the project forward quicker. <br />
<br />
Critically MetalicaRap may offer the ability to largely print the most expensive parts so may enable the price of the solar cell printer to fall by a factor of 100, so to be within the home budgets grasp. (printing the electron gun is equivalent to printing a 600W fiber laser in a Selective Laser Sintering machine, this guns function is to melt metal on a build platform to producing metal thin film solar cells and metal parts)<br />
<br />
For now the self replication will not include the vacuum chamber. The power supply is under construction from bought in parts. One pump will initially be purchased, and as the design progresses further parts will be self printed.<br />
<br />
If you would like to help and knowing that MetalicaRap's design development details do not fit in one persons head, please specialize and take ownership of a specific task from below or contact us via the mail forum.<br />
<br />
Towards this aim of reaching further volunteers we would really appreciate the inclusion of the below within your member contact newsletter in a form that suits your organization.<br />
<br />
Kind Regards<br />
MetalicaRap team<br />
<br />
==Design criteria==<br />
<br />
The printer should have the following characteristics:<br />
* A build volume of about 30cm x 30cm x30cm (prototype will be 24cmx24cmx24cm as this is min that can still print babies)<br />
* Produces finished parts +/- 20 µm over 20mm<br />
* Finished parts should be the metallurgical equivalent to wrought iron milled metal parts (full strength, >98% density)<br />
* The printer is largely ''self reproducing'' (i.e. it can ''print many of its own parts'')<br />
* Single Phase electrical supply <br />
* Minimum consumables beyond metal powder (avoiding need for e.g. argon gas would be an advantage for later designs)<br />
* Cost for parts which it cannot itself print plus the raw material for printable parts is ''less than the cost of a used car'' (self replication plus self build kit may reduce the price by approximately 100 times i.e. from the existing price of a metal 3D printer or solar cell plant; 1,000,000 euro price tag, to 10,000 euro self print/kit price. historically the plastic printer went from 30,000 euro commercial price to 500 euro in 2009 via this approach)<br />
* The build-rate can be slow i.e. 0.2 kg per hour.<br />
* Max height should be 2.4m so it can fit in a home. ( first / simpler to construct prototype will be taller than this until we know how much we can bend beam while maintaining spot size, the bigger the bend the shorter it will become)<br />
* Shape and size of vacuum chamber and electron gun power rating should be suitable for Solar Cell Printing(300W).<br />
<br />
==Essential Reading== <br />
[http://blog.netfabb.com/index.php?bid=36 Introduction Existing Commercial Electron Beam 3D printer 2min video], [http://www.youtube.com/watch?v=ZN7NZYXGSbk Solar cells by co-evaporating 4 metals on top of each other & some ancillary layers video] creating [http://en.wikipedia.org/wiki/File:CIGSdevice.JPG Copper/Indium/Gallium/Selenium layers ], [http://p2pfoundation.net/Factory_At_Home Factory at home],People locally developing solutions for local problems while being [http://usfln.org/ connected globally] and for those who have everything developing technology for a market of one! personal fabrication as a way to take control and as an aid for identity [http://www.youtube.com/watch?feature=player_embedded&v=5n-APFrlXDs#!] ,[http://www.youtube.com/watch?v=X_1PpBMtGrA&feature=related A commercially Printed Rocket Engine Takes Flight in USA! See here at 2:40].<br />
<br />
==Request for specialists and non specalists==<br />
We are looking for further technical people who are committed to empowering themselves and their environment through self motivated practical tasks in the following areas: Stainless steel metal prototype machining, High voltage power supply prototyping (75kV 1-5KW), vacuum instrumentation, mechanical drafting / design, and back-end software (specifically in unified accelerator library; a gcode to electron beam deflection coil data application) and electron optics design. We are now also looking for more people to chase non specialist tasks as well.<br />
<br />
==Crowd Funding Support of MetalicaRap ==<br />
We are currently raising money to make a RepStrap version of MetalicaRap.<br />
<br />
We need an estimated 50K euro, and have so far raised over 8000 euro. Donations over 100 euro recieve a MetalicaRap Printing Certificate. We are aiming for a final kit parts price of 9K to 13K euro.<br />
<br />
You can donate money:<br />
* via paypal to MetalicaRap@3iii.dk<br />
* or bank transfer. Please write an email to MetalicaRap@3iii.dk for details of MetalicaRap committee managed account. <br />
<br />
There are many other ways you can help further the development of MetalicaRap. Please read this page to get an idea of current development status. We can be contacted on [[IRC|the RepRap IRC channel]], MetalicaRap@3iii.dk, or best at [http://forums.reprap.org/list.php?215 RepRap MetalicaRap forum].<br />
<br />
==Current status==<br />
<br />
We are based in Copenhagen Denmark at Labitat.dk our main engineers are also in Lancashire UK. Wednesday night you can come to Labitat in Frederiksberg, Denmark and meet the team. Currently electron gun test rig and repstrap vacuum chamber, including pumps and gauges under electrical maintenance.<br />
<br />
Get involved! The current team donates their free time, Current tech team; 1 Administrator, 3 software developers UAL, 1 electrical engineer and 1 physicist all part time<br />
(Very occasional advice from; 1 Ultra-high vacuum metal deposition specialist, 2 physicist, 1 High-voltage system designer, 1 mechanical Design Engineer). <br />
<br />
Do get in touch. See [http://forums.reprap.org/list.php?215|the talk page and forum] for more discussion.<br />
<br />
==Main design spreadsheet==<br />
<br />
Contact: click [http://forums.reprap.org/list.php?215 here] Rapatan<br />
<br />
[[File: Gun Coil Pump Cost calculator MetalicaRapReadOnly.ods]] This is MetalicaRap's master spreadsheet click on to download.<br />
<br />
Please send your additional calculations for the above spread sheet to the email forum above.<br />
<br />
=General Design=<br />
==Philosophy and technical considerations==<br />
<br />
"Since Jones and Swainson many other techniques for rapid prototyping have been developed. Three of the most significant are selective laser sintering (SLS), filament deposition modeling (FDM), and the MIT powder/ink-jet-glue process. A rapid prototyping machine that can make most of its own component parts will clearly be easier to design if one avoids things like high-powered lasers; having the machine make a laser from scratch would be difficult. More subtly, ink-jet print heads (though cheap) are intrinsically hard to make as they involve micro-fabrication, and so a machine based on them would be unlikely (in the medium term) to be able to liberate itself from that one bought-in part." [http://reprap.org/wiki/PhilosophyPage] Adrian Bowyer<br />
<br />
Even though SLS was one of the 3 major contenders for the reprap machine, it was rejected due to the difficulty of self manufacturing the laser. Using an electron beam may offer easier self manufacture, due to it largely consisting of 3 simple elements; a cathode metal ring, an anode metal tube and a hot wire. <br />
<br />
Another key issue is producing verified, dimensionally finished parts. Commercial metal powder printers, both laser and electron based, can not measure the individual parts they produce during production, unlike conventional machining methods. MetalicaRap could due to the inclusion of a layer by layer measuring system (stereo, 3d scanning electron microscope).<br />
<br />
The challenges of Z axis control is expected to be greatly helped by the vision system and z axis correction method EBM/vaporization (Vision systems are currently in development stage on state of the art commercial machines.)<br />
<br />
Its important to point out that this is a complex and in the 1000's of euro price range project. Your largely self producing printer is possible in the commercial setting with either laser or electron beam printing parts (as the commercial machines indicate), but due to the power transfer inefficiency from wall socket to most common metals via lasers being 50 times worse than in electron beams, available home lasers would print too slowly. A typical CO2 laser to copper energy transfer efficiency is 1.6%, so 400W energy into the metal therefore requires a 25000 W laser -- current home build lasers are considered large at 30W (an exception to this is laser to steel: 80%). Therefore lasers would limit the achievable part size to 10's of cm3 (e.g. 3cm x3cmx3cm) with a 2 day print duration, which makes it impracticably slow for self replicating printers. For further proof try our Laser 808 Build Speed Calculator from this [http://reprap.org/wiki/Laser_Build_Speed_Calculator].<br />
<br />
So the electron gun is still likely to be quite a bit easier to build for the same power level. Especially as long as complications due to magnetic forces, grounding, X-ray radiation, and calibration do not turn out to unsurmountable problems. We do not expect them to. Also, its likely that subtractive machining is needed. Commercial printers report being able to produce finished parts for jet engines and medical implants etc. without it, but granted maybe there are details the manufacturers don't put on their web sites. <br />
<br />
Due to lack of control in metal powder deposition and molten metal forming droplet/distortions in conventional ebeam 3D printing (e.g Arcam 3d) a tolerance of 300µ in the Z axis is typical with 10µ powder. Finer powders are prone to magnetic forces and typically unwieldy, though powder demagnetization and non ferrous construction is a possibility. This demands an error correction which is based around a vision system using a 4-sector, independent channel axial Back Scatter Electron detection (BSE) Scanning Electron Microscope (SEM) combined with image processing. The pseudo stereo SEM picture data can be converted to true 3D dimensional data (asymmetrical 4-source BSE photometric stereo 3D-imaging), enabling sub µ metal height measurements. Z axis dimensional mistakes in any particular layer can be found and corrected by removal of high points through electron beam machining of the metal. From discussions with industry experts we may bring the XYZ axis error to 20µ over 20mm (IT grade 7 See IT grade table [http://www.engineersedge.com/international_tol.htm here].)<br />
<br />
==Advantages of current chosen design approach==<br />
<br />
*Fully functional parts directly from standard metals<br />
<br />
*For most parts it may offer dimensionally finished metal parts IT grade 7 <br />
<br />
*Good metallurgy on all common metals (Melting process rather than sintering process ensures near 100% of solid material)<br />
<br />
*Closed loop system<br />
**Self measurement of finished part tolerances.<br />
**May offer automatic self correction (subtractive machining steps during build process and feedback with compensation used in the additive process).<br />
<br />
*Eventual additional Benefits; <br />
**Can print thin film CIGS '''Solar cells''' in existing 10<math>^-</math><math>^4</math>vacuum chamber with existing electron gun. Will be able to self print additional required parts for solar cell printer.<br />
**Can create its own metal powder from scrap metal.<br />
**Can finish the refining process for titanium metal by melting titanium sponge, which may lead to a 25 fold reduction in the titanium price.<br />
<br />
== Disadvantages of current chosen design approach==<br />
<br />
*Vacuum chamber needs on going maintenance.<br />
<br />
*Given the quantity and quality of metal/materials used in 10-4 torr vacuum chamber construction they may have high cost or be hard to obtain. (Limited outgasing required, more info: [http://www.ece.ualberta.ca/~schmaus/vacf/outgas.html][http://outgassing.nasa.gov/cgi/uncgi/search/search_html.sh])<br />
<br />
*Difficultly in managing metal powders, indicated by the need to have layer error correction, Problem area's including; powder layer flatness, metal meniscus blob formation, metal powder trapped in work piece (i.e. designed internal closed cavities, designed internal porous or honeycomb structures most likely impossible without additional processing or work on the part after printing).<br />
<br />
*Quality Control may be a hurdle to overcome - on the fly heat treatment process development (to overcome residual stress present in the first few layers) may be desirable but optional. Layer by layer temperature measurement is one way for metallurgical quality assurance. Currently multiple printed and tested tensile test samples are used to prove most processes. This is a problem in general for additive manufacturing of all sorts at present. <br />
<br />
* Adequate surface finish may require post processing, depending on the purpose of the part. Later by the addition of argon we could do electronbeam polishing[http://en.wikipedia.org/wiki/Electron_beam_technology].<br />
<br />
* Non-desktop size wardrobe size, chamber volume approx 0.3m cubed.<br />
<br />
= MetalicaRapBaby = <br />
<br />
Overwiev description of the prototype, actual builders should go to builders only section below.<br />
<br />
MetalicaRapBaby in it's current form has 8 main elements which form the printer hardware proper:<br />
<br />
* Triode electron gun within a 4 way reducer cross.<br />
* Electron optics assemply including deflection coils and magnetic lenses.<br />
* A metal powder dispensing trough hopper, with a cartesian 8cm diameter topological pick up ring.<br />
* Build platform in a 14 inch dia. build platform tube within outer glass tube chamber.<br />
* SEM for vision system for feedback regarding the shape of the part, using the 12kg trough, hopper pick up ring.<br />
* One roughing pump capable of 10-4 Torr<br />
* Switch Mode Power Supply -63kV up to 5kW series parallel resonant converter topology.<br />
<br />
[[file:Gun_ExplodedRhunt.jpg|thumb|right| A low power gun build example]]<br />
[[file:Spot2Rhunt.jpg|thumb|right| Low power gun in operation.. See [http://www.teralab.co.uk/Experiments/Electron_Optics/Electron_Optics_Page1.htm] ]]<br />
[[file:Electron Gun elements MetalicaRap v2.jpg|thumb|right|Electron Gun Elements ]]<br />
[[file:Coil wiring diagram MetalicaRap v2.jpg|thumb|right| Coil wiring diagram ]]<br />
<br />
===Electron Gun===<br />
<br />
Static electron gun 1-5kW max (-63kV accelerating voltage) output approximately 1m above the build platform. The gun has a small filament chamber and a Whenelt electrode, i.e. a triode gun. A triode gun contains an anode with a hole in it, to accelerate the electrons from the filament. This anode will function as an electrostatic lens and form an image of the filament close to the gun. This image is known as the cross over. Out current design of the electron gun is based on an analytical model from Potapkin (2008). With our chosen parameters the the diameter of the cross over is about 120µ. This cross over will have to demagnified and reimaged onto the work surface by electron optics.<br />
<br />
* Electron Gun constructed from self printed Stainless steel 304L 6" 4.5" inch 4 way crosses reducer with ID 100.4mm beam pipe. Beam pipe terminates in joining adapter to glass chambers.<br />
<br />
The poteltial of the Wenelt electrode will be set by feedback through a resistor to the cathode to make the output form the electron gun self-stabilising. To set the dimension for the power supply and the feedback resistors we need a rough estimate of the perveance (current-voltage relation I=P*U^{3/2}) of the electron gun. The gun is to first order a triode, one of the mainstays of electronics in the first half of the 20th century (amplifier tubes). Hence there excists lots of literature on how to calculate the perveance of a triode. The number of electrons emitted from the cathod themionicaly is given by the Dushman Equation which is exponential with the temperature of the cathode. But must of these themionically emited electrons are pushed back by the electric field from space charge, so the important quantity is the space charge limited current, which is must often descriped with the Child-Langimur equation. This equation strightly only applys to diodes and we have to adapt it for our pourpose with is a triode with the Whenelt beeing the grid. Currently the distance from the cathode to the Wenelt is 1.175mm and the distance form the Whenelt to the anode is 29.3mm. The diameter of the cathode is 2mm.(Check I think the thickness of Wenelt is 1.175mm and its 0.3mm from cathode?)<br />
<br />
In the paper (VanDeBroek1986)on the emitting disk ratio the emmiting disk ratio is given in terms of the drive which is 1-(V_g1/V_co) (equation(1) VanDeBroek1986). Where V_co is the cut off potential (zero field strength right at the center of the filament, emitting area zero) which can be measured experimentially for a given electron gun. It can also be calculated from the Durchgriff, but the paper does not give the coefficeints for a triode with the ratios that we have designed. But the Durchgriff is probably somewhere between 0.02 and 0.01 times V_acc (Table 1 VanDeBroek1986). Some where between 600 and 1200V. At half the V_co we can expect to have approximately half of the emmitter area available, from which we can calculate the space charge limited current form Child's law.<br />
<br />
Child's law says that for a diode the current density is given by j[A/cm^2] = 2.33e-6 V^(3/2)[V]/d^2[cm] [http://www.popproperty.net/PopularTools/Semiconductor/SpaceChargeLimited.aspx]. Where d is the distance between the cathode and the anode and V is the voltage across. For our case we get j=4A/cm^2. For a 2mm diameter cathode where all of it emits this gives current about I=0.1A. But for our desired optics which can achieve a small gun cross over diameter of 120µ Potapkin(2008) requires a wehnelt electrode nearly at cutoff voltage(i.e 97%) [Important note U_c in Potapkins paper probably means the cut-off voltage]. This means that emitting area of cathode is reduced, from fig 3(VanDeBroek1986) drive of 0.03 so emting disk ratio is 0.1, So that at our operating conditions we have about 10 percent of the emitting radius avaliable we get a radius of 0.1mm which corresponds to an area of 0.0003cm^2 and a limiting current of about 0.00125A allowing for 15% loss of beam in to anode. So the 47µ spot size beam would be at 65W. Assuming we desire this 1000V cut off we need a 2.4KOhm resistor between wehnelt and cathode.(Accepting L/R=10.99 in fig3 VanDeBroek1986))<br />
<br />
Spangenberg page 416, formular 15.4 gives a way of calculating the amplification mu of en electron gun. Doing the calculation with the numbers of the current design we get mu=367. In formula 15.3 Spangenberg gives that the ratio of the Whenelt (V_2) and anode (V_3) potentials is related to mu at the cut-off mu=-V_3/V_2. Given this mu and V_3=62.5kV we get a cut-off potential of -170V.<br />
<br />
Currently 2x 430K ohm in parrallel or 215Kohm for 940W gun power level and 4x 430Kohm in series or 1720Kohm for 100W power level ( maintaining 3KV across resistor in both cases).<br />
<br />
===Electron Optics Assembly===<br />
<br />
The electron optics assembly reimage and demagnify the electron gun crossover onto the build platform to create the electron beam focal spot for melting metal powder for additive printing and melting targets for solar cell EBPVD process. The focus spot size should be 100µ for printing and 10µ for SEM imaging (to achive 20µ resoluton ie. the Nyquist limit), with a pointing accuracy 10µ.<br />
<br />
Additionally the focus spot size for providing micro vaporization of errors in the build should be in the range 10µ to 40µ, see gun layout page 3. Initially this would be used to flatten every tenth layer of the build through high points/blobs removal. Future software development could provide live modeling of build, so through the adjustment of beam melting path in the subsequent layers errors/blobs could be accounted for as they arise, thereby limiting the need for blob removal to critical surfaces.<br />
<br />
The electron optics assembly will take the form of a two lens demagnifying telescope with an interlens deflection system for moving the image. To first order electron optics can be designed as standard geometric optics, with a few modifications. We will need to reimage and demagnify the cross over onto the printing surface. It is important to note that rays around the crossover are not straight lines, only asymtotically so. This means that to consider the crossover in terms of geometric optics, we have to use the asymtotic position of the crossover, that is, the focal point where the asymtotically straight rays meet, when projected backwards. <br />
<br />
The smalles spot size need is around 10µ, which means that out optics will have to demagnify by a factor of about 0.1 given the cross over diameter of 120µ. The needed demagnification can be distributed over the two lenses and the total magnification will be given by M = M_1 M_2, where M is found from the thin lens formula 1/s_o + 1/s_i = 1/f and M = -s_i/s_o. We see that for a lens to be demagnifying M<1 the distance to the image (s_i) will be smaller that the conjugate distance to the object (s_o). In practical terms this means that it will be hard to have L2 be de-magnifying, it will have to be neutral (M=1) or magnifiying in order to leave room in the vacuum chamber and not having to bend the beam excessivly to achive a large printing area. Hence we will have to put all the de-magnification on L1. This leads to the complication of having a very divergent beam between L1 and L2, implying that the diameter of L2 will have to very much larger than the diameter of L1. The situation is illustrated in the figure. At precent we do not know how large diameter magnetic lenses are feasible? But figure 4.22 in W.D Riecke (1982) showes a realised lens with a diameter of 8cm.<br />
<br />
[[File:eoa_optical_design.jpg|thumb|right| Overview of the optical design. CO = crossover, L1 is the first lens, the red dots the focal points of L1. L2 is the second lens with blue focal points. Im is the final image. The magnification of L2 is one.]]<br />
[[File:spot_diviation.jpg|thumb|right| Overview of the quantities used for calculating the necessary magnetic field in the deflection coils.]]<br />
<br />
Another possibility would be an adjustable aperture in the beam. We note that the small spot (10µ) is only needed for SEM imaging, hence it will not require the energy of the full beam, we can afford to lose energy. We could then design the electron optics assembly to have a magnification M on the range 0.1 to 1, and then stop down the beam with the adjustable aperture when the small spot is needed. This procedure could also possibly reduce the aberrations when low aberrations are most need, ie. for SEM imaging. Maybe this could also be done by varying the lens current, hence changing the focal length?<br />
<br />
Assuming a two lens design we can write M_1 s_{o1} = - s_{i1} and M_2 s_{o2} = - s_{i2} for the two lenses respectively. (The magnification M is negative). We have some further constrains that we would like to add to the system. First the image from the first lens is the object of the second lens. Assuming a separation l between the two lenses we have l-s_{i1}=s_{o2} and we want a given total magnification M given by M=M_1 M_2. Further we could want to constrain the apature of L2.<br />
<br />
Given the maximum deflection of the beam required to realize a printing area of 24cm by 24cm is 14.65 degrees measured at L2 and 16mm is beam diameter of at max deflection 151mm before L2 and the baffel is situated at 30mm after L1.<br />
<br />
One appealing solution is M_1 = 0.3 \ M_2=1.25 \ s_{o1}=100mm \ s_{i1}=30mm \ {o2}= 459 mm \ s_{i2} = 573 mm. With this design the aperture radii of L1 and L2 have to be at least 3.8mm and 27.15mm, respectively but due to inter lens XY deflection of beam further space is required prior to L2. So minimum pipe diameter is 83mm thereby giving the space needed to deflect the 16mm diameter beam within to achieve 14.65 degrees deflection at L2. For this Print mode asymtotic focal lengths we get f_1 = 23.1mm and f_2=255mm. This design will give a total magnification of 0.38, which corresponds to a focal spot size of 45µ, which is good enough for printing but too large for the vision requirements. By changing the magnifications to M_1 = 0.08 \ M_2=1.2 with out changing any lengths we will achieve a total magnification of 0.096, corresponding to a spot size of 11µ which is sufficient for the SEM vision system. As lenses and baffel lengths stay the same, in this SEM configuration the intermediate image will be before the baffel instead at it, as the aperture radius of the baffel is 0.12mm, and the size the beam is 0.37mm going in to this aperture, we will lose 67% of beam power in to the baffel, but this should be acceptable or even preferably in the case of SEM imaging. The needed SEM mode asymtotic focal lenghts in this case are f_1 = 7.4mm and f_2 = 261mm. <br />
<br />
Compared to optical lenses magnetic lenses are very poor with large abarations. In essence we are building an SEM, and lots of research has been done on magnetic lenses for this pourpose. SEM operates with spot sizes on the order of 1µ or less, that is, 1 or two orders of magnitudes less than what we are aming for. Hence we do not have to optimise the design to the same extend as SEM designers do.<br />
One of the fundamental parameters in magnetic lens design is the gap to bore ratio S/D. According to W.D Riecke (1982) p. 179 we are free to choose this ratio is in the range 0.5 to 2, preferably in the range 0.7 to 1.5.<br />
<br />
The pole pices in an magnetic lens are tuncated cones the diameter at the truncations sould be 3 to 4 times the diameter of the bore, and the conic half angle should be 55 degrees. W.D Riecke (1982) p. 255.<br />
<br />
The magnetic lenses we have their magnetic flux carried on pole pices and cores. One important requirement is that we do not saturate the magnetic cores and theis will couse a large leak in magnetic field which will distrupt the magnetic lens. IN a classical magnetic lens the cores is connected to two flanges (top and bottom) which connects to the magnetic shielding which incases the electric coils. Theese two "flanges" will go through the pipe which contains the EOA. The minimum thickness can becalculated acording to formular 4.119 in Riecke (1982), given the need excitation and the saturation flux of the flange material. <br />
h_0 = \frac{\mu_0 NI}{B_0 |ln(tan(\theta_0/2))|}<br />
<br />
For soft iron we will assume a saturation B_0 = 1T and the cone angle is on the order of 50 degrees. So all four flanges needs to be at least 3mm thick. The minimum thickness of the encasing can be calculated from 4.125. The inductance of the proposed coil designs, assuming a an iron core, will be on the order of 1H, which is significant. Care will have to be taken to avoid transients, which could generate very high voltages and arching in the coil. <br />
<br />
Simple formula to calculate the temperature increase in the coils. NI=\sqrt{C_T h_{0}^3 sigma q \deltaT} \sqrt{eta +1/eta}, where C_T is the cooling efficiency of the coil, sigma is the specific electrical conductivity of the wire material; q=Na/A is the space factor of the coil windings, where a is the actual cross-sectional area of the copper wire employed; h_0 represents a charateristic length for the size of the coil cross-section and is defined by h^2_0 =A; and eta=h/h_0 specifies the shape of the coil cross-section with h as the extension of the coil in the direction of the lens axis. If b is the radial extencion of the cross-section of the (rectangular) coil, its 'aspect ration' h/b can be easily seen to be conected with eta by h/b = eta^2. The value eta=1 indicates a square cross-section. This formula can also be expressed in current density j_w=\sqrt{C_T sigma q (\deltaT/h_{0})} \sqrt{eta +1/eta}.<br />
<br />
It is not possible to change the cooling efficiency by very much by changing the aspect ratio of the coil cross-section. The space factor of the windings is generally about q=0.65. The value C_T is determined by the general properties of the coil and the cooling mechanism. If water cooling is incorporated in the external lens casing, C_T of 40-50Wm^{-2}C^{-1} can bee achieved corresponding to an average current density of j_w = 1.8A/mm^2 at a temperature rise of \delta T = 70C.<br />
<br />
So for L1 SEM mode we can choose design with S/D=1 and D=8mm, hence f_1/D=0.925 (f_1=7.4mm SEM). So D/f_1 = 1.08 According to Lenz (1982) figure 3.11 we then need an reduced excitation of 8.7AV^(1/2). The reduced excitation is defined as (NI)/(\sqrt{U}), p172, where U is the beam voltage. That is, sqrt{62500}*8.7 = 2175turns. <br />
<br />
In L1 Printing mode we need the asymtotic focal length of 23.08mm, this requires less turns hence f_1/D=2.89. So D/f_1 = 0.346 According to Lenz (1982) figure 3.11 we then need an reduced excitation of 5AV^(1/2)Thus we need a reduced excitation of 5*sqrt{62500}=5*250=1250 A-turns. <br />
<br />
We choose the demagnifying lens SEM mode design as this demads more turns, yet will also operate in print mode as well but at a lower current .<br />
<br />
For L2 in printing configuration we need a focal length of 255mm. At this position we need to accommodate the expanded beam and allow for delection of the beam in the lens. The needed lens diameter has been found to be 67mm at least.plus its 16mm beam thickness (See spread sheet K81) and clearance ie needs 83mm diameter. We would like to make this lens shorter to allow room for the deflection coils hence we will choose a S/D ratio of 0.7 D=90 so S=63mm. For L2 we found D/f_2 = 0.353 according to Lenz (1982) figure 3.11 which results in an reduced excitaiton of 5.0 or 1250A-turns.<br />
<br />
So coil dimensions allowing 180% space for wire packing density.<br />
<br />
For demagnifying lens SEM mode assume that we need 2000A-turns. The max current density we can accept with a temperature increse of 70C is 1.8A/mm^2. We then need a coil cross-section area of 2000/1.8 = 1052.6mm^2. Corresponding to 32.4mm x 32.4mm. Assuming that we can drive a max of 1A through the coil, we need a wire cross-sectional area of 0.52mm^2 or a side length of 0.73mm. This corresponds to a AWG 20 or 21. [http://www.hmwire.com/New%20PDFs/American_Wire_Gauge_to_Square_mm_Cross_Sectional_Area_Chart_1.3.15.10.pdf] If we take AWG 20 each wire will take up an area of 0.81^2mm^2 = 0.65mm^2. For 2000 wires we then need 1312.2mm^2 of coil cross sectional area. This corresponds to 36.2mm by 36.2mm. or with an extra margin 25 mm x 55mm. 1375mm^2.<br />
<br />
Demagnifyng lens Assume j_w = 1.8A/mm^2 max current/cm square is 180A/cm sq in coil, Assume wire crossection is square, and max current in an individual wire is 4A, therefore 67 wires per cm sq max., so round down to 8x8 wires in one cm sq diameter 10mm/52 =0.19mm from awg chart AWG 17 with varnish insulation, 2750 wires in probe forming lens so approx cross section area of coil 2750/64=43 sq cm 12 cm x 4cm. round up to 12 x 6 for tolerance.<br />
<br />
For demagnifying lens Print mode assume that we need 1500A-turns. The max current density we can accept with a temperature increse of 70C is 1.8A/mm^2. We then need a coil cross-section area of 1500/1.8 = 789.5mm^2. Corresponding to 28.1mm x 28.1mm. Assuming that we can drive a max of 1A through the coil, we need a wire cross-sectional area of 0.52mm^2 or a side length of 0.73mm. This corresponds to a AWG 20 or 21. If we take AWG 20 each wire will take up an area of 0.81^2mm^2 = 0.65mm^2. For 1500 wires we then need 975.0mm^2 of coil cross sectional area. This corresponds to 31.2mm by 31.2mm or with an extra margin 25 mm x 55mm. 1375mm^2.<br />
<br />
<br />
Probe forming lens Assume max current/cm square is 180A/cm sq in coil,Assume wire crossection is square, and max current in an individual wire is 4A, 67 wires per cm sq max. , , so round down to 8x8 wires in one cm sq diameter 10mm/8 =1.25mm from awg chart [http://www.hmwire.com/New%20PDFs/American_Wire_Gauge_to_Square_mm_Cross_Sectional_Area_Chart_1.3.15.10.pdf] AWG 17 with varnish insulation, 600 wires in probe forming lens so approx cross section area of coil 600/64=10 sq cm 4cm x 2.5cm.<br />
<br />
(Note Later we should consider whether we can use a permanet magnet design, W.D Riecke (1982) p. 168 writes that permanent magnets are can provide magnetic potentials up about 3000 Oe cm or about 2400 ampere turns, which is sufficient up to a beam voltage of 50kV, ours beam voltage is 62kV, so how does these figure compare with the values for modern neodymium magnets? The magnets must remain under their Curie temperature of 320C.)<br />
<br />
(Note reduced excitation is defined as (NI)/(\sqrt{U}) The minus disappears when the multiplication is turned into a division Then a reduced excitation of 8.7 AV^(1/2) corresponds to 2175A-turns.)<br />
(Note The asymtotic focus position will be 10.0mm form the lens midplane according to Lenz (1982) figure 3.12 from reduced excitment of 7.5 so from graph Zv/D =1.2, D=8 so Zv=1.2*8=10 . The real focus position will be about 9.1mm from the lens midplane acording to figure 3.10 as at reduced exicetment of 8.7, Zf /D =1.1 given D=8 so Zf=8*1.1=9.1. K: I currently have baffel at 29.3 not 9.1, in SEM mode the image should be before the appature. We have calculated abouve that the image sits at 30mm after the lens midplace in printing mode, so the apature placement should be alright.))<br />
<br />
<br />
==== Simplificaton of the EOA design ====<br />
Given that we have taken our design principles form SEM designs, where the spotsize requirements are much more stringent than for our pourpuses we might be able to get by with some further simplifications that will make the machine much easier to build. The pole pieces are introduced to reduce the abarations, but they might not be needed. Also the deflection system we have chosen is selected because it reduces abarations, by making the electron beam pass through the center of L2. We might be able to get by with having the delections coils sit after L2 outside of the pipe for the EOA. We the delection coils outside the pipe and no requirement for the pole pieces and choosing a thin non-magnetic pipe, (about 1mm thinkness, 0.5 should be enough to hold the vacuum, but it would be very hard to weld. 1mm is more feasible.) we could place the magnetic lenses outside the pipe. This would make it much easier to acess and adjust the lenses, i.e. they can then be slid up and down the pipe. The only thing we would need to be inside the pipe is a baffle. If we make the baffle sit at the intermediate corss over and we can isolate the baffle electrically we could use the current from the baffle to ground as a measure of focus (if outside of focus electrons will be absorbed by the baffle), which would make it much easier to focus L1.<br />
<br />
==== Design of the deflection coils ====<br />
Out first choice of deflection systems is called a prelens double deflection system in P.Hawkes & E.Kasper volume 2 page 824. This system consists of two deflectors D1 and D2 at a distance 2a and a in from of L2, respectively. D2 has twice the amount of windings and the opposite polarization of D1. In this system D1 will deflect the beam out of the optical axis and D2 will deflected it back in such a way that the beam passes through the center of L2 to reduce aberrations. The deflectors consists of rings of a high permeability material like ferrite, with windings whos normal is perpendicular to the optical axis. From expanding the magnetic field in the interior of the deflector in Fourier terms one learns that the coefficients can be written as a_k = \frac{4}{\pi}\sum_{i=1}^{n} N_i sin(k\theta_i). By carefully choosing the number and angles of the windings on the ferrite ring the odd coefficients can be made to vanish, reducing the aberrations from the deflectors. Hawkes & Kasper p. 839. For instance n=2 and N_1 = N_2 leads to \theta_1 = 48 degrees and \theta_2 = 72 degrees, see figure 40.13 in Hawkes & Kasper.<br />
<br />
Calculation of the necessary field strength. Assuming the z axis to be the optical axis of the EOA, one would need a magnetic field purely in the x direction to deflect the beam in the y direction, i.e. the field is perpendicular to both the velocity of the electron and the direction of deflection. In this case the force on an electron can be written as F=evB. In the case where a force is perpendicular to the velocity one will obtain a circular motion, i.e. centripetal force. The radius of curvature will be given as R=(m/eB)\sqrt{2eV_acc/m}. With the definitions of the various lengths given in the figure to the right we can write the deflecton length x over the distance S as R=S^2 + x^2 / 2x \approx S^2/2x. Combining with the expression for the radius of curvature we get S^2/2x = (1/B)\sqrt{2mV_acc/e}. <br />
<br />
In our current design we would like to deflect the beam about 20 degrees over a distance of approximately 2cm, corresponding to x=7mm. Hence we can estimate the required B field from the above formulas. B = (2x/S^2)\sqrt{2mV_acc/e}. Setting V_acc = 62keV and S=2cm and x=7mm we get B=0.015T.<br />
<br />
For a circuit with an inductance the instantaneous current and voltage is given by i=I_p*sin(2*pi*f*t) and v=2*pi*f*L*cos(2*pi*f*t) where f is the frequency, I_p the peak current and L the inductance. To drive the coils at the frequency f we will then dissipate the power P=R*I_p^2*pi. And the peak voltage in the system will be V_p = 2*pi*f*L*I_p. <br />
<br />
Experiments with a mock up model of the deflection coil configuration has shown that a high permitivity material like ferrite is required. Because of the high frequencies the coil is required operate at a low conductivity material like ferrite should be used.<br />
The experiments showed that about 2500A-turns are needed to obtain a field of 15mT in the center of the deflector. A ferrite coil with 2500 windings will have an inductance of at least a few H, which could present a problem. Driving this coil at 10000 Hz would mean we would have to handle peak voltages on the order of 100kV. We might need another design of the defection coils. Maybe akin to a set of Helmholtz coils. This would also mean we should change the deflector design form a one deflector design to a one deflector design like in a tv.<br />
<br />
The expression for the field strength in the center of a pair of Helmholtz coils is B = (4/5)^(3/2)\mu_0NI/R. Setting R=4cm and B=0.01T we get NI=500. And because these coils are air coils we get much lower inductances. An air coil with a diameter of 8cm and 500 windings will have an inductance of about 50e-6H.<br />
<br />
By making the deflection zones longer, we can lower the requirements for the B field strength. Making the deflection coils 8cm long instead of 2cm we can lower the required field strength by a factor of 4^2 = 16. That is we need a field of 1mT. For a set of Helmholtz coils to give 1mT at the center, when the radius of the coils is 5cm, we need about 100 ampere turns. Such a coil will have an inductance of a few microH. And we would have to handle peak voltages of about 1V.<br />
<br />
Measurements in the lab has shown that for a traditional deflector design (not Helmholtz) we need 0.9A*2400 turns to achive a field strength of 1mT in the center 5 cm from the edge of the coils in the case of air coils. If we construct a yoke of laminated silicon iron we need 0.1 A*2400 turns to achive 1mT in the center. In this experiment the windings of the coils was 5cm by 5cm and the yoke was 2.5cm x 2.5cm. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Helmholtz deflection coil assume max current/cm square is 250A/cm sq in coil,Assume wire crossection is square, and max current in an individual wire is 0.5A, 250/. =500 wires per cm sq max. , , so round down to 22x22 wires in one cm sq diameter 10mm/22 =0.45mmsquare from awg chart [105] AWG 25 with varnish insulation, NI required 200 per coil , (400 wires per pair) ,each helmholtz 400 wires so approx cross sction area of coil 400/500=0.8 sq cm thickness 2.cm x width 0.4 cm. coil groove is 2cm by 1cm (skin depth at 20K .9mm diameter so ok). <br />
For 1 m from platform to probe forming lens 11 deg interlens deflection required pipe radius 16mm I.D.<br />
<br />
=== SEM Vision System ===<br />
<br />
The 3d printed layer can be measured via a sensor pick up ring that's attached to gravity fed powder hopper just above the build surface with 2 powder wiper blades attached. <br />
The SEM Vision will be based [http://www.ecmjournal.org/journal/smi/pdf/smi98-17.pdf topological mode SEM vision] and provide µm resolution.<br />
<br />
=== Vacuum Chamber and Pump===<br />
<br />
* Glass Chambers MetalicaRapBaby (3D printer prototype version) and MetalicaRapLight EBPVD (solar cell printing version)<br />
<br />
MetalicaRapBaby 3D printer: 3D print chamber based around large diameter borosilicate glass tube with aluminum plates on the top and bottom with L gasket seals (as used on vacuum bell jars). The bottom aluminum plate can be lowered to gain access to the attached build platform/motors/sensors and includes electrical feed through.A Stand will support the glass tube and the top aluminum plate with the gun and power supply attached via O rings above it, beam tube to gun/filament/anode chamber will need to be welded in mother chamber due to heat when printer is operating. Large diameter removable cement pipe used to shield around it all. <br />
<br />
MetalicaRapLight EBPVD ( Solar version) chamber based around a square bottom flask with metal vapor trap. Glass chambers are connected to electron gun tube via top Aluminum plate Tube/Glass adapter; with 5 o rings, 2 for gun tube sealing and 3 for top aluminium plate to square bottomed flask sealing, having 1 o-ring for cushioning end of glass and two for sealing each joint.Large diameter removable cement pipe used to shield around it all. <br />
<br />
*Pump is a roughing pump 2 stage Vane pump e.g.Leybold D4 D4B Trivac Rotary Vane Dual Stage 3.4cfm 2K euro new. to '''1 x10-4 torr''' gas ballast off [http://www.hyvac.com/tech_support/Gas%20Ballast%20Valve%20Explanation.htm] [http://www.pchemlabs.com/product.asp?pid=2302][http://www.idealvac.com/files/manuals/Leybold_d4_8B_InstructionManual.pdf] 1.0x<math>10^-</math><math>^4</math>Torr )<br />
<br />
*High vacuum <math>10^-</math><math>^4</math> Torr to <math>10^-</math><math>^5</math><br />
<br />
*Electrical feed-troughs ; For tungsten filament AC 6V 15W 50/60Hz heater power supply based around modified microscope flat wound bulb's body(sm8018) giving a -63 KV Wehnelt feedthrough which is within a test tube providing -60KV cathode feed-through, using large diameter glass cylinder chamber with L gaskets TV feedthrough seal with o rings or o ring to copper tube then connect TV neck to copper tube. Glass tube to metal tube connection video[http://www.youtube.com/watch?v=OWw32BLodjY].<br />
<br />
*Mechanical feed-troughs ; will be avoided by using periodically replaced cheap standard Nema motors within the chamber.<br />
<br />
*Viewing & illumination windows ; As main chambers will be glass no others are needed beyond.a window in the surrounding shielding box of standard glass 70mm thick can be multiple sheets no seal required as outside main large diameter glass cylinder. <br />
<br />
*Pirani vacuum gauge home build version (use google translate) [http://tubedevices.com/alek/prozniomierze/pr_piraniego/wakuometr.pdf]<br />
<br />
*Outer box for shielding constructed of cheap material 3cm of concrete (or solidified sand or earth brick).<br />
<br />
===Metal powder dispenser===<br />
<br />
This will be a gravity fed split powder hopper.A small hopper will move in the x direction, intermittently refilled by main hopper situated besides electron gun tube. The small hopper will have a 12Kg powder capacity, this gravity fed powder hopper just above the build surface has two 1cm square section powder wiper blades attached wither side, leveling the roughly dispensed powder. The powder is released using two sliding slotted plates. A second main powder hopper will gravity feed the 12 kg hopper. The 12kg hopper will be sitting in a box created from a single 8cm thick sheet of aluminum self shaped to a box by MetalicaRap subtractive electron beam cutting.<br />
<br />
Other dispensing considerations: <br />
<br />
*clumping may be an obstacle at high vacuums, A better metal powder flow through the hopper could be achieved through a slight vacuum reduction during gravity hopper operation and then reevacuating again before bean melting resumes.<br />
<br />
*SEM pickup PIN diodes protection cover will be used when printing.<br />
<br />
===Build platform===<br />
<br />
A 30cm vertical travel stepper motor driven circular platform within a 14 inch 304 tube printed in parts. Within the build platform is a built in ceramic insulation layer. Two felt or titanium metal brush o- rings seal to keep the metal powder from falling through build platform and build platform cylinder.<br />
<br />
===Power supply===<br />
<br />
Power supply Full Bridge LCC Series Resonant Converter with duty cycle switching variation control and above resonance frequency switching variation control, through this frequency variation maintaining Zero Current Switching during Coolmos switch ON and Zero Voltage switching during Coolmos OFF switching, with Arc sense, arc quench and arc count with output via a gun resistor, this gun resistor combined with the power supply itself will be used for beam current control . <br />
<br />
'''High output series-parallel resonant DC-DC converter''' (search on this bold text string) -62.5KV 0 to 5KW running at 181.5KHz resonant up to 500Khz at idle/no load, with a -325V to -62.5KV transformer with voltage doubler on output, the transformer is designed for a specific value of inductance and capacitance to operate at the desired resonant frequency, as the load changes the parasitic capacitance of the transformer changes too, this means that at high load the series resonant converter topology dominates and light / no load the parallel resonant converter topology dominates. The change in load changes dramatically due to occasional arcing in the gun, This topology deals with these changes effectively. Each of the 178 PCB transformer secondary converter stages is a pcb with 1 turn coil track outputting -354 V d.c. via cheap rectifiers and voltage doublers/smoothing capacitors, when this is combined with the resonant tank gain of a range from 2.25 times to 6 times, the output voltage of 63KV is obtained. Along the stack of pcb's the voltage increases gradually keeping under the paschen air arc limit. Secondary converter stages are connected in series creating the -62.5 KV output,. Two C shaped transformer N87 ferite cores with 11 turn primary (54A) and a high voltage 178 PCB secondary insulated bobbin 4mm deep of UHMWPE seperates ferite core and PCB secondaries. <br />
<br />
'''Power supply feedback control''' around transformer measures ''Output voltage feedback'' via 208 thick film resistors creating voltage divider. ''Output current sense feedback'' via a temperature stable resistor in ground voltage path. ''Input /Primary current sense'' via 2 "current transformers" in series in each leg of full bridge. Wehnelt voltage feed back via thick film voltage divider. These four signals go via signal reconditioning board then on to Field programmable gate array (FPGA) [http://store.gadgetfactory.net/papilio-one-250k/]via four channel analogue to digital converter (ADC) 12 bit 40Msps[http://uk.farnell.com/analog-devices/ad9228bcpz-40/ic-12bit-adc-quad-40msps-lfcsp48/dp/1274207][http://hamsterworks.co.nz/mediawiki/index.php/HiSpeedXfer]. FPGA process maintains input and output current parity within acceptable current window values. Allows a small error signal from voltage output variations when within a narrower voltage output window values. FPGA drives 4 coolmos FET gates in full bridge topology via driver circuits. FPGA also checks for error conditions. Solftware for the FPGA is a PID controler [http://opencores.org/project,pid_controller] and a osscilator. A separate housekeeping supply provides bias for all control circuitry, providing a 5V separate stand-by voltage which remains active when the power supply unit is shut down for any reason ( later once efficiency of power supply is assessed a Power Factor adjuster circuit may be added between rectifier and dc to dc converter). <br />
<br />
Beam current modulation options;<br />
<br />
* Control via power supply feed back circuit, leaving gun cathode to Wehnelt electrode bias fixed via resistor. When at 1KW power and shut down in half a cycle ( 0.2MHz switch frequency) the resonant energy left in LCC circuit and output capacitance would lead to one extra 55micron cube of melted Titanium or 40 microns cube of melted steel which is workable .<br />
<br />
== Self replication ==<br />
<br />
Self-replication of a vacuum chamber runs into the "how to make a [[Scaling#How can a machine build something bigger than itself | match box inside a match box problem]]". <br />
<br />
This will be overcome by purchasing a large diameter glass cylinder 406.4mm diameter 1130mm long and using Vacuum bell jar style Viton L gaskets top and bottom to aluminum top and bottom plates. All build platform parts can be printed in the mother machine in segments then assembled and fitted within the glass cylinder which provides the vacuum seal. This also means TIG welding gear is not needed as all parts can be electron beam welded together in mother machine. Later glass test tubes and ultimately glass cylinder can be manufactured in oversize machine by beam melting glass sand in contact with metal within chamber or in hotter climates by solarsintering[https://www.google.dk/search?q=solarsinter&client=firefox-a&hs=bAY&rls=org.mozilla:en-US:official&tbm=isch&tbo=u&source=univ&sa=X&ei=qfzbUaWvHcmRswbqtoHQDg&ved=0CEAQsAQ&biw=1280&bih=642][www.markuskayser.com].<br />
<br />
==Specialist Parts ==<br />
<br />
Those which are not self printable or readily available; <br />
<br />
*Transformer ferrite core ; Rectangular hollow section shape single phase style [http://en.wikipedia.org/wiki/File:Transformer_winding_formats.jpg] but modified by a drill removing corners so circular cross section on secondary high voltage side.<br />
*4 toroid coil cores Material (?) <br />
*Roughing pump capable of 10-4Torr<br />
*long large diameter Flexible hose to reduce back streaming of oil from pump to gun (with end CF-16 hose to pump fitting)<br />
*Priani vacuum gauge ( now home build version availible (use google translate) [http://tubedevices.com/alek/prozniomierze/pr_piraniego/wakuometr.pdf])<br />
*Electrically operated CF-16 T valve<br />
*Exhaust Valve<br />
*Transformer varnish insulated wire for coils<br />
*Viton o rings; 6 small for cathode, 3 small & 3 large for gun tube to glass chamber adapter, two large 18inch bell Jar L gasket seals with top and bottom aluminum plates. <br />
*Carbon or ceramic high temperature washers 2000+C for Wehnelt support x 9 (3 support rods)<br />
*Copper OPFC knfe edge flange sealing rings; 2x 6.34inch DN() , 1 x DN80 anode, electron gun tube flange 1.33inch DN() for 6.34 inch to 1.33inch reducer plate.<br />
*Safety vacuum cleaner ( needed for cleaning up Aluminum and Titanium) Self printed.<br />
Access to ;<br />
Vacuum leak detector<br />
Spot welder for in chamber electrical connections of OFPC copper conductors having glass beads as conductor insulation. <br />
Geiger counter eg Radiation Detector - Pocket Geiger Type 4 [http://www.radiation-watch.co.uk/], Self-indicating instant radiation alert and dosimeter (SIRAD) [http://www.livestrong.com/article/119046-types-dosimeters/] easily worn, result via comparison with color chart ( 4 - 25 Euro each SIRAD) [http://www.amazon.com/RADStickerTM-radiation-exposure-determining-dosimeter/dp/B004VJ06CI/ref=pd_sim_hpc_1/179-8364669-5246522] [http://www.amazon.com/SIRAD-RADTriage-FIT/dp/B005GNM6NU].<br />
<br />
Avoid the need for TIG Welder in MetalicaRapBaby by bourgt in part electron gun beam tube being short enough to be able to fit in chamber of mother machine, (TIG welder for electron gun tube and tube to flange attachment for MetalicaRapBabe).<br />
<br />
=Background Technical design considerations=<br />
<br />
==Construction Materials==<br />
<br />
Materials:<br />
* Electron gun wall stainless 304 L: cold rolled, [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf p.243]<br />
<br />
*Metals for cathode/1st anode-Wehnelt/anode electrodes (tungsten/molybdenum/tungsten) , curved steel cover for bulb filament.<br />
<br />
*Metal for "soft iron core" surrounding the two lens coil windings: unalloyed soft iron. For yoke and polepices use a soft iron, like AISI 1006.<br />
<br />
*Interlens X Y-deflection coils made from 3 ferite toroids. All the X deflection couils will be interconnected, with the first toroid wound in opposite direction from the second and third toroids and the Y deflection coils similarly connected.<br />
<br />
*Thermal conducting material for anode support structure that extends through the middle of the anode support: Copper for Wehnelt support rods and water cooling core within 304L anode support rod, see [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf p.246].<br />
<br />
*Thermionic emission regime hot filament design: tungsten in the form of a light bulb sm8018, see cost saving approaches below. ( Or a tungsten ribbon 2mm wide 0.254mm thick (copper infused tungsten has also been mentioned as physically more stable)).<br />
<br />
*Ceramic insulators, you can use either mullite or alumina. Avoid stuff like teflon (is a sponge for water, and outgasses too much) or macor (machinable glass -- too delicate). Your shoulder washers in electron gun support are standard commercial items. These are specialist items so we have tried to replace them with everyday glass items e.g. test tubes.<br />
<br />
Finishes:<br />
Interior surface of vacuum chamber should be polished (..) and then cleaned acetone and ethyl alcohol.<br />
<br />
Matirials to aviod:<br />
*Avoid zinc, magnesium, and lead, as these don't have negligible equilibrium pressure at temperature, i.e. out gass too much at elevated temperature. For example avoid brass as out-gasses intensely when it gets hot, which can lead to ionization and flash overs, see [http://www.cientificosaficionados.com/libros/CERN/vacio19-CERN.pdf p.237].<br />
<br />
==Powder and metalurgy issues==<br />
<br />
NASA is also making their own machine but with wire not powder. The 1 hour lecture is a good introduction to the metallurgy involved in EBM, see [http://mfile.akamai.com/18565/wmv/etouchsyst2.download.akamai.com/18355/wm.nasa-global/nasaaero/podcast_16.wmv here]. (If this does not work then go to http://www.aeronautics.nasa.gov/electron_beam.htm# Select ''windows streaming'' in main page, then Windows Streaming Video then ''+window streaming'' in pop up window, some other selection options come up with the wrong video).<br />
<br />
Play with this [[MetalicaRap:Build_Speed_Calculator|Online Design Tool: Build Speed Calculator for metals]] build speed software we have written and then you get a good idea of which metal you want to start with.<br />
<br />
The initial test run prints will be made in stainless steel 30µ (Pre cool final printed parts from this powder is therefore likely to achieve a tolerance of 250µ) and chromium cobalt under 50µ 30µ?( Pre cool final printed parts from this powder is therefore likely to achieve tolerance of 250µ)metal powder [http://www.matweb.com/search/DataSheet.aspx?MatGUID=063cc43071304251825aee8f7366acc7]supplier[http://www.smt.sandvik.com/osprey], and then later the challenges of Titanium 4µ powder will be considered (Pre cool final printed parts from this powder is therefore likely to achieve tolerance of '''20µ'''). See article on micro sls [http://www.micromanufacturing.com/showthread.php?t=630]. See example machine [http://www.eos.info/fileadmin/user_upload/downloads_presse/MLS/Micro-Laser_Sintering.pdf],See example of twin chamber 3D printer[http://www.youtube.com/watch?v=iVPmrRCc7_U&feature=player_embedded#at=245]. Though through subtractive machining we may be able to bring critical surfaces of most of parts down to 20µ. stainless is 316L grain size -45µ+10µ product purpose 3D printing good fluibility, 60gbp a kilo best price 80 kg per buy delivery 3 month. Powder is manufactured from cold rolled metal (e.g. 304 approx 1.8 Euro a KG 07/20111) by Electron Beam Melting of a rod of feed material which then is momentarily caught on spinning plate and flung thereafter, thereby solidify by cooling. See[http://www.patentbuddy.com/Patent/4218410] [http://www.google.co.uk/patents?hl=en&lr=&vid=USPAT4218410&id=rr4vAAAAEBAJ&oi=fnd&dq=metal+powder+beam&printsec=abstract#v=onepage&q&f=false]<br />
<br />
The magnetic metals lead to magnetizing of iron based metal powders so should be avoided where possible, the main magnetic metals are iron, nickel, cobalt and some of thier alloys. <br />
<br />
The metal powders are not good to ingest or breath in so a mask should be worn. The metal powders may get caught in the fine folds of your skin so gloves should be worn. <br />
<br />
All metal powders burns easier than solid blocks and some of them are a fire hazard. The active metals are most flammable and difficult to handle: Titanium 4µ, other active metals include aluminum, zirconium, then the moderate range metals e.g. cobalt chromium 50µ and finally low range stainless steel 30µ. General fire avoidance should be followed, avoid sparks and open flames, avoid dust clouds, e.g. through dumping action of powders, and use appropriate tools. <br />
Design principles of fire avoidance should include: appropriate grounding of equipment, avoiding excess mechanical friction in design. For active metals consider a glove box contained nitrogen clean up environment or just a liquid based vacuum cleaner.<br />
The number of electrons, the velocity of electrons and the beam diameter all effects the resultant melting and penetration. Putting the focal point within the metal gives more penetration, while placing it above the metal spreads the beam and gives a wider melt pool. Beams with higher electron current penetrates deeper and inputs more heat, yet less current with higher velocity electrons gives less heat input and less penetration. <br />
<br />
The first layers are tricky to print; the first layer must weld well to metal base to stop part warping, because cold platform contact hot metal residual stress tries to snap build platform so build platform needs to be thick to resist this force, must also need to be reusable after each print must be milled. (Carification needed)<br />
<br />
Cost reduction by pre-processing milling metal into metal powder within MetalicaRap through electron beam melting on to a spinning disk is also achievable later. For a particular steel unprocessed it costs about 0.5 Euro/kg, but traditional metal stock for milling machining costs 20 Euro/kg, for metal powder up to 60 euro/Kg, these raw material pre-processing costs may reduce to 1Euro/kg by self processing.<br />
<br />
Pros and cons of 3d metal processes [http://www.additive3d.com/tl_tab2.htm](see below for link comparing tool head processes for more detail)<br />
<br />
==Safety issues==<br />
<br />
Firing a high voltage highly accelerated electrons at a metal target will generate X-rays. This is essentially what the X-ray tube at the dentist's does. And so will MetalicaRap, so beware. <br />
<br />
The penetrating ability of the generated X-rays is proportional to the acceleration voltage of the electron beam (electron energy). In your old fashioned television (C.R.T.) the acceleration voltage was 30kV, as long as you kept the electrons inside the tube it was not a problem, people sat in front of it for 40 years with no ill affects. But with with MetalicaRap precautions should be taken, like in the hospitals. MetalicaRap keeps the electrons and the targets within a glass or metal box surrounded by a further shielding concrete/sand container. <br />
<br />
We can use this formula to calculate the dose rate,<br />
<br />
R [rad/s] = 50 x V [kV] x I [mA] x Z_{target} / [r [cm]]2 x 74 where V is acceleration voltage, I beam current, Z_{target} is a constant for target metal, r distance from target. The formula is from the Radiation safety manuel [http://docs.google.com/viewer?a=v&q=cache:Io4AhKSomvsJ:radmanual.stanford.edu/+recomendation+120KV+xray+protection&hl=en&pid=bl&srcid=ADGEESjt3ns4RTR5wPpk0oeyFoc594gXSZka3GXZfjT6LccWU1f8P1RH3Sz0fRU5C_cxfp4_IG-uP3W3u_SYzs-wupnVZp8tTgc_R8siQKa1WD8NUerImXZRwuS4vRR5Ddzby8esMKnL&sig=AHIEtbT3JqgrTM4li4JFJDsqiT4O5dPnxw page 11].<br />
<br />
Lets calculate the dose inside the box we find;<br />
<br />
The dose rate ''' inside''' the chamber at 14 cm from a copper target operated at 100kV and 14 mA is: 50 x 100 x 14 x 29/ (7cm)2 x 74 = 560 rad/s.<br />
<br />
The recommended shielding from this level of radiation for working hours use is 1.2mm of lead. <br />
<br />
Comparing lead equivalent shielding in different materials ; 1mm lead equivalent by materials to ; 2.5mm steel , 6.1mm concrete , 9.1 mm packed soil, 50mm Borosilicate glass, [http://www.raybar.com/cntrl_wndws.htm] [http://en.wikipedia.org/wiki/Radiation_protection].<br />
<br />
Our MetalicaRapBaby and MetalicaRapBabe chamber/gun area's made out of stainless steel 304 5mm thick, which is equivalent to 2mm thickness of lead shielding. Combined 12mm glass surrounded by a 30mm thick outer shielding concrete box equivalent to 0.24mm + 5 mm=5.24mm thickness of lead. So between nearly twice and four times the required shielding is provided by the chamber and shielding box. So plenty of shielding is evident.<br />
<br />
<br />
=General Information=<br />
<br />
==Solar cell thin film deposition==<br />
<br />
Thin film deposition summary by material [http://www.cleanroom.byu.edu/TFE_materials.phtml] RF sputter is another option for increased solar cell production rate [http://www.msi-pse.com/magnetron_sputtering.htm] uses the electron beam to resonate a cavity to produce an RF magnetron) .<br />
<br />
== Green Tech./Solar Cell production cost calculation==<br />
<br />
To produce thin film CIGS solar cells at under 11 cents per Watt peak. So Solar cells cost for a family 3 Bed house; Average Electricity usage 4200KW per year, 4200KW/365days*4.93 Equivalent Hrs peak sunshine= 4200KW/1800Hrs=2.3KW peak of solar cell panels required, at 11 cents per Watt peak the solar cell's would cost 253 dollars from MetalicaRaps plant plus cost of backing material, cost of inverter plus extras 1300 dollar, so it may offer an uninstalled system at under 1,900 dollars,( current price for uninstalled system is around 14,000 dollars (jan 2011)). (Calculation based on cloudy areas of world, 1KWatt peak solar panel system under 4.9 hours peak sunshine per day gives approx 1800KWh per year, A desert area at low latitude would be up to twice as good as this.)( For reference in a hot climate a 1.25 dollar/W installed financed system gives ;0.07 dollar/KWh over 20yrs, 0.03dollar/kWh over 60 yrs [http://solarcellcentral.com/cost_page.html])<br />
<br />
== Useful links ==<br />
<br />
EBM introduction [http://books.google.com/books?id=f7Uj1uTwkosC&lpg=PA19&dq=ebm%20advanced%20methods%20of%20machinin&pg=PA1#v=onepage&q&f=false]<br />
<br />
Images EBM / EBW [http://www.google.dk/images?as_q=ebw+welding+equipment+EBW+EBW&um=1&hl=en&client=firefox-a&rlz=1R1GGLL_en___DK361&biw=1205&bih=537&btnG=Google+Search&as_epq=&as_oq=&as_eq=&as_sitesearch=&safe=off&as_st=y&tbs=isch:1,isz:m]<br />
<br />
General background Videos EBW see here [http://www.youtube.com/results?search_query=electon+beam+welding+-laser+&aq=f] <br />
<br />
Back ground Information on Electron beam processes; electron beam welding / vaporization , [http://www.arcam.com/technology/ebm-process.aspx EBM 3D printing], <br />
<br />
Scanning electron microscope (3)(4).<br />
<br />
More technical sites<br />
<br />
[http://www.matter.org.uk/tem/sitemap.htm Introduction SEM background]<br />
<br />
[http://www.uga.edu/caur/semindex.htm SEM Detail background]<br />
<br />
General practical technical information; Power supply; Transfomer winding [http://ludens.cl/Electron/trafos/trafos.html]<br />
<br />
.General practical technical information; Feedthrough glass joining ways to adjust your glass items in your test tube based electrical feedthroughs and insulate/construct with bead glass between electrodes.[http://www.youtube.com/watch?v=MsMsZaSz3Fk&feature=endscreen&NR=1], Glass tube to metal tube connection[http://www.youtube.com/watch?v=OWw32BLodjY]<br />
<br />
<br />
General practical technical information;Electron gun / CRT tube salvage ; Explanation of how to take apart a cathode ray tube electron gun to salvage Wehnelt molybdenum disk with hole in ( the first disk in front of the hot wire cathode) a tv CRT [http://www.youtube.com/watch?v=-QOxLRLDVeg] note you can diamond file/diamond saw break the pip on the very back of tube to release the vacuum then reseal with blow torch to keep the electrical feed-throughs functional. Another example of a old CRT oscilloscope.[http://www.youtube.com/watch?v=E55h2JCuCWk&feature=endscreen&NR=1] .<br />
<br />
Conventional Helium detector explanation [http://www.youtube.com/watch?v=oBFsKk1l8CY]<br />
<br />
<br />
Self Replication Engineering Options See section 2. [http://reprap.org/wiki/PhilosophyPage].<br />
<br />
<br />
EBM technical background lecture See here [http://www.youtube.com/watch?v=pkikv0RHWTA]<br />
<br />
<br />
General background Videos EBW see here [http://www.youtube.com/results?search_query=electon+beam+welding+-laser+&aq=f]<br />
<br />
[[MetalicaRap:Tool head processes discussion]]<br />
<br />
==Futher Reading==<br />
<br />
Vacuum chamber principles; Essential reading before you weld/construct your vacuum chamber, Basic Vacuum technology by Varian<br />
<br />
Maths behind vacuum processes (Not for the faint hearted )[http://docs.google.com/viewer?a=v&q=cache:oIlQ1cey5yQJ:zumbuhllab.unibas.ch/pdf/talks/MansVacuumNotes.pdf+vacuum+physics+material+science&hl=en&gl=dk&pid=bl&srcid=ADGEESh6L323mTiDmDbh3uHYCYx4luqsvo2eRLJHaq3R1lj176XOY2DbiNZCQ6Mq4jaHoEI783knjLYDt2XKxdqh5dEBzOv15OMcFBpFiXN0ws-M-43Nyf6LYcKxjqQUgt2x2maR7Tu_&sig=AHIEtbQY7ktBkw6CyfbW_6ky_GHkxrZyuA]<br />
<br />
<br />
[[MetalicaRap:Build_Speed_Calculator|Online Design Tool: Build Speed Calculator for metals including Aluminum,Stainless,Tungsten]]<br />
<br />
<br />
<br />
='''The Following Sections Are For Actual Builders Only Please Ignore If Your Not Actually Building'''=<br />
<br />
<br />
.<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
<br />
<br />
<br />
<br />
.<br />
<br />
=MetalicaRapWin=<br />
<br />
A later innovative development could be the MetalicaRapWin with a beam window. A window between gun and build platform enables the use of high brightness small spot size LaBa6 filaments that last 1,000 hrs as opposed to 70 hrs for tungsten. Allows the use of barrier argon gas at atmospheric pressure surrounding build platform and associated mechanics so no pump down time after accessing build chamber. Will also offer large part manufacturing in inexpensive argon "tents" as only the gun requires a vacuum chamber. Disadvantages include; some ballooning of beam as it passes through approx 5mm's of argon atmosphere between build platform and window, lowing resolution of SEM vision system (x-ray sensing option may help or build platform chamber pump down for vision system and argon for printing), high tech stationary window will involve high tech manufacturing, Low tech aluminum slot window will reduce print speed and increase mechanical complexity as build platform to gun physical scanning motion will be required. Repeated door opening will be overcome through these windows and thus ion pumps or electron beam sublimation pumps will be less stressed. <br />
<br />
Low tech option: Scanning aluminum slot beam window (14cm length x 100µ width)<br />
<br />
A narrow slot window which is physically moved across the build area. Window will be cooled through thermal conduction to water channels surrounding the window. Requires minimum 100kV beam to penetrate a 20µ thick AL window, to keep beam losses below 21%. Beam loss is inversely proportional to acceleration voltage.<br />
<br />
High tech option: Stationary window <br />
<br />
A stationary high tech window that will be cooled through convection and radiation alone. "Transparency" of window enables the possibility of a less penetrating beam of 60kV. 400µ sheet with 50µ micro dead end holes creating an ebeam window.<br />
[[file:BeamdivergenceAtAtmosphericPressureAtThirdAtmosphericPressureHundrethAtmosphericPressure.jpg|thumb|right| Beam divergence at different atmospheric pressures beyond window, left at atmospheric pressure, middle at third of atmospheric pressure , right at a hundredth of atmospheric pressure]]<br />
<br />
=Costs and technical calculations spreadsheet=<br />
<br />
[[file:Gun Calculation MetalicaRap_vers._2.jpg|thumb|right| Gun Calculator, download MetalicaRapReadOnly.ods left side ]]<br />
[[file:Lens coil Calculator MetalicaRap_vers._2.jpg|thumb|right| Lens Coil Calculator , download MetalicaRapReadOnly.ods above left side ]]<br />
[[file:Costs MetalicaRap_vers._2.jpg|thumb|right| Large part costs, download MetalicaRapReadOnly.ods above left side ]]<br />
<br />
<br />
[[File: Gun Coil Pump Cost calculator MetalicaRapReadOnly.ods]] this is metalicarap's master spread sheet click on to download.<br />
<br />
<br />
=Software=<br />
<br />
MetalicaRap will be a software machine. Fast computers (and progamers) are easily avaliable where as high precision machining and calibration of components is relatively much harder. We hope to be able to control the build process to a high level of precision through software tracking, abarration correction and feedback. Belowe we have listed some of the processes that will require software control.<br />
<br />
*'''Electron gun beam focus model:''' To highlight resolution operational compromises between; the higher the gun cathode voltage the tighter gun focus, so the smaller the beam spot size on the metal powder giving rise to a higher XY minimum feature size (lens adjustment can alleviate. [http://www.matter.org.uk/tem/lenses/simulation_of_condenser_system.htm] See lens simulation), yet also the higher cathode voltage the faster the electrons go, so the deeper the electron energy deposition/giving rise to deeper vaporization holes, giving less vertical Z resolution, (used during Z axis error correction mode). Also surface tension is correlated with temperature, and works in opposition to wetting effects flattening the surface of the melt pool (if the melt pool diameter is small compared to the thickness of the metal layer it may appear as a molten blob of metal). This model will receive an energy profile of the beam by pulling two wire prongs through the beam in the X and Y direction, The wire prongs attached to the end of the sensor ring will be pulled through the beam by the XY motor drives, thereby sensing the energy cross section through the electron beam, which will be radioed back to Unified accelerator Library control system, enabling automatic adjustment of beam focus, beam strength and beam spot size. This will also be used to compensate for ripple in the power supply and operational loss of beam alignment from for example filament variation and magnetic interference. All except the last of these effects should be predictable so most calculations for build can be done by the model prior to build in offline mode. <br />
<br />
*'''Thermal Real Time Model:''' This allows us to keep track of the thermal changes across the build chamber or ''cooling path'', as the electron gun pulses strike the build volume powder. Cooling rate controls the micro-structure which determins the mechanical properties of the final part. Defects include residual stress that can only be removed by removing the part from the chamber and heat treating before continuation of the build, so it is best avoided by temperature management. In vacuum there is no convection, only non air heat conduction and a little radiative cooling. The conduction path is only through metal to metal contact so as parts builds the cooling path changes continuously. Also each layer melts part of the previous layer. <br />
We will have to consider the following '''4''' situations conduction rates: <br />
**Metal powder and solid metal volumes experiencing direct electron energy deposition (i.e. heat around electron penetrated regions, the depth of these volumes increases with electron gun accelerating voltage and vary with metal type). See electron penetration model [http://www.matter.org.uk/tem/electron_scattering.htm].<br />
**Solid metal thermal conduction volumes (the completed elements of final metal part under construction).<br />
**Metal powder conduction volumes (the surrounding powder).<br />
**Chamber/boundary thermal conditions (vacuum region, build box). See electron strike model for different metals and different cathode voltages.<br />
In general for any unit volume receiving an amount of energy per second, from a distant energy source, to increase in temperature by 1K (the metals ''specific heat capacity''), the amount of energy (W or J/s) arriving from that energy source (the electron beam) via a path; The paths energy transit rate (the conduction rate) is dependent on the cross sectional area of path, the length of path and the temperature difference between the ends of the path, (''thermal conductivity'' in units of W/K). The volume changes size by the surrounding pressure (atmospheric pressure, indicating the'' density'' of the material). So from ''known initial temperature conditions'' combining the specific heat capacity, thermal conductivity and density to calculate paths, then summing these paths leads to knowing the temperature of a specific unit piece of metal and its physical state, solid or liquid or vaporized (temperature above or below its melting point or vaporization point at any particular time). The following should be considered; variation of mass with scan speed, bed preheating scans. See for more background technical information. (''Clarification needed'') [http://books.google.dk/books?id=Lskj5k3PSIcC&pg=PA146&dq=thermal+conductance+conductivity+%22powder+metal%22&hl=en&ei=GAkqTeH2N4WbOoTy5YID&sa=X&oi=book_result&ct=book-preview-link&resnum=1&ved=0CC0QuwUwADgK#v=onepage&q&f=false] [http://sciencelinks.jp/j-east/article/200402/000020040203A0850242.php].<br />
<br />
* We may need a network structure to combine the different hardware elements.<br />
<br />
=="Unified accelerator library" ==<br />
Our electron beam focus model and control software choice<br />
<br />
Those looking for entertainment might look at the open source Unified Accelerator Library (UAL) that has a 30yr track record of simulation and control of electron beam movement , a '''Electron beam focus model''' and a Control/Simulation approach. But UAL lacks thermal models and metal powder melting modeling so it's main use may be to get the beam spot landing on the powder at the correct position and with the desired diameter defined in the G code from skeinforge. (You can down load UAL here [http://code.google.com/p/ual/source/browse/#svn%2Ftrunk], [http://code.google.com/p/ual/source/browse/tags/ual1_15_2/README] Introduction here, [http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBQQFjAA&url=http%3A%2F%2Fmad.home.cern.ch%2Ffrs%2FSource%2FMAD-X_Day-2%2FMAD-X_UAL_SXF%2FMADX-UAL.ppt&rct=j&q=Madx%20day%202005&ei=E7EuTrjsLcGVOtPThX8&usg=AFQjCNEcCkqht7zxGIHjg1wmrTXvOfq4-A&sig2=kjdk5i3fCHDE8vzAvNth6w&cad=rja] <br />
<br />
Manuel for UAL's Design Toolkit called MADX where you can enter a hardware definition i.e. collection of coils along a beam start with two solenoids at 0.1m and -6 m, beam at 0m along latticeset, at 3kW 100 micron diameter (MetalicaRap will likely have 3 XY deflector coils for beam deflection, 2 "Solenoid" for beam lenses) then run simulation of beam with OFFLINE MODEL UAL 1.9 [http://wise.web.cern.ch/WISE/Other/Doc/madx_manual.pdf here]. <br />
<br />
The hardware definition of coil positions is called the "lattice". The control ONLINE UAL 1.11 will them apply this simulation to the control of the electron guns in real time. Ignore the following elements we don't have them in MetalicaRap: BeamBean, electric kicker,Kicker, RF cavity, taylor map, wake, wriggler .<br />
<br />
This has the advantage of being a closed loop system, which while simulating the beam movement simultaneously records models coils, guns, motors inputs; voltage values, current values etc. Then when you run the real world machine these form the drive instructions to the machine, any sensors picking up deviations are resolved through alarms or the software "reality checking" and thus improving the model. It also is designed as a multi user, multi platform software environment. Some draw backs may be over complexity of the system.<br />
<br />
Main Deflector Coil driver options; a.) Raster 30cmx30cm b.) point and shoot <br />
<br />
*An open source network software Fast Network "EPICS" for running UAL on, see [http://sourceforge.net/projects/epics-dds/] [http://epics-dds.sourceforge.net/index.html this] [http://webcache.googleusercontent.com/search?q=cache:pKkh8duJh9gJ:www.aps.anl.gov/epics/+Epics&cd=1&hl=en&ct=clnk&gl=dk&client=firefox-a&source=www.google.dk More Info here]<br />
<br />
== "Code Aster" ==<br />
'''Our thermal modeling software choice'''<br />
<br />
Quick start instructions on thermal modeling software:<br />
<br />
*Open Source thermal real time model software ''Code_aster'' Introduction here[http://www.code-aster.org/produit_doc/plaq_V7_GB.pdf],<br />
** Download code-aster software (Windows) here [ftp://ftp2.necs.fr/necsD/fichiers/asterwin/Code_Aster_win32_v9.1-1.exe], <br />
**Download extra element GetDP.exe here[http://www.geuz.org/getdp/#Download] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\)[http://www.necs.fr/gb/telechargement.php], <br />
**Download code-aster software (Linux to compile) here[http://www.code-aster.org/V2/spip.php?article272],<br />
** Download extra element GetDP.exe here[http://www.geuz.org/getdp/#Download] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\) once it is installed and extra element has been copied then as it finishs select option to run code aster.<br />
<br />
'''First select your problem type definition files from the wiki''' i.e.Thermal program example See here (Use login user: getdp password: getdp) [https://geuz.org/trac/getdp/wiki/ThermalProblem]<br />
<br />
'''''Second build your mesh of shape you require to be tested''''', with code_aster sub module '''Gmsh''': you can find it In ASTK prg window under menu item Tools ''Gmsh'' \\\ then in Gmsh window select GEO in drop down sub menu ''' //// or import shape via '''.stl''' file''' In ASTK prg window, menu item Tools, ''Gmsh'' , then in Gmsh window select; MESH submenu <br />
<br />
'''Third run solver to solve the problem you have defined above''' by selecting the SOLVER submenu in the GetDP window and hit GetDP button. In GetDP window choose source files for problem; name.PRO file(the problem defined in an example text file from GetDP wiki ) Choose name.MSH ( mesh file defining geometry) Then in GetDP window select options and tick "display client messages" option, then hit Pre then Cal then Pos buttons and then see window called message console window and it will tell you what happened, the output results files name.PRE name.RES name.POS will be in the same directory as the name.PRO file you selected for input. <br />
<br />
General info;(Gmsh is a three-dimensional finite element grid generator with a build-in CAD engine and post-processor) See here [http://www.geuz.org/gmsh/doc/texinfo/#Solver] Can access ''Gmsh'' through Graphic user interface or directly through unix or TCPIP socket via code_aster sub module ''getDP'' Download GetDP.exe here[http://www.geuz.org/getdp/#Download] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\ or specify path to existing location) Overview here [http://geuz.org/getdp/doc/texinfo/getdp.html#Overview]See here [http://geuz.org/getdp/]''GetDP'' documentation here [http://geuz.org/getdp/doc/texinfo/getdp.pdf], Thermal program example See here (Use login user: getdp password: getdp) [https://geuz.org/trac/getdp/wiki/ThermalProblem] Documentation for relevant thermal model calculations See Thermics module R5.02 booklet: / General Architecture D00301a.pdf In DDocsHTML (Down load following two links, unzip to same folder) [http://www.caelinux.org/wiki/downloads/AsterDocs-HTML-En.zip] [http://www.caelinux.org/wiki/images/d/d3/Synopses-HTML-EN.zip], Complete Guide to code_aster documentation here [http://www.code-aster.org/V2/spip.php?article53], Software Principles explained here[http://www.code-aster.org/doc_doc/DOCASTER_en/Man_U/U1/U10300d_en.pdf] ,Aster documentation source here [http://www.code-aster.org/V2/spip.php?article53] , home page here [http://www.code-aster.org/V2/spip.php?rubrique2] wiki[http://en.wikipedia.org/wiki/Code_Aster],<br />
<br />
<br />
=Files and Parts=<br />
<br />
<br />
[[File: Assembly1 MetalicaRap V2.04.stl]] Pre detailing chamber to scale ( work in progress) <br />
<br />
Click on file names to download file<br />
<br />
==Sub Assemblies and Related==<br />
<br />
EBS=Electron beam sinterer/melting.<br />
<br />
sequence - electron gun parts repstrapped EBS. Assembled tested in repstrap vacuum chamber. Metal powder deposition mechanism parts repstraped EBS . Gun deposition assembled tested. MetalicarapVacuumChamber parts Electron beam sintered by our system. MetalicarapVacuumchamber assembled tested. 5 Elements assembled and tested.<br />
<br />
=Downloads Drawings and Photos=<br />
<gallery widths=150 heights=150><br />
File:Assemble MetalicaRap_vers._2.0.jpg|MetalicaRap V. 2 <br />
File:Gun coil section side view MetalicaRap_vers._2.0.jpg|Gun & coil section side view 1:2 - [[File: Gun coil section side view MetalicaRap_vers._2.0.pdf]]<br />
File:Hopper sense ring MetalicaRap v2.jpg|Hopper sense ring section side & plan view 1:2 - [[File: Hopper sense ring MetalicaRap v2.pdf]]<br />
File:Build platform MetalicaRap v2.jpg|Build platform piston section side view 1:5 - [[File:Build platform MetalicaRap v2.pdf]]<br />
</gallery><br />
<br />
For further drawings click here [[MetalicaRap:Photos and Drawings]]<br />
<br />
=Design review=<br />
<br />
== Cost saving approaches ==<br />
<br />
''' cost saving approaches List; <br />
<br />
* Only control via power supply feed back circuit leaving gun cathode to Wehnelt electrode bias fixed via resistor. When at 1KW power and shut down in half a cycle ( 0.2MHz switch frequency) the resonant energy left in LCC circuit and output capacitance would lead to one extra 55micron cube of melted Titanium or 40 microns cube of melted steel. See problem C for calculation [[MetalicaRap:Physics Principles|Physics Principles/Discussion]] Yes! big cost savings here! <br />
<br />
*filament based around tungsten microscope bulb ( ie flat wound)( sm8018 6V 15W bayonet square filament towards top BA15D ) with top glass dome removed held on remaining glass, half in and out of chamber by 2 viton O rings in bespoke sealing fitting having 2 o rings on inside sealing to bulb glass and on outside 2 more o rings sealing to inside of 2 inch test tube. These o rings are supported by dual grooved on inner & outer aluminum o ring support cylinder which is situated in the 2 inch test tube and which also supports 3 x 304 pillars that attach and support the tungsten Wehnelt cylinder, via 9 in total 1000+ metling point carbon/ceramic/alumina washers, electrical connection must be maintained by tungsten bypass wire or washers being electrically conductive(one; wehnelt hole OD, support rod ID. 2; larger dia. than wehnelt hole OD, support rod ID )[http://www.firesleeveandtape.com/high-temperature-heat-resistant-nonconductive-ceramic-fasteners-english-metric-alumina-bolts-nuts-washers.html]The test tube which is half in and out of the chamber is held in its own compression fitting on the end vacuum flange, the test tube is modified with a hole in its end for the bulb filament to protrude out of. A threaded 2 wall cylinder that is clipped in to bulb stub ends on either side of bulb base at one end and pressed against dual grooved inner & outer aluminum o ring support cylinder at the other, and thus provides adjustment of Z position of filament with respect to Wehnelt, accessible from outside of the chamber. A coil surrounds the test tube and a small coil attached to the bulb completes the filament drive "core-less transformer" electrical circuit, when combined with a dimmer circuit connected to coil out side the test tube it replaces conventional filament current control. Thus using a test tube with a home wound coil round it and a modified light bulb provides; -80KV electrical feed-through, -77KV electrical wehnelt feed-through, filament transformer, filament , heat removal mechanism from bulb to test ube, support for wehnelt disc(adjustable height above filament aim 0.3mm) ( also covered with a cap so no pointy HV parts revealed). A user selectable resistor is also included between wehnelt and filament within the test tube. 6.5Keuro saved here.<br />
<br />
*Two large TV tubes with screens drilled through with appox 16 inch circular holes enough for build platform, placed face to face with oring between screens, one neck removed where the electron gun is inserted via a o ring, maybe one path to save 2K euro of chamber metal and get 1 set of free electrical feedthroughs for motors (motors working in chamber).<br />
<br />
*Since you can get an electron beam to operate in a vacuum of around 5x10^-3 Torr. '''Avoid''' metal sealed flanges such as the conflat or wheeler flange '''By''' Buna rubber seals and low out gassing glues can be used for sealing components and costly vacuum flanges can be avoided in much of the construction. Simple pipe threads sealed with teflon tape or even glues can be used along with cheaper KF flanges. ( status untested ).<br />
<br />
*'''Avoid''' expensive vacuum specified water cooled motors operating in the vacuum ( heat dissipation problem) '''By''' using oversized normal NEMA motors to cope with overheating and replace any oil filled elements eg gear boxs with a higher temperature white grease. Out-gassing shouldn't be a big problem with grease.;( Status may only last 6 months at a time partially tested) //A hole should also be drilled into the gearbox to allow air to be evacuated.// <br />
<br />
*Normally you use use pneumatic vacuum gate valves for the foreline and roughing valves and then a large pneumatic "angle" gate valve for the diffusion pump/ion pump inlet. Lastly, a pneumatic poppet type valve is used to vent the chamber to atmosphere. '''Avoid''' the expensive 25.4cm angle gate valve '''By''' home-brew using large plumbing valves gate or ball valves for 4 inch and smaller diffusion pumps. See how well home brew valves hold a vacuum BEFORE you put them onto your vacuum chamber. ( status untested).;<br />
<br />
* MetalicaRapWin 2nd pump Oil diffusion or ion pumps may be replaced by MetalicaRaps electron beam heating a titanium block within the vacuum chamber, thereby creating a Titanium Sublimation Pump Or what I think we should name it the '''Electron beam titanium sublimation pump''' so avoids all gate valves to the second pump since titanium is replenished each atmospheric cycle by the beam melting it and thus also avoids ion pump refreshment /maintenance. ( this new method of pumping relies on a having a very good rough pump vacuum ie '''1x10-3Torr''' so the beam can operate to raise titanium to 1300-1600 deg.C. its sublimation temperature. eg Leybold D4 D4B Trivac Rotary Vane Dual Stage 3.4cfm 2K euro new. to '''1 x10-4 torr''' gas ballast off [http://www.hyvac.com/tech_support/Gas%20Ballast%20Valve%20Explanation.htm] [http://www.pchemlabs.com/product.asp?pid=2302][http://www.idealvac.com/files/manuals/Leybold_d4_8B_InstructionManual.pdf] or Kinney KC Series KC-3 pump 2K euro recon. or e.g DS 102 Dual Stage Rotary Vane Vacuum Pump 2 x10-3torr 2K euro new. ( these pumps both use oil for lubrication, Oil free called dry pumps are better for EBPVD. ('''check which PVD metals deposit ok''' with oil around and which not? ) Dry pump options are currently too expensive eg 10K euro plus; Richards EPX or top end Dry Scroll pumps or Blower Booster paired with own Backing Pump) to protect the chamber put the titanium block in side a double walled box with a beam entry hole at the top, and offset breathing holes through to the rest of the chamber on the box sides, thereby protecting the main chamber from the condensed titanium on inside surfaces of the box and yet let chamber gas combine with titanium creating solid compounds/a chemical pump with inbuilt recovery. Pumping speed may be moderate; for a 13 inch long 1 inch wide by 3 inch high box surrounding the titanium bar , gives a Ti deposit area of 91square inchs, at 20 degC. given pumping speed is 25 litres per second per square inch of deposited Titanium, So Nitrogen pumping speed is 2275 litre per second or 136 m3 / min or 8191 m3 per hour, thus the beam creates its own high vacuum pump. (some tantalum will be advantageous for argon pumping). (Arcing is more likely at poorer vacuum pressures, from the paschen curve we can see that this may not be a problem[http://en.wikipedia.org/wiki/Paschen%27s_law] (should allow / avoid arcing between; cathode to wehnelt 3kV over 0.3mm (same as Pd 3x10-2'''Torr cm''' at 3KV See graph [http://en.wikipedia.org/wiki/Paschen%27s_law]) - welhnet to anode - 100KV over 34mm (same as Pd 2.9x10-4'''Torr cm''' at 100kV See graph [http://en.wikipedia.org/wiki/Paschen%27s_law])(note; may not work/ may arc at rough pumping pressure levels of 1x10-2 Torr for argon on wehnelt ( i.e. Pd 3x10-1'''Torr cm''' at 3KV See graph [http://en.wikipedia.org/wiki/Paschen%27s_law])))) ( untested but breakthrough if works and probably will especially for MetalicaRapWin with its 10-7Torr vac requiremnt !)<br />
<br />
==More Examples==<br />
<br />
Practical manufacturing walk through<br />
<br />
== Manufacturing walk through Time/Cost ==<br />
<br />
Given Electricity is 2kwh per hour .5Euro/hr '''Part A''' Material; Stainless steal, Size; 300x300x200mm Weight; 15Kg 10µ Stainless powder (40 to 100Euro/kg) melt print 100µ Z layer thickness <br />
<br />
'' '''1''' minute per 100µ each layer See below;'' 1 minute per Z 100µ layer, each layer preheated 20 degrees Centigrade under melting-point followed by printed by beam'''''5.33''' minute per Every 10th layer Z axis correction see below ;''<br />
<br />
SEM ( part assumed to occupy 1/9 of whole print area; 1/9* 300*300='''10 000<math>mm^2</math>''' measurement at every 10µ, SEM picture 500x500 pixel so 5mmx5mm, So for 10,000<math>mm^2</math> need 400 SEM pictures 10,000/25= 400 4x pictures from 4 picups gives effect of different angles? for 3D picture reconstruction so real distances, 400 5mmx5mm pictures, 250ms a picture = 100sec. plus time of mechanical movement of electron gun between .024m square patches at .03m per second is 12y strips each 0.3m strip takes 10 seconds to travel, so in all takes 120 seconds to cover build area( Risk of underestimate factor x100 ) 100+120=220 or 3.66 min <br />
flatten blobs through repeated surface spot melting 1ms per 70µ diameter spot area 4000x10-6<math>mm^2</math> ( 850µs duration & 150µs beam movement) 1/10 of part high(Risk of underestimate factor x2) ( 1/10*10 000mm2/ 4000x10-6 <math>mm^2</math>= 1x105 spots 1x105 spots*1ms= 100Sec 1.66min<br />
<br />
'''Time so far''' 200* Z correction layers''' 5.33''' Min each 1066 + 1800 printed layer''' 1min''' each = 2866 min'' '''( 2.0 days)''''' ''Cost 690 Euro materials 600Euro Electricity 90''<br />
<br />
<br />
<br />
[[MetalicaRap:Further future developments]]<br />
<br />
== Critical Design Review, Review of decisions made so far ==<br />
In chronological order<br />
<br />
1.metal.......................... Vs ..composite. ........... .........Why .Metals needed for high stress high temp contexts , engines, solar plants.. -ve ........................ +ve metals 100 % recyclable fits Cradle to Cradle Design See [http://en.wikipedia.org/wiki/Cradle_to_Cradle_Design]<br />
<br />
2.additive.Sintering........ Vs Subtractive EDM?.................Why Tool path manual intervention required.Consumables......... -ve ..Powder management ............ +ve <br />
<br />
3.ebeam..Vs laser .....Why A)laser below 50W,small size part 5x5x5cm,slow B) Laser above 150W cost, permit , Wall plug efficiency , optics<br />
.-ve .not so cool , difficulty diagnostics...+ve solar cell printer possible<br />
<br />
4.powder...........................Vs foil..........................................Why foil waste removal.................................-ve .Harder solid parts.& powder management...... +ve<br />
<br />
5.vision & correction sub. Vs one pass blind process ... ....Why .reliability Verifiable tolerance............................................. -ve ...Complexity..................... ................ +ve<br />
<br />
6.gravity hopper................ Vs twin chamber........................ Why avoid old powder reuse fresh every time '''easier prep '''............ -ve their must be a good reason to use 2 build chamber? e.g. EOS is. +ve<br />
<br />
7.one static top of chamber gun with just sensor ring on cartesian axis Top gun shoots through sensor ring from top........... Vs two gun would ensure spot size on vaporisation but could add in again if existing does not work. Why So SEM near table Sensors PIN Diodes 164$ each not 64x PINdiodes . [[Pros & Cons of two guns design]] <br />
<br />
8. Water cooling Vs Passive cooling for 5KW gun .............Why .Air cooling fins on cathode head block and on high voltage copper enclosed connector plus ducted fan & fins -ve need to be FEL modeled to check conductance. +ve Simplicity no water ( though could add later ). <br />
<br />
<br />
9 Tungsten thermionic cathode filament.2600C. Vs .hot Field emission cathode ..Why Cost of IrCe, field emission required UHV, .Thermionic is OK in high vacuum... -ve hot spots poor beam focus reduced filament lifetime, gas load in metal powder more critical due to filament sharing same space.... +ve cheap no need for window to separate gun chamber from powder chamber <br />
<br />
<br />
10. External coils Vs ..Internal coils in a 304 can..... ....Why .to achieve small enough spot size as spherical aborations are zero on axis of lens and increase as you move out, ... -ve need for barrier between coil pole pieces and beam for vacuum, construction of can for air cooling +ve no contact between coils and vacuum<br />
<br />
11. Split hopper ..... Vs ..One large dispenser hopper.....Why ..cost chamber size less force required on motion feed through............... -ve ..complexity of refill mechanism ( shutter with knife edges ) ............... +ve. initial lower cost <br />
<br />
...................................... Vs ...............................................Why ...................................................... -ve ..................................................... +ve....................................... <br />
<br />
list in importance order, bold text indicates more thought required<br />
<br />
<br />
==Old general infomation==<br />
'''[[Metalicarap:old_info|Click for link to Old Information section]]'''<br />
<br />
=Builders Section Very detailed technical information for actual builders only=<br />
<br />
==MetalicaRapBabe elements==<br />
<br />
Power Supply section is correct but the other sections on the repstrap machine called MetalicaRapBabe is still being edited so not correct yet! <br />
<br />
===Electron Gun MetalicaRapBabe for builders===<br />
<br />
Single electron gun providing 100W for SEM , and 1KW for printing operations. Has two lens and 4 paris of deflaction coils.<br />
<br />
Filament based around tungsten microscope bulb ( ie flat wound)( sm8018 6V 15W bayonet square filament towards top BA15D ) with top glass dome removed held on remaining glass, half in and out of chamber by 2 viton O rings in bespoke sealing fitting having 2 o rings on inside sealing to bulb glass and on outside 2 more o rings sealing to inside of 2 inch test tube. These o rings are supported by dual grooved on inner & outer aluminum o ring support cylinder which is situated in the 2 inch test tube and which also supports 3 x 304 pillars that attach and support the tungsten Wehnelt cylinder, via 9 in total 1000+ metling point carbon/ceramic/alumina washers, electrical connection must be maintained by tungsten bypass wire or washers being electrically conductive(one; wehnelt hole OD, support rod ID. 2; larger dia. than wehnelt hole OD, support rod ID )[http://www.firesleeveandtape.com/high-temperature-heat-resistant-nonconductive-ceramic-fasteners-english-metric-alumina-bolts-nuts-washers.html]The test tube which is half in and out of the chamber is held in its own compression fitting on the end vacuum flange, the test tube is modified with a hole in its end for the bulb filament to protrude out of. A threaded 2 wall cylinder that is clipped in to bulb stub ends on either side of bulb base at one end and pressed against dual grooved inner & outer aluminum o ring support cylinder at the other, and thus provides adjustment of Z position of filament with respect to Wehnelt, accessible from outside of the chamber. A coil surrounds the test tube and a small coil attached to the bulb completes the filament drive "core-less transformer" electrical circuit, when combined with a dimmer circuit connected to coil out side the test tube it replaces conventional filament current control. Thus using a test tube with a home wound coil round it and a modified light bulb provides; -80KV electrical feed-through, -77KV electrical wehnelt feed-through, filament transformer, filament , heat removal mechanism from bulb to test ube, support for wehnelt disc(adjustable height above filament aim 0.3mm) ( also covered with a cap so no pointy HV parts revealed). A user selectable resistor is also included between wehnelt and filament within the test tube. 6.5Keuro saved here.<br />
<br />
Thus providing additive printing through melting at high beam deflection speeds, enabling high build rates along with melting targets behind a metal vapor trap EBPVD solar cell production. The one gun will be stationary situated 1m above the build platform. A sensor pick up ring will be attached to a 12Kg gravity fed powder hopper just above the build surface with 2 powder wiper blades attached, using sliding slotted plates to release the powder (design similar to household air vents, but ours will have sharpened vent edges). A second powder hopper will gravity feed the 12 kg hopper. This one gun will be used for both melting and vision systems. a back-scatter detector ring will be attached to the powder hopper, close to the workpiece mounted on the Cartesian XY system (the hoppers motion itself provided by the X motion of the hopper, Y motion by means of further 2 linear bearings on front of hopper and drive shaft (No automated Z movement of the ring is included in the design ).<br />
<br />
Providing build platform metal powder heating and melting, spot size 100µ (may be inaccurate) pointing accuracy 10µ (may be inaccurate). The gun will have a liquid cooling anode system via its support. <br />
<br />
Vision gun method of providing Sub µm Topological mode SEM vision system (See [http://www.ecmjournal.org/journal/smi/pdf/smi98-17.pdf]) <br />
<br />
Additionally providing Micro vaporization (See gun layout Page 3 [http://mikroprodz.de/download/Varna-postprocessing.pdf] down to 10µ to 40µ spot size), Initially this would be used to flatten every tenth layer of the build through high points / blobs removal. Future software development could provide live modeling of build, so through the adjustment of beam melting path in following layers errors/ blobs could be taken account of as they arise, thereby limiting the need for blob removal to critical surfaces.<br />
<br />
=== Vacuum Chamber and pump MetalicaRapBabe for builders===<br />
<br />
*Pump is a roughing pump 2 stage Vane pump e.g.Leybold D4 D4B Trivac Rotary Vane Dual Stage 3.4cfm 2K euro new. to '''1 x10-4 torr''' gas ballast off [http://www.hyvac.com/tech_support/Gas%20Ballast%20Valve%20Explanation.htm] [http://www.pchemlabs.com/product.asp?pid=2302][http://www.idealvac.com/files/manuals/Leybold_d4_8B_InstructionManual.pdf] 1.0x<math>10^-</math><math>^4</math>Torr )( a dry pump option is better for EBPVD but currently 10K plus euro so rely on back flow oil filtering.) <br />
<br />
*Electron Gun constructed from Stainless steel 304L 4 way crosses reducer Conflat(CF) CF100eu/CF6inchUsa reduce to CF64eu/or63eu-CF4.5inchsUsa flanges in middle of sides, Top to bottom 219.4, left to right 209.8 . Beam tube has TIG welded angled collars of stainless 304 and 1001 Fe working out from centre with Conflat(CF) flanges conecting longer bottom beam pipe section, with ID 8 -80mm beam pipe . Beam pipe terminates in O ring to aluminum top plate of chamber. .Avoid the need for TIG Welder in MetalicaRapBaby by bourgt in cylinder parts of electron gun beam tube being short enough to be able to fit in chamber of mother machine (or with stopper and compression fitting chamber base plate if needed), (TIG welder for electron gun tube and tube to flange attachment for MetalicaRapBabe). TIG filler Dissimilar 304 to 1001 check ENiCRFE-2 (WLD A) [http://www.wmwa.net/metal-products/filler-metal-charts/] [http://www.esabna.com/EUWeb/FM_handbook/577fm9_14.htm] ASIS [http://www.engineeringtoolbox.com/aisi-sae-steel-numbering-system-d_1449.html] (Or friction Weld 316 to 1010 N.G. but 316 to 1018 ok but too high carbon check[http://www.teamafw.com/friction-welding-materials.htm]).<br />
<br />
* Use large diameter Borosilicate glass tube with aluminum plates top and bottom, with L gasket seals ( as used on vacuum bell jars), bottom aluminum plate can be lowered to gain access to attached build platform/ motors / sensors and includes electrical feed through,( thus avoiding the need to cut TV screens hardened glass as in TV solution, or use TIG welding equipment, as mother machine can self print or fit parts requiring welding in her chamber, but initially requiring more machining to produce top and bottom aluminum plates (later we can electron beam machine over size top and bottom plates in mother machine, by first printing O ring collars and grooves inserts, then welding these inserts in to half drilled holes in top or bottom over size plates in mother machine, then through drilling these half drilled holes, finally cutting down circumference of top and bottom plates with hand tools). Beam tube to filament /anode chamber connection can not be oring due to heat, so will need to be welded in mother chamber, though 450C knife edge connection may also be added. The top plates bottom surface will have two protruding ridges each with 2 sealing o rings in grooves on the outside diameter plus one buffer ring to support the edge of glass vessels that can be attached. ( a beaker for evaporation work and one large rounded base jar for metal powder production MetalicaRap Light and MetalicaRapPlay respectively). A extra 5mm thick 75mm diameter shielding ring fitted to beam pipe to aluminum top plate junction needed, if top plate has internal beam exit rounded corners added inside beam pipes continuation in aluminum top plate, to allow beam larger deflection angle with out striking aluminum top plate. The plate will support the weight of the gun and will have rise 1cm and swing 90 degree hing so free access to top of glass cylinder holding build chamber, 4 screw on extension rods will allow alignment of build chamber during vertical removal/replace for build platform maintenance. (Option for lowering the chamber out of bottom of cylinder a 3 legged rectangular cross section pipe stand supports glass tube (45Kg) and top aluminum plate and gun and power supply, gun tube attached (17Kg?) via O rings above it. The stand will have attachable round section feet for the first 15cm from the floor, that will change to square section to align with square holes in bottom plate (with a key channel matching width of round feet for initial front access) . So that this plate with build platform can be aligned correctly so can enter the large diameter tube smoothly. ) Large diameter removable cement pipe used to shield operator and any environmental disturbance removal shielding e.g.electromagnetic shielding so beam is not effected by outside electromagnetic disturbance, e.g. nikel coating, when printer is running.<br />
<br />
*((OLD solution TV Glass Chamber; chamber based around two recycled CRT TV tubes, face to face. The 2 salvaged CRT's with holes cut in screens, after end neck pip breakage release of vacuum, capacitive discharge via anode button and electron gun removal in both CRT's. Lower CRT pip reseal with blowtorch so lower feed-throughs continue to function, upper CRT has electron gun neck of CRT tube shortened. Two o-rings supported on one side by a double grooved Aluminum metal support ring sealing the CRT's face to face and providing access door. (Capacitive discharge via shorting anode cap to earthing band on corners, use own cable as anode cable may have diode in [http://www.youtube.com/watch?v=H_4qc9Jyt5A][http://www.youtube.com/watch?v=UsL-rAUKswQ][http://www.youtube.com/watch?v=-QOxLRLDVeg] be safe out there!). Glass chamber is connected to electron gun tube via Aluminum Tube/Glass adapter; with 5 o rings, 2 for gun tube sealing and 3 for CRT (MetalicaRapBabe) , having 1 for cushioning end of glass and two for sealing each joint.(or to square bottomed flask (MetalicaRapLIght) sealing) feed-through motor connections via Cathode RayTube connections in lower recycled Cathode RayTube,. ))<br />
<br />
*High vacuum <math>10^-</math><math>^4</math> Torr to <math>10^-</math><math>^5</math><br />
<br />
* Electrical feed-troughs ; For tungsten filament AC 10A 3V 50/60Hz heater power supply based around modified microscope flat wound bulbs body(sm8018) giving a -62.5 KV Wehnelt feedthrough which is within a test tube providing -59.5KV feedthrough. Using large diameter glass cylinder chamber with L gaskets TV CRT neck feed-through seal with o rings Or o ring to copper tube then connect TV neck to copper tube by melting CRT glass. Glass tube to metal tube connection video[http://www.youtube.com/watch?v=OWw32BLodjY])<br />
<br />
*Mechanical feed-troughs ; will be avoided by using periodically replaced cheap standard Nema motors within the chamber.<br />
<br />
* Pirani vacuum gauge ( avoid cathode gauges as ionization from gun my interfere with them)* Home build Pirani vacuum gauge (use google translate) [http://tubedevices.com/alek/prozniomierze/pr_piraniego/wakuometr.pdf]<br />
<br />
*Outer box for shielding constructed of cheap material concrete or solidified sand.<br />
<br />
* Viewing windows; Main chamber viewing window with large diameter glass cylinder; Viewing windows are just multiple planes of normal glass in hole in concrete pipe as no sealing is required, total thickness 70mm for shielding. ; Electron Gun viewing window will be a CF 50 flanged type on a Twith extra removable metal plate for shielding<br />
<br />
===Metal powder dispenser MetalicaRapBabe for builders===<br />
<br />
Currently same as above <br />
<br />
This will be a gravity fed split powder hopper.A small hopper will move in the x direction, intermittently refilled by main hopper situated in side of electron gun tube.The small hopper will have a 12Kg powder capacity, this gravity fed powder hopper just above the build surface has two 1cm square section powder wiper blades attached wither side, leveling the roughly dispensed powder. The powder is released using two sliding slotted plates, ( design similar to household air vents but ours will have sharpened vent edges). At the end of the hopper travel a small waste powder slot will remove old dispensed powder before the next dispensing sweep takes place. A second main powder hopper will gravity feed the 12 kg hopper, it will be situated up in the side of the 14 inch OD diameter gun tube and will obscure a little part of the build chamber from the beam (a necessary compromise). The vision system feedback can accommodate some roughness in the powder deposition during beam melting phase and subtractive removal phase.This design may lead to clumping with some powders at higher vacuums. The window option overcomes this but introduces other complexities in vision system and beam distortion (see below).<br />
<br />
Other dispensing/ considerations include: <br />
<br />
* Metal Vapor will be released in to the chamber during the melting of the the powder, a later consideration is protection of the gun, initially the guns distance from the build platform should be adequate, but the possible inclusion of a spinning slotted disc in front of the gun as further protection may need to be considered, <br />
* SEM pickup PIN diodes protection cover will be used when printing, <br />
*Variable layer thickness might (?) be desirable to provide fine control of the vertical resolution using thin layers where desired, while still allowing relatively high build speeds that come with thick layers for other areas.<br />
** The Arcam EMB uses a "textured roller". Presumably a roller is textured with a pattern of holes which is loaded with powder, then the powder falls out of the holes, and a little random redistribution occurs on the way down to the workpiece surface for a reasonably uniform powder layer of repeatable thickness this design will likely operate at ultra high vacuum. <br />
** Leveling the surface of the powder bed or enabling better flow through hopper at ultra high vacuums may be possible using ultrasonic lubrication to briefly fluidize the powder bed. It might cause unacceptable settling though. <br />
**The density of the powder is lower than the density of the solid metal. So if the powder is only deposited using say the textured roller the upper level of the powder bed will get higher than the surface of the part being printed. How is this dealt with in the Arcam printers? More research needed<br />
<br />
*Upon beam heating material loss in the form of evaporation and melting is released in to the chamber redepositing itself on windows and light optics and even chemically react with filament ( a minor effect with most materials), use replaceable and disposable glass sheet covers.<br />
<br />
<br />
===Build platform MetalicaRapBabe for builders===<br />
<br />
A 30cm vertical travel stepper motor driven circular platform within a 14 inch 304 tube printed in sections which is not vacuum sealed , as it is all surrounded by large radius glass tube. Within the build platform is a built in ceramic insulation layer. Two felt o- rings seal the gap between the vertical motion circular build platform and the surrounding cylinder.<br />
<br />
===Power supply MetalicaRapBabe for builders===<br />
<br />
'''Overview'''<br />
<br />
Power supply Full Bridge LCC Series Resonant Converter with duty cycle switching variation control and above resonance frequency switching variation control, through this frequency variation maintaining Zero Current Switching during Coolmos switch ON and Zero Voltage switching during Coolmos OFF switching, with Arc sense, arc quench and arc count. ( see old information for more on beam current control options)<br />
<br />
'''High output series-parallel resonant DC-DC converter 5KW 62.5KV ''' (search on this bold text) -62.5 KV 0 to 5KW running at 181.5KHz resonant range 260Khz up to 500Khz at idle/low load, with a -325V to 62.5KV transformer with voltage doubler on output, the transformer is designed for a specific value of inductance and capacitance to operate at the desired resonant frequency, as the load changes the parasitic capacitance of the transformer changes too, this means that at high load the series resonant converter topology dominates and light / no load the parallel resonant converter topology dominates. The change in load changes dramatically due to occasional arcing in the gun, This topology deals with these changes effectively. <br />
<br />
The primary of the high voltage transformer will have 11 winds .The transformer secondary consists of a ''' magnetic flux pole with multiple ac to dc converter stages with planar coils''' [http://www.patentbuddy.com/Patent/5166965][http://www.google.com/patents/US5166965] (search on this bold text string) but pole is extended in to a traditional ''single phase'' ''core'' type transformer arrangement [http://en.wikipedia.org/wiki/File:Transformer_winding_formats.jpg] or technically defined as a "dual C ferrite core assembly" ( with high voltage secondary side cylindrical cross section not rectangular, so as to avoid corners at high voltage). Each side is surrounded by an insulating HDPE or nylon 6/ 6 insulation cover called a transformer bobbin, one square sectioned and one circular cross sectioned (dual C ferrite core assembly and bobbins will be within a insulated HDPE box, and will run in air with the option of mineral oil insulation later). <br />
<br />
Each of the178 transformer secondary converter stages is a 2 layer PCB 0.4mm thick, with a 3 turns/winds (A 1 turn PCB layer and a 2 turn PCB layer blind via's not possible) ( 1oz. thickness) 0.6mm wide circular tracks on the PCB looped around the ferrite core and 4mm insulation bobbin connected to 2 rectifying diodes and 2 capacitors in a voltage doubling arrangement, ((0.4 thickness for insulation safety) no masks(100µ mask saved) + 0.15µ Mica washer (better insulation and heat dissipation(check availability)= 0 .55mm thick) conductive turn/winds of track creates a transformer secondary coil. The series parallel resonant converter topology gives voltage gain in this coil from 2.25 times to 6 times dependent on switching freq/duty cycle which is combined with the gain of the o/p voltage doubler arrangement of output rectifying diodes and capacitors, gives a resultant gain of ; 11primary winds,3 secondary wind, times factor of 2 (Topology)and times 2 (voltage doubler)(3/11)*2*2*325V= 354V, so outputting -354 V d.c.from each PCB. Each voltage doubling circuit uses fast rectifiers and 2 smoothing capacitors. Along the stack of pcb's the voltage increases in a negative direction gradually, keeping below Paschen or arc limit . The power supply secondary converter stages can be tested (unregulated) as 178 separate -354 V power supplies, before all the secondary converter stages are connected in series creating the -62.5 KV output. To reduce the parasitic capacitance each secondary PCB 3 turn track layout is in alternate direction clockwise/anticlockwise, while the connection polarity to the 2 smoothing/doubling capacitors is also alternated so as to maintain a continually decreasing voltage up to the top of the secondary pole across the o/p capacitor stack of -62.5KV. This gain requires the following component values n=17 Cp=15nF Cs=48nF( Series Capacitor requiring reduced ESR [http://en.wikipedia.org/wiki/Equivalent_series_resistance] so achieved with many film type nonpolar capacitors in parallel ( capacitance additive, ESR resistance reducing each extra parallel)) alpha=0.3125 Ls=16µH. fo= 181.5Khz. Max duty cycle 0..8 at frequencies 260KHz to 500Khz. Temperature rise is under 10deg C for this 0.6mm wide 1 oz (35µm) thick track area 0.21 sq mm rated up to 08A will use 0.08A Fig2[http://www.ferroxcube.com/appl/info/plandesi.pdf] At switching frequency 181.5Khz skin effect is 0.15mm depth of circular conductor (each side of track approximately) so effective rating 0.6A [http://en.wikipedia.org/wiki/File:Skin_depth_by_Zureks.png]. Min track spacing 16mm for 178V. (( Alternative use flexpcb 0.2layer x2 but under 400µ thick insulation issue could test further)).<br />
<br />
Transformer ferrite core is splittable in to two "C's" half's horizontally in the middle of vertical sides.Core Cross section 29mm x 20mm Vertical of C 130.0mm Drilled to round 19mm OD cross section is 92mm on each of two c's horizontals.(Diamond Drill recommended outside diameter 3/4" (19.05mm) Inside diameter .748" (19.00mm) this must be smaller than legs in both x and y directions<br />
lenght 2.75" (69.85mm)). Min transformer "window" vertical space for coils/PCB is in practice approx 100mm from ((178*(0.4mm PCB + 150µm Mica washer )+8mm insulation ) 8mm insulation is made up of 4mmTop&Bottom Sides of Bobbin. 0.15mm mica washer (Fx. Kapton sheet SIL-PAD K-10.[http://uk.farnell.com/bergquist/sil-padk10-304x304-sheet/sil-pad-k-10-006-12-x12-sheet/dp/936765] Or Muscovite mica paper MPM1(501) 82g/m2 0.055mm thick[http://www.micagroup.net/inner_pages/muscovite.html]- doubled up 2KV protection (3/11*325*6=531V max. poss.)) as spacers between PCB's, with Creepage distaance around edge off sheet/paper of Cat III 8mm min. ie 4mm track from edge of paper inside and outside track/coil[https://b2b.harting.com/Webhelp/EGds/WebHelp/GBgdsCreepage_and_clearance_distances.htm]. <br />
<br />
Transformer ferrite core In any of the following equivalent materials //Material code (Manufacturer)// CF139 ( Cosmo ferrite),// N87 (epcos),// 3c94 3f3 (ferroxcube ),// R (Magnetics ), //PC44 (TDK),// 2FB ( tomita )[[file:Ferrite_Core_High_Voltage_Cylindrical_secondary_Made_Up_Of_2_Cores.jpg|thumb|right| Ferite Core made up of 2 C's with cylindrical high voltage secondary side to the right ]].For example Cosmo part no.C ferite core UU 12620 is big enough but square secondary that must be cut down to a cylinder using 7/8" Sintered (metal bond) diamond core drill, drill depth: 3" [http://www.ukam.com/webcatalog_drills_ordering.htm] ((or unlikely add 2 rods of same material 120mm long matching diameter to core square sections, or unlikely to get hold of round sectioned UR version that has 120mm window height for PCB's.))<br />
<br />
Primary wire is 11 turn primary (87A continuous)(coolmos short circuit peak current limit of 117A) on a transformer bobbin (10cm flange on HV end) high voltage bobbin 4mm of HDPE or cross linked low density polyethylene XLPE also called PEX or nylon 6/6 insulation.<br />
<br />
[[file:Ferite_Core_with_3Dprinted_Nylon_Insulator_and_1_of_187_secondary_pcbs_in_place.jpg|thumb|right| Ferite Core with 3D printed Nylon insulator in green with one secondary pcb of 187 in place for illustration only (not to scale) ]]<br />
<br />
The -62.5kV Direct Current (DC) after regulation is directly connected to the Welnelt electrode then continues on via a manually selectable gun resistor to the Tungsten filament/cathode. Then the current flow continues down the beam to the target and returns via the chamber body to the power supply via a fixed resistor in the earth path to measure its magnitude. The voltage at the filament/cathode is also measured and fed back to power supply. This feedback via increased beam current leading to more voltage dropped across gun resistor meaning Wehnelt pinches beam current to a lower value and vice-versa means the beam current settles to a stable value. To maintain the best beam shape this simple feed back mechanism should ideally stabalise with 3KV over the gun resistor ie +3KV between Wehnelt and the cathode/ filament.( see spread sheet above for more details of optics)(NB the most negative part of gun is the Wehnelt, the cathode traps electrons in front of it by being up to 3KV more positive than the Wehnelt (-59.5KV). The max beam current possible would be achieved if the cathode-filament became more negative, ultimately as negative as the Wehnelt at the same -63KV, thus the wehnelt would have no limiting effect on beam current. Unfortunately the focusing effect of the wehnelt would also be lost at this point, so cathode being slightly positive with respect to Wehnelt is always desirable. Maintaining this cloud of electrons in-front of the cathode-filament called the space charge effect See spread sheet for calculations) <br />
<br />
'''Power supply feedback control''' around transformer ;''Output voltage feedback'' via 178 thick film resistors in series creating voltage divider . ''Output current sense feedback'' via a temperature stable resistor in ground voltage path back to power supply from earth on chamber. . ''Input /Primary current sense'' via 2 "current transformers" in series in each leg of full bridge with 1:125. Cathode voltage feed back via 178 thick film resistors acting as voltage divider. These four signals go via signal reconditioning board then on to Field programmable gate array (FPGA)[http://www.seeedstudio.com/depot/papilio-pro-p-1301.html?cPath=132_192] [http://www.gadgetfactory.net/2012/11/papilio-pro-hardware-guide-now-available-papilio-pro-borads-now-for-sale-at-seeed-studio/] via four channel analogue to digital converter (ADC) 12 bit 40Msps[http://uk.farnell.com/analog-devices/ad9228bcpz-40/ic-12bit-adc-quad-40msps-lfcsp48/dp/1274207]. FPGA process software will maintains input and output current parity within acceptable current window values. Allows a small error signal from voltage output variations when within a narrower voltage output window values. FPGA drives 4 coolmos FET gates in full bridge topology via driver circuits. FPGA also checks for error conditions. Solftware for the FPGA is a PID controler [http://opencores.org/project,pid_controller] For control methodology also see '''High output series-parallel resonant DC-DC converter 5KW 62.5KV''' ( via search on this bold text )(NB this paper does not include the real transformer just 2 dummy inductors and 2 Dummy capacitors one series one parallel) . A separate housekeeping supply provides bias for all control circuitry, providing a 5V separate stand-by voltage which remains active when the power supply unit is shut down for any reason ( later once efficiency of power supply is assessed a Power factor adjuster circuit may be added between rectifier and dc to dc converter) The following safe guards will be included; Under/over voltage protection, Short-circuit protection, Output current limit, over temperature protection and line fuse. Adaptive control[http://www.ece.utah.edu/~bodson/acscr/] is applied using Gain Scheduling in feed-forward methodology; Controller verifies the amount of current available (ie how much in tank ) to reach a target voltage at the o/p, adaptive gains are recalculated over each sample , this system identification technique thereby selects the appropriate linear controller from 3 options(low load controller, high load controller, arc controller) , so target voltage is met what ever the operational reality demands ( other people have done with fuzzy logic).<br />
<br />
(Useful cheap analyzer for FPGA development [http://www.gadgetfactory.net/logic-sniffer-2/],[http://dangerousprototypes.com/docs/Logic_Analyzer_core:_Introduction] , [http://dangerousprototypes.com/docs/SUMP_logic_analyzer_Verilog_Demon_core_documentation] )<br />
<br />
Beam current modulation options MetalicaRapBabe;<br />
<br />
* Only control via power supply feed back circuit leaving gun cathode to Wehnelt bias fixed via gun resistor ( which includes inherent sensing of beam current; as too high beam current means more voltage drop across resistor so more beam pinching so reducing beam current so simple feed back control). When at 1KW power and shut down in half a cycle ( 0.2MHz switch frequency) the resonant energy left in LCC circuit and output capacitance would lead to one extra 55micron cube of melted Titanium or 40 microns cube of melted steel . . See problem C for calculation [[MetalicaRap:Physics Principles|Physics Principles/Discussion]] These gun resistor values give 0.94 KW not 0.1 KW look again maybe .For electron optics precision 3KV across Fixed gun resistor (2x 430K Ohm Resistors making Total 215KOhm when arranged in parallel for printing mode (300W rated resistor 50mm x 373mm E12 values [http://www.logwell.com/tech/components/resistor_values.html]), Or 1720 KOhm 4 resistors arranged in series SEM mode, situated in open air air cooling , So beam will run at 940W and 100W respectively 15mA and 1.6mA respectively ) selectable from outside test tube via 3 pole 2 way (6KV) switch solenoid powered by coil on long leads with rectified AC via core less transformer around test tube, ( will need to develop beam calibration current measurement method after filament change possible with 4 pin diode sensing spot size, Could measure deflection distance of beam for known deflection coil current modulation? )but with a refinement of 2 fixed value /position adjustable gun resistors. Yes! big cost savings here!<br />
<br />
====Power supply High Voltage Isolation optical SFP Implementation MetalicaRapBabe for builders====<br />
To control the power supply we need to measure the output current and output voltage just before the tungsten cathode, the current is measured via ADC voltage dividers either side of a fixed value thermionic stable ideally 2x 430Kohm in parallel so 215Kohm (rated 300W) bias resistor situated in the test tube high voltage feed-through ( there is also a further 4x 430K ohm in series giving 1720Kohm for lower beam currents/SEM mode with the aim of always achieving 3kVolt drop between cathode and Wehlnet via these resistors(at 300W)) , but these circuits are at high voltage and require isolation.<br />
<br />
To isolate them from the user (transformer primary side) and still receive the voltage and current data from the high voltage output, we use two Papillio FPGA's one each side of the transformer connected with an optic fibre which provides the insulation (optic fibre must be non metalic cased type). This transformer Secondary side FPGA measures the voltage and current via ADC's and then converts this parrallel data in to a serial bit stream, which is sent over the optic fiber via two Gigabit SFP transceivers [http://en.wikipedia.org/wiki/Small_form-factor_pluggable_transceiver]. Due to the FPGA's running off non synchronized clocks a buffer is required on the primary side FPGA to resync and recover the data and its associated clock, so the voltage and current information can be decoded by the primary side FPGA. <br />
Further details TBA [http://hamsterworks.co.nz/mediawiki/index.php/HiSpeedXfer]<br />
<br />
[[file:Hi speed link layout.jpg|thumb|right| High speed optical link receiver buffer FPGA logic gate circuit; showing layout of buffering of incoming data signal (data signal sampled at 400MHz/ or 2.5ns period , data bit is 6 bits long, +/- one bit). This gives plenty of scope for tracking the incoming data as its relative phase wanders between the two FPGA's caused by FPGA's master clocks inherent rate variations [http://hamsterworks.co.nz/mediawiki/index.php/HiSpeedXfer]]]<br />
<br />
cheaper singlemode sfp's (1.25 gigabit) are designed for 10km, but will work dowm zero or yelow LC to LC patch cables [http://www.sfpcables.com/lc-to-lc-singlemode-duplex-os1-9-125]( 40km modules and above use multimode and cannot work over low distances without attenuaters).<br />
<br />
Implementation example fpga to sfp is seen on [http://www.ctwtek.com/data/AN3376.pdf] [http://pdfserv.maximintegrated.com/en/an/AN4094.pdf] [http://www.hypertransport.org/default.cfm?page=ProductsViewProduct&ProductID=75] pin out [http://en.wikipedia.org/wiki/Small_form-factor_pluggable_transceiver](50.8 x 260mm Wtover 1mm)<br />
<br />
====Powersupply Feedack Control Implementation MetalicaRapBabe for builders====<br />
The primary side FPGA also runs the PID error signal correction and low pass filter [http://www.newae.com/tiki-index.php?page=XilinxHLS] along with the Digital Pulse width modulation outputs to the drive the FET's via a 300V isolation chip and a high low FET driver chip.<br />
<br />
Further details TBA<br />
<br />
===SEM MetalicaRapBabe for builders===<br />
We may be able to use 6 PIN diode Topological / 3D imaging sensor also for spot size calibration, as we can solve for spot size knowing distance from gun...etc.<br />
<br />
==MetlaicaRapWin Later==<br />
<br />
Optional beam windows; High tech stationary window or Low tech scanning Aluminum foil slot shaped beam window. <br />
<br />
*As the window version will run at 10-7 Torr LaB6 filament is possible (expensive but 1000 hour filament life and 40 times brighter), <br />
<br />
*One Self printed Electron beam titanium sublimation pump Or distributed Ion pump with some tantalum, slotted cathode cells for argon gas collection[http://www.cientificosaficionados.com/libros/CERN/vacio3-CERN.pdf] or oil diffusion pump or turbo pump. (prototype uses turbo pump) <br />
<br />
*Second pump is a self printed High vacuum Titanium sputter-Ion pump (with some tantalum, slotted cathode cells for argon gas collection [http://www.cientificosaficionados.com/libros/CERN/vacio3-CERN.pdf]) or our invention Electron beam titanium sublimation pump. Prototype before self print, bought in oil diffusion pump (messy with expensive oil 100euro/litre) or turbo vane pump(4K euro extra) .<br />
<br />
*Second pump types sputter ion pump or oil diffusion pump will need to be closed off from the chamber during chamber access and roughing pump cycle, to save cost avoiding large gate valves reduced pumping rates will be accepted through the use of smaller radius gate or ball valves with smaller 4 inch or below type pumps . ( later self print gate valves will be investigated)(An oil diffusion pump can not pump at atmospheric pressures and can ruin the oil trying to do so).<br />
<br />
*(For ion pump; Use electron guns focus coils to provide magnetic field to sputter ion pump [http://en.wikipedia.org/wiki/Ion_pump_%28physics%29] 50L/s max, short duration between maintenance 30Hours , self cathode refreshment by electron beam surface melting exposure in MetalicaRap's beam)<br />
Our high vacuum pump will be a sputter ion pump as has a cost reduction and ease of use advantage for us especially with the window option . As the high vacuum turbo pump cost has been a block to costs coming down, but after redesign an Ion pump seems a good solution, approximately 300 tubes (anodes at 8KV) 15mm diameter 26mm long made of stainless, with 8mm diameter titanium plates ( cathodes at 0V) fitting in either end of anode tubes , leaving a 3.5mm gap for the gas to enter, these are situated around the outside of the lens coils providing magnetic fields in their own stanless steel cans and a 8KV supply hooked up, we have create a electron gun and ion pump combination pump. The number of tubes control the pumping rate it lasts 400 hrs at 1 x <math>10^-</math> <math>^4</math>torr but 40000 hrs at 1 x <math>10^-</math> <math>^6</math>torr . slotted cathode cells for argon gas collection [http://www.cientificosaficionados.com/libros/CERN/vacio3-CERN.pdf]<br />
<br />
14 inch pipe (NPS 14 min. SCH 20 ) with one 100mm thick Aluminum plate with interior "carved out" for hopper box sides and top, a further 304 plate for bottom of hopper box with o-ring seal, 304L Top and bottom pipe end caps if not domed min. 18mm thickness typical 25mm thick with copper CF flange and hinged window access. <br />
<br />
The refill hopper will be situated in the side of the 14 inch OD diameter gun tube and will obscure a little part of the build chamber from the beam(a necessary compromise). (Technical background: See 5.2 [http://linac2.home.cern.ch/linac2/seminar/seminar.htm#ESI]see lecture 4.02/11/04[http://www-group.slac.stanford.edu/kly/Lecture_Series/slac_klystron_lecture_series.htm],[http://www-group.slac.stanford.edu/kly/Lecture_Series/Klystron%20lecutre%204%20phillips.ppt]<br />
<br />
* Viewing window/ Door 8inch borrsilicate glass, 3/8 thick, standard 10 inch CF plate and Oring.<br />
<br />
==Detailed Information for builders only General Processes Information==<br />
<br />
====Materials for builders====<br />
Intro;Electron Gun B 1-5KW max (63KV ) above build platform. The gun has a small filament chamber followed by a 100.4 mm diameter 304L austentic grain (austentic grain is non magnetic p.243 [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]) stainless steel pipe going through the center of the deflecftion coils but the focus coils for improved efficiency have pole pieces that penetrate the stainless pipe. The coils consist of 2 focus coils and 2 XY interlens deflection assemblies, each XY deflection assembly consisting of 2 pairs of helmholtz coils i air for X & Y deflection respectively.<br />
<br />
* Vacuum chamber wall stainless 304 L ; this can be used for walls and pipes and is '''non magnetic''' when in Austentic grain state so can be used within magnetic fields. p.243 [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]<br />
<br />
*304L cold rolled (up to 32% reduction ratio 1.04 ok, [ 65% reduction ratio having 1.55 permeability 65% maybe too high permeability for electron poles piece spacers ]), hot forged, electro slag remelt or vacuum remelt or cross forged ,<br />
<br />
* 304L pipe cold rolled must be welded without filler,<br />
<br />
*To avoid micro cracks (use 304L not 304) and maintain non magnetic properties , Keep 304L at temperature 600 to 750 C for min period during welding ( minuets not hours under 1 hour max or loose non magnetic authentic grain type) <br />
<br />
*metals for cathode/1stanode-wehnelt/ anode electrodes '(tungsten /molybdenum/ tungsten,)<br />
<br />
*metal for "soft iron core" surrounding coil windings, unalloyed soft iron for yoke use a soft iron, like AISI 1006 [http://www.yacht-steel.com/en/aisi-en-uns-convert.php]; as low carbon as possible. or possible. "Hyperm O", (Cobalt iron alloys for pole pieces if needed e.g. Vanadium Permendur is a superior soft magnet material, but it is VERY difficult to work with and very expensive , and requires fair expertise in heat treating after machining. You should only use it if you need to) <br />
<br />
Inter lens X Y deflection coils made from 3 ferite toroid's (N97?), all X deflection coils interconnected, with the first toroid wound in opposite direction from the second and third toroid's and Y deflection coils similarly connected.<br />
<br />
*thermal conducting material for anode support structure that extends through high voltage feed through ; Aluminum alloy 6063(Al Mg(0.7)Si(0.4)) connection to 304L via Viton O rings, (could try HelicoFlex [http://www.techneticsgroup.com/bin/1090.pdf] or aluminum steel bonding later) to reduce Aluminum out-gassing (ie Al "desorption" worse than 304L steel ) ethanol lubricant during machining is used(as opposed to water based lubricants) (For large Aluminum chambers could also machine in argon atmosphere), p.245 [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]<br />
<br />
*glass for cheap but fragile chambers ( and often need outer radiation shielding box ) p 249[http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]<br />
<br />
*Thermionic emission regime hot filament design; light bulb sm8018 see cost saving approaches below ( copper infused tungsten has also been mentioned as more stable physically)<br />
<br />
material for flange ordering:<br />
<br />
*304L stainless steel electro slag remelt or vacuum remelt or cross forged, <br />
<br />
*hot forged<br />
<br />
*tube ID to be free of hydrocarbon contamination<br />
<br />
*white pickled or bright-annealed<br />
<br />
* I.D & O.D Clean after manufacturing<br />
<br />
* seal in plastic bags<br />
<br />
*etched or stamped with part nr, and material type<br />
<br />
not allowed: <br />
<br />
*sand packing,<br />
<br />
* mechanical scratches on tube ID<br />
<br />
* any type of lubricant<br />
<br />
Avoid the following ;stainless 303 has sulfur in, cadmium and zinc plated screws, brass(permeability 1.55). avoid plastics , avoid O rings contact with solvents. [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]<br />
<br />
Materials for lens yokes needs permeability at least a 1000 times greater than pole piece spacers and beam tube. Eg. ASTM 1001 or soft iron[?]. <br />
<br />
( Prototype ; Vacuum flanges use cross forged 304L stainless ( corss forging breaks up an reorientates leak paths(certainly in flanges over 3 inch to remove micro leak paths that exist in normal 304 plate) (Material sampling As each batch of steal has a unique finger print of number of leak paths/impurities, material sampling can be used to fine the best batch's for High vacuum use.)<br />
<br />
Strength vs cost of materials [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/strength-cost/NS6Chart.html] Strength vs Weight [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/strength-density/NS6Chart.html] Strenght vs Ductility/Brittleness [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/strength-ductility/NS6Chart.html] Strength vs Toughness [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/strength-toughness/NS6Chart.html] Stiffness vs cost of materials [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/stiffness-cost/NS6Chart.html] Recycle Fraction vs Cost [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/recycling-cost/NS6Chart.html]<br />
<br />
Resistance Electrical vs Cost [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/resistivity-cost/NS6Chart.html] Max service temperature [http://www-materials.eng.cam.ac.uk/mpsite/interactive_charts/strength-temp/NS6Chart.html]<br />
<br />
Window version; For window version UHV LaB6 keep max inclusions to 1 or less for all types see p8 [http://www.chem.elte.hu/departments/altkem/vakuumtechnika/CERN19.pdf]<br />
<br />
====Vacuum Tech for builders====<br />
<br />
check for design for; leaks, Virtual leaks , chamber surface area reduction eg minimizing ceramic fish beads insulation, This is a developing detailed process which you improve incrementally in practice.<br />
<br />
calculation of process of gas load from;<br />
*seals /volume gas / Calculator here [http://www.engineeringtoolbox.com/vacuum-evacuation-time-d_844.html] Given a)enclosed volume..m<math>^3</math> b) Volume flow rate capacity m<math>^3</math>/s remove from this o ring leak rates ( for viton 2.5 x<math>10^-</math> <math>^8</math> torr liters / second / linear inch )c) initial pressure mbar d) final pressure mbar Get estimated evacuation time of <br />
*surface gas / permeation/ desorption from materials etc by pump , <br />
<br />
If two pumps backing pump selection calculation. <br />
<br />
10-4 torr HV chamber list ; First time chambers conditioning; New O-rings vacuum bake 150o C or several hours next to infa red lamp not over 160o C before installation . If the chamber is a bake-able, metal-gasketed ultrahigh vacuum (UHV) system, baking the system, especially into the roughing pump, would be standard procedure.Avoid cold spots will collect the very contaminants that we need to remove.. Using internal UV 185 /254 nm bulbs to breakup hydrocarbons and infrared bulbs for desorption of water.; If using non capturing type of pump ( eg turbo pump or oil diffusion pump ) where 2 pumps are required, one roughing (i.e. taking the turbo pumps inlet to low enough pressure to be activated, then changing mode to maintaining a appropriate turbo pump inlet pressure for efficient pumping, called roughing pump in backing mode), the inter pump connection line or" foreline " having a diameter above 12cm means you nearly avoid slow pumping molecular flow mode [http://www.vacuumlab.com/Articles/VacLab50.pdf] otherwise introducing some Nitrogen in the inter pump line when chamber is below 1 x <math>10^-</math> <math>^3</math>torr will ironically help the roughing pump support the turbo pump better and remove any water .This Nitrogen gas technique is also an extra help for supporting the functioning of the oil sealed mechanical pumps oil traps and light gases in fore line also.<br />
<br />
For window version running LaB6 UHV chamber 1 x <math>10^-</math> <math>^6</math>torr ; First time chambers; Flushing the chamber to exhaust with hot nitrogen gas for 1/4 -1/2 hour can be effective in removing surface contaminants (UHV) Could go as far as Glow discharge cleaning[http://depts.washington.edu/rppl/presentations/INTERNAL/2007%20Internal%20Glow%20Discharge%20Cleaning%20Presentation.pdf]. <br />
<br />
<br />
====High Voltage for builders====<br />
<br />
<br />
The high voltage bobbin for transformer is an insulating material; HDPE 4mm or cheaper XLPE ( X indicates crosslinked LDPE) or nylon 6/6 insulation, This cross linked low density polyethylene XLPE is used in 11KV to 500KV cables where LPE is set to a fixed form by a process called curing or vulcanization, this can be done via chemical or electron beam radiation. This crosslinking process improves the mechanical stability of the cheaper XLPE products. Comparing the breakdown voltages on different Polyethylene we find that HDPE is 100KV/mm, LLDPE 75KV/mm LDPE 75KV/mm XLPE 50KV/mm p.8[http://www.tesisenred.net/bitstream/handle/10803/83597/TJOP1de1.pdf?sequence=1]]. Other materials include PVC, ceramics, glass, rubber, resins, reinforced plastics, polypropylene, impregnated paper, wood, cotton, mica, pressboards, Bakelite, Perspex, Ebonite, Teflon [http://nptel.iitm.ac.in/courses/Webcourse-contents/IIT-KANPUR/HighVoltageEngg/ui/Course_home1_1.htm]<br />
<br />
Introduction to HIgh Voltage [http://nptel.iitm.ac.in/courses/Webcourse-contents/IIT-KANPUR/HighVoltageEngg/ui/Course_home1_1.htm]<br />
<br />
====Shielding Tech for builders====<br />
<br />
1mm lead shielding is equivalent to :3mm 304 stainless , ??mm sand, ??mm concrete, ??mm standard glass ??mm leaded glass, external box with window cheap ideas?.<br />
<br />
Argon gas cylinder needs to be protected from falling over, as long as their is some ventilation the argon gas is no problem, a 60 euro cylinder should provide 3000 chamber purges in window option design ( background info; oxygen 21% of air argon less than 1 %, if oxygen concentration falls below 17% than can effect ill people for healthy people its ok down till 12%, if trace element of CO2 is also present hyperventilation can be triggered which allows no ill effects down to 7% Oxygen. this C02 trace approach is added to argon fire extinguisher systems). For on beam path calculation target penetration based on NIST material testing calculater for 90KV 1.8 mm of lead gives 100% attenuation[http://web-docs.gsi.de/~stoe_exp/web_programs/x_ray_absorption/index.php].<br />
<br />
==Other design options which other builders may choose to follow that we have rejected ==<br />
<br />
''Chamber & pumps & feedthroughs''<br />
<br />
The non window single chamber version can be adapted for Lanthanum hexaboride (LaB6) filaments ( lasting 1000 times longer than tungsten filaments but expensive and needing higher vacuum of 10-6Torr) through creating a dual pressure vacuum chamber design, dividing chamber up between filament/cathode/anode area and the main weld chamber with a mini "airlock" chamber which is high speed pumped. The existing single aperture/ baffle between L1 and L2 magnetic lenses can be cleaved/split in to two separate apertures in two disks thus creating an intermediate mini airlock chamber. The existing aperture size small apertures(100µ) thus doubles up as two air nozzles separating the electron gun from the weld chamber. These 100µ apertures (image size at baffle is 6% of 1mm emitter radius de-magnified by 0.3 so image height is 20µm so aperture will be about 100µ(check)) are suitable size as a pumping aperture/nozzle between electron gun chambers at 10-6 Torr and 10-4 Torr weld chambers. This adaption also requires additional vacuum pumps for each area and the intermediate mini chamber between the baffles.<br />
<br />
(Old option: Another option is using 2 recycled TV cathode ray tubes as main vacuum chamber, Leaving only the problem of the build chamber tube which can now self print in 7 pieces and assembled, which is achievable as no longer needs to be vacuum tight only metal powder tight as is within glass Cathode ray tube chambers and cutting the hardened screen glass is successfull. Finally a good way to reuse all those old TV's!)<br />
Pumping options ; diaphragm pump no oil Dry<br />
<br />
Link to details of [[High vacuum chamber]] (initially welded then glued)<br />
<br />
<br />
* Electrical feed-troughs ; For tungsten filament AC 10A 3V 30W ( NB SM8018 bulb for comparison is 6V 2.5A 15 W flat wound filament but nearly all energy is seen by gun where as only a 40th of ribbon is seen by gun but is 30W 2mm wide 50µ thick ( check)) 50/60Hz heater power supply electrical feed-through includes a oil immersed 100KV isolating transformer using a Pyrex and quartz tubing within CF pipe coupler with orings with oil imersion on outside [http://www.coultersmithing.com/AuxCP/FT.html] .By placing last stage of main 100KV power supply the cockcroftwalton ladder in its own vacuum chamber keeps all high voltage ( 100KV) within vacuum(except filament isolating transformer) which allows 15 KV sparkplug type electrical feedthroughs to be used [http://home.earthlink.net/~jimlux/hv/sparkplug.htm] these are welded sparkplugs on CF flanges with out radio noise suppression carbon resistor . A further welded sparkplug type electrical feedthrough will be used for interconnection of 100KV from power supply sub vacuum chamber to main gun chamber. CF flange Electrical connectors, Other (1x 140KV 2KW , , 6x SEM PIN diode pickups low current low voltage, <br />
<br />
*Mechanical feed-troughs ; 45Nm torque oring or more leak resistant magnetic feed-throughs 3x 12mm Motor shaft Vacuum chamber motion feed through. 10-5 Torr Low torque version and high torque for 700W build platform motor.<br />
<br />
* a dry pump option is better for EBPVD but currently 10K plus euro so rely on back flow oil filtering. ( Aminor issue for metal printing but a problem for solar cell printing is the silicon oil vapor in to the chamber from the oil diffussion pump which will be cracked when in contact with tungsten filament (at 2600 C) producing oil by products that reduce the vacuum and affect the quality of EBPVD [http://en.wikipedia.org/wiki/Electron_beam_physical_vapor_deposition] melted metal depsoited layers (EBPVD summary by material [http://www.cleanroom.byu.edu/TFE_materials.phtml]) .<br />
<br />
*Alternative roughing pump is use an oil diffusion pump, there is an existing home build design, see here: [http://sites.google.com/site/skygaps/vacio/bomba-de-difusion-en-acero-inoxidable],[http://www.cientificosaficionados.com/tbo/difusion/bomba%20de%20vacio%20difusora.htm] (use google translate) though some people have had success with using the chilling unit from an air conditioner in-between pump and chamber [http://benkrasnow.blogspot.com/2011/03/diy-scanning-electron-microscope.html]. Other electrical feedthrough options includes 100KV sparkplugs with out radio noise suppression carbon resistor [http://home.earthlink.net/~jimlux/hv/sparkplug.htm] with oil immersion on outside. But many commercial machines use the diffusion pumps and cope with the oil issues;The cooled condensation baffles in between the pump and the chamber is adequate to prevent any significant amount of oil getting in the chamber at these pressures. The best way to do wire coils is to seal them into a stainless steel can, and allow a cooling medium like air to ventilate the can. You cannot hope to dissipate much heat from a coil in vacuum, and you don't want the coil to outgas into your vacuum anyway. For the prototype we suggest one gun in a chamber that can be used to test either guns design( Melting gun and vision gun).Once we see the outcome of the test we can decide to try two separate guns again if necessary.<br />
<br />
<br />
<gallery widths=480 heights=250><br />
File:Selfreplication1.jpg|MetalicaRap V2's solution:Buy your 2 sizes of tube cut to length, the larger for gun chamber and build platform chamber the smaller for the spacing rings, glue or weld the smaller pipe rings in the larger pipe, weld in your self printed parts which are now large enough to fit<br />
File:Selfreplication2.jpg|The chamber surrounding the 12Kg hopper / sensor is too large to print in the build chamber, and you don't want the challenge of welding boxs that are air tight, so you buy a plate as thick as the whole box in Aluminum (cost excludes 304) and slightly over size, remove the build chamber from the bottom of your working printer, clamp the over size plate under it and use your printer in subtractive electron beam machining mode, with the beam striking at an angle by the use of an extra deflection coil, thereby cutting up the material you want to remove and manually breaking the cut bits of with normal hand tools ( other parts are bigger than the build platform like the hopper itself but can be printed in parts and assembled as does not need to be airtight).<br />
</gallery><br />
<br />
'''Powder Deposition'''<br />
<br />
* The Arcam EMB uses a "textured roller". Presumably a roller is textured with a pattern of holes which is loaded with powder, then the powder falls out of the holes, and a little random redistribution occurs on the way down to the workpiece surface for a reasonably uniform powder layer of repeatable thickness this design will likely operate at ultra high vacuum. <br />
<br />
* Leveling the surface of the powder bed or enabling better flow through hopper at ultra high vacuums may be possible using ultrasonic lubrication to briefly fluidize the powder bed. It might cause unacceptable settling though. <br />
<br />
*The density of the powder is lower than the density of the solid metal. So if the powder is only deposited using say the textured roller the upper level of the powder bed will get higher than the surface of the part being printed. How is this dealt with in the Arcam printers? More research needed<br />
<br />
*Upon beam heating material loss in the form of evaporation and melting is released in to the chamber redepositing itself on windows and light optics and even chemically react with filament ( a minor effect with most materials but a major effect if used in electron beam machining mode where a non metallic backing material or axillary material which is ignited leading to rapid expulsion of auxiliary material that pushes up through the partially mellted hole in the metal work piece above thus causing expulsion of molten metal in the hole, thus creating a cleaner hole shape See 26min in [http://www.youtube.com/watch?v=pkikv0RHWTA]), a slotted disk in combination with a pulsed beam operation and a slotted disk can protect these windows / optics surfaces. (another approach is to use replaceable and disposable glass sheet covers).<br />
<br />
<br />
''Power supply and power control options''<br />
<br />
*Use power supply only approach, but with a refinement of 8 fixed value /position adjustable gun resistor so you can put beam current in suitable range to allow for filament change variations, instead of manual rotation ,use fet 4KV & 8x ldr/resistor gate matrix & 8 x led outside test tube. This would make the change of gun resistor automatic. Rejected due to difficulty of finding a FET small enough to go in test tube, ( 200W 4KV up to 30mA)<br />
<br />
*Current sensing methods; On transformer secondary (high voltage side) second FPGA on optical link via SFP gigabit modules can sit at -62.5KV and measure current via fixed 40K Ohm (40K non varying element of gun resistor it also has 0 to 140K ohm variable / or via 8 fixed resistors element in 20K ohm steps ) gun resistor their by gaining 30dB Signal noise, ( as opposed to second FPGA siting at 0V sensing beam current across gun resistor via two voltage dividers (-62.5KV to -2V voltage divider), as opposed to using separate (5W 100 ohm) current sensing resistor in earth return from chamber, even less noise but earthing complications with some motor types and requiring some low voltage secondary insulation of chamber) ( power to FPGA via low voltage rectifier and core less transformer via filament test tube ( same method as filament supply but additionally rectified).<br />
<br />
* by control of the bias on the Wehnelt voltage in gun ; 0V( full beam wehnelt has same voltage as cathode filament No bias ) to - 3KV pinch off (cut off where wehnelt is at the lowest voltage and cathode filament is 3KV more positive ( i.e. more like anode) ). This bias is achieved via E130L vacuum tube acting as a voltage divider of the main output voltage thereby in effect creating a second voltage supply, OR via 2nd transformer isolated power-supply providing up to 3KV bias. This approach has poor short circuit protection and poor repeatability due to main filament replacement alignment variation). <br />
<br />
*by control of the bias on the Wehnelt voltage in gun ; via a second power supply across cathode and Welneht. ( this option is not compatible with the o/p current sense via a ground path resistor as it places a parallel power supply, o/p current sense via a hall device Isolation via a led to photo-transistor 10cm light tube to bring signal to low voltage side/ FPGA side. High voltage side circuit powered by a second core-less transformer across glass test tube used in cathode filament assembly, primary is mains, secondary rectified 5V for LED driver circuit and 15 V for hall current sense device ). <br />
<br />
*limit the control option to pulsed operation; use FET series each 800V with transient voltage protection ''regulator circuit for an x-ray tube with transient voltage protection'' <br />
<br />
*A full high voltage drop across a tetrode ( triode limits bandwidth [http://en.wikipedia.org/wiki/Miller_effect], this tetrode is a safety feature as it controls the current independently of gun but is expensive.<br />
<br />
*Push the parallel series converters resonant tank current by 30% so get higher voltage output of 73KV instead of 63 KV. This requires n=19 Cp=18nF Cs=57nF alpha=0.3125 Ls=13.5µH. fo= 181.5Khz. Max duty cycle 0..8. Stress on components increases as Zs Series impedance drops from 333 Ohms to 236 Ohms.<br />
<br />
*''Voltage multiplier ladder version'' Cartesian 1kW gun power supply circuit construction will be based around 2 MOT serialized 100KV(1Kw) that gets feeded from a freqency controlled 3 phase switchmode powersupply range 100 Hz to 1 KHz and 8 stage Cockcroft walton ladder for the positive 15 Kv x8= 120KV un regulated, To avoid the need for both; expensive air tight 100KV connecters, and power supply oil immersion , the Cockcroft walton ladder will be situated within the vacuum tank (dead tank with the enclosure at earth potential) in a sub chamber sealed from the main chamber having its own small 8KV ion pump with some tantalum, slotted cathode cells for argon gas collection [http://www.cientificosaficionados.com/libros/CERN/vacio3-CERN.pdf]. The intermediate wall between vacuum tank containing Cockroft walton ladder and main chamber containing gun will be constructed from copper with internal water cooling channels connected to exterior water supply to avoid Diode and resistor overheating problems. With the use of a one way valve between chambers the circuitry remains well insulated unaffected by vacuum loss in the main chamber. .( Cross linking machines already use this vacuum encased powersupply approach).<br />
Cockcroft Walton ladder Calculator Help & Tool for any one who want's a fast overview [http://blazelabs.com/cw-brm-java.asp]<br />
<br />
[[file:transformersladder.jpg|thumb|right| Transformers and ladder 3 phases ]]<br />
[[file:100KPower.jpg|thumb|right| Power supply functional diagram now full wave Cockcroft- Walton ladder]]<br />
<br />
*You take heat out of assemblies like this by incorporating water cooling. If you use high purity water (80 meg-ohm) it is reasonably non-conducting electrically, though initially tests will be air cooled vanes on high voltage feed through copper bar.<br />
<br />
'''Deflector coil options'''<br />
<br />
Driver circuit choice Coil position options 1)7 degrees at bottom of gun 2)nearer build table.<br />
By rotating the scan raster by 45 degrees in the X Y plane means that we can increase scan speed by product of X and Y coils deflection speeds (in contrast to max X deflection speed equaling max X coil deflection speed), though we do get a lower pointing accuracy.<br />
<br />
==Practical Tasks for builders==<br />
<br />
Specific's<br />
<br />
:* What motor power for build platform vertical motion see scale diagram below ? owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
:* Which diameter for extension rod inside moterdriven sleeve. I.D. & O.D. sleeve diameters, I.D. & O.D for extention shaft? owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
:* What motor size & minimum shaft O.D. for hopper X movement/powder deposition ? owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
:* What is the best Main Deflector Coil driver topology options ; a) Raster 30cmx30cm b) point and shoot owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
:* What solvent removes conductive coating on outside of salvaged TV tube? Best method to get a clear viewing / illumination window in CRT. Best way to cut hole in screen after pip breakage release of vacuum and capacitive discharge via shorting anode cap to earthing band on four corners of set ( use own cable as anode cable may have diode in[http://www.youtube.com/watch?v=H_4qc9Jyt5A][http://www.youtube.com/watch?v=UsL-rAUKswQ][http://www.youtube.com/watch?v=-QOxLRLDVeg]), be safe out there!. owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
Broader research (this is the difficult stuff) you need plenty of free time to do these <br />
<br />
<br />
Your suggested task here (especially pleased if you are going to do it)<br />
<br />
:* ....................................................................................................................................................................................owned by username ;...........likely finish date :.........emotional status..........<br />
<br />
<br />
None of the processes in themselves are new, they have all been done in other contexts. What is new is that it may offer finished parts requiring no further machining, verification of parts tolerance and bring error correction to metal powder 3D printing for the first time, thus enabling full-strength finished dimensional parts production.<br />
<br />
(add your username, your likely Task completion date , and emotional status comment ;(possibles include " its fun" " its challenging" "wow" "----" "I feel like Robinson Crusoe" " I am so alve" "I am going to be wealthy" .... )<br />
<br />
= Research Corner Welcomes Your Contribution=<br />
<br />
If these knowledge areas are new to you, remember to use your networking skills to talk to others, that friend or uncle may be just that expert!<br />
<br />
Design/research questions:<br />
<br />
*A. Possible pit falls of running an SEM at 100W in four-source photometric stereo Ruderford back scatter mode? <br />
<br />
*B. Depth of field of measurements layer errors over 200µ height, typical SEM power is 0.1W?<br />
<br />
*C. Target metal surface temperature measurement would be a big advantage, Do you know of a electron bombardment based remote temperature measurement approach?. <br />
<br />
*D. Quantify relationship between cathode surface tolerances and electron gun performance, (spot size variation , 2nd order effects etc ) Quantify range of gun performance at cathode tolerances of IT 7.<br />
<br />
*E. Which pattern of beam movement a "fixed raster pattern (like a TV scan )" or "point and fire where needed" in a) preheat stage? ( taking temp up to 20 C below melting pointas (commercial printers preheat and infill print method)) b)melting/sintering by following part shape? (scanning coil eddy currents overcome with delays?,scanning blanked out areas leads to time wasting?, variable shaped beam more efficient?, Interference from other signals- X ray , secondary electrons , luminescence , beam induced currents?, Clear path for beam? (commercial printers do edges of parts in this method) <br />
<br />
'''[[Talk:MetalicaRap| Design question feed back / discussion. Add your ideas here! ]]'''<br />
<br />
MetalicaRap Construction; [[MetalicaRap:Physics Principles|Physics Principles/Disscussion]]<br />
<br />
==See Also==<br />
* [[Metal Delta RepRap v1]] - uses a MIG welder to print rough steel forms prior to conventional machining See [http://www.appropedia.org/Open-source_metal_3-D_printer Open Source Metal Printer]At Peace research group part of Department of Materials Michigan Tech [http://www.mse.mtu.edu/~pearce/Past.html Past Projects]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Print_Troubleshooting_Pictorial_Guide&diff=113967Print Troubleshooting Pictorial Guide2013-12-28T19:34:47Z<p>Funny bananas: /* Infill Gaps */ added info</p>
<hr />
<div>[>>still populating data 9/1/2013- You are welcome to help. see [http://forums.reprap.org/read.php?262,178054]<<<br />
<br />
<br />
<br />
This guide assumes a basically properly built and calibrated printer [[Main_Page]]. This guide is not intended as a design guide, but more as an operational troubleshooting guide.<br />
If you have not read through and attempted a complete calibration, see the REPRAP wiki for [[Calibration]] instructions. Some common calibration issues as well as common build related issues however are discussed.<br />
<br />
(Please note: This guide is for identified and resolved issues only. The more common the issue, the better. No questions or open issues belong here, go to the forums for interactive help (look to your left in the links column). Use clear and concise language, only 6 pics or entries per issue.)<br />
<br />
The following categories are used to help identify the print issue by either print defects or by cause (if known). <br />
The print defects will point to identified causes and branch into individual examples and solutions:<br />
<br />
<!-- copy & paste format to each section for your new entry and leave unused field sets blank, someone later may add to the next set: <br />
<br />
{{PicGuide03|title=?|pic01=?|problem01=?|cause01=?|correction01=?|forum01=?|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}} --><br />
<br />
<br />
__TOC__<br />
==CAUSES:==<br />
===Material Feed===<br />
====Excessive====<br />
{{PicGuide03|title=Material Feed, Excessive|pic01=PTPG-MF-E02.jpg|problem01=Wall thicknesses are coming out too thick, objects have outside dimensions consistently slightly too large and holes are slightly too small.|cause01=Slicer software settings for perimeter widths are slightly too high.|correction01=Reduce flow rate setting for perimeters. Skeinforge has these settings available to change.|forum01=[http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge]|pic02=PTPG-MF-E01.gif|problem02=|cause02=|correction02=Nophead has some suggestions in his Hydraraptor blog on 3/13/2011.|forum02=[http://hydraraptor.blogspot.com/2011_03_01_archive.html]|pic03=PTPG-MF-E03.jpg|problem03=|cause03=|correction03=|forum03=[http://www.reprap.org/wiki/Filament]|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Insufficient====<br />
====Intermittent====<br />
===Material Handling or Source===<br />
====Material Contamination====<br />
{{PicGuide03|title=Material Handling, Material Contamination 01|pic01=PTPG-MH-MC01.jpg|problem01=Tiny filament width holes on print sides.|cause01=Steam blow-outs or bubbles from water absorbed from the humidity in the air into the raw filament during storage prior to printing. PLA is more susceptible to this as it has an affinity for water.|correction01=Proper handling of filament to reduce exposure to humidity.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=|problem02=|cause02=|correction02=Heat raw filament prior to use to remove absorbed water. take care not to melt filament as it will not be usable if it looses its round (cross section) shape or sticks together and cannot be separated.|forum02=[http://www.reprap.org/wiki/PLA]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 02|pic01=PTPG-MC02a.jpg|problem01=Extruder jams for no apparent reason. After the extruder hot section has been disassembled and cleaned out, it is rare to find the particle that was blocking the nozzle. Foreign particles may be visible in transparent filaments and may be accompanied by gas bubbles. Test for condition: (may damage nozzle) while extruder hot, insert a drill bit into the nozzle. If ooze occurs then stops again after drill bit is removed, a foreign particle may be in melt chamber.|cause01=Particulate inclusions in raw filament as purchased from source. Found in cheap filament (Chinese mfr) noted in PLA from Esun.|correction01=Use quality filament from known sources.|forum01=<br />
[http://richrap.blogspot.com/2012/06/jammed-frggn-nozzle-30doc-days-1518.html]|pic02=PTPG-MC02b.jpg|problem02=Indications of abrasion may be noticed internally in the thermal isolator of the hot end with the lines of abrasion in the direction of filament feed when disassembled. Print may show indications of intermittent plugging and unplugging of nozzle. Low melting point metal (likely solder) ball noted in ABS (mfr not determined).|cause02=This may indicate sub-orifice size foreign particles passing through extruder.|correction02=Use quality filament from known sources.|forum02=[http://forums.reprap.org/read.php?262,188420]|pic03=PTPG-MC02c.jpg|problem03=|cause03=|correction03=|forum03=[http://forums.reprap.org/read.php?262,188648]|pic04=pic03=PTPG-MC02d.jpg|problem04=|cause04=|correction04=|forum04=|pic05=pic03=PTPG-MC02e.jpg|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 03|pic01=PTPG-MC03a.jpg|problem01=Popping sound from nozzle like air bubbles under pressure or popcorn popping. Causing blowouts and missing plastic in part buildup.|cause01=Filament (ABS in this case) contains air bubbles or voids from manufacturing process.|correction01=Examine your filament for indications of this manufacturing defect. Use quality filament from known sources|forum01=[http://forums.reprap.org/read.php?262,195841]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Extruding Temperature===<br />
====Too hot====<br />
====Too cold====<br />
===Clogged Extruder===<br />
{{PicGuide03|title=Clogged Extruder|pic01=PTPG-CE-01.jpg|problem01=Extruder jambs at normal temperatures in the hotend's thermal isolator bore.|cause01=Excessive thermal isolator bore diameter allowing too much molten plastic back flow too far up isolator bore causing jamb when it solidifies.|correction01=Replace thermal isolator or isolator sleeve leaving .1 to .2mm only above filament diameter clearance for filament thermal expansion. (ex. 3.175mm for 3mm filament, filament is actually 2.9 +/-.1mm)|forum01=[http://hydraraptor.blogspot.com/2009/03/rheology.html]|pic02=PTPG-MC02e2.jpg|problem02=|cause02=Scratched bore of thermal isolator likely due to contamination, the extra surface area and texture of grooves allows molten plastic to adhere to thermal isolator bore causing repeated jambs.|correction02=Replace thermal isolator or isolator sleeve.|forum02=[[#Material Handling, Material Contamination 02]]|pic03=PTPG-CE-03.jpg|problem03=|cause03=Thermal isolator damaged bore, swelled bore due to excessive heat and pressure where bore is no longer the same diameter for full length causing jamb,|correction03=Replace thermal isolator or sleeve.|forum03=[[#Material Handling, Material Contamination 02]]|pic04=|problem04=Extruder frequently becomes jammed, but works fine briefly after clearing the jam|cause04=Thermal isolator or cold end getting too hot|correction04=Put a small fan on the hot end to cool the top.|forum04=|pic05=PTPG-CE-05.jpg|problem05=Leaving printer extruder heated up for 20 minutes or more without extruding, the extruder jams.|cause05=Insufficient length of thermal isolator or insufficient cooling of thermal isolator or cold end of extruder. Heat travels up the filament and may cause filament distortion above thermal isolator if cooling is insufficient.|correction05=Lengthen thermal isolator or add a fan to thermal isolator or cold end of extruder and filament. Or limit extruder hot time and/or extrude 10mm every 10 minutes.|forum05=[http://creatorson.wordpress.com/2013/03/28/plugged-extruder-2/]|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Bed Adherence===<br />
====Insufficient====<br />
{{PicGuide03|title=Bed Adherence insufficient|pic01=PTPG-BA-I01.jpg|problem01=Prints do not adhere to build platform.|cause01=Print head too high to push plastic against build platform|correction01=Change height settings to no greater than nozzle diameter above bed, calibrate bottom stop, level build platform|forum01=|pic02=|problem02=|cause02=Build platform not clean|correction02=Clean using rubbing alcohol, acetone or amonia, or reapply surface tape|forum02=|pic03=|problem03=|cause03=Build platform temp too low (other than PLA)|correction03=Raise build platform temp (max ~65C)|forum03=|pic04=|problem04=|cause04=Hot end nozzle temp too low for good adhesion.|correction04=Raise hot end nozzle temp (see Trifid_Hunter's guide).|forum04=[http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide]|pic05=|problem05=Tall parts tend to detach before build is complete.|cause05=Too low of contact area for the height or too low adhesion.|correction05=Select to use a raft with a larger footprint to aid adhesion, or use skirt with zero offset to increase base area.|forum05=[http://forums.reprap.org/read.php?1,205398,205417#msg-205417]|pic06=|problem06=|cause06=|correction06=|forum06=}}{{PicGuide03|title=Corner Lift|pic01=PTPG-BA-CL01.jpg|problem01=Outside corners lift from build surface as build progresses.|cause01=Differential cooling of printed object.|correction01=Select to print a perimeter skirt in Skeinforge or brim in slic3r with a substantial height. The tall skirt/brim acts like a shell which holds in the heat and reduces corner lift.|forum01=[http://forums.reprap.org/read.php?1,136147,139393#msg-139393]|pic02=PTPG-BA-CL02.jpg|problem02=|cause02=objects too close to edge of heated build platforms which are exposed to cooler temperatures.|correction02=Select to use a skirt/brim of substantial height.|forum02=[http://forums.reprap.org/read.php?1,138310,139899#msg-139899]|pic03=|problem03=|cause03=|correction03=You can add custom corner parts just offset from your corners (like a partial skirt) by editing your part or add custom parts to your multi part print plate that shield the corners from cooling off too fast.|forum03=[http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html]|pic04=|problem04=|cause04=|correction04=|forum04=[http://technocraticanarchist.blogspot.com/2009/12/printing-big-bits-of-mendel.html]|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Excessive====<br />
{{PicGuide03|title=Bed Adherence Excessive|pic01=PTPG-BA-E01.jpg|problem01=Printed parts adhere to the print bed too aggressively. Shown ABS printed on heated PC (polycarbonate) sheet.|cause01=Bed material selection needs to be compatible with material printed and temperature used.|correction01=PLA on heated glass works well as a build surface, Blue painters tape unheated works well for PLA, ABS on heated bed with Kapton tape works well, ABS on heated bed with PET tape works well. See build forum for examples and suggestions.|forum01=[http://hydraraptor.blogspot.com/2010/07/abs-on-pc.html]|pic02=PTPG-BA-E02.jpg|problem02=Printed parts adhere too aggressively. Shown ABS on heated glass took chip out of glass.|cause02=ABS may adhere too aggressively on uncoated glass.|correction02=Use Kapton or PET tape on glass for ABS. See build forum for examples and suggestions. |forum02=[http://forums.reprap.org/read.php?1,163015,163017#msg-163017]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Print Speed===<br />
====Too Fast====<br />
====Too Slow====<br />
===Calibration===<br />
====Circularity====<br />
{{PicGuide03|title=Non-circular Holes|pic01=PTPG-C-NC-01.png|problem01=Holes come out compressed in one direction (X or Y).|cause01=Loose drive train on the deformed axis.|correction01=Inspect the discrepant axis drive train for excessive slack in belt, loose gears on shafts or gear play then tighten as appropriate. |forum01=[http://forums.reprap.org/read.php?262,216117]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====scale====<br />
===Skipping Steps===<br />
====Controller Overpowered====<br />
{{PicGuide03|title=Skipping Steps, Controller Overpowered|pic01=PTPG-SS-OP01a.jpg|problem01=printer head fails to keep its position and prints successive layers offset from lower layers. Frequently called skipping steps, joggle or offsetting.|cause01=Several possible causes- This first one (red coin holder) was stepper controllers had their potentiometers (pots) adjusted too high (clockwise), causing overheating of stepper controller and causing a short controller reset to cool down (fraction of a second each time). This high setting may also produce hotter stepper motors.|correction01=Reduce pot setting (current) by carefully turning pot counter-clockwise.|forum01=<br />
[http://forums.reprap.org/read.php?262,190725]|pic02=PTPG-SS-OP02.jpg|problem02=|cause02=Stepper controllers with their potentiometers (pots) adjusted too low (counter-clockwise), causing stepper to miss steps. This low setting may be indicated by only warm stepper motors or pot setting less than about mid-travel. There is a procedure for electrically measuring and calculating an optimum setting, but many choose the simpler tweaking method (until it works). |correction02=Increase pot setting (current) by carefully turning pot clockwise.|forum02=|pic03=PTPG-SS-OP03.jpg|problem03=|cause03=Another cause of skipping is excessive friction in the x, y or z stages or slides. This may create a load too high for the rated torque of the stepper.|correction03=Prior to adding stepper motors to the assembly preferably, or without motors energised move stages by hand to feel for excessive friction and/or look for indications of rubbing or binding. without steppers, the stages should slide with less than 100 grams of force.|forum03=|pic04=|problem04=|cause04=Mechanical slipping in the drive train of the cartesian stages (X, Y or Z) like the toothed belt jumping teeth on its sprocket or the sprocket slipping on stepper shaft.|correction04=Determine if mechanical slipping is occurring by marking each belt, sprocket and stepper shaft and run the printer until it skips and check for misalignment of marks to indicate the source of the mechanical slippage. Correct slippage by tensioning belt or tightening offending sprocket.|forum04=|pic05=|problem05=|cause05=Excessively high software setting for acceleration or speed too fast for minimum move length possibly producing a mechanical resonance in the machine which produces enough inertia to overcome the stepper torque.|correction05=Reduce the acceleration setting in software or reduce speed.|forum05=|pic06=|problem06=|cause06=Custom hardware or electronics which have not been integrated already by someone else.|correction06=See REPRAP development wiki and any other information sources and keep reading.|forum06=[http://forums.reprap.org/read.php?262,205774]}}<br />
<br />
====Controller Underpowered====<br />
===Part Temperature===<br />
====Too hot====<br />
{{PicGuide03|title=Part Temperature, too hot 01|pic01=PTPG-PT-TH01.jpg|problem01=Prints warp at height|cause01=Part temperature builds up as part is built|correction01=Change settings to turn off or down temp of heated build platform after base layers are complete. Ex: with heat on all through print and off upon print start (starting at full temp but cooling as it goes) (pic01).|forum01=?|pic02=PTPG-PT-TH02.jpg|problem02=|cause02=|correction02=Reduce print speed to allow time to cool down|forum02=[http://forums.reprap.org/read.php?262,175859]|pic03=PTPG-PT-TH03.jpg|problem03=|cause03=|correction03=Introduce wait states/orbit for each layer|forum03=[http://forums.reprap.org/read.php?262,176913]|pic04=|problem04=|cause04=|correction04=Add fan to reduce heat of part.|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Too cold====<br />
{{PicGuide03|title=Part Temperature, Too Cold 01|pic01=PTPG-PT-TC01.jpg|problem01=Part warping and delamination as print progresses.|cause01=Part cools too fast causing contration especially in ABS which has a higher glass transition temp of ~140C.|correction01=Print perimeter surrounding skirt full height of part to keep the heat in.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=PTPG-PT-TC02.jpg|problem02=|cause02=|correction02=Enclose printer or print envelope in a box or bag to retain heat during print. Take care not to overheat printer parts which are not tolerant of heat.|forum02=|pic03=|problem03=|cause03=|correction03=Heat treat part post print (if it survives until then) using heated build platform and a cardboard box.|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
==PRINT DEFECTS:==<br />
===Surface Defects===<br />
====Pitting/Holes====<br />
[[#Material Contamination]]<br />
=====Small Single Filament=====<br />
=====Large Area of Filament=====<br />
====Jagged/Waviness====<br />
{{PicGuide03|title=Jagged Edges|pic01=PTPG-JW-JE01.JPG|problem01=Jagged edges in some locations adjacent to short edgefill segments.|cause01=Harmonic frequencies may be overloading the rigidity of the mechanical system.|correction01=Reduce frequency of moves by some means. Increasing the minimum length setting is a global way to reduce move induced vibration. Also reducing move speed or acceleration may reduce these issues.|forum01=[http://hydraraptor.blogspot.com/2010_12_01_archive.html]|pic02=PTPG-JW-JE01a.JPG|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Solidity of Surface====<br />
{{PicGuide03|title=Top Layers Not Solid|pic01=PTPG-SS-SLNS01.jpg|problem01=Not all areas which are external surfaces have the same fully solid surfaces. Also related is the alternate condition of lumpy walls and ridges on the top surface. See bottom of rectangular well in pic.|cause01=Skeinforge setting "Infill Interior Density over Exterior Density" ratio, which defaults to 0.9 may cause the lack of solidity and compensating with other settings may produce the latter effects.|correction01=In Skeinforge set Infill Interior Density over Exterior Density to 1.0. (This setting has been removed in later versions of Skeinforge.[http://fabmetheus.blogspot.com/2011_01_01_archive.html])|forum01=<br />
[http://hydraraptor.blogspot.com/2010/12/tip-top-top-layer-tip.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Strings====<br />
====Blobs====<br />
====Fineness of Detail====<br />
====Filaments not Touching====<br />
=====Infill Gaps=====<br />
{{PicGuide03|title=Infill gaps to perimeter|pic01=PTPG-FNT-FG01.jpg|problem01=Infill gaps to perimeter occur on one side of the part. |cause01=Excessive force required to pull filament from its bin or reel. |correction01=Rework filament retrieval system to reduce friction or pull load to printer.|forum01=[http://hydraraptor.blogspot.com/2010/07/bit-of-drag.html]|pic02=|problem02=|cause02=If other deformations are occurring in the layer, the infill is usually not the primary concern.|correction02=Solve the deformed contours issues first.|forum02=[[#Circularity]]|pic03=|problem03=|cause03=An axis that has the drive belt not in the centre of mass and play in the bearings may also be a cause. Check that all axiis on the printer don't have any movement directionally.|correction03= Fix any major looseness and play on linear bearings. |forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Infill gaps to perimeter 02|pic01=PTPG-FNT-IG01.jpg|problem01=Gaps occur between infill and perimeters especially on small details.|cause01=Some slicing software is more prone to produce infill gaps to perimeters.|correction01=If you have tried adjusting the settings available in your slicer without success and are tempted to change what should be constant parameters (like nozzle diameter etc...), you may want to try another slicing program to see if the problem is slicer dependant. There are many slicing programs available. |forum01=http://forums.reprap.org/read.php?262,237444|pic02=|problem02=|cause02=|correction02=See the REPRAP wiki list of slicer programs.|forum02=http://www.reprap.org/wiki/RepRap_Options#Slicing_Software|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Body Defects===<br />
====Hole Size====<br />
{{PicGuide03|title=Holes Undersized|pic01=PTPG-HS-HU01.JPG|problem01=Holes defined in solid model print smaller in diameter than modeled.|cause01=Several factors are likely adding up to the result and include faceting error, segment pausing, arc shrinkage and corner cutting.|correction01=It has been demonstrated that the maximum number of vertices you can have before the hole shrinks is twice the hole size in mm. In other words, a larger # polygon circle defining a hole does not necessarily make for a more precise hole when printed. For 1mm and under it is suggested to use 3 sides (triangle).|forum01=[http://hydraraptor.blogspot.com/2011_02_01_archive.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Bridging Failure====<br />
{{PicGuide03|title=Degenerating Bridging|pic01=PTPG-B-DB01.jpg|problem01=The ability to bridge well is deteriorating over time.|cause01=Nozzle walls can build up deposits which cause additional restriction within the nozzle after months of use. To verify this is the cause, measure the extruded filament diameter and verify that it is smaller than originally measured during calibration. Due to die swell, extruded filament diameter is usually not identical to nozzle hole diameter.|correction01=With the nozzle heated up carefully ream out nozzle orifice with original size drill bit.|forum01=[http://hydraraptor.blogspot.com/2010/11/monthly-maintenance.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Warping====<br />
[[#Part Temperature]]<br />
====Stepping/Offsetting====<br />
[[#Skipping Steps, Controller Overpowered]]<br />
====Interlayer Delamination====<br />
[[#Part Temperature]]<br />
====Failure at Height====<br />
[[#Part Temperature]]<br />
===Overall Disaster===<br />
{{PicGuide03|title=Computer Freeze|pic01=PTPG-OF-CF01.jpg|problem01=While printing from a computer any type of computer freeze up or communication failure may cause 3D printer damage or worse- a fire. Although I have only heard of one 3D printer catching on fire, with the electricity and heat there is a hazardous potential.|cause01=Computer system automatic updates.|correction01=Set automatic updates to off. The above picture had automatic updates turned off, but Microsoft overrode that and installed them anyway.|forum01=[http://hydraraptor.blogspot.com/2010/08/friday-13th.html]|pic02=|problem02=|cause02=Computer lock-up or freeze-up.|correction02=Print from printer's SD card. The 3D printer printing from it's own SD card removes the computer from the critical information path during the print. It can seem to be less convenient until you have to rebuild your printer after a failure. Especially helpful on larger print jobs.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=Machine Heat Effects|pic01=PTPG-OD-MHE01.jpg|problem01=Overheating the machine itself can cause damage to RP (plastic) parts.|cause01=Heat radiation and convection caused x-stage damage over months of heavy use.|correction01=Heat shield and or fan cooling of stage.|forum01=[http://hydraraptor.blogspot.com/2010/07/meltdown.html]|pic02=|problem02=|cause02=|correction02=Another reason to have a full set of plastic parts spares on hand. Print them before you have the next problem.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=|pic01=|problem01=If you are not certain about having correctly calibrated your printer,|cause01=|correction01=verify that it is calibrated first as that is the first step. See [[Calibration]]. Verify you also calibrated your extruder. Then verify your extruder zero height (endstop position) above your print bed is appropriately set.<br />
|forum01=|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Print_Troubleshooting_Pictorial_Guide&diff=113965Print Troubleshooting Pictorial Guide2013-12-28T19:20:34Z<p>Funny bananas: fixed sentence structure</p>
<hr />
<div>[>>still populating data 9/1/2013- You are welcome to help. see [http://forums.reprap.org/read.php?262,178054]<<<br />
<br />
<br />
<br />
This guide assumes a basically properly built and calibrated printer [[Main_Page]]. This guide is not intended as a design guide, but more as an operational troubleshooting guide.<br />
If you have not read through and attempted a complete calibration, see the REPRAP wiki for [[Calibration]] instructions. Some common calibration issues as well as common build related issues however are discussed.<br />
<br />
(Please note: This guide is for identified and resolved issues only. The more common the issue, the better. No questions or open issues belong here, go to the forums for interactive help (look to your left in the links column). Use clear and concise language, only 6 pics or entries per issue.)<br />
<br />
The following categories are used to help identify the print issue by either print defects or by cause (if known). <br />
The print defects will point to identified causes and branch into individual examples and solutions:<br />
<br />
<!-- copy & paste format to each section for your new entry and leave unused field sets blank, someone later may add to the next set: <br />
<br />
{{PicGuide03|title=?|pic01=?|problem01=?|cause01=?|correction01=?|forum01=?|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}} --><br />
<br />
<br />
__TOC__<br />
==CAUSES:==<br />
===Material Feed===<br />
====Excessive====<br />
{{PicGuide03|title=Material Feed, Excessive|pic01=PTPG-MF-E02.jpg|problem01=Wall thicknesses are coming out too thick, objects have outside dimensions consistently slightly too large and holes are slightly too small.|cause01=Slicer software settings for perimeter widths are slightly too high.|correction01=Reduce flow rate setting for perimeters. Skeinforge has these settings available to change.|forum01=[http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge]|pic02=PTPG-MF-E01.gif|problem02=|cause02=|correction02=Nophead has some suggestions in his Hydraraptor blog on 3/13/2011.|forum02=[http://hydraraptor.blogspot.com/2011_03_01_archive.html]|pic03=PTPG-MF-E03.jpg|problem03=|cause03=|correction03=|forum03=[http://www.reprap.org/wiki/Filament]|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Insufficient====<br />
====Intermittent====<br />
===Material Handling or Source===<br />
====Material Contamination====<br />
{{PicGuide03|title=Material Handling, Material Contamination 01|pic01=PTPG-MH-MC01.jpg|problem01=Tiny filament width holes on print sides.|cause01=Steam blow-outs or bubbles from water absorbed from the humidity in the air into the raw filament during storage prior to printing. PLA is more susceptible to this as it has an affinity for water.|correction01=Proper handling of filament to reduce exposure to humidity.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=|problem02=|cause02=|correction02=Heat raw filament prior to use to remove absorbed water. take care not to melt filament as it will not be usable if it looses its round (cross section) shape or sticks together and cannot be separated.|forum02=[http://www.reprap.org/wiki/PLA]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 02|pic01=PTPG-MC02a.jpg|problem01=Extruder jams for no apparent reason. After the extruder hot section has been disassembled and cleaned out, it is rare to find the particle that was blocking the nozzle. Foreign particles may be visible in transparent filaments and may be accompanied by gas bubbles. Test for condition: (may damage nozzle) while extruder hot, insert a drill bit into the nozzle. If ooze occurs then stops again after drill bit is removed, a foreign particle may be in melt chamber.|cause01=Particulate inclusions in raw filament as purchased from source. Found in cheap filament (Chinese mfr) noted in PLA from Esun.|correction01=Use quality filament from known sources.|forum01=<br />
[http://richrap.blogspot.com/2012/06/jammed-frggn-nozzle-30doc-days-1518.html]|pic02=PTPG-MC02b.jpg|problem02=Indications of abrasion may be noticed internally in the thermal isolator of the hot end with the lines of abrasion in the direction of filament feed when disassembled. Print may show indications of intermittent plugging and unplugging of nozzle. Low melting point metal (likely solder) ball noted in ABS (mfr not determined).|cause02=This may indicate sub-orifice size foreign particles passing through extruder.|correction02=Use quality filament from known sources.|forum02=[http://forums.reprap.org/read.php?262,188420]|pic03=PTPG-MC02c.jpg|problem03=|cause03=|correction03=|forum03=[http://forums.reprap.org/read.php?262,188648]|pic04=pic03=PTPG-MC02d.jpg|problem04=|cause04=|correction04=|forum04=|pic05=pic03=PTPG-MC02e.jpg|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Material Handling, Material Contamination 03|pic01=PTPG-MC03a.jpg|problem01=Popping sound from nozzle like air bubbles under pressure or popcorn popping. Causing blowouts and missing plastic in part buildup.|cause01=Filament (ABS in this case) contains air bubbles or voids from manufacturing process.|correction01=Examine your filament for indications of this manufacturing defect. Use quality filament from known sources|forum01=[http://forums.reprap.org/read.php?262,195841]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Extruding Temperature===<br />
====Too hot====<br />
====Too cold====<br />
===Clogged Extruder===<br />
{{PicGuide03|title=Clogged Extruder|pic01=PTPG-CE-01.jpg|problem01=Extruder jambs at normal temperatures in the hotend's thermal isolator bore.|cause01=Excessive thermal isolator bore diameter allowing too much molten plastic back flow too far up isolator bore causing jamb when it solidifies.|correction01=Replace thermal isolator or isolator sleeve leaving .1 to .2mm only above filament diameter clearance for filament thermal expansion. (ex. 3.175mm for 3mm filament, filament is actually 2.9 +/-.1mm)|forum01=[http://hydraraptor.blogspot.com/2009/03/rheology.html]|pic02=PTPG-MC02e2.jpg|problem02=|cause02=Scratched bore of thermal isolator likely due to contamination, the extra surface area and texture of grooves allows molten plastic to adhere to thermal isolator bore causing repeated jambs.|correction02=Replace thermal isolator or isolator sleeve.|forum02=[[#Material Handling, Material Contamination 02]]|pic03=PTPG-CE-03.jpg|problem03=|cause03=Thermal isolator damaged bore, swelled bore due to excessive heat and pressure where bore is no longer the same diameter for full length causing jamb,|correction03=Replace thermal isolator or sleeve.|forum03=[[#Material Handling, Material Contamination 02]]|pic04=|problem04=Extruder frequently becomes jammed, but works fine briefly after clearing the jam|cause04=Thermal isolator or cold end getting too hot|correction04=Put a small fan on the hot end to cool the top.|forum04=|pic05=PTPG-CE-05.jpg|problem05=Leaving printer extruder heated up for 20 minutes or more without extruding, the extruder jams.|cause05=Insufficient length of thermal isolator or insufficient cooling of thermal isolator or cold end of extruder. Heat travels up the filament and may cause filament distortion above thermal isolator if cooling is insufficient.|correction05=Lengthen thermal isolator or add a fan to thermal isolator or cold end of extruder and filament. Or limit extruder hot time and/or extrude 10mm every 10 minutes.|forum05=[http://creatorson.wordpress.com/2013/03/28/plugged-extruder-2/]|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Bed Adherence===<br />
====Insufficient====<br />
{{PicGuide03|title=Bed Adherence insufficient|pic01=PTPG-BA-I01.jpg|problem01=Prints do not adhere to build platform.|cause01=Print head too high to push plastic against build platform|correction01=Change height settings to no greater than nozzle diameter above bed, calibrate bottom stop, level build platform|forum01=|pic02=|problem02=|cause02=Build platform not clean|correction02=Clean using rubbing alcohol, acetone or amonia, or reapply surface tape|forum02=|pic03=|problem03=|cause03=Build platform temp too low (other than PLA)|correction03=Raise build platform temp (max ~65C)|forum03=|pic04=|problem04=|cause04=Hot end nozzle temp too low for good adhesion.|correction04=Raise hot end nozzle temp (see Trifid_Hunter's guide).|forum04=[http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide]|pic05=|problem05=Tall parts tend to detach before build is complete.|cause05=Too low of contact area for the height or too low adhesion.|correction05=Select to use a raft with a larger footprint to aid adhesion, or use skirt with zero offset to increase base area.|forum05=[http://forums.reprap.org/read.php?1,205398,205417#msg-205417]|pic06=|problem06=|cause06=|correction06=|forum06=}}{{PicGuide03|title=Corner Lift|pic01=PTPG-BA-CL01.jpg|problem01=Outside corners lift from build surface as build progresses.|cause01=Differential cooling of printed object.|correction01=Select to print a perimeter skirt in Skeinforge or brim in slic3r with a substantial height. The tall skirt/brim acts like a shell which holds in the heat and reduces corner lift.|forum01=[http://forums.reprap.org/read.php?1,136147,139393#msg-139393]|pic02=PTPG-BA-CL02.jpg|problem02=|cause02=objects too close to edge of heated build platforms which are exposed to cooler temperatures.|correction02=Select to use a skirt/brim of substantial height.|forum02=[http://forums.reprap.org/read.php?1,138310,139899#msg-139899]|pic03=|problem03=|cause03=|correction03=You can add custom corner parts just offset from your corners (like a partial skirt) by editing your part or add custom parts to your multi part print plate that shield the corners from cooling off too fast.|forum03=[http://hydraraptor.blogspot.com/2010/09/some-corners-like-it-hot.html]|pic04=|problem04=|cause04=|correction04=|forum04=[http://technocraticanarchist.blogspot.com/2009/12/printing-big-bits-of-mendel.html]|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Excessive====<br />
{{PicGuide03|title=Bed Adherence Excessive|pic01=PTPG-BA-E01.jpg|problem01=Printed parts adhere to the print bed too aggressively. Shown ABS printed on heated PC (polycarbonate) sheet.|cause01=Bed material selection needs to be compatible with material printed and temperature used.|correction01=PLA on heated glass works well as a build surface, Blue painters tape unheated works well for PLA, ABS on heated bed with Kapton tape works well, ABS on heated bed with PET tape works well. See build forum for examples and suggestions.|forum01=[http://hydraraptor.blogspot.com/2010/07/abs-on-pc.html]|pic02=PTPG-BA-E02.jpg|problem02=Printed parts adhere too aggressively. Shown ABS on heated glass took chip out of glass.|cause02=ABS may adhere too aggressively on uncoated glass.|correction02=Use Kapton or PET tape on glass for ABS. See build forum for examples and suggestions. |forum02=[http://forums.reprap.org/read.php?1,163015,163017#msg-163017]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Print Speed===<br />
====Too Fast====<br />
====Too Slow====<br />
===Calibration===<br />
====Circularity====<br />
{{PicGuide03|title=Non-circular Holes|pic01=PTPG-C-NC-01.png|problem01=Holes come out compressed in one direction (X or Y).|cause01=Loose drive train on the deformed axis.|correction01=Inspect the discrepant axis drive train for excessive slack in belt, loose gears on shafts or gear play then tighten as appropriate. |forum01=[http://forums.reprap.org/read.php?262,216117]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====scale====<br />
===Skipping Steps===<br />
====Controller Overpowered====<br />
{{PicGuide03|title=Skipping Steps, Controller Overpowered|pic01=PTPG-SS-OP01a.jpg|problem01=printer head fails to keep its position and prints successive layers offset from lower layers. Frequently called skipping steps, joggle or offsetting.|cause01=Several possible causes- This first one (red coin holder) was stepper controllers had their potentiometers (pots) adjusted too high (clockwise), causing overheating of stepper controller and causing a short controller reset to cool down (fraction of a second each time). This high setting may also produce hotter stepper motors.|correction01=Reduce pot setting (current) by carefully turning pot counter-clockwise.|forum01=<br />
[http://forums.reprap.org/read.php?262,190725]|pic02=PTPG-SS-OP02.jpg|problem02=|cause02=Stepper controllers with their potentiometers (pots) adjusted too low (counter-clockwise), causing stepper to miss steps. This low setting may be indicated by only warm stepper motors or pot setting less than about mid-travel. There is a procedure for electrically measuring and calculating an optimum setting, but many choose the simpler tweaking method (until it works). |correction02=Increase pot setting (current) by carefully turning pot clockwise.|forum02=|pic03=PTPG-SS-OP03.jpg|problem03=|cause03=Another cause of skipping is excessive friction in the x, y or z stages or slides. This may create a load too high for the rated torque of the stepper.|correction03=Prior to adding stepper motors to the assembly preferably, or without motors energised move stages by hand to feel for excessive friction and/or look for indications of rubbing or binding. without steppers, the stages should slide with less than 100 grams of force.|forum03=|pic04=|problem04=|cause04=Mechanical slipping in the drive train of the cartesian stages (X, Y or Z) like the toothed belt jumping teeth on its sprocket or the sprocket slipping on stepper shaft.|correction04=Determine if mechanical slipping is occurring by marking each belt, sprocket and stepper shaft and run the printer until it skips and check for misalignment of marks to indicate the source of the mechanical slippage. Correct slippage by tensioning belt or tightening offending sprocket.|forum04=|pic05=|problem05=|cause05=Excessively high software setting for acceleration or speed too fast for minimum move length possibly producing a mechanical resonance in the machine which produces enough inertia to overcome the stepper torque.|correction05=Reduce the acceleration setting in software or reduce speed.|forum05=|pic06=|problem06=|cause06=Custom hardware or electronics which have not been integrated already by someone else.|correction06=See REPRAP development wiki and any other information sources and keep reading.|forum06=[http://forums.reprap.org/read.php?262,205774]}}<br />
<br />
====Controller Underpowered====<br />
===Part Temperature===<br />
====Too hot====<br />
{{PicGuide03|title=Part Temperature, too hot 01|pic01=PTPG-PT-TH01.jpg|problem01=Prints warp at height|cause01=Part temperature builds up as part is built|correction01=Change settings to turn off or down temp of heated build platform after base layers are complete. Ex: with heat on all through print and off upon print start (starting at full temp but cooling as it goes) (pic01).|forum01=?|pic02=PTPG-PT-TH02.jpg|problem02=|cause02=|correction02=Reduce print speed to allow time to cool down|forum02=[http://forums.reprap.org/read.php?262,175859]|pic03=PTPG-PT-TH03.jpg|problem03=|cause03=|correction03=Introduce wait states/orbit for each layer|forum03=[http://forums.reprap.org/read.php?262,176913]|pic04=|problem04=|cause04=|correction04=Add fan to reduce heat of part.|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Too cold====<br />
{{PicGuide03|title=Part Temperature, Too Cold 01|pic01=PTPG-PT-TC01.jpg|problem01=Part warping and delamination as print progresses.|cause01=Part cools too fast causing contration especially in ABS which has a higher glass transition temp of ~140C.|correction01=Print perimeter surrounding skirt full height of part to keep the heat in.|forum01=[http://forums.reprap.org/read.php?262,180091]|pic02=PTPG-PT-TC02.jpg|problem02=|cause02=|correction02=Enclose printer or print envelope in a box or bag to retain heat during print. Take care not to overheat printer parts which are not tolerant of heat.|forum02=|pic03=|problem03=|cause03=|correction03=Heat treat part post print (if it survives until then) using heated build platform and a cardboard box.|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
==PRINT DEFECTS:==<br />
===Surface Defects===<br />
====Pitting/Holes====<br />
[[#Material Contamination]]<br />
=====Small Single Filament=====<br />
=====Large Area of Filament=====<br />
====Jagged/Waviness====<br />
{{PicGuide03|title=Jagged Edges|pic01=PTPG-JW-JE01.JPG|problem01=Jagged edges in some locations adjacent to short edgefill segments.|cause01=Harmonic frequencies may be overloading the rigidity of the mechanical system.|correction01=Reduce frequency of moves by some means. Increasing the minimum length setting is a global way to reduce move induced vibration. Also reducing move speed or acceleration may reduce these issues.|forum01=[http://hydraraptor.blogspot.com/2010_12_01_archive.html]|pic02=PTPG-JW-JE01a.JPG|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Solidity of Surface====<br />
{{PicGuide03|title=Top Layers Not Solid|pic01=PTPG-SS-SLNS01.jpg|problem01=Not all areas which are external surfaces have the same fully solid surfaces. Also related is the alternate condition of lumpy walls and ridges on the top surface. See bottom of rectangular well in pic.|cause01=Skeinforge setting "Infill Interior Density over Exterior Density" ratio, which defaults to 0.9 may cause the lack of solidity and compensating with other settings may produce the latter effects.|correction01=In Skeinforge set Infill Interior Density over Exterior Density to 1.0. (This setting has been removed in later versions of Skeinforge.[http://fabmetheus.blogspot.com/2011_01_01_archive.html])|forum01=<br />
[http://hydraraptor.blogspot.com/2010/12/tip-top-top-layer-tip.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Strings====<br />
====Blobs====<br />
====Fineness of Detail====<br />
====Filaments not Touching====<br />
=====Infill Gaps=====<br />
{{PicGuide03|title=Infill gaps to perimeter|pic01=PTPG-FNT-FG01.jpg|problem01=Infill gaps to perimeter occur on one side of the part. |cause01=Excessive force required to pull filament from its bin or reel.|correction01=Rework filament retrieval system to reduce friction or pull load to printer.|forum01=[http://hydraraptor.blogspot.com/2010/07/bit-of-drag.html]|pic02=|problem02=|cause02=If other deformations are occurring in the layer, the infill is usually not the primary concern.|correction02=Solve the deformed contours issues first.|forum02=[[#Circularity]]|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
{{PicGuide03|title=Infill gaps to perimeter 02|pic01=PTPG-FNT-IG01.jpg|problem01=Gaps occur between infill and perimeters especially on small details.|cause01=Some slicing software is more prone to produce infill gaps to perimeters.|correction01=If you have tried adjusting the settings available in your slicer without success and are tempted to change what should be constant parameters (like nozzle diameter etc...), you may want to try another slicing program to see if the problem is slicer dependant. There are many slicing programs available. |forum01=http://forums.reprap.org/read.php?262,237444|pic02=|problem02=|cause02=|correction02=See the REPRAP wiki list of slicer programs.|forum02=http://www.reprap.org/wiki/RepRap_Options#Slicing_Software|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
===Body Defects===<br />
====Hole Size====<br />
{{PicGuide03|title=Holes Undersized|pic01=PTPG-HS-HU01.JPG|problem01=Holes defined in solid model print smaller in diameter than modeled.|cause01=Several factors are likely adding up to the result and include faceting error, segment pausing, arc shrinkage and corner cutting.|correction01=It has been demonstrated that the maximum number of vertices you can have before the hole shrinks is twice the hole size in mm. In other words, a larger # polygon circle defining a hole does not necessarily make for a more precise hole when printed. For 1mm and under it is suggested to use 3 sides (triangle).|forum01=[http://hydraraptor.blogspot.com/2011_02_01_archive.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
====Bridging Failure====<br />
{{PicGuide03|title=Degenerating Bridging|pic01=PTPG-B-DB01.jpg|problem01=The ability to bridge well is deteriorating over time.|cause01=Nozzle walls can build up deposits which cause additional restriction within the nozzle after months of use. To verify this is the cause, measure the extruded filament diameter and verify that it is smaller than originally measured during calibration. Due to die swell, extruded filament diameter is usually not identical to nozzle hole diameter.|correction01=With the nozzle heated up carefully ream out nozzle orifice with original size drill bit.|forum01=[http://hydraraptor.blogspot.com/2010/11/monthly-maintenance.html]|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
<br />
====Warping====<br />
[[#Part Temperature]]<br />
====Stepping/Offsetting====<br />
[[#Skipping Steps, Controller Overpowered]]<br />
====Interlayer Delamination====<br />
[[#Part Temperature]]<br />
====Failure at Height====<br />
[[#Part Temperature]]<br />
===Overall Disaster===<br />
{{PicGuide03|title=Computer Freeze|pic01=PTPG-OF-CF01.jpg|problem01=While printing from a computer any type of computer freeze up or communication failure may cause 3D printer damage or worse- a fire. Although I have only heard of one 3D printer catching on fire, with the electricity and heat there is a hazardous potential.|cause01=Computer system automatic updates.|correction01=Set automatic updates to off. The above picture had automatic updates turned off, but Microsoft overrode that and installed them anyway.|forum01=[http://hydraraptor.blogspot.com/2010/08/friday-13th.html]|pic02=|problem02=|cause02=Computer lock-up or freeze-up.|correction02=Print from printer's SD card. The 3D printer printing from it's own SD card removes the computer from the critical information path during the print. It can seem to be less convenient until you have to rebuild your printer after a failure. Especially helpful on larger print jobs.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=Machine Heat Effects|pic01=PTPG-OD-MHE01.jpg|problem01=Overheating the machine itself can cause damage to RP (plastic) parts.|cause01=Heat radiation and convection caused x-stage damage over months of heavy use.|correction01=Heat shield and or fan cooling of stage.|forum01=[http://hydraraptor.blogspot.com/2010/07/meltdown.html]|pic02=|problem02=|cause02=|correction02=Another reason to have a full set of plastic parts spares on hand. Print them before you have the next problem.|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}<br />
{{PicGuide03|title=|pic01=|problem01=If you are not certain about having correctly calibrated your printer,|cause01=|correction01=verify that it is calibrated first as that is the first step. See [[Calibration]]. Verify you also calibrated your extruder. Then verify your extruder zero height (endstop position) above your print bed is appropriately set.<br />
|forum01=|pic02=|problem02=|cause02=|correction02=|forum02=|pic03=|problem03=|cause03=|correction03=|forum03=|pic04=|problem04=|cause04=|correction04=|forum04=|pic05=|problem05=|cause05=|correction05=|forum05=|pic06=|problem06=|cause06=|correction06=|forum06=}}</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Delta&diff=113893Delta2013-12-27T05:11:20Z<p>Funny bananas: /* Prototype 4 */</p>
<hr />
<div>{{Development<br />
|name = Delta RepRap<br />
|description = Delta type parallel kinematic manipulator setup to be used as repstrap<br />
|license = [[GPL]]<br />
|author = Energetic<br />
|categories = [[:Category:Delta|Delta]][[Category:Delta]]<br />
|image = delta.jpg<br />
}}<br />
<br />
=Introduction=<br />
The Clavel- or Delta-robot is mostly known for its use in pick-and-place work in PCB fabrication and generic packaging applications. It features fast and accurate positioning and is relatively easy to build. We, [[User:Energetic]] and [[User:Reinoud]] teamed up to create a both easy to fabricate and light on the budget RepPrep/RepRap. Our goal is to be well under the current prices for Mendel and/or Darwin RepRap's.<br />
<br />
We decided to design and develop the bot trough a series of prototypes, learning and refining on each iteration.<br />
<br />
==Prototype 1==<br />
[[Image:Delta Prototype 1 upside down.jpg|300px| Delta prototype 1 upside down]]<br />
<br />
The initial prototype designed and lasered by [[User:Energetic]]. It was cut out of 1 cm acrylic sheets by a shop. It proofed the concept of the [[magnet joint | magnetic ball]] bearings and the overall structure of the design. Regretfully it was never driven by an [[Arduino]]/[[Sanguino]] other than simple stepping.<br />
<br />
==Prototype 2==<br />
[[Image:delta.jpg|300px| LaserCut Delta by [[User:Energetic]] and [[User:Reinoud]]]]<br />
<br />
Lessons were learned from prototype 1. It proved to be hard to reproduce the machine since non-standard 4mm shaft [[Nema17]] motors were used and needed some intricate drilling in the side of the sheets to receive the bolts and nuts. Since acrylic also turned out to be quite expensive, we decided to go for plywood. We replaced the 10 mm acrylic with a set of three sheets of plywood with the respectively thickness of 3, 4, 3 mm so to easily accommodate the 4mm nuts and bolts.<br />
<br />
The structure was also modified to accept larger upper-arm ranges to give it a larger work-space. As 4mm shaft steppers are hard to find, the design was modified to use the standard 5mm shaft [[Nema17]] steppers.<br />
<br />
Although we've learned a lot of this prototype to justify a prototype 3, we'll first try to get it to work first. We might stumble on other unforeseen challenges!<br />
<br />
[http://www.youtube.com/watch?v=FxVFIte7pqI See it in action!]<br />
<br />
===Calibrating===<br />
The bot can detect the arms being in the start position. However, due to various causes the exact start angles of the three arms are not known but a rough estimation. Start angles being wrong result in a severe warped space that is far from flat nor the right size. The prototype therefore needs to be calibrated at least once in its life or when its reassembled. The calibration scheme is fully automatic with a single micro switch.<br />
<br />
===First drawings made===<br />
After a long wait, the bot is starting to make drawings with a pencil. Regretfully the pencil wasn't as stiffly mounted as we would hoped for so the quality of the drawing is not that well due to the hysteresis. No art yet, but some s3g files of the calibration object and a scaled up version of one of the Mendel pieces.<br />
<br />
[[Image:delta-initial-drawings.jpg|300px| First drawings by the Delta bot!]]<br />
<br />
==Prototype 3==<br />
Will most likely '''not''' feature the timing belts and pulleys. They proved to be too hard to get and can hopefully be replaced by either higher resolution microstepping or by a lasercut gear system.<br />
It will most likely also '''not''' feature the current ball-bearings used to hold up the cut-out wheels since the ball-bearing, but also the bolts attaching them also turned out to be hard to get.<br />
<br />
The plan is to make this one either the next prototype, or the final, of the laser-cut Delta RepPrep.<br />
<br />
==Prototype 4==<br />
Well.. speculation here... First RepRap-able version?<br />
Perhaps an upside down [http://reprap.org/wiki/GUS_Simpson GUS Simpson]? But then I might as well go make a regular one instead..<br />
<br />
=Firmware=<br />
[[User:Reinoud]] has written a [[ReplicatorG]] compatible firmware that does both the needed coordinate transformation and the real-time control. The goal is to have the complete bot, including the extruder, running on either a single [[Arduino]] or on a single [[Sanguino]] with standard [[Polulu]] stepper controllers and standard [[Nema17]] steppers. As for SDD card recording and playback support, a [[Sanguino]] might be required since the imported implementation of the FAT/MSDOS FS alone takes about the half of the [[Arduino]] 32Kb flash program space and currently just doesn't fit with the rest.<br />
<br />
''Is http://deltafimware.googlecode.com/svn/trunk/ the lastest version of that firmware?'' '''NO''' it isn't ... the current firmware is not yet released since it contains some serious flaws that we'd like to fix first.<br />
<br />
=Firmware Math=<br />
TBD<br />
<br />
=Mailing list=<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?31 Delta Robots and Stewart platform Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?178,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
* [https://groups.google.com/forum/#!forum/deltabot "Delta robot 3D printers"]<br />
<br />
= Arm proportions =<br />
<br />
Some people seem to think that a good ''(according to what measure?)'' set of arm proportions<br />
(using the notation from the Mzavatsky paper) is:<br />
* given some base size f<br />
* actuator size e should be about 3/5 of f<br />
* upper arm rf should be about equal to actuator size e<br />
* lower arm re should be about re = (rf + (f-e)/2) = (rf + f/5)<br />
* Given the tiny angle dT that the upper arm moves per step, the positioning error in the build volume is about (3/2) dT rf ''(???)''<br />
<br />
''... fill in details[http://forums.reprap.org/read.php?178,26318,32927#msg-32927] ...''<br />
<br />
=Existing Designs=<br />
"Mjcbruin" from the Netherlands designed the this delta bot for $70. It is driven by 3 hobby servos, and is controlled by an Arduino. The code has been published at the letsmakerobots link.<br />
[http://www.youtube.com/watch?v=HEHdD7pd64I&feature=player_embedded Video] [http://letsmakerobots.com/node/10577 Design + code]<br />
<br />
[[User:Reinoud]] has built a similar design with servos.<br />
<br />
* Ugly Stewart Platform ( http://builders.reprap.org/2006/09/ugly-stewart-platform.html ) : crude prototype for hydraulic Stewart platform.<br />
<br />
* first stab at a Stewart platform RepRap: http://blog.reprap.org/2006/02/reprap.html<br />
<br />
* Biollante: a few more stabs towards making a hydraulic Stewart platform RepRap: http://burningsmell.org/biollante/<br />
<br />
* Biollante posts: http://builders.reprap.org/search?q=Biollante<br />
<br />
* Volksrobot: http://sites.google.com/site/volksrobot/<br />
<br />
* http://forums.reprap.org/read.php?178,26318<br />
<br />
* "Baby sized reprap" http://forums.reprap.org/read.php?1,15252<br />
<br />
* [http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ "Delta robot kinematics"] by mzavatsky goes into excruciating detail on the math, has some nice illustrations, and ends with some sample code in C and a Lego implementation.<br />
** http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ - Mathematics discussion and C code example for inverse kinematics<br />
<br />
* Tripod positioners such as the [[SpoonPod]], the [[Helium Frog Delta Robot]], and [http://builders.reprap.org/search/label/tripod Viktor's tripod repstrap demonstrator] have many similarities to Delta positioners, as does the [[TRap]].<br />
<br />
* Forrest Higgs prints nice herringbone racks and pinions on his RepRap, and speculates that perhaps they will be useful in a Delta or Stewart RepRap.[http://technocraticanarchist.blogspot.com/search?q=delta][http://blog.reprap.org/2010/03/no-peel-no-warp-no-backlash.html]<br />
<br />
* Let's make robots! : Delta bot[http://letsmakerobots.com/node/10577] made from hobby servos<br />
<br />
* [http://www.linuxcnc.org/docview/html//motion_kinematics.html] The EMC documentation claims it can handle hexapods and other non-trivial kinematics ...<br />
<br />
* Yazzo PolyBot - Cranberry Edition by WilliamAAdams [http://blog.thingiverse.com/2011/02/03/delta-bot-equilateral-awesome/ "Delta Bot: Equilateral Awesome"]<br />
<br />
=Files=<br />
<br />
=Tooling=<br />
Lasercutter and standard tools are sufficient to make the current repstrap version<br />
:What's the minimum required working area (=minimum part size) needed? -- [[User:Nichtich|Nichtich]] 15:29, 4 March 2012 (UTC)<br />
<br />
=Notes=<br />
[[Category:LaserCut]]<br />
[[Category:Delta]]<br />
[[Category:Acrylic]]</div>Funny bananashttps://reprap.org/mediawiki/index.php?title=Extruder_Expansion_Board&diff=113888Extruder Expansion Board2013-12-26T23:39:38Z<p>Funny bananas: </p>
<hr />
<div>{{Development<br />
<!--Header--><br />
|name = EXT6<br />
|status = Experimental<br />
<!--Image--><br />
|image = RAMPS-FD-EXT6.png<br />
<!--General--><br />
|description = Extruder Expansion Board<br />
|license = GPL<br />
|author = bobc<br />
|reprap = <br />
|categories = [[:Category:Electronics|Electronics]]<br />
|cadModel = KiCAD<br />
|url = [https://github.com/bobc/bobc_hardware/tree/master/RAMPS-FD-EXT github]<br />
}}<br />
= Extuder Expansion Board =<br />
<br />
An expansion board to allow up to 6 additional extruders to be operated.<br />
<br />
[[File:RAMPS-FD-EXT6.png]]<br />
<br />
= Bill of Materials =<br />
To be documented..<br />
<br />
== Prototype ==<br />
Features:<br />
<br />
* slots for 6 stepper driver modules<br />
* 6 thermistor inputs<br />
* 6 MOSFET outputs with PWM control<br />
* fast low latency SPI compatible interface<br />
* interface requires minimum number of pins<br />
* compatible with 3.3V or 5V electronics</div>Funny bananas