3D Printer:Creamcheese:Config

From All Hands Active Wiki
Jump to navigation Jump to search


Notice
Notice
This page contains historical information. It is provided for reference but does not reflect current information or policy.

Unless you are experimenting with AHA's 3D printers you can safely ignore this page. This attempts to document experiments and quirks of the printers, skeinforge, replicatorg and firmware settings. They are not up to date but are a good place to start if you want to revert changes.

Makerbot Machines Configuration options

Printing with Skeinforge (Experimental - Creamcheese)

We no longer support using Skeinforge with Creamcheese. If you want to use it you can, but be aware you are on your own

  • Follow the standard Creamcheese instructions
  • Put the folders (ex. SF40-Cupcake-3mm-.35SD) folders in your sf_40_profiles folder. On linux this is in a hidden home folder directory (ex: /home/worman/.replicatorg/sf_40_profiles
  • Connect to Creamcheese using machine type "CreamCheese - Skeinforge (Experimental)
  • Use Replicatorg to disable acceleration by sending "M209 S0" twice (make sure you do it twice!)
  • In Machine->Motherboard On Board settings turn off Inverse A Axis.
  • Reset the motherboard
  • In Replicatorg, GCode->GCode Generator pick Skeinforge 40 (Experimental)
  • Use the following settings when you generate GCode...
    • Base Profile: SF40-Cupcake-3mm-.35SD (if you put the config in the right place this will show up). The SD version is setup to print from an SD card.
    • Raft: Your choice, on or off.
    • Support Material: Your choice, on or off
    • Use Print-O-Matic: YES!
    • POM-Settings-Object Infill: 30% (Less and you get a hollower object, more and it is more solid.)
    • POM-Settings-Layer Height (mm): 0.25 (Smaller and bot moves faster stretching the plastic, larger and it will tell you can it can't print thick layers because of nozzle size)
    • POM-Settings-Number of shells: 2 (How many solid outer layers you get)
    • POM-Settings-Feedrate (mm/s): Variable. 35 is a good slow number, 45 is decently quick.. in theory if belts don't slip and the bot doesn't shake too much we can run around 70-80mm/s.
    • POM-Plastic-Material type: ABS
    • POM-Plastic-Filament Diameter (mm): 2.94 (This should be an average thickness of the filament you feed in. It does vary by color and over lengths of filament. You might want to play with this when changing colors. Measure every 6 inches to a foot and average..)
    • POM-Extruder-Nozzle Diameter(mm) - .35
    • POM-Extruder-Drive Gear Diameter(mm) - 10.58
  • Print, maybe successfully.
  • When finished re-invert the A Axis and send M209 S3 twice to turn the acceleration back on for the next person.

Printing with Skeinforge (Experimental - Blackbottom)

We no longer support using Skeinforge with Blackbottom. If you want to use it you can, but be aware you are on your own

  • In Replicatorg: GCode->GCode Generator pick Skeinforge 40 (Experimental)
  • Use the following settings when you generate GCode...
    • Base Profile: SF40-BlackBottom-Cupcake-3mm-.40SD (if you put the config in the right place this will show up). The SD version is setup to print from an SD card.
    • Raft: Your choice, on or off.
    • Support Material: Your choice, on or off
    • Use Print-O-Matic: YES!
    • POM-Settings-Object Infill: 15% (Less and you get a hollower object, more and it is more solid.)
    • POM-Settings-Layer Height (mm): 0.30 (Smaller and bot moves faster stretching the plastic, larger and it will tell you can it can't print thick layers because of nozzle size)
    • POM-Settings-Number of shells: 2 (How many solid outer layers you get)
    • POM-Settings-Feedrate (mm/s): Variable. 35 is a good slow number.
    • POM-Plastic-Material type: ABS
    • POM-Plastic-Filament Diameter (mm): 2.94 (This should be an average thickness of the filament you feed in. It does vary by color and over lengths of filament. You might want to play with this when changing colors. Measure every 6 inches to a foot and average..)
    • POM-Extruder-Nozzle Diameter(mm) - .40 (DIFFERENT FROM CREAMCHEESE)
    • POM-Extruder-Drive Gear Diameter(mm) - 10.58
  • Click build to 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.

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.

Z Axis stock uses M8 threads. M8 is 1.25MM/turn and stepper for Z takes 200 turns per rotation. We use full steps for Z so 200/1.25 = 160 steps per MM.

We converted Creamcheese to acme rod 1/2-10 which is 10 threads per inch. .1" per revolution = 2.54MM per revolution. 200/2.54 = 78.74015748 steps per MM.

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.

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 X200 Y200 Z5 A250 (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 A152 (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 X1176746 Y1176746 Z8000000 A65467236 (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)

M208 is a guessed value, this is roughly 3 times the amount for the thingomatic since we have more steps per mm of input at current setting (my guess is output is almost 3x as much also)

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

Slic3r: Setting up a base config.ini

Soon to come!

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.