3D Printer:Creamcheese:Config
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
Makerbot Machines Configuration options
ReplicatorG 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 here
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.
Robs files I started with are found linked from here: THING!
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.
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.
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
Changes to this file
Changed
- 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
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.
Pi x D = C so ~33.238 for circumference of my pully (direct drive from pulley).
Values for Steps per MM 43520 / 33.238 = 1309.345 (1/16th step) 21760 / 33.238 = 654.672 (1/8th step)
So on M215 I really want to send: (1/16) M215 X9413970 Y9413970 Z32000000 A130934500 (1/8) M215 X4706985 Y4706985 Z32000000 A65467236
With the custom RobG replicatorg 34 version use:
- M201 X800 Y800 Z100 A60000 (Sets the maximum acceleration in mm/s^2 for travel or print moves for X/Y/Z and Extruder)
- M203 X200 Y200 Z30 A40 (Sets the maximum feedrate your machine can sustain in mm/sec, these might be high..)
- M204 S3000 K5000 (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 S60 A500 K0 X4 Y1 (Sets "S" noodle diameter multiplied by 100, "A" RevMaxFeedRate, "K" Extruder Deprime multiplied by 10, "X" SlowdownLimit, "Y" ClockwiseExtr)
- 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)
- M208 A42 (Set Extruder Steps:mm, *A42* 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 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
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
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 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
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.