3D Printer:Creamcheese:Config: Difference between revisions

From All Hands Active Wiki
Jump to navigation Jump to search
Nova1313 (talk | contribs)
Created page with "Category:Projects The Creamcheese makerbot at AHA is special. If your bot is similar to it, use these settings. They are probably a good start if you are using a Makerbot ..."
 
Nova1313 (talk | contribs)
No edit summary
Line 1: Line 1:
[[Category:Projects]]
[[Category:Projects]]
The Creamcheese makerbot at AHA is special. If your bot is similar to it, use these settings. They are probably a good start if you are using a Makerbot with 3rd generation electronics, 5D RPM firmware from RobG, a stepper extruder (with 3MM filament) and using either the 5D 3D shield or an ugly cable hack
The Creamcheese makerbot at AHA is special. If your bot is similar to it, use these settings. They are probably a good start if you are using a Makerbot with 3rd generation electronics, 5D RPM firmware from RobG or Jetty, a stepper extruder (with 3MM filament) and using either the 5D 3D shield or an ugly cable hack


==Makerbot Machines Configuration options==
==Makerbot Machines Configuration options==
===ReplicatorG config file===
===ReplicatorG machines config file===
These settings were configured for use with ReplicatorG 0029 R2. I started with RobG's XML file and made the following modifications/observations.
These settings were configured for use with ReplicatorG 0029 R2. I started with RobG's XML file and made the following modifications/observations.


Completed config can be found [http://novaslp.net/download/makerbot/AHAMakerbotSettings120702.zip here]
Completed config can be found on the main 3D printer page.


To start find a profile from RobG's config that closely matches your setup. In my case it was Cupcake 3G electronics with Gen4 extruder. I had a gen3 previously but planned to run Gen3 electronics also on a new stepper extruder. The important part is that you pick some stepper extruder. The reason for picking Gen3 electronics is that the X, Y and Z axis should be preconfigured for the right sizes. If you find after this setup that they move too far or too short when you move the platform from control in replicatorg, copy the stepspermm values for these axis from your prior configuration.
To start, find a profile from RobG's config that closely matches your setup. In my case it was Cupcake 3G electronics with Gen4 extruder. I had a gen3 previously but planned to run Gen3 electronics also on a new stepper extruder. The important part is that you pick one with stepper extruder. The reason for picking Gen3 electronics is that the X, Y and Z axis should be preconfigured for the right sizes. If you find after this setup that they move too far or too short when you move the platform from control in replicatorg, copy the stepspermm values for these axis from your prior configuration.


Robs files I started with are found linked from here: [http://www.thingiverse.com/thing:11837 THING!]
Robs files I started with are found linked from here: [http://www.thingiverse.com/thing:11837 THING!]


===Calculating Stepspermm===
===Calculating Stepspermm===
Note that I'm using Makerbot stepper controllers which are half stepping for all Axis. If you use something different, you need to multiply your values by that. For the A axis on replicator G 0029R2 with RobG's firmware '''the stepspermm value is ignored'''. I replaced the scale value he had listed in the config, with a stepspermm value of 6000. It actually ignores the value here. I have my max feedrate set as 8000, but I'm not sure of my actual tolerance.
Steps per MM in the basic config uses 1/2 steps for all Axis. If you use different stepper drivers divide by 2 and multiply by the amount of microstepping you are doing. Gen4 drivers are 1/8 step. Pololu like we use are max of 1/16 step. We have ours set to 1/8 step for X and Y, 1/4 step for Z and full step for A.
 
When using RPM (driver=makerbot4ga) the A axis stepspermm is ignored
When using 5D (driver=makerbot4g) the A axis stepspermm is used (calculation below in Jetty firmware).
If you have scale listed in your config just switch the word to stepspermm.
 
Set your max feed rate to something your bot can do realistically. If you use acceleration set them higher since the bot will control how fast it moves but will still limit by these. Ours are set to 8000 with acceleration.


===Calculating motor_steps===
===Calculating motor_steps===
Motor steps is what actually seems to be used during setup of the makerbot A Axis. This parameter is listed under the tool head settings. This seems to be how many steps it takes to make your axis turn 1RPM. I figured this out by making the a axis move 30RPM in 2 seconds  (1 total RPM! of the Axis). Since I'm direct drive and the settings for replicatorg are RPM this works. We want to get this setting to be as close to 1 RPM as possible. I believe our bot skips some steps so I fudge the number a bit. Ideally you should adjust your stepper controller pots so you do not miss steps.
If you are using the 4ga driver you will need to configure the motor steps parameter under the extruder setup in the machines config file. This is how many steps to turn 1 rotation. If your stepper motor does 200 steps per axis then multiply by the amount of microstepping. If you have gearing between the stepper and the filament drive, multiply by that.  
 
In our case our stepper does 200 steps per turn, 1/2 stepping with 13.6:1 gearing so we use a value of: 5440 (200x2x13.6)


====How to calculate motor_steps====
====How to calculate motor_steps====
Line 32: Line 40:
(360 / 1.8)  * 16 * 13.6 = 43520
(360 / 1.8)  * 16 * 13.6 = 43520


===Changes to this file===
===Jetty firmware acceleration settings===
Changed
Using acceleration on a cupcake requires telling the firmware how to move when accelerated. We do this by sending M codes to the bot using a special version of replicatorg.
*Name of file: Called it something I liked
*Z Axis values: Took values from old cupcake file, length 100, maxfeedrate 150, stepspermm 320.
*A Axis values: Changed from using scale to stepspermm but this is actually ignored.
*Removed all references to limit switches (we don't have them..)
*Toolhead
**Changed name to MiseryPusher (that is what I have)
**Set heated platform to true
**Removed settings for automated platform
**Set fan to false - We don't have one.
**Set default RPM to 30, this is just used in the control screen in ReplicatorG and doesn't change how you build
**Set Motor_steps to be steps needed for 1RPM (see calc above)


===Experimental Jetty settings===
First figure out how many steps to pull in 1 MM of filament.
Extruder stepper motor takes 43520 steps (@1/16th) to turn the pully on it 1 rotation. The pully is the Mk5 pully which has an effective diameter of 10.58mm.
Extruder stepper motor takes 5440 steps (@1/2 stepping) to turn the pully on it 1 rotation.  
The pully is the Mk5 pully which has an effective diameter of 10.58mm.


Pi x D = C so ~33.238 for circumference of my pully (direct drive from pulley).
Pi x D = C
The circumference of our Mk5 pully is 33.238 (direct drive).


Values for Steps per MM
Values for our (13.6:1 geared direct drive stepper) Steps per MM
43520 / 33.238 = 1309.345 (1/16th step)
43520 / 33.238 = 1309.345 (1/16th step)
21760 / 33.238 = 654.672 (1/8th step)
21760 / 33.238 = 654.672 (1/8th step)
5440 / 33.238 = 163.66 (1/2 step)
2720 / 33.238 = 81.834 (full step)


So on M215 I really want to send:
With this value we can get the following M codes to send. We found we had to send them twice to get it to work.
(1/16) M215 X9413970 Y9413970 Z32000000 A130934500
**I DO NOT BELIEVE M215 BELOW MATCHES THE CURRENT CONFIG FOR CREAMCHEESE Z and A Axis!**
(1/8)  M215 X4706985 Y4706985 Z32000000 A65467236
M201 X700 Y700 Z10 A60000 (Sets the maximum acceleration in mm/s^2 for travel or print moves for X/Y/Z and Extruder)
 
M203 X150 Y150 Z10 A100 (Sets the maximum feedrate your machine can sustain in mm/sec)
With the custom RobG replicatorg 34 version use:
M204 S2000 K4000 (Sets the default acceleration in mm/sec^2. S=normal moves K= filament only moves)
 
M205 S0 K0 Z2 (Sets "S" Minimum Printing Feed Rate, "K" Minimum Travel Feed Rate, "Z" Minimum Planner Speed - all multiplied by 10, except Minimum Planner Speed)
*M201 X800 Y800 Z100 A60000 (Sets the maximum acceleration in mm/s^2 for travel or print moves for X/Y/Z and Extruder)
M206 S43 A50 K40 X4 Y1 (Sets "S" noodle diameter multiplied by 100, "A" RevMaxFeedRate, "K" Extruder Deprime multiplied by 10, "X" SlowdownLimit, "Y" ClockwiseExtr)
*M203 X200 Y200 Z30 A40 (Sets the maximum feedrate your machine can sustain in mm/sec, these might be high..)
M207 S850 A900 K200 (Set "S" JKN Advance K - multiplied by 100000, "A" JKN Advance K2 - multiplied by 100000, "K" Minimum Segment Time multiplied by 10000 in seconds)
*M204 S3000 K5000 (Sets the default acceleration in mm/sec^2. S=normal moves K= filament only moves)
M208 A44 (Set Extruder Steps:mm, the number of steps to extruder 1 mm of noodle - multiplied by 10)
*M205 S0 K0 Z2 (Sets "S" Minimum Printing Feed Rate, "K" Minimum Travel Feed Rate, "Z" Minimum Planner Speed - all multiplied by 10, except Minimum Planner Speed)
M209 S3 (acceleration on - planner, also disables override gcode temp)
*M206 S60 A500 K0 X4 Y1 (Sets "S" noodle diameter multiplied by 100, "A" RevMaxFeedRate, "K" Extruder Deprime multiplied by 10, "X" SlowdownLimit, "Y" ClockwiseExtr)
M215 X9413970 Y9413970 Z32000000 A1636600 (Sets the number of steps to move 1 mm for each axis. The extruder is the for filament going in - all multiplied by 100000)
*M207 S1000 A1000 K1200 (Set "S" JKN Advance K - multiplied by 100000, "A" JKN Advance K2 - multiplied by 100000, "K" Minimum Segment Time multiplied by 10000 in seconds)
M216 X100 Y100 Z5 A100 (Sets Maximum Speed Change for X/Y/Z/Extruder - all multiplied by 10)
*M208 A42 (Set Extruder Steps:mm, *A42* the number of steps to extruder 1 mm of noodle - multiplied by 10)
M200 (reset to pick up settings)
*M209 S3 (acceleration on - planner, also disables override gcode temp)
*M215 X9413970 Y9413970 Z32000000 A130934500 (The extruder is for filament going in)
*M216 X500 Y500 Z75 A300 (Sets Maximum Speed Change for X/Y/Z/Extruder - all multiplied by 10)
*M200 (reset to pick up settings)
 
Changes to config file to raise the max feedrate to around 8000 for x/y axis and 10000 for Z.
Also make changes to skeinforge config when generating. The machine will limit it self as it prints so set the feedrate and travel feedrate in skeinforge profile very high.


==Skeinforge Config Options/Observations==
Changes to machines config file to raise the max feedrate to around 8000 for x/y axis and 10000 for Z were also made.
To start I copied the Skeinforge40 file for a Thing-o-matic Mk5 extruder with 3MM ABS filament. Start anywhere you like though. This was just close to the extruder that I really cared about as it was direct drive, 3MM filament and used the Mk5 stepper pully which our bot has.


===Start and End GCODE files===
===Skeinforge: Start and End GCODE files===
We don't have a thing-o-matic so I swapped these on the profile to be the working versions from a Cupcake. These are located where your new skeinforge profile is. On linux for me it was /home/worman/.replicatorg/sf_40_profiles/(profile name here)/alterations/
We don't have a thing-o-matic so I swapped these on the profile to be the working versions from a Cupcake. These are located where your new skeinforge profile is. On linux for me it was /home/worman/.replicatorg/sf_40_profiles/(profile name here)/alterations/


===Replace.csv===
===Skeinforge: Replace.csv===
Skeinforge seems to generate a M113 code which replicatorg doesn't like for my electronics. You can change this by creating a tab delimited file in the alterations directory. This comments out the lines we don't care about. The pointer to this file in Skeinforge gets reset to be "value" instead of replace.csv in later versions. If this happens to you and it is ignoring your replace settings, edit the export settings in skeinforge. More information below.
Skeinforge seems to generate a M113 code which replicatorg doesn't like for my electronics. You can change this by creating a tab delimited file in the alterations directory. This comments out the lines we don't care about. The pointer to this file in Skeinforge gets reset to be "value" instead of replace.csv in later versions. If this happens to you and it is ignoring your replace settings, edit the export settings in skeinforge. More information below.


Line 91: Line 84:
M113 S0.0 ;M113 S0.0
M113 S0.0 ;M113 S0.0


===Modules===
===Skeinforge: Modules===
Of the default modules I made the following changes.
Of the default modules I made the following changes.
*Home: Disable (We don't have limit switches, bot freaks out)
*Home: Disable (We don't have limit switches, bot freaks out)

Revision as of 23:28, 7 August 2012

The Creamcheese makerbot at AHA is special. If your bot is similar to it, use these settings. They are probably a good start if you are using a Makerbot with 3rd generation electronics, 5D RPM firmware from RobG or Jetty, a stepper extruder (with 3MM filament) and using either the 5D 3D shield or an ugly cable hack

Makerbot Machines Configuration options

ReplicatorG machines config file

These settings were configured for use with ReplicatorG 0029 R2. I started with RobG's XML file and made the following modifications/observations.

Completed config can be found on the main 3D printer page.

To start, find a profile from RobG's config that closely matches your setup. In my case it was Cupcake 3G electronics with Gen4 extruder. I had a gen3 previously but planned to run Gen3 electronics also on a new stepper extruder. The important part is that you pick one with stepper extruder. The reason for picking Gen3 electronics is that the X, Y and Z axis should be preconfigured for the right sizes. If you find after this setup that they move too far or too short when you move the platform from control in replicatorg, copy the stepspermm values for these axis from your prior configuration.

Robs files I started with are found linked from here: THING!

Calculating Stepspermm

Steps per MM in the basic config uses 1/2 steps for all Axis. If you use different stepper drivers divide by 2 and multiply by the amount of microstepping you are doing. Gen4 drivers are 1/8 step. Pololu like we use are max of 1/16 step. We have ours set to 1/8 step for X and Y, 1/4 step for Z and full step for A.

When using RPM (driver=makerbot4ga) the A axis stepspermm is ignored When using 5D (driver=makerbot4g) the A axis stepspermm is used (calculation below in Jetty firmware). If you have scale listed in your config just switch the word to stepspermm.

Set your max feed rate to something your bot can do realistically. If you use acceleration set them higher since the bot will control how fast it moves but will still limit by these. Ours are set to 8000 with acceleration.

Calculating motor_steps

If you are using the 4ga driver you will need to configure the motor steps parameter under the extruder setup in the machines config file. This is how many steps to turn 1 rotation. If your stepper motor does 200 steps per axis then multiply by the amount of microstepping. If you have gearing between the stepper and the filament drive, multiply by that.

In our case our stepper does 200 steps per turn, 1/2 stepping with 13.6:1 gearing so we use a value of: 5440 (200x2x13.6)

How to calculate motor_steps

Degree of rotation of your stepper per step is needed. Kysan 13.6:1 steppers (makergear type) move 1.8 degree per step.

Stepper controller microstepping settings are needed. Makerbot Gen3 electronics do half stepping, Gen4 can do 1/16 stepping. The calculations below include half stepping.

(Degrees in a circle / steping degree) * microstepping * motor gearing (360 / 1.8) * 2 * 13.6 = 5440

I plug this value in and try to rotate 1 rotation. It moved a bit further than I wanted so I fudged it with 5420 as my setting.

New 16th step driver config: (Degrees in a circle / steping degree) * microstepping * motor gearing (360 / 1.8) * 16 * 13.6 = 43520

Jetty firmware acceleration settings

Using acceleration on a cupcake requires telling the firmware how to move when accelerated. We do this by sending M codes to the bot using a special version of replicatorg.

First figure out how many steps to pull in 1 MM of filament. Extruder stepper motor takes 5440 steps (@1/2 stepping) to turn the pully on it 1 rotation. The pully is the Mk5 pully which has an effective diameter of 10.58mm.

Pi x D = C The circumference of our Mk5 pully is 33.238 (direct drive).

Values for our (13.6:1 geared direct drive stepper) Steps per MM 43520 / 33.238 = 1309.345 (1/16th step) 21760 / 33.238 = 654.672 (1/8th step) 5440 / 33.238 = 163.66 (1/2 step) 2720 / 33.238 = 81.834 (full step)

With this value we can get the following M codes to send. We found we had to send them twice to get it to work.

    • I DO NOT BELIEVE M215 BELOW MATCHES THE CURRENT CONFIG FOR CREAMCHEESE Z and A Axis!**

M201 X700 Y700 Z10 A60000 (Sets the maximum acceleration in mm/s^2 for travel or print moves for X/Y/Z and Extruder) M203 X150 Y150 Z10 A100 (Sets the maximum feedrate your machine can sustain in mm/sec) M204 S2000 K4000 (Sets the default acceleration in mm/sec^2. S=normal moves K= filament only moves) M205 S0 K0 Z2 (Sets "S" Minimum Printing Feed Rate, "K" Minimum Travel Feed Rate, "Z" Minimum Planner Speed - all multiplied by 10, except Minimum Planner Speed) M206 S43 A50 K40 X4 Y1 (Sets "S" noodle diameter multiplied by 100, "A" RevMaxFeedRate, "K" Extruder Deprime multiplied by 10, "X" SlowdownLimit, "Y" ClockwiseExtr) M207 S850 A900 K200 (Set "S" JKN Advance K - multiplied by 100000, "A" JKN Advance K2 - multiplied by 100000, "K" Minimum Segment Time multiplied by 10000 in seconds) M208 A44 (Set Extruder Steps:mm, the number of steps to extruder 1 mm of noodle - multiplied by 10) M209 S3 (acceleration on - planner, also disables override gcode temp) M215 X9413970 Y9413970 Z32000000 A1636600 (Sets the number of steps to move 1 mm for each axis. The extruder is the for filament going in - all multiplied by 100000) M216 X100 Y100 Z5 A100 (Sets Maximum Speed Change for X/Y/Z/Extruder - all multiplied by 10) M200 (reset to pick up settings)

Changes to machines config file to raise the max feedrate to around 8000 for x/y axis and 10000 for Z were also made.

Skeinforge: Start and End GCODE files

We don't have a thing-o-matic so I swapped these on the profile to be the working versions from a Cupcake. These are located where your new skeinforge profile is. On linux for me it was /home/worman/.replicatorg/sf_40_profiles/(profile name here)/alterations/

Skeinforge: Replace.csv

Skeinforge seems to generate a M113 code which replicatorg doesn't like for my electronics. You can change this by creating a tab delimited file in the alterations directory. This comments out the lines we don't care about. The pointer to this file in Skeinforge gets reset to be "value" instead of replace.csv in later versions. If this happens to you and it is ignoring your replace settings, edit the export settings in skeinforge. More information below.

Mine looks like:

M113 S1.0 ;M113 S1.0

M113 S0.0 ;M113 S0.0

Skeinforge: Modules

Of the default modules I made the following changes.

  • Home: Disable (We don't have limit switches, bot freaks out)
  • Wipe: Disable (We don't have a place to wipe, results in nozzle crap in prints if you don't clean it off manually after test extrusion)
  • Temperature:
    • Changed Base temp to something we like 220 (defaults to 225)
    • Interface runs cooler 215 (we don't want it as sticky)
    • Infill on first layer a bit warmer (220)
    • Support settings are all 220.
  • Speed
    • Feed rate (How fast X,Y,Z move when extruding, can override in POM): 35, faster and bot missed steps.
    • Flow rate (How fast A moves to extrude by default): 40.0
    • Orbital feed rate (Don't know but this works): .6
    • Travel feed rate (How fast x,y,z move when not extruding): 35, faster and it missed steps.
  • Export: name of replace file is set to replace.csv . Changing skeinforge versions screws this up. This is needed to solve the M113 not okay with ReplicatorG errors
  • Fill
    • Solid surface layers: 2
    • Infill Pattern: Grid Haxagonal (I like the look, might slow the bot down)
    • Thread sequence: Loops>Perimeter>Infill may want to do infill before permiter if you have issues with overhangs falling
  • Raft: We had issues with raft generating too high of movement feedrates, these changes resolved this
    • Base feed rate multiplier: .6
    • Base nozzle lift over Base Layer Thickness: .8 (Just made things look better)
    • Interface feed rate: 1.0 (1.1 moved so fast that the head lost steps, but otherwise this would work okay)
    • Interface Flow rate multiplier: .6 (This produces a thick interface layer, increase to make non-thick layers.
    • Interface infill density: .4
    • Interface layer thickness over layer thickness: .7
    • Interface layers (integer): 1
    • Interface nozzle lift over interface layer thickness (ratio): .2
    • The rest of the settings indicate changes (blue/yellow) but I kept the ones from the thingomatic profile I copied.
  • Reversal
    • Reversal speed RPM: 20.0 This was originally set higher but during reversal for infill layers the stepper would retract too fast (40RPM?) and pull back too much filament into the nozzle. I could visually see the retraction but very little was moving for the forward movement during the pushback time of 82 milliseconds. This caused most infill layers to not have any plastic extruded. I think ideally I could have changed pushback time but instead I went with the change to reversal speed as this also stopped the horrible noise the A axis stepper was making as I assume it skipped steps. My thought is that the acceleration on this axis was actually too fast to get to 40rpm in the allotted time. This works and the calibration cubes then looked great.