Printrbot firmware mechanical defaults

Code hacking talk

Printrbot firmware mechanical defaults

Postby plexus » 2013-Jan-Wed-21-Jan

I pulled this out of Lincomatic's fork of Marlin which I understand is the firmware used in the Printrboard. this segment is from Configuration.h, it shows the default mechanical parameters. I was looking for accelerations. on source said 3000 but according to this its 9000 for X and Y.

UPDATE: I think the defaults are 3000 for X and Y and 9000 is the absolute max. so the below are the limits but not necessarily what is set as default.

Code: Select all
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// corse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
  // fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
#define DISABLE_MAX_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true  // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false  // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true  //If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 190 //205
#define X_MIN_POS 0
#define Y_MAX_POS 190 //205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
//#define MANUAL_HOME_POSITIONS  // If defined, manualy programed locations will be used
//#define BED_CENTER_AT_0_0  // If defined the center of the bed is defined as (0,0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT   {75.4572,78.964,2254.9403,490}                    // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 45}    // (mm/sec)   
#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for r retracts

//
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)

//===========================================================================
//=============================Additional Features===========================
//===========================================================================

// EEPROM
// the microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores paramters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). 
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
//define this to enable eeprom support
//#define EEPROM_SETTINGS
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
// please keep turned on if you can.
//#define EEPROM_CHITCHAT

//LCD and SD support
//#define ULTRA_LCD  //general lcd support, also 16x2
//#define SDSUPPORT // Enable SD Card Support in Hardware Console

//#define ULTIMAKERCONTROLLER //as available from the ultimaker online store.
//#define ULTIPANEL  //the ultipanel as on thingiverse
//#define VERSAPANEL // Panucatt VersaPanel

#ifdef VERSAPANEL
 #define ULTIPANEL
 #define NEWPANEL
 #define MCP23017_LCD // Adafruit RGB LCD compatibles
#endif


#ifdef ULTIMAKERCONTROLLER    //automatic expansion
 #define ULTIPANEL
 #define NEWPANEL
#endif
 

#ifdef ULTIPANEL
//  #define NEWPANEL  //enable this if you have a click-encoder panel
  #define SDSUPPORT
  #define ULTRA_LCD
  #define LCD_WIDTH 20
  #define LCD_HEIGHT 4

// Preheat Constants
  #define PLA_PREHEAT_HOTEND_TEMP 180
  #define PLA_PREHEAT_HPB_TEMP 70
  #define PLA_PREHEAT_FAN_SPEED 255      // Insert Value between 0 and 255

  #define ABS_PREHEAT_HOTEND_TEMP 240
  #define ABS_PREHEAT_HPB_TEMP 100
  #define ABS_PREHEAT_FAN_SPEED 255      // Insert Value between 0 and 255

#else //no panel but just lcd
  #ifdef ULTRA_LCD
    #define LCD_WIDTH 16
    #define LCD_HEIGHT 2
  #endif
#endif

// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
//#define FAST_PWM_FAN

// M240  Triggers a camera by emulating a Canon RC-1 Remote
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
// #define PHOTOGRAPH_PIN     23

// SF send wrong arc g-codes when using Arc Point as fillet procedure
//#define SF_ARC_FIX

#include "Configuration_adv.h"
#include "thermistortables.h"

#endif //__CONFIGURATION_H
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Printrbot firmware mechanical defaults

Sponsor

Sponsor
 

Re: Printrbot firmware mechanical defaults

Postby SolidVis » 2013-Feb-Sat-10-Feb

plexus wrote:... I was looking for accelerations. on source said 3000 but according to this its 9000 for X and Y.

UPDATE: I think the defaults are 3000 for X and Y and 9000 is the absolute max. ...

WOW, imagine the force on the belt from an acceleration 9 m/s^2.
:geek:
F=m*a [N] (Second Newton law)
m [N] = m [kg]/9.8
a=9 [m/s^2]
m= total mass of: 1 motor + 2 bearings + 1 bolt + 2 nuts + 2 washers + 2 bearings + 1 extruder (+1 FAN)

This thing won't be able to stop in 0,1mm for sure. This is one of the reasons people complain about bulky corners after cranking up the speed.

Let say it travels with 100mm/s and then it turns to the Y direction (X=0 it stops).
Unless it slows down, the force should be F=m*(0.1-0)
Hope everyone sees it now.
  • 0

SolidVis
I'm an end stop.
 
Posts: 69
Joined: 2012-Jun-Sun-18-Jun
Location: QC, CANADA
Reputation: 0

Re: Printrbot firmware mechanical defaults

Postby plexus » 2013-Feb-Sat-13-Feb

Like all the parameters on the printer, they are just numbers. the actual physical speeds, accelerations and forces are likely quite different than what the numbers indicate. but yes, at full acceleration, its going to be fast but it also going to be physically hard on the printer and print output. i suppose they can "afford" to set XY accel so high when the max XY speed is set so low 60mm/s. but once you over-ride the speed you have to tune down the acceleration as its a little too much for the poor printer.
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Re: Printrbot firmware mechanical defaults

Postby PxT » 2013-Feb-Tue-18-Feb

plexus wrote:I pulled this out of Lincomatic's fork of Marlin which I understand is the firmware used in the Printrboard.



The official firmware that was shipped with the initial batch of machines is posted at https://github.com/PxT/Marlin/
This is the exact version that Brook gave me and you will find some config differences compared to what you have posted from lincomatic's fork.

I do not know whether there is a later version that they are using on more recent shipments.
  • 0

User avatar
PxT
Print complete...
 
Posts: 1339
Joined: 2011-Dec-Mon-16-Dec
Location: Sacramento, CA
Reputation: 97

Re: Printrbot firmware mechanical defaults

Postby mdfast1 » 2013-Feb-Tue-19-Feb

PXT, how come your DEFAULT acceleration is 3000 while yourMAX acceleration is 2000 for XY in you configuration.h file?

Code: Select all
#define DEFAULT_MAX_FEEDRATE          {60, 60, 2, 14}    // (mm/sec)   
#define DEFAULT_MAX_ACCELERATION      {2000,2000,30,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for r retracts
  • 0

Printrbot Simple Metal - RED -
UBIS 13

Printrbot LC+ - Operational

Printrbot Original- Donated
GT2 - 20 Tooth Pulleys
GT2 Belts
Brass Threaded Rods
Spur Gears from drawcut
.35mm nozzle
User avatar
mdfast1
Layer 650 of 1234
 
Posts: 669
Joined: 2012-Feb-Thu-12-Feb
Reputation: 12

Re: Printrbot firmware mechanical defaults

Postby PxT » 2013-Feb-Wed-12-Feb

mdfast1 wrote:PXT, how come your DEFAULT acceleration is 3000 while yourMAX acceleration is 2000 for XY in you configuration.h file?



That would be a question to ask Brook / HQ. I posted the source verbatim as it was provided to me and I have not modified it. The only reason it is under my account is that Brook was not very familiar with Github so he asked me to help get it published.
  • 0

User avatar
PxT
Print complete...
 
Posts: 1339
Joined: 2011-Dec-Mon-16-Dec
Location: Sacramento, CA
Reputation: 97

Re: Printrbot firmware mechanical defaults

Postby plexus » 2013-Feb-Wed-12-Feb

PxT wrote:
mdfast1 wrote:PXT, how come your DEFAULT acceleration is 3000 while yourMAX acceleration is 2000 for XY in you configuration.h file?

That would be a question to ask Brook / HQ. I posted the source verbatim as it was provided to me and I have not modified it. The only reason it is under my account is that Brook was not very familiar with Github so he asked me to help get it published.


That clarifies a lot of things. it would be nice if that were prominently communicated on your Github page. otherwise its understood that somehow you created this firmware for Printrbot.
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Re: Printrbot firmware mechanical defaults

Postby PxT » 2013-Feb-Wed-17-Feb

On the main page it says:
The copy at https://github.com/PxT/Marlin is the official source as shipped by Printrbot HQ.
MarlinProductionBolts.cpp.hex is the pre-compiled version shipped on printrboards as of May 2012


Not quite sure how much clearer I can make it.
  • 0

User avatar
PxT
Print complete...
 
Posts: 1339
Joined: 2011-Dec-Mon-16-Dec
Location: Sacramento, CA
Reputation: 97

Re: Printrbot firmware mechanical defaults

Postby plexus » 2013-Feb-Wed-17-Feb

PxT wrote:On the main page it says:
The copy at https://github.com/PxT/Marlin is the official source as shipped by Printrbot HQ.
MarlinProductionBolts.cpp.hex is the pre-compiled version shipped on printrboards as of May 2012


Not quite sure how much clearer I can make it.


I remember seeing that. what isn't clear is that it doesn't say that you got this from PBHQ. since its on your github, i just assumed (and i think others have too) that YOU created this version of it. hence questions about it being directed to you. it might be cleared if you were to change the first line to something like "The copy at https://github.com/PxT/Marlin is the official source created by PBHQ and published here for your convenience." and you can even add, if you want, "Any questions about this version of Marlin should be directed to Printrbot."

Just a suggestion.
  • 0

User avatar
plexus
Site Admin
 
Posts: 2116
Joined: 2011-Dec-Mon-16-Dec
Location: Toronto, Canada
Reputation: 95

Re: Printrbot firmware mechanical defaults

Postby scantrontb » 2013-Feb-Thu-04-Feb

mdfast1 wrote:PXT, how come your DEFAULT acceleration is 3000 while your MAX acceleration is 2000 for XY in you configuration.h file?


the way i'm reading it is that the 3000 is for PRINTING moves, but the 2000 is the maximum for the initial STARTING acceleration for moves, which implies that DURING a move you can increase/decrease it? also, it says it's for "accelerated" moves which i would assume is for NON-printing movements like Homing and generic moving the nozzle around manually type moves?? maybe??
  • 0

Don't planto mihi adveho illac
PB+ #786
User avatar
scantrontb
Can update firmware
 
Posts: 825
Joined: 2011-Dec-Sun-14-Dec
Location: federal way, wa
Reputation: 5


Return to Hack talk

Who is online

Users browsing this forum: No registered users and 2 guests

cron