Egg bot
Setup of my egg bot
Technical data:
- My motor driver can only run a half step mode which is too coarse for the rotation axis
- X is the rotation axis, scaled to 360 units / turn.
Stepper motor = 200 steps/turn = 400 half-steps / turn
$100 = 400 / 360 = 1.111 - Y is the axis with the pen holder with a range of 110°
Driven by a worm gear 1/50
$101 = 50 * 400 / 360 = 55.555
Example object is a table tennis ball.
Attention: when using an egg, be sure to lift and lower the pen enough - the elipse form of the egg is tricky.
Example patterns can be found on github repository for software to drive The original EggBot, by Evil Mad Scientist Laboratories: https://github.com/evil-mad/EggBot/tree/master/example%20files
Find the settings, used here, at the end of this page:
- grbl settings
- GRBL-Plotter settings
Related video:
Source comes from https://github.com/cprezzi/grbl-servo, needs to be compiled via Arduino-IDE. Uploadable hex-file 'grbl_v1.1f_Servo.hex' is included in GRBL-Plotter zip file. This is a special version with servo support (switchable in config.h)
- The PWM frequency is set to 61Hz (prescaler 1/1024).
- The pulse width range is 0.5 - 2.5ms.
- S0 does not deactivate the PWM, but instead send min pulse width.
- Set the max. S-value to $30=255 to get a S-value range of 0-255.
- You should have a M3S0 at the start of your gcode to activate the servo and M5 at end to deactivate it.
$0=10 (Sets time length per step. Minimum 3usec.)
$1=25 (Sets a short hold delay when stopping to let dynamics settle before disabling steppers. Value 255 keeps motors enabled with no delay.)
$2=0 (Inverts the step signal. Set axis bit to invert (00000ZYX).)
$3=0 (Inverts the direction signal. Set axis bit to invert (00000ZYX).)
$4=0 (Inverts the stepper driver enable pin signal.)
$5=0 (Inverts the all of the limit input pins.)
$6=0 (Inverts the probe input pin signal.)
$10=1 (Alters data included in status reports.)
$11=0.010 (Sets how fast Grbl travels through consecutive motions. Lower value slows it down.)
$12=0.002 (Sets the G2 and G3 arc tracing accuracy based on radial error. Beware: A very small value may effect performance.)
$13=0 (Enables inch units when returning any position and rate value that is not a settings value.)
$20=0 (Enables soft limits checks within machine travel and sets alarm when exceeded. Requires homing.)
$21=0 (Enables hard limits. Immediately halts motion and throws an alarm when switch is triggered.)
$22=0 (Enables homing cycle. Requires limit switches on all axes.)
$23=0 (Homing searches for a switch in the positive direction. Set axis bit (00000ZYX) to search in negative direction.)
$24=25.000 (Feed rate to slowly engage limit switch to determine its location accurately.)
$25=500.000 (Seek rate to quickly find the limit switch before the slower locating phase.)
$26=250 (Sets a short delay between phases of homing cycle to let a switch debounce.)
$27=1.000 (Retract distance after triggering switch to disengage it. Homing will fail if switch isn't cleared.)
$30=1000 (Maximum spindle speed. Sets PWM to 100% duty cycle.)
$31=0 (Minimum spindle speed. Sets PWM to 0.4% or lowest duty cycle.)
$32=0 (Enables laser mode. Consecutive G1/2/3 commands will not halt when spindle speed is changed.)
$100=1.111 (X-axis travel resolution in steps per millimeter.)
$101=55.556 (Y-axis travel resolution in steps per millimeter.)
$102=250.000 (Z-axis travel resolution in steps per millimeter.)
$110=10000.000 (X-axis maximum rate. Used as G0 rapid rate.)
$111=600.000 (Y-axis maximum rate. Used as G0 rapid rate.)
$112=500.000 (Z-axis maximum rate. Used as G0 rapid rate.)
$120=500.000 (X-axis acceleration. Used for motion planning to not exceed motor torque and lose steps.)
$121=500.000 (Y-axis acceleration. Used for motion planning to not exceed motor torque and lose steps.)
$122=10.000 (Z-axis acceleration. Used for motion planning to not exceed motor torque and lose steps.)
$130=200.000 (Maximum X-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances.)
$131=200.000 (Maximum Y-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances.)
$132=200.000 (Maximum Z-axis travel distance from homing switch. Determines valid machine space for soft-limits and homing search distances.)
GRBL-Plotter Settings:
For quick success when setting up GRBL-Plotter for this application, this INI file can be used (e.g. by drag & drop).
Note: This INI files includes custom-button settings and color-scheme, which will overwrite the current settings.
Egg Bot INI File for RC Servo Note: a different grbl version is needed!